@itentialopensource/adapter-drivenets_networkcloud
Version:
This adapter integrates with system described as: drivenetsNetworkCloud+Api.
1,447 lines (1,417 loc) • 87.3 kB
YAML
openapi: 3.0.0
info:
title: DriveNets Network Cloud+ API
description: >-
API definitions for programmatic access to DriveNets Network Cloud+. The API calls are modelled after, and reflected in the Self-Service Portal User Interface.
You receive your username and password from DriveNets. The credentials for the API and the SSP are the same. When you first sign up with the SSP, a POST API request (/auth/login) is sent with the following payload:
{"username":"user@company.com","password":"mypass"}
Where “user@company.com” and “mypass” are the email address and password you provided during sign up.
The API call returns a token value. This is the authorization token for your account. This token is sent in the header of all API requests, as follows:
Authorization: Bearer <token-value>
The REST API enables you to interact with the DriveNets Network Cloud+ systems to provision services for your customers from your server-side applications.
### Base URL
All APIs are served over HTTPS and all the URLs referenced in the API documentation have the following base:
https://:domain/network-cloud/v1/:resource/
Where:
- domain - refers to the ISP Orchestration Gateway (e.g., portal.drivenets.net)
- resource - refers to the resource on which the API call is made. A resource can be:
- services
- config
- function
- policy
- version - refers to the API version.
contact: {}
version: '1.0'
servers:
- url: https://portal.drivenets.net
variables: {}
paths:
/network-cloud/login:
post:
tags:
- Log in
summary: AppController_login
description: Use the credentials provided to log into the Self Service Portal.
operationId: AppController_login
parameters:
- name: x-trace-id
in: header
description: An optional troubleshooting header that tracks a request to /from your API. It references multiple APIs in a configuration sequence. The ID transfers the request in the response body to enable you to view if any changes have occurred. You can only use hyphens and alphanumeric characters, for example -, a-z, A-Z, and 0-9.
style: simple
schema: {}
- name: x-request-id
in: header
description: An optional troubleshooting header. A unique ID is passed to the server in the API call. The server includes that ID in every log created. It enables the server operator to easily search for a specific request in the log information using the unique ID instead of cross referencing timestamps and IP addresses when troubleshooting. You can only use hyphen and alphanumeric characters, for example -, a-z, A-Z, and 0-9.
style: simple
schema: {}
requestBody:
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/UserLoginDTO'
required: true
responses:
'200':
description: Success
headers: {}
content:
application/json:
schema:
$ref: '#/components/schemas/AccessToken'
'401':
description: Unauthorized
headers: {}
content: {}
deprecated: false
/refresh-token:
get:
tags:
- Log in
summary: AppController_refreshToken
description: Sends a request to Network Cloud+ to generate a new access token.
operationId: AppController_refreshToken
parameters:
- name: x-trace-id
in: header
description: An optional troubleshooting header that tracks a request to /from your API. It references multiple APIs in a configuration sequence. The ID transfers the request in the response body to enable you to view if any changes have occurred. You can only use hyphens and alphanumeric characters, for example -, a-z, A-Z, and 0-9.
style: simple
schema: {}
- name: x-request-id
in: header
description: An optional troubleshooting header. A unique ID is passed to the server in the API call. The server includes that ID in every log created. It enables the server operator to easily search for a specific request in the log information using the unique ID instead of cross referencing timestamps and IP addresses when troubleshooting. You can only use hyphen and alphanumeric characters, for example -, a-z, A-Z, and 0-9.
style: simple
schema: {}
responses:
'200':
description: Success
headers: {}
content:
application/json:
schema:
$ref: '#/components/schemas/RefreshedToken'
'401':
description: Access token is missing or invalid
headers: {}
content: {}
deprecated: false
security:
- bearer: []
/locations:
get:
tags:
- Point of Presence (PoP) Services
summary: getLocations
description: Retrieve a list of all PoPs and the services available at each location.
operationId: getLocations
parameters:
- name: x-trace-id
in: header
description: An optional troubleshooting header that tracks a request to /from your API. It references multiple APIs in a configuration sequence. The ID transfers the request in the response body to enable you to view if any changes have occurred. You can only use hyphens and alphanumeric characters, for example -, a-z, A-Z, and 0-9.
style: simple
schema: {}
- name: x-request-id
in: header
description: An optional troubleshooting header. A unique ID is passed to the server in the API call. The server includes that ID in every log created. It enables the server operator to easily search for a specific request in the log information using the unique ID instead of cross referencing timestamps and IP addresses when troubleshooting. You can only use hyphen and alphanumeric characters, for example -, a-z, A-Z, and 0-9.
style: simple
schema: {}
- name: version
in: path
description: The API version.
required: true
style: simple
schema:
allOf:
- $ref: '#/components/schemas/version'
- description: The API version.
example: v1
responses:
'200':
description: Services per location
headers: {}
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/ServicesPerLocationResponse'
description: ''
'401':
description: Access token is missing or invalid
headers: {}
content: {}
'403':
description: Service information error
headers: {}
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'404':
description: Service not found
headers: {}
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'500':
description: Internal server error
headers: {}
content: {}
deprecated: false
/locations/{location}:
get:
tags:
- Point of Presence (PoP) Services
summary: getLocation
description: Retrieve a list of the services available at a specific POP location.
operationId: getLocation
parameters:
- name: x-trace-id
in: header
description: An optional troubleshooting header that tracks a request to /from your API. It references multiple APIs in a configuration sequence. The ID transfers the request in the response body to enable you to view if any changes have occurred. You can only use hyphens and alphanumeric characters, for example -, a-z, A-Z, and 0-9.
style: simple
schema: {}
- name: x-request-id
in: header
description: An optional troubleshooting header. A unique ID is passed to the server in the API call. The server includes that ID in every log created. It enables the server operator to easily search for a specific request in the log information using the unique ID instead of cross referencing timestamps and IP addresses when troubleshooting. You can only use hyphen and alphanumeric characters, for example -, a-z, A-Z, and 0-9.
style: simple
schema: {}
- name: location
in: path
description: ''
required: true
style: simple
schema: {}
- name: version
in: path
description: The API version.
required: true
style: simple
schema:
allOf:
- $ref: '#/components/schemas/version'
- description: The API version.
example: v1
responses:
'200':
description: Services per location information
headers: {}
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/ServicesPerLocationResponse'
description: ''
'401':
description: Access token is missing or invalid
headers: {}
content: {}
'403':
description: Service information error
headers: {}
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'404':
description: Service not found
headers: {}
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'500':
description: Internal server error
headers: {}
content: {}
deprecated: false
/:
post:
tags:
- Services
summary: postServiceItem
description: >-
The services you can add:
- **Equinix Connect** - Creates a connection between Network Cloud+ and the customer's CPE in the Equinix network.
- **Internet Gateway** - Connects a customer to the internet.
- **Internet Service Provider** - Connects the internet gateway to an ISP.
Combining one or more atomic services and then adding a policy create a solution. For example, the four atomic services above and several policies form the Internet Connect solution.
The response includes a unique service ID named 'ID' that references the specific service and its customer. You must save this ID to modify or delete a service.
operationId: postServiceItem
parameters:
- name: x-trace-id
in: header
description: An optional troubleshooting header that tracks a request to /from your API. It references multiple APIs in a configuration sequence. The ID transfers the request in the response body to enable you to view if any changes have occurred. You can only use hyphens and alphanumeric characters, for example -, a-z, A-Z, and 0-9.
style: simple
schema: {}
- name: x-request-id
in: header
description: An optional troubleshooting header. A unique ID is passed to the server in the API call. The server includes that ID in every log created. It enables the server operator to easily search for a specific request in the log information using the unique ID instead of cross referencing timestamps and IP addresses when troubleshooting. You can only use hyphen and alphanumeric characters, for example -, a-z, A-Z, and 0-9.
style: simple
schema: {}
- name: x-account-id
in: header
description: A unique ID issued by the Service Provider to identify a customer. You can only use hyphen and alphanumeric characters, for example -, a-z, A-Z, and 0-9.
style: simple
schema: {}
- name: version
in: path
description: The API version.
required: true
style: simple
schema:
allOf:
- $ref: '#/components/schemas/version'
- description: The API version.
example: v1
requestBody:
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/CreateServiceBodyRequest'
required: true
responses:
'202':
description: Service configuration received successfully, config initiated
headers: {}
content:
application/json:
schema:
$ref: '#/components/schemas/ServiceBodyResponse'
'400':
description: Failed to add service
headers: {}
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'401':
description: Access token is missing or invalid
headers: {}
content: {}
'500':
description: Internal server error
headers: {}
content: {}
deprecated: false
/{businessSid}:
put:
tags:
- Services
summary: putServiceItem
description: ''
operationId: putServiceItem
parameters:
- name: x-trace-id
in: header
description: An optional troubleshooting header that tracks a request to /from your API. It references multiple APIs in a configuration sequence. The ID transfers the request in the response body to enable you to view if any changes have occurred. You can only use hyphens and alphanumeric characters, for example -, a-z, A-Z, and 0-9.
style: simple
schema: {}
- name: x-request-id
in: header
description: An optional troubleshooting header. A unique ID is passed to the server in the API call. The server includes that ID in every log created. It enables the server operator to easily search for a specific request in the log information using the unique ID instead of cross referencing timestamps and IP addresses when troubleshooting. You can only use hyphen and alphanumeric characters, for example -, a-z, A-Z, and 0-9.
style: simple
schema: {}
- name: x-account-id
in: header
description: A unique ID issued by the Service Provider to identify a customer. You can only use hyphen and alphanumeric characters, for example -, a-z, A-Z, and 0-9.
style: simple
schema: {}
- name: businessSid
in: path
description: Unique ID provided by the Service Provider to identify a solution, which is a collection of several atomic services. When forming a solution, use the same BusinessSID.
required: true
style: simple
schema: {}
- name: version
in: path
description: The API version.
required: true
style: simple
schema:
allOf:
- $ref: '#/components/schemas/version'
- description: The API version.
example: v1
requestBody:
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/ServiceBodyRequest'
required: true
responses:
'202':
description: Service configuration received successfully, config initiated
headers: {}
content:
application/json:
schema:
$ref: '#/components/schemas/ServiceBodyResponse'
'204':
description: Service already configured
headers: {}
content: {}
'400':
description: Failed to configure service
headers: {}
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'401':
description: Access token is missing or invalid
headers: {}
content: {}
'423':
description: Service is locked. configuration in progress
headers: {}
content:
application/json:
schema:
$ref: '#/components/schemas/ResourceBusyResponse'
'500':
description: Internal server error
headers: {}
content: {}
deprecated: false
delete:
tags:
- Services
summary: deleteServiceItem
description: Delete all services that form the business service ID.
operationId: deleteServiceItem
parameters:
- name: x-trace-id
in: header
description: An optional troubleshooting header that tracks a request to /from your API. It references multiple APIs in a configuration sequence. The ID transfers the request in the response body to enable you to view if any changes have occurred. You can only use hyphens and alphanumeric characters, for example -, a-z, A-Z, and 0-9.
style: simple
schema: {}
- name: x-request-id
in: header
description: An optional troubleshooting header. A unique ID is passed to the server in the API call. The server includes that ID in every log created. It enables the server operator to easily search for a specific request in the log information using the unique ID instead of cross referencing timestamps and IP addresses when troubleshooting. You can only use hyphen and alphanumeric characters, for example -, a-z, A-Z, and 0-9.
style: simple
schema: {}
- name: x-account-id
in: header
description: A unique ID issued by the Service Provider to identify a customer. You can only use hyphen and alphanumeric characters, for example -, a-z, A-Z, and 0-9.
style: simple
schema: {}
- name: businessSid
in: path
description: Unique ID provided by the Service Provider to identify a solution, which is a collection of several atomic services. When forming a solution, use the same BusinessSID.
required: true
style: simple
schema: {}
- name: version
in: path
description: The API version.
required: true
style: simple
schema:
allOf:
- $ref: '#/components/schemas/version'
- description: The API version.
example: v1
responses:
'200':
description: Service deleted successfully
headers: {}
content:
application/json:
schema:
$ref: '#/components/schemas/DeleteServiceResponse'
'401':
description: Access token is missing or invalid
headers: {}
content: {}
'403':
description: Failed to delete service
headers: {}
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'404':
description: Service not found
headers: {}
content: {}
'500':
description: Internal server error
headers: {}
content: {}
deprecated: false
get:
tags:
- Services
summary: getServiceItem
description: ''
operationId: getServiceItem
parameters:
- name: businessSid
in: path
description: Unique ID provided by the Service Provider to identify a solution, which is a collection of several atomic services. When forming a solution, use the same BusinessSID.
required: true
style: simple
schema: {}
- name: version
in: path
description: The API version.
required: true
style: simple
schema:
allOf:
- $ref: '#/components/schemas/version'
- description: The API version.
example: v1
responses:
'200':
description: Service information
headers: {}
content:
application/json:
schema:
$ref: '#/components/schemas/ServiceBodyRequest'
'401':
description: Access token is missing or invalid
headers: {}
content: {}
'403':
description: 'Error: Service info'
headers: {}
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'404':
description: Service not found
headers: {}
content: {}
'500':
description: Internal server error
headers: {}
content: {}
deprecated: false
/{businessSid}/state:
get:
tags:
- Service State
summary: getServiceItemState
description: Get the operational state of a particular business service ID.
operationId: getServiceItemState
parameters:
- name: businessSid
in: path
description: Unique ID provided by the Service Provider to identify a solution, which is a collection of several atomic services. When forming a solution, use the same BusinessSID.
required: true
style: simple
schema: {}
- name: version
in: path
description: The API version.
required: true
style: simple
schema:
allOf:
- $ref: '#/components/schemas/version'
- description: The API version.
example: v1
responses:
'200':
description: Service state
headers: {}
content:
application/json:
schema:
$ref: '#/components/schemas/GetServiceStateResponse'
'401':
description: Access token is missing or invalid
headers: {}
content: {}
'403':
description: Service state error
headers: {}
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'404':
description: Service not found
headers: {}
content: {}
'500':
description: Internal server error
headers: {}
content: {}
deprecated: false
/{businessSid}/monitoring:
get:
tags:
- Service State
summary: getServiceMonitoring
description: ''
operationId: getServiceMonitoring
parameters:
- name: businessSid
in: path
description: Unique ID provided by the Service Provider to identify a solution, which is a collection of several atomic services. When forming a solution, use the same BusinessSID.
required: true
style: simple
schema: {}
- name: version
in: path
description: The API version.
required: true
style: simple
schema:
allOf:
- $ref: '#/components/schemas/version'
- description: The API version.
example: v1
responses:
'200':
description: Service monitoring data
headers: {}
content:
application/json:
schema:
$ref: '#/components/schemas/GetServiceMonitoringResponse'
'401':
description: Access token is missing or invalid
headers: {}
content: {}
'403':
description: Service state error
headers: {}
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'404':
description: Service not found
headers: {}
content: {}
'500':
description: Internal server error
headers: {}
content: {}
deprecated: false
/serviceNode/command:
post:
tags:
- Show Command
summary: showCommand
description: Show commands display information about the system and system configuration, useful for troubleshooting. Information about the show commands can be found in DriveNets Documentation portal.
operationId: showCommand
parameters:
- name: version
in: path
description: The API version.
required: true
style: simple
schema:
allOf:
- $ref: '#/components/schemas/version'
- description: The API version.
example: v1
requestBody:
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/ShowCommandBodyRequest'
required: true
responses:
'200':
description: Show command response
headers: {}
content:
application/json:
schema:
$ref: '#/components/schemas/CommandResponse'
'400':
description: Show command response failed
headers: {}
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'401':
description: Access token is missing or invalid
headers: {}
content: {}
'500':
description: Internal server error
headers: {}
content: {}
deprecated: false
components:
schemas:
IPv4_Address:
title: IPv4_Address
type: object
properties:
ipv4Address:
type: string
description: An IP v4 address.
ipv4Prefix:
type: integer
description: The prefix of the address (CIDR).
format: int32
IPv6_Address:
title: IPv6_Address
type: object
properties:
ipv6Address:
type: string
description: An IP v6 address.
ipv6Prefix:
type: integer
description: The prefix of the address (CIDR)
format: int32
Provider_Aggregated_Address:
title: Provider_Aggregated_Address
type: object
properties:
ipv4AggregatedAddress:
$ref: '#/components/schemas/Ipv4AggregatedAddress'
ipv6AggregatedAddress:
$ref: '#/components/schemas/Ipv6AggregatedAddress'
description: Private IP addresses provided from DriveNets' IP address pool. The subnet allocated is the same for all connections.
IG_Provider_Independent_Address:
title: IG_Provider_Independent_Address
type: object
properties:
ipv4IndependentAddress:
$ref: '#/components/schemas/IPv4_Address'
ipv6IndependentAddress:
$ref: '#/components/schemas/IPv6_Address'
description: Public or private IP addresses provided by the customer. Two sets of addresses must be created for redundancy.
IG_Provider_Aggregated_Address:
title: IG_Provider_Aggregated_Address
type: object
properties:
ipv4AggregatedAddress:
$ref: '#/components/schemas/Ipv4AggregatedAddress1'
ipv6AggregatedAddress:
$ref: '#/components/schemas/Ipv6AggregatedAddress1'
description: Private IP addresses provided from DriveNets' IP address pool. The subnet allocated is the same for all connections.
L3VpnParams:
title: L3VpnParams
type: object
properties:
rt:
type: string
FunctionParams:
title: FunctionParams
type: object
properties:
location:
type: string
direction:
$ref: '#/components/schemas/FunctionDirection'
functionOrder:
maximum: 1
minimum: 1
type: integer
format: int32
default: 1
params:
oneOf:
- $ref: '#/components/schemas/NatParams'
CreateServiceBodyRequest:
title: CreateServiceBodyRequest
required:
- businessSid
- atomicServices
type: object
properties:
businessSid:
type: string
description: Unique ID provided by the Service Provider to identify a solution, which is a collection of several atomic services. When forming a solution, use the same BusinessSID.
example: 34314231-3425423-123f23-23a2g42
businessSidDescription:
type: string
description: Business id description
example: vADI service of Pepsi
atomicServices:
type: array
items:
$ref: '#/components/schemas/AtomicService'
description: Entries for atomic services
policies:
type: array
items:
$ref: '#/components/schemas/Policy'
description: Entries for policies
ServiceBodyRequest:
title: ServiceBodyRequest
type: object
properties:
businessSidDescription:
type: string
description: Business id description
example: vADI service of Pepsi
atomicServices:
type: array
items:
$ref: '#/components/schemas/AtomicService1'
description: Entries for atomic services
policies:
type: array
items:
$ref: '#/components/schemas/Policy1'
description: Entries for policies
ServiceBodyResponse:
title: ServiceBodyResponse
type: object
properties:
businessSid:
type: string
description: Unique ID provided by the Service Provider to identify a solution, which is a collection of several atomic services. When forming a solution, use the same BusinessSID.
example: 34314231-3425423-123f23-23a2g42
atomicServices:
type: array
items:
$ref: '#/components/schemas/AtomicService2'
description: Entries for atomic services
policies:
type: array
items:
$ref: '#/components/schemas/Policy2'
description: Entries for policies
DeleteServiceResponse:
title: DeleteServiceResponse
required:
- id
type: object
properties:
id:
type: string
description: Unique service ID
example: abcdef-abcdef-12345-12345
EquinixConnectParams:
title: EquinixConnectParams
required:
- location
- fabricSubType
- bandwidth
- ipAddress
- routing
type: object
properties:
location:
type: string
description: Location of the peering location
fabricSubType:
$ref: '#/components/schemas/FabricSubType'
bandwidth:
$ref: '#/components/schemas/Bandwidth'
isRedundant:
type: boolean
default: false
ipAddress:
$ref: '#/components/schemas/IpAddress'
customerIpAddress:
maxItems: 2
type: array
items:
$ref: '#/components/schemas/Provider_Independent_Address'
description: Public or private IP addresses provided by the customer. Two sets of addresses must be created for redundancy.
routing:
$ref: '#/components/schemas/Routing1'
description:
type: string
EquinixConnectResponseParams:
title: EquinixConnectResponseParams
type: object
properties:
location:
type: string
description: Location of the peering location
fabricSubType:
$ref: '#/components/schemas/FabricSubType'
bandwidth:
$ref: '#/components/schemas/Bandwidth'
isRedundant:
type: boolean
default: false
ipAddress:
$ref: '#/components/schemas/IpAddress'
customerIpAddress:
maxItems: 2
type: array
items:
$ref: '#/components/schemas/Provider_Independent_Address'
description: Public or private IP addresses provided by the customer. Two sets of addresses must be created for redundancy.
routing:
$ref: '#/components/schemas/Routing1'
description:
type: string
authenticationKey:
type: string
description: Drivenets-assigned authentication key uuid, a 128-bit identifier.
serviceProfile:
type: string
description: Name of Drivenets service profile in Equinix to connect to.
AzureConnectParams:
title: AzureConnectParams
required:
- sKey
- bandwidth
- location
- ipAddress
- routing
type: object
properties:
sKey:
type: string
description: The s-key generated by Azure for the ExpressRoute service
bandwidth:
$ref: '#/components/schemas/Bandwidth1'
location:
type: string
ipAddress:
allOf:
- $ref: '#/components/schemas/IpAddress1'
- description: The IP address to be used for Azure, bpth IPv4 (mask /30) and IPv6 (mask /126) addresses will be allocated from address pool, IPv4 address can be private.
routing:
$ref: '#/components/schemas/Routing'
outboundRoutingPolicy:
allOf:
- $ref: '#/components/schemas/OutboundRoutingPolicy'
- description: Configuration details that control bgp routes advertisment from the atomic service (of the customer).
inboundRoutingPolicy:
allOf:
- $ref: '#/components/schemas/InboundRoutingPolicy'
- description: Configuration details that control ingress bgp routes advertisment towards the atomic service (of the customer).
InternetGatewayParams:
title: InternetGatewayParams
required:
- location
type: object
properties:
location:
type: string
description: Location of the internet gataeway
ipAddress:
oneOf:
- $ref: '#/components/schemas/IG_Provider_Independent_Address'
- $ref: '#/components/schemas/IG_Provider_Aggregated_Address'
ispRoutingPolicy:
allOf:
- $ref: '#/components/schemas/InboundRoutingPolicy'
- description: Configuration details that control ingress bgp routes advertisment towards the atomic service (of the customer).
internetGatewayRedundancyMode:
$ref: '#/components/schemas/InternetGatewayRedundancyMode'
InternetServiceProviderParams:
title: InternetServiceProviderParams
required:
- location
- bandwidth
type: object
properties:
location:
type: string
bandwidth:
$ref: '#/components/schemas/Bandwidth1'
provider:
allOf:
- $ref: '#/components/schemas/Provider'
- description: The provider we're connected to
isRedundant:
type: boolean
default: false
NatParams:
title: NatParams
type: object
properties:
translationsRules:
anyOf:
- type: array
items:
$ref: '#/components/schemas/NatStaticRule2'
- type: array
items:
$ref: '#/components/schemas/NaptStaticRule2'
- type: array
items:
$ref: '#/components/schemas/NatDynamicRule2'
- type: array
items:
$ref: '#/components/schemas/NaptDynamicRule2'
timeouts:
$ref: '#/components/schemas/NatTimeouts'
NatStaticRule:
title: NatStaticRule
type: object
properties:
internalIP:
type: string
externalIP:
$ref: '#/components/schemas/ExternalIP'
description: NAT static rule - ip to ip
NaptStaticRule:
title: NaptStaticRule
type: object
properties:
internalIP:
type: string
internalPort:
type: integer
format: int32
externalIP:
$ref: '#/components/schemas/ExternalIP'
externalPort:
type: integer
format: int32
protocol:
allOf:
- $ref: '#/components/schemas/NatProtocolType'
- description: ip protocol types for NAT rules.
description: PAT static rule - ip and port to ip and port
NatDynamicRule:
title: NatDynamicRule
type: object
properties:
internalPrefix:
type: array
items:
$ref: '#/components/schemas/IPv4_Address'
description: ''
externalPool:
$ref: '#/components/schemas/ExternalPool'
description: NAT dynamic rule - subnet/s to ip addresses pool
FunctionDirection:
title: FunctionDirection
type: object
properties:
internalAtomicService:
oneOf:
- type: string
example: 12345-12345-abcdef-abcdef
- type: string
example: MyEquinixConnect1
externalAtomicService:
oneOf:
- type: string
example: 12345-12345-abcdef-abcdef
- type: string
example: MyEquinixConnect1
NaptDynamicRule:
title: NaptDynamicRule
type: object
properties:
internalPrefix:
type: array
items:
$ref: '#/components/schemas/IPv4_Address'
description: ''
externalIP:
$ref: '#/components/schemas/ExternalIP'
description: PAT dynamic rule - subnet/s to single ip address
NatTimeouts:
title: NatTimeouts
type: object
properties:
udpTimeout:
$ref: '#/components/schemas/UdpTimeout'
tcpTimeout:
$ref: '#/components/schemas/TcpTimeout'
icmpTimeout:
$ref: '#/components/schemas/IcmpTimeout'
fragmentedTimeout:
$ref: '#/components/schemas/FragmentedTimeout'
ipTimeout:
$ref: '#/components/schemas/IpTimeout'
UdpTimeout:
title: UdpTimeout
type: object
properties:
udpTimeout:
maximum: 7440
minimum: 10
type: integer
format: int32
default: 300
TcpTimeout:
title: TcpTimeout
type: object
properties:
tcpTimeout:
maximum: 10000
minimum: 10
type: integer
format: int32
default: 7440
IcmpTimeout:
title: IcmpTimeout
type: object
properties:
icmpTimeout:
maximum: 10000
minimum: 10
type: integer
format: int32
default: 60
FragmentedTimeout:
title: FragmentedTimeout
type: object
properties:
fragmentedTimeout:
maximum: 120
minimum: 10
type: integer
format: int32
default: 120
IpTimeout:
title: IpTimeout
type: object
properties:
ipTimeout:
maximum: 10000
minimum: 10
type: integer
format: int32
default: 7440
NatProtocolType:
title: NatProtocolType
enum:
- tcp
- udp
type: string
description: ip protocol types for NAT rules.
AzureBgpRouting:
title: AzureBgpRouting
type: object
properties:
isBfdEnabled:
type: boolean
default: false
bgpPeering:
maxItems: 2
type: array
items:
$ref: '#/components/schemas/BgpPeering2'
description: ''
BgpRouting:
title: BgpRouting
type: object
properties:
isBfdEnabled:
type: boolean
default: false
bgpPeering:
maxItems: 2
type: array
items:
$ref: '#/components/schemas/BgpPeering4'
description: ''
staticRoute:
title: staticRoute
type: object
properties:
staticRoute:
maxItems: 10
type: array
items:
$ref: '#/components/schemas/static_route'
description: Configuration details for the Home Cloud Gateway service
bgp_peering_oper_object:
title: bgp_peering_oper_object
type: object
properties:
bgpPeering:
$ref: '#/components/schemas/BgpPeering3'
static_oper_object:
title: static_oper_object
type: object
properties:
staticRoute:
maxItems: 10
type: array
items:
$ref: '#/components/schemas/static_route'
description: Configuration details for the Home Cloud Gateway service
bgp_peering:
title: bgp_peering
required:
- localAsn
type: object
properties:
remoteAsn:
type: string
description: Remote customer ASN
example: 12076 - For Azure.
localAsn:
type: string
description: Local device ASN
example: '13979'
bgpTimeout:
maximum: 180
minimum: 30
type: integer
description: Represents the BGP hold-time timer, bgp keep-alive will be implicitly calculated as bgpTimeout/3.
format: int32
default: 180
bgpSecret:
type: string
common_bgp_peering:
title: common_bgp_peering
required:
- localAsn
type: object
properties:
remoteAsn:
type: string
description: Remote customer ASN
example: 12076 - For Azure.
localAsn:
type: string
description: Local device ASN
example: '13979'
bgpTimeout:
maximum: 180
minimum: 30
type: integer
description: Represents the BGP hold-time timer, bgp keep-alive will be implicitly calculated as bgpTimeout/3.
format: int32
default: 180
BgpSecret:
title: BgpSecret
type: object
properties:
bgpSecret:
type: string
IPv6StaticRoute:
title: IPv6StaticRoute
type: object
properties:
ipv6Network:
type: string
description: Network to be routed via static route
ipv6Prefix:
type: integer
description: Prefix size of network to be routed
format: int32
nextHop:
type: string
description: IPv4 Static route
IPv4StaticRoute:
title: IPv4StaticRoute
type: object
properties:
ipv4Network:
type: string
description: Network to be routed via static route
ipv4Prefix:
type: integer
description: Prefix size of network to be routed
format: int32
nextHop:
type: string
description: IPv4 Static route
InboundRoutingPolicy:
title: InboundRoutingPolicy
type: object
properties:
prefixFilter:
maxItems: 20
type: array
items:
$ref: '#/components/schemas/prefix_rule'
description: Configuration details for prefix filtering. The rules will be applied in the order they are configured, until first match is made.
isDefaultRoute:
type: boolean
description: should the customer receive default route via bgp.
default: true
example: true
description: Configuration details that control ingress bgp routes advertisment towards the atomic service (of the customer).
OutboundRoutingPolicy:
title: OutboundRoutingPolicy
type: object
properties:
prefixFilter:
maxItems: 20
type: array
items:
$ref: '#/components/schemas/prefix_rule'
description: Configuration details for prefix filtering. The rules will be applied in the order they are configured, until first match is made.
isDefaultRoute:
type: boolean
description: should the customer receive default route via bgp.
default: true
example: true
description: Configuration details that control bgp routes advertisment from the atomic service (of the customer).
prefix_rule:
title: prefix_rule
type: object
properties:
ipv4Address:
type: string
description: An IP v4 address.
ipv4Prefix:
type: integer
description: The prefix of the address (CIDR).
format: int32
gtV4:
maximum: 32
minimum: 0
type: integer
description: Define prefix length greater then or equal to
format: int32
ltV4:
maximum: 32
minimum: 0
type: integer
description: Define prefix length less then or equal to
format: int32
ipv6Address:
type: string
description: An IP v6 address.
ipv6Prefix:
type: integer
description: The prefix of the address (CIDR)
format: int32
gtV6:
maximum: 128
minimum: 0
type: integer
description: Define prefix length greater then or equal to
format: int32
ltV6:
maximum: 128
minimum: 0
type: integer
description: Define prefix length less then or equal to
format: int32
ruleType:
allOf:
- $ref: '#/components/schemas/RuleType'
- description: Define if prefix is permitted or denied
prefix_ipv4:
title: prefix_ipv4
type: object
properties:
ipv4Address:
type: string
description: An IP v4 address.
ipv4Prefix:
type: integer
description: The prefix of the address (CIDR).
format: int32
gtV4:
maximum: 32
minimum: 0
type: integer
description: Define prefix length greater then or equal to
format: int32
ltV4:
maximum: 32
minimum: 0
type: integer
description: Define prefix length less then or equal to
format: int32
prefix_ipv6:
title: prefix_ipv6
type: object
properties:
ipv6Address:
type: string
description: An IP v6 address.
ipv6Prefix:
type: integer
description: The prefix of the address (CIDR)
format: int32
gtV6:
maximum: 128
minimum: 0
type: integer
description: Define prefix length greater then or equal to
format: int32
ltV6:
maximum: 128
minimum: 0
type: integer
description: Define prefix length less then or equal to
format: int32
EquinixConnectOperParams:
title: EquinixConnectOperParams
type: object
properties:
availableLocations:
type: array
items:
type: string
description: ''
example:
- dallas
- los-angeles
- houston
equinixConnectCircuit:
type: array
items:
$ref: '#/components/schemas/EquinixConnectCircuit'
description: ''
BgpState:
title: BgpState
type: object
properties:
bgpStateV4:
allOf:
- $ref: '#/components/schemas/BgpStates'
- description: BGP peering state
bgpStateV6:
allOf:
- $ref: '#/components/schemas/BgpStates'
- description: BGP peering state
description: BGP peering state
BgpStates:
title: BgpStates
enum:
- up
- down
type: string
description: BGP peering state
BfdState:
title: BfdState
enum:
- up
- down
type: string
description: BFD session state
linkState:
title: linkState
enum:
- up
- down
type: string
description: Link state
connectivityDetails:
title: connectivityDetails
type: object
properties:
connectionUuid:
type: string
description: The connection UUID
linkUuid:
type: string
description: The link UUID
description: Holds the link and connection UUIDs
IGOperParams:
title: IGOperParams
type: object
properties:
availableLocations:
type: array
items:
type: string
description: ''
example:
- dallas
- los-angeles
- houston
igCircuit: