Forward Networks Aliases API
Define groups of network infrastructure elements or packet header values
Define groups of network infrastructure elements or packet header values
openapi: 3.2.0
info:
title: 'Forward Networks: Complete Aliases API'
description: Model and verify networks
contact:
email: support@forwardnetworks.com
license:
name: MIT
url: https://spdx.org/licenses/MIT
version: '26.6'
servers:
- url: /api
tags:
- name: Aliases
description: Define groups of network infrastructure elements or packet header values
summary: Aliases
paths:
/snapshots/{snapshotId}/aliases:
get:
tags:
- Aliases
summary: Get all Aliases
operationId: getAllAliases
parameters:
- name: snapshotId
in: path
required: true
schema:
type: string
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/Aliases'
'409':
description: 'The system is currently processing this Snapshot.
Note: GET /networks/{networkId}/snapshots/latestProcessed can be used to determine when processing of the
latest Snapshot is done or to identify an alternate Snapshot that has already been processed.'
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorInfo'
security:
- api_token: []
delete:
tags:
- Aliases
summary: Delete Aliases
description: 'Use the optional `name` parameter to delete only specific Aliases. It can be repeated as in
`?name=foo&name=bar`. Omit the `name` parameter to delete all Aliases active in the Snapshot.'
operationId: deactivateAliases
parameters:
- name: snapshotId
in: path
required: true
schema:
type: string
- name: name
in: query
schema:
type: array
items:
type: string
responses:
'200':
description: OK. The response contains the deleted Aliases.
content:
application/json:
schema:
$ref: '#/components/schemas/Aliases'
'409':
description: 'The system is currently processing this Snapshot.
Note: GET /networks/{networkId}/snapshots/latestProcessed can be used to determine when processing of the
latest Snapshot is done or to identify an alternate Snapshot that has already been processed.'
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorInfo'
security:
- api_token: []
/snapshots/{snapshotId}/aliases/{name}:
get:
tags:
- Aliases
summary: Get an Alias
operationId: getSingleAlias
parameters:
- name: snapshotId
in: path
required: true
schema:
type: string
- name: name
in: path
required: true
schema:
type: string
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/AliasAndValue'
'409':
description: 'The system is currently processing this Snapshot.
Note: GET /networks/{networkId}/snapshots/latestProcessed can be used to determine when processing of the
latest Snapshot is done or to identify an alternate Snapshot that has already been processed.'
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorInfo'
security:
- api_token: []
put:
tags:
- Aliases
summary: Create an Alias
operationId: createAlias
parameters:
- name: snapshotId
in: path
required: true
schema:
type: string
- name: name
in: path
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/AliasBuilder'
required: true
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/Alias'
'409':
description: 'The system is currently processing this Snapshot.
Note: GET /networks/{networkId}/snapshots/latestProcessed can be used to determine when processing of the
latest Snapshot is done or to identify an alternate Snapshot that has already been processed.'
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorInfo'
security:
- api_token: []
delete:
tags:
- Aliases
summary: Delete an Alias
operationId: deactivateAlias
parameters:
- name: snapshotId
in: path
required: true
schema:
type: string
- name: name
in: path
required: true
schema:
type: string
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/Alias'
security:
- api_token: []
components:
schemas:
InterfacesAliasBuilder:
type: object
required:
- name
- type
properties:
isExposurePoint:
type: boolean
name:
type: string
type:
$ref: '#/components/schemas/AliasType'
values:
type: array
items:
type: string
vlanIds:
type: array
items:
type: string
vlanIntfTypes:
type: array
items:
type: string
enum:
- ACCESS
- TRUNK
LogicalNetworkAliasBuilder:
type: object
required:
- name
- type
properties:
devices:
type: array
items:
type: string
edgeNodes:
type: array
items:
type: string
name:
type: string
type:
$ref: '#/components/schemas/AliasType'
AliasType:
type: string
enum:
- HOSTS
- DEVICES
- INTERFACES
- HEADERS
- LOGICAL_NETWORK
Aliases:
type: object
required:
- aliases
properties:
aliases:
type: array
items:
$ref: '#/components/schemas/Alias'
AliasBuilder:
type: object
required:
- type
properties:
type:
type: string
enum:
- HOSTS
- DEVICES
- INTERFACES
- HEADERS
- LOGICAL_NETWORK
oneOf:
- $ref: '#/components/schemas/HostsAliasBuilder'
- $ref: '#/components/schemas/DevicesAliasBuilder'
- $ref: '#/components/schemas/InterfacesAliasBuilder'
- $ref: '#/components/schemas/TrafficAliasBuilder'
- $ref: '#/components/schemas/LogicalNetworkAliasBuilder'
discriminator:
propertyName: type
mapping:
HOSTS: '#/components/schemas/HostsAliasBuilder'
HostFilter: '#/components/schemas/HostsAliasBuilder'
DEVICES: '#/components/schemas/DevicesAliasBuilder'
DeviceFilter: '#/components/schemas/DevicesAliasBuilder'
INTERFACES: '#/components/schemas/InterfacesAliasBuilder'
InterfaceFilter: '#/components/schemas/InterfacesAliasBuilder'
HEADERS: '#/components/schemas/TrafficAliasBuilder'
PacketFilter: '#/components/schemas/TrafficAliasBuilder'
LOGICAL_NETWORK: '#/components/schemas/LogicalNetworkAliasBuilder'
AliasAndValue:
allOf:
- $ref: '#/components/schemas/Alias'
TrafficAliasBuilder:
type: object
required:
- name
- type
properties:
name:
type: string
type:
$ref: '#/components/schemas/AliasType'
values:
type: object
additionalProperties:
type: array
items:
type: string
HostsAliasBuilder:
type: object
required:
- name
- type
properties:
locations:
type: array
items:
type: string
name:
type: string
type:
$ref: '#/components/schemas/AliasType'
values:
type: array
items:
type: string
DevicesAliasBuilder:
type: object
required:
- name
- type
properties:
name:
type: string
type:
$ref: '#/components/schemas/AliasType'
values:
type: array
items:
type: string
ErrorInfo:
type: object
required:
- httpMethod
- apiUrl
- message
properties:
httpMethod:
type: string
examples:
- GET
enum:
- GET
- HEAD
- POST
- PUT
- PATCH
- DELETE
apiUrl:
type: string
examples:
- /api/version
message:
type: string
description: A description of the error
reason:
type: string
Alias:
type: object
required:
- createdAt
- creatorId
- name
- type
properties:
createdAt:
type: string
examples:
- '2022-04-06T20:34:45.118Z'
creatorId:
type: string
name:
type: string
type:
$ref: '#/components/schemas/AliasType'
securitySchemes:
api_token:
type: http
scheme: basic