UNPKG

@itentialopensource/adapter-drivenets_networkcloud

Version:

This adapter integrates with system described as: drivenetsNetworkCloud+Api.

1,447 lines (1,417 loc) 87.3 kB
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: