From c8a338f10ab68de2ba626ce95863f757844e3580 Mon Sep 17 00:00:00 2001 From: "Soumya R.A" Date: Fri, 24 Jul 2026 05:40:17 +0000 Subject: [PATCH 1/2] docs: automated API sync (Phase 1) --- .../network/network-services.yaml} | 189 +- .../config/ngfw/network/network-services.yaml | 20964 ++++++++++++++++ .../config/sase/network/network-services.yaml | 189 +- .../scm/docs/release-notes/release-notes.md | 13 + 4 files changed, 21341 insertions(+), 14 deletions(-) rename openapi-specs/scm/config/{ngfw/network/network-services-R2-2026.yaml => cloudngfw/network/network-services.yaml} (99%) create mode 100644 openapi-specs/scm/config/ngfw/network/network-services.yaml diff --git a/openapi-specs/scm/config/ngfw/network/network-services-R2-2026.yaml b/openapi-specs/scm/config/cloudngfw/network/network-services.yaml similarity index 99% rename from openapi-specs/scm/config/ngfw/network/network-services-R2-2026.yaml rename to openapi-specs/scm/config/cloudngfw/network/network-services.yaml index b84761ce8..70b1f2141 100644 --- a/openapi-specs/scm/config/ngfw/network/network-services-R2-2026.yaml +++ b/openapi-specs/scm/config/cloudngfw/network/network-services.yaml @@ -1410,6 +1410,55 @@ paths: $ref: '#/components/responses/conflict_errors' default: $ref: '#/components/responses/default_errors' + '/ike-gateways:generate-ppk': + post: + tags: + - IKE Gateways + summary: Generate PPK Key + description: | + Generates a cryptographically strong Post-Quantum Pre-Shared Key (RFC 8784). + Returns a hex-encoded key suitable for use in IKE gateway PPK configuration. + operationId: GenerateIKEGatewayPPKKey + parameters: + - $ref: '#/components/parameters/folder' + requestBody: + description: PPK generation parameters + content: + application/json: + schema: + type: object + properties: + length: + type: integer + description: Key length in characters (max 128). Default is 32. + default: 32 + maximum: 128 + responses: + '200': + description: Successfully generated PPK key + content: + application/json: + schema: + type: object + properties: + key: + type: string + description: Hex-encoded PPK key + length: + type: integer + description: Key length in bytes + generated_at: + type: string + format: date-time + description: ISO 8601 timestamp when key was generated + '400': + $ref: '#/components/responses/bad_request_errors_basic_with_body' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + default: + $ref: '#/components/responses/default_errors' /ipsec-crypto-profiles: get: tags: @@ -9024,6 +9073,52 @@ components: description: IKEv2 SA reauthentication interval equals authetication-multiple * rekey-lifetime; 0 means reauthentication disabled maximum: 50 default: 0 + ake: + type: object + description: | + RFC 9370 Additional Key Exchange (AKE) configuration for IKE. + Supports up to 7 rounds of additional key exchanges. + Each round can specify multiple algorithms in preference order. + Supported algorithms: ml-kem-512, ml-kem-768, ml-kem-1024, and DH groups. + properties: + enabled: + type: boolean + description: Enable additional key exchanges + ake_1: + type: array + items: + type: string + description: Round 1 algorithms (e.g., ["ml-kem-768", "group14"]) + ake_2: + type: array + items: + type: string + description: Round 2 algorithms + ake_3: + type: array + items: + type: string + description: Round 3 algorithms + ake_4: + type: array + items: + type: string + description: Round 4 algorithms + ake_5: + type: array + items: + type: string + description: Round 5 algorithms + ake_6: + type: array + items: + type: string + description: Round 6 algorithms + ake_7: + type: array + items: + type: string + description: Round 7 algorithms required: - name - hash @@ -9166,6 +9261,49 @@ components: properties: enable: type: boolean + pq_ppk: + type: object + description: RFC 8784 Post-Quantum Pre-Shared Key (PPK) configuration + properties: + enabled: + type: boolean + description: Enable PPK for this IKE gateway + negotiation_mode: + type: string + enum: + - preferred + - mandatory + description: | + PPK negotiation mode: + - preferred: Fall back to normal IKEv2 if peer doesn't support PPK + - mandatory: Abort negotiation if peer doesn't support PPK + keys: + type: array + description: List of PPK keys + items: + type: object + properties: + name: + type: string + maxLength: 31 + description: PPK key identifier + key: + type: string + maxLength: 128 + description: PPK secret value (hex-encoded) + enabled: + type: boolean + description: Enable this PPK key + pq_kem: + type: object + description: RFC 9370 Post-Quantum Key Encapsulation Mechanism configuration + properties: + enable: + type: boolean + description: Enable PQ-KEM for this IKE gateway + block_vulnerable_cipher: + type: boolean + description: Block connections that don't support PQ-KEM version: enum: - ikev2-preferred @@ -9349,6 +9487,35 @@ components: description: specify lifesize in terabytes(TB) minimum: 1 maximum: 65535 + ake: + type: object + description: | + RFC 9370 Additional Key Exchange (AKE) configuration for IPSec/ESP. + Supports up to 7 rounds of additional key exchanges. + Unlike IKE, each round accepts only a single algorithm (not an array). + Supported algorithms: ml-kem-512, ml-kem-768, ml-kem-1024, and DH groups. + properties: + ake_1: + type: string + description: Round 1 algorithm (e.g., "ml-kem-768") + ake_2: + type: string + description: Round 2 algorithm + ake_3: + type: string + description: Round 3 algorithm + ake_4: + type: string + description: Round 4 algorithm + ake_5: + type: string + description: Round 5 algorithm + ake_6: + type: string + description: Round 6 algorithm + ake_7: + type: string + description: Round 7 algorithm required: - name - lifetime @@ -9963,10 +10130,6 @@ components: type: boolean enable_device_identification: type: boolean - dos_profile: - type: string - dos_log_setting: - type: string network: type: object properties: @@ -10928,10 +11091,13 @@ components: type: object properties: vlan_tag: - description: VLAN tag + description: VLAN tag. Mutually exclusive with vlan_object. type: string pattern: '^([1-9]\d{0,2}|[1-3]\d{3}|40[0-8]\d|409[0-6])$' example: '123' + vlan_object: + description: VLAN object reference. Mutually exclusive with vlan_tag. + type: string lacp: $ref: '#/components/schemas/lacp' netflow_profile: @@ -11316,9 +11482,12 @@ components: description: Name of Netflow Profile to assign to Interface type: string vlan_tag: - description: Assign interface to VLAN tag + description: Assign interface to VLAN tag. Mutually exclusive with vlan_object. type: string pattern: '^([1-9]\d{0,2}|[1-3]\d{3}|40[0-8]\d|409[0-6])$' + vlan_object: + description: VLAN object reference. Mutually exclusive with vlan_tag. + type: string lldp: description: LLDP Settings type: object @@ -11556,6 +11725,9 @@ components: description: VLAN tag type: string pattern: '^([1-9]\d{0,2}|[1-3]\d{3}|40[0-8]\d|409[0-6])$' + vlan_object: + description: VLAN object reference + type: string parent_interface: description: Parent interface type: string @@ -11932,10 +12104,13 @@ components: description: Description type: string vlan_tag: - description: VLAN tag + description: VLAN tag. Mutually exclusive with vlan_object. type: string pattern: '^([1-9]\d{0,2}|[1-3]\d{3}|40[0-8]\d|409[0-6])$' example: '123' + vlan_object: + description: VLAN object reference. Mutually exclusive with vlan_tag. + type: string mtu: description: MTU type: integer diff --git a/openapi-specs/scm/config/ngfw/network/network-services.yaml b/openapi-specs/scm/config/ngfw/network/network-services.yaml new file mode 100644 index 000000000..70b1f2141 --- /dev/null +++ b/openapi-specs/scm/config/ngfw/network/network-services.yaml @@ -0,0 +1,20964 @@ +openapi: 3.1.0 +info: + version: 2.0.0 + title: Network Services + description: These APIs are used for defining and managing network services configuration within Strata Cloud Manager. + termsOfService: 'https://www.paloaltonetworks.com/content/dam/pan/en_US/assets/pdf/legal/palo-alto-networks-end-user-license-agreement-eula.pdf' + contact: + email: support@paloaltonetworks.com + name: Palo Alto Networks Technical Support + url: 'https://support.paloaltonetworks.com' + license: + name: MIT + url: https://opensource.org/license/mit +servers: + - url: 'https://api.strata.paloaltonetworks.com/config/network/v1' + description: Current + - url: 'https://api.sase.paloaltonetworks.com/sse/config/v1' + description: Legacy +tags: + - name: Aggregate Interfaces + description: Aggregate Interfaces + - name: Auto VPN Clusters + description: Auto VPN Clusters + - name: Auto VPN Config Push + description: Auto VPN Config Push + - name: Auto VPN Monitor + description: Auto VPN Monitor + - name: Auto VPN Settings + description: Auto VPN Settings + - name: BGP Address Family Profiles + description: BGP Address Family Profiles + - name: BGP Authentication Profiles + description: BGP Authentication Profiles + - name: BGP Filtering Profiles + description: BGP Filtering Profiles + - name: BGP Redistribution Profiles + description: BGP Redistribution Profiles + - name: BGP Route Map Redistributions + description: BGP Route Map Redistributions + - name: BGP Route Maps + description: BGP Route Maps + - name: DHCP Interfaces + description: DHCP Interfaces + - name: DNS Proxies + description: DNS Proxies + - name: Ethernet Interfaces + description: Ethernet Interfaces + - name: IKE Crypto Profiles + description: IKE Crypto Profiles + - name: IKE Gateways + description: IKE Gateways + - name: Interface Management Profiles + description: Interface Management Profiles + - name: IPsec Crypto Profiles + description: IPsec Crypto Profiles + - name: IPsec Tunnels + description: IPsec Tunnels + - name: Layer 2 Subinterfaces + description: Layer 3 Subinterfaces + - name: Layer 3 Subinterfaces + description: Layer 3 Subinterfaces + - name: Link Tags + description: Link Tags + - name: Logical Routers + description: Logical Routers + - name: Loopback Interfaces + description: Loopback Interfaces + - name: NAT Rules + description: NAT Rules + - name: OSPF Authentication Profiles + description: OSPF Authentication Profiles + - name: PBF Rules + description: PBF Rules + - name: QoS Profiles + description: QoS Profiles + - name: QoS Rules + description: QoS Rules + - name: Route Access Lists + description: Route Access Lists + - name: Route Community Lists + description: Route Community Lists + - name: Route Path Access Lists + description: Route Path Access Lists + - name: Route Prefix Lists + description: Route Prefix Lists + - name: SD-WAN Error Correction Profiles + description: SD-WAN Error Correction Profiles + - name: SD-WAN Path Quality Profiles + description: SD-WAN Path Quality Profiles + - name: SD-WAN Rules + description: SD-WAN Rules + - name: SD-WAN SaaS Quality Profiles + description: SD-WAN SaaS Quality Profiles + - name: SD-WAN Traffic Distribution Profiles + description: SD-WAN Traffic Distribution Profiles + - name: Security Zones + description: Security Zones + - name: Tunnel Interfaces + description: Tunnel Interfaces + - name: VLAN Interfaces + description: VLAN Interfaces + - name: Zone Protection Profiles + description: Zone Protection Profiles + - name: Remote Networks License + description: Remote Networks License Info + - name: LLDP Profiles + description: LLDP Profiles + - name: Config Match List + description: Config Match List + - name: Globalprotect Match List + description: Globalprotect Match List + - name: Hipmatch Match List + description: Hipmatch Match List + - name: Iptag Match List + description: Iptag Match List + - name: System Match List + description: System Match List + - name: Userid Match List + description: Userid Match List + - name: Network Packet Broker Profiles + description: Network Packet Broker Profile management + - name: Network Packet Broker Rules + description: Network Packet Broker Rule management +paths: + /config-match-list: + get: + tags: + - Config Match List + summary: List config match list entries + description: | + Retrieve a list of config match list entries. + operationId: ListConfigMatchList + parameters: + - $ref: '#/components/parameters/name' + - $ref: '#/components/parameters/folder' + - $ref: '#/components/parameters/snippet' + - $ref: '#/components/parameters/device' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/limit' + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + data: + allOf: + - type: array + items: + $ref: '#/components/schemas/config-match-list' + limit: + type: integer + default: 200 + offset: + type: integer + default: 0 + total: + type: integer + '400': + $ref: '#/components/responses/bad_request_errors_basic' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '404': + $ref: '#/components/responses/not_found' + default: + $ref: '#/components/responses/default_errors' + post: + tags: + - Config Match List + summary: Create a config match list entry + description: | + Create a new config match list entry. + operationId: CreateConfigMatchList + requestBody: + description: Created + content: + application/json: + schema: + $ref: '#/components/schemas/config-match-list' + responses: + '201': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/config-match-list' + '400': + $ref: '#/components/responses/bad_request_errors_basic_with_body' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '409': + $ref: '#/components/responses/conflict_errors' + default: + $ref: '#/components/responses/default_errors' + '/config-match-list/{id}': + get: + tags: + - Config Match List + summary: Get a config match list entry + description: | + Get an existing config match list entry. + operationId: GetConfigMatchListByID + parameters: + - $ref: '#/components/parameters/uuid' + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/config-match-list' + '400': + $ref: '#/components/responses/bad_request_errors_basic' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '404': + $ref: '#/components/responses/not_found' + default: + $ref: '#/components/responses/default_errors' + put: + tags: + - Config Match List + summary: Update a config match list entry + description: | + Update an existing config match list entry. + operationId: UpdateConfigMatchListByID + parameters: + - $ref: '#/components/parameters/uuid' + requestBody: + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/config-match-list' + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/config-match-list' + '400': + $ref: '#/components/responses/bad_request_errors_basic_with_body' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '404': + $ref: '#/components/responses/not_found' + '409': + $ref: '#/components/responses/conflict_errors' + default: + $ref: '#/components/responses/default_errors' + delete: + tags: + - Config Match List + summary: Delete a config match list entry + description: | + Delete a config match list entry. + operationId: DeleteConfigMatchListByID + parameters: + - $ref: '#/components/parameters/uuid' + responses: + '200': + $ref: '#/components/responses/http_ok' + '400': + $ref: '#/components/responses/bad_request_errors_basic' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '404': + $ref: '#/components/responses/not_found' + '409': + $ref: '#/components/responses/conflict_errors' + default: + $ref: '#/components/responses/default_errors' + /globalprotect-match-list: + get: + tags: + - Globalprotect Match List + summary: List globalprotect match list entries + description: | + Retrieve a list of globalprotect match list entries. + operationId: ListGlobalprotectMatchList + parameters: + - $ref: '#/components/parameters/name' + - $ref: '#/components/parameters/folder' + - $ref: '#/components/parameters/snippet' + - $ref: '#/components/parameters/device' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/limit' + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + data: + allOf: + - type: array + items: + $ref: '#/components/schemas/globalprotect-match-list' + limit: + type: integer + default: 200 + offset: + type: integer + default: 0 + total: + type: integer + '400': + $ref: '#/components/responses/bad_request_errors_basic' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '404': + $ref: '#/components/responses/not_found' + default: + $ref: '#/components/responses/default_errors' + post: + tags: + - Globalprotect Match List + summary: Create a globalprotect match list entry + description: | + Create a new globalprotect match list entry. + operationId: CreateGlobalprotectMatchList + requestBody: + description: Created + content: + application/json: + schema: + $ref: '#/components/schemas/globalprotect-match-list' + responses: + '201': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/globalprotect-match-list' + '400': + $ref: '#/components/responses/bad_request_errors_basic_with_body' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '409': + $ref: '#/components/responses/conflict_errors' + default: + $ref: '#/components/responses/default_errors' + '/globalprotect-match-list/{id}': + get: + tags: + - Globalprotect Match List + summary: Get a globalprotect match list entry + description: | + Get an existing globalprotect match list entry. + operationId: GetGlobalprotectMatchListByID + parameters: + - $ref: '#/components/parameters/uuid' + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/globalprotect-match-list' + '400': + $ref: '#/components/responses/bad_request_errors_basic' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '404': + $ref: '#/components/responses/not_found' + default: + $ref: '#/components/responses/default_errors' + put: + tags: + - Globalprotect Match List + summary: Update a globalprotect match list entry + description: | + Update an existing globalprotect match list entry. + operationId: UpdateGlobalprotectMatchListByID + parameters: + - $ref: '#/components/parameters/uuid' + requestBody: + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/globalprotect-match-list' + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/globalprotect-match-list' + '400': + $ref: '#/components/responses/bad_request_errors_basic_with_body' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '404': + $ref: '#/components/responses/not_found' + '409': + $ref: '#/components/responses/conflict_errors' + default: + $ref: '#/components/responses/default_errors' + delete: + tags: + - Globalprotect Match List + summary: Delete a globalprotect match list entry + description: | + Delete a globalprotect match list entry. + operationId: DeleteGlobalprotectMatchListByID + parameters: + - $ref: '#/components/parameters/uuid' + responses: + '200': + $ref: '#/components/responses/http_ok' + '400': + $ref: '#/components/responses/bad_request_errors_basic' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '404': + $ref: '#/components/responses/not_found' + '409': + $ref: '#/components/responses/conflict_errors' + default: + $ref: '#/components/responses/default_errors' + /hipmatch-match-list: + get: + tags: + - Hipmatch Match List + summary: List hipmatch match list entries + description: | + Retrieve a list of hipmatch match list entries. + operationId: ListHipmatchMatchList + parameters: + - $ref: '#/components/parameters/name' + - $ref: '#/components/parameters/folder' + - $ref: '#/components/parameters/snippet' + - $ref: '#/components/parameters/device' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/limit' + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + data: + allOf: + - type: array + items: + $ref: '#/components/schemas/hipmatch-match-list' + limit: + type: integer + default: 200 + offset: + type: integer + default: 0 + total: + type: integer + '400': + $ref: '#/components/responses/bad_request_errors_basic' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '404': + $ref: '#/components/responses/not_found' + default: + $ref: '#/components/responses/default_errors' + post: + tags: + - Hipmatch Match List + summary: Create a hipmatch match list entry + description: | + Create a new hipmatch match list entry. + operationId: CreateHipmatchMatchList + requestBody: + description: Created + content: + application/json: + schema: + $ref: '#/components/schemas/hipmatch-match-list' + responses: + '201': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/hipmatch-match-list' + '400': + $ref: '#/components/responses/bad_request_errors_basic_with_body' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '409': + $ref: '#/components/responses/conflict_errors' + default: + $ref: '#/components/responses/default_errors' + '/hipmatch-match-list/{id}': + get: + tags: + - Hipmatch Match List + summary: Get a hipmatch match list entry + description: | + Get an existing hipmatch match list entry. + operationId: GetHipmatchMatchListByID + parameters: + - $ref: '#/components/parameters/uuid' + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/hipmatch-match-list' + '400': + $ref: '#/components/responses/bad_request_errors_basic' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '404': + $ref: '#/components/responses/not_found' + default: + $ref: '#/components/responses/default_errors' + put: + tags: + - Hipmatch Match List + summary: Update a hipmatch match list entry + description: | + Update an existing hipmatch match list entry. + operationId: UpdateHipmatchMatchListByID + parameters: + - $ref: '#/components/parameters/uuid' + requestBody: + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/hipmatch-match-list' + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/hipmatch-match-list' + '400': + $ref: '#/components/responses/bad_request_errors_basic_with_body' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '404': + $ref: '#/components/responses/not_found' + '409': + $ref: '#/components/responses/conflict_errors' + default: + $ref: '#/components/responses/default_errors' + delete: + tags: + - Hipmatch Match List + summary: Delete a hipmatch match list entry + description: | + Delete a hipmatch match list entry. + operationId: DeleteHipmatchMatchListByID + parameters: + - $ref: '#/components/parameters/uuid' + responses: + '200': + $ref: '#/components/responses/http_ok' + '400': + $ref: '#/components/responses/bad_request_errors_basic' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '404': + $ref: '#/components/responses/not_found' + '409': + $ref: '#/components/responses/conflict_errors' + default: + $ref: '#/components/responses/default_errors' + /iptag-match-list: + get: + tags: + - Iptag Match List + summary: List iptag match list entries + description: | + Retrieve a list of iptag match list entries. + operationId: ListIptagMatchList + parameters: + - $ref: '#/components/parameters/name' + - $ref: '#/components/parameters/folder' + - $ref: '#/components/parameters/snippet' + - $ref: '#/components/parameters/device' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/limit' + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + data: + allOf: + - type: array + items: + $ref: '#/components/schemas/iptag-match-list' + limit: + type: integer + default: 200 + offset: + type: integer + default: 0 + total: + type: integer + '400': + $ref: '#/components/responses/bad_request_errors_basic' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '404': + $ref: '#/components/responses/not_found' + default: + $ref: '#/components/responses/default_errors' + post: + tags: + - Iptag Match List + summary: Create an iptag match list entry + description: | + Create a new iptag match list entry. + operationId: CreateIptagMatchList + requestBody: + description: Created + content: + application/json: + schema: + $ref: '#/components/schemas/iptag-match-list' + responses: + '201': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/iptag-match-list' + '400': + $ref: '#/components/responses/bad_request_errors_basic_with_body' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '409': + $ref: '#/components/responses/conflict_errors' + default: + $ref: '#/components/responses/default_errors' + '/iptag-match-list/{id}': + get: + tags: + - Iptag Match List + summary: Get an iptag match list entry + description: | + Get an existing iptag match list entry. + operationId: GetIptagMatchListByID + parameters: + - $ref: '#/components/parameters/uuid' + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/iptag-match-list' + '400': + $ref: '#/components/responses/bad_request_errors_basic' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '404': + $ref: '#/components/responses/not_found' + default: + $ref: '#/components/responses/default_errors' + put: + tags: + - Iptag Match List + summary: Update an iptag match list entry + description: | + Update an existing iptag match list entry. + operationId: UpdateIptagMatchListByID + parameters: + - $ref: '#/components/parameters/uuid' + requestBody: + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/iptag-match-list' + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/iptag-match-list' + '400': + $ref: '#/components/responses/bad_request_errors_basic_with_body' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '404': + $ref: '#/components/responses/not_found' + '409': + $ref: '#/components/responses/conflict_errors' + default: + $ref: '#/components/responses/default_errors' + delete: + tags: + - Iptag Match List + summary: Delete an iptag match list entry + description: | + Delete an iptag match list entry. + operationId: DeleteIptagMatchListByID + parameters: + - $ref: '#/components/parameters/uuid' + responses: + '200': + $ref: '#/components/responses/http_ok' + '400': + $ref: '#/components/responses/bad_request_errors_basic' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '404': + $ref: '#/components/responses/not_found' + '409': + $ref: '#/components/responses/conflict_errors' + default: + $ref: '#/components/responses/default_errors' + /system-match-list: + get: + tags: + - System Match List + summary: List system match list entries + description: | + Retrieve a list of system match list entries. + operationId: ListSystemMatchList + parameters: + - $ref: '#/components/parameters/name' + - $ref: '#/components/parameters/folder' + - $ref: '#/components/parameters/snippet' + - $ref: '#/components/parameters/device' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/limit' + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + data: + allOf: + - type: array + items: + $ref: '#/components/schemas/system-match-list' + limit: + type: integer + default: 200 + offset: + type: integer + default: 0 + total: + type: integer + '400': + $ref: '#/components/responses/bad_request_errors_basic' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '404': + $ref: '#/components/responses/not_found' + default: + $ref: '#/components/responses/default_errors' + post: + tags: + - System Match List + summary: Create a system match list entry + description: | + Create a new system match list entry. + operationId: CreateSystemMatchList + requestBody: + description: Created + content: + application/json: + schema: + $ref: '#/components/schemas/system-match-list' + responses: + '201': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/system-match-list' + '400': + $ref: '#/components/responses/bad_request_errors_basic_with_body' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '409': + $ref: '#/components/responses/conflict_errors' + default: + $ref: '#/components/responses/default_errors' + '/system-match-list/{id}': + get: + tags: + - System Match List + summary: Get a system match list entry + description: | + Get an existing system match list entry. + operationId: GetSystemMatchListByID + parameters: + - $ref: '#/components/parameters/uuid' + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/system-match-list' + '400': + $ref: '#/components/responses/bad_request_errors_basic' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '404': + $ref: '#/components/responses/not_found' + default: + $ref: '#/components/responses/default_errors' + put: + tags: + - System Match List + summary: Update a system match list entry + description: | + Update an existing system match list entry. + operationId: UpdateSystemMatchListByID + parameters: + - $ref: '#/components/parameters/uuid' + requestBody: + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/system-match-list' + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/system-match-list' + '400': + $ref: '#/components/responses/bad_request_errors_basic_with_body' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '404': + $ref: '#/components/responses/not_found' + '409': + $ref: '#/components/responses/conflict_errors' + default: + $ref: '#/components/responses/default_errors' + delete: + tags: + - System Match List + summary: Delete a system match list entry + description: | + Delete a system match list entry. + operationId: DeleteSystemMatchListByID + parameters: + - $ref: '#/components/parameters/uuid' + responses: + '200': + $ref: '#/components/responses/http_ok' + '400': + $ref: '#/components/responses/bad_request_errors_basic' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '404': + $ref: '#/components/responses/not_found' + '409': + $ref: '#/components/responses/conflict_errors' + default: + $ref: '#/components/responses/default_errors' + /userid-match-list: + get: + tags: + - Userid Match List + summary: List userid match list entries + description: | + Retrieve a list of userid match list entries. + operationId: ListUseridMatchList + parameters: + - $ref: '#/components/parameters/name' + - $ref: '#/components/parameters/folder' + - $ref: '#/components/parameters/snippet' + - $ref: '#/components/parameters/device' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/limit' + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + data: + allOf: + - type: array + items: + $ref: '#/components/schemas/userid-match-list' + limit: + type: integer + default: 200 + offset: + type: integer + default: 0 + total: + type: integer + '400': + $ref: '#/components/responses/bad_request_errors_basic' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '404': + $ref: '#/components/responses/not_found' + default: + $ref: '#/components/responses/default_errors' + post: + tags: + - Userid Match List + summary: Create a userid match list entry + description: | + Create a new userid match list entry. + operationId: CreateUseridMatchList + requestBody: + description: Created + content: + application/json: + schema: + $ref: '#/components/schemas/userid-match-list' + responses: + '201': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/userid-match-list' + '400': + $ref: '#/components/responses/bad_request_errors_basic_with_body' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '409': + $ref: '#/components/responses/conflict_errors' + default: + $ref: '#/components/responses/default_errors' + '/userid-match-list/{id}': + get: + tags: + - Userid Match List + summary: Get a userid match list entry + description: | + Get an existing userid match list entry. + operationId: GetUseridMatchListByID + parameters: + - $ref: '#/components/parameters/uuid' + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/userid-match-list' + '400': + $ref: '#/components/responses/bad_request_errors_basic' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '404': + $ref: '#/components/responses/not_found' + default: + $ref: '#/components/responses/default_errors' + put: + tags: + - Userid Match List + summary: Update a userid match list entry + description: | + Update an existing userid match list entry. + operationId: UpdateUseridMatchListByID + parameters: + - $ref: '#/components/parameters/uuid' + requestBody: + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/userid-match-list' + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/userid-match-list' + '400': + $ref: '#/components/responses/bad_request_errors_basic_with_body' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '404': + $ref: '#/components/responses/not_found' + '409': + $ref: '#/components/responses/conflict_errors' + default: + $ref: '#/components/responses/default_errors' + delete: + tags: + - Userid Match List + summary: Delete a userid match list entry + description: | + Delete a userid match list entry. + operationId: DeleteUseridMatchListByID + parameters: + - $ref: '#/components/parameters/uuid' + responses: + '200': + $ref: '#/components/responses/http_ok' + '400': + $ref: '#/components/responses/bad_request_errors_basic' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '404': + $ref: '#/components/responses/not_found' + '409': + $ref: '#/components/responses/conflict_errors' + default: + $ref: '#/components/responses/default_errors' + /ike-crypto-profiles: + get: + tags: + - IKE Crypto Profiles + summary: List IKE crypto profiles + description: | + Retrieve a list of IKE crypto profiles. + operationId: ListIKECryptoProfiles + parameters: + - $ref: '#/components/parameters/name' + - $ref: '#/components/parameters/folder' + - $ref: '#/components/parameters/snippet' + - $ref: '#/components/parameters/device' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/limit' + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + data: + allOf: + - type: array + items: + $ref: '#/components/schemas/ike-crypto-profiles' + limit: + type: integer + default: 200 + offset: + type: integer + default: 0 + total: + type: integer + '400': + $ref: '#/components/responses/bad_request_errors_basic' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '404': + $ref: '#/components/responses/not_found' + default: + $ref: '#/components/responses/default_errors' + post: + tags: + - IKE Crypto Profiles + summary: Create an IKE crypto profile + description: | + Create a new IKE crypto profile. + operationId: CreateIKECryptoProfiles + requestBody: + description: Created + content: + application/json: + schema: + $ref: '#/components/schemas/ike-crypto-profiles' + responses: + '201': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/ike-crypto-profiles' + '400': + $ref: '#/components/responses/bad_request_errors_basic_with_body' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '409': + $ref: '#/components/responses/conflict_errors' + default: + $ref: '#/components/responses/default_errors' + '/ike-crypto-profiles/{id}': + get: + tags: + - IKE Crypto Profiles + summary: Get an IKE crypto profile + description: | + Get an existing IKE crypto profile. + operationId: GetIKECryptoProfilesByID + parameters: + - $ref: '#/components/parameters/uuid' + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/ike-crypto-profiles' + '400': + $ref: '#/components/responses/bad_request_errors_basic' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '404': + $ref: '#/components/responses/not_found' + default: + $ref: '#/components/responses/default_errors' + put: + tags: + - IKE Crypto Profiles + summary: Update an IKE crypto profile + description: | + Update an existing IKE crypto profile. + operationId: UpdateIKECryptoProfilesByID + parameters: + - $ref: '#/components/parameters/uuid' + requestBody: + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/ike-crypto-profiles' + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/ike-crypto-profiles' + '400': + $ref: '#/components/responses/bad_request_errors_basic_with_body' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '404': + $ref: '#/components/responses/not_found' + '409': + $ref: '#/components/responses/conflict_errors' + default: + $ref: '#/components/responses/default_errors' + delete: + tags: + - IKE Crypto Profiles + summary: Delete an IKE crypto profile + description: | + Delete an IKE crypto profile. + operationId: DeleteIKECryptoProfilesByID + parameters: + - $ref: '#/components/parameters/uuid' + responses: + '200': + $ref: '#/components/responses/http_ok' + '400': + $ref: '#/components/responses/bad_request_errors_basic' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '404': + $ref: '#/components/responses/not_found' + '409': + $ref: '#/components/responses/conflict_errors' + default: + $ref: '#/components/responses/default_errors' + /ike-gateways: + get: + tags: + - IKE Gateways + summary: List IKE gateways + description: | + Retrieve a list of IKE gateways. + operationId: ListIKEGateways + parameters: + - $ref: '#/components/parameters/name' + - $ref: '#/components/parameters/folder' + - $ref: '#/components/parameters/snippet' + - $ref: '#/components/parameters/device' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/limit' + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + data: + allOf: + - type: array + items: + $ref: '#/components/schemas/ike-gateways' + limit: + type: integer + default: 200 + offset: + type: integer + default: 0 + total: + type: integer + '400': + $ref: '#/components/responses/bad_request_errors_basic' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '404': + $ref: '#/components/responses/not_found' + default: + $ref: '#/components/responses/default_errors' + post: + tags: + - IKE Gateways + summary: Create an IKE gateway + description: | + Create a new IKE gateway. + operationId: CreateIKEGateways + requestBody: + description: Created + content: + application/json: + schema: + $ref: '#/components/schemas/ike-gateways' + responses: + '201': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/ike-gateways' + '400': + $ref: '#/components/responses/bad_request_errors_basic_with_body' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '409': + $ref: '#/components/responses/conflict_errors' + default: + $ref: '#/components/responses/default_errors' + '/ike-gateways/{id}': + get: + tags: + - IKE Gateways + summary: Get an IKE gateway + description: | + Get an existing IKE gateway. + operationId: GetIKEGatewaysByID + parameters: + - $ref: '#/components/parameters/uuid' + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/ike-gateways' + '400': + $ref: '#/components/responses/bad_request_errors_basic' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '404': + $ref: '#/components/responses/not_found' + default: + $ref: '#/components/responses/default_errors' + put: + tags: + - IKE Gateways + summary: Update an IKE gateway + description: | + Update an IKE gateway. + operationId: UpdateIKEGatewaysByID + parameters: + - $ref: '#/components/parameters/uuid' + requestBody: + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/ike-gateways' + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/ike-gateways' + '400': + $ref: '#/components/responses/bad_request_errors_basic_with_body' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '404': + $ref: '#/components/responses/not_found' + '409': + $ref: '#/components/responses/conflict_errors' + default: + $ref: '#/components/responses/default_errors' + delete: + tags: + - IKE Gateways + summary: Delete an IKE gateway + description: | + Delete an IKE gateway. + operationId: DeleteIKEGatewaysByID + parameters: + - $ref: '#/components/parameters/uuid' + responses: + '200': + $ref: '#/components/responses/http_ok' + '400': + $ref: '#/components/responses/bad_request_errors_basic' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '404': + $ref: '#/components/responses/not_found' + '409': + $ref: '#/components/responses/conflict_errors' + default: + $ref: '#/components/responses/default_errors' + '/ike-gateways:generate-ppk': + post: + tags: + - IKE Gateways + summary: Generate PPK Key + description: | + Generates a cryptographically strong Post-Quantum Pre-Shared Key (RFC 8784). + Returns a hex-encoded key suitable for use in IKE gateway PPK configuration. + operationId: GenerateIKEGatewayPPKKey + parameters: + - $ref: '#/components/parameters/folder' + requestBody: + description: PPK generation parameters + content: + application/json: + schema: + type: object + properties: + length: + type: integer + description: Key length in characters (max 128). Default is 32. + default: 32 + maximum: 128 + responses: + '200': + description: Successfully generated PPK key + content: + application/json: + schema: + type: object + properties: + key: + type: string + description: Hex-encoded PPK key + length: + type: integer + description: Key length in bytes + generated_at: + type: string + format: date-time + description: ISO 8601 timestamp when key was generated + '400': + $ref: '#/components/responses/bad_request_errors_basic_with_body' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + default: + $ref: '#/components/responses/default_errors' + /ipsec-crypto-profiles: + get: + tags: + - IPsec Crypto Profiles + summary: List IPsec crypto profiles + description: | + Retrieve a list of IPsec crypto profiles. + operationId: ListIPsecCryptoProfiles + parameters: + - $ref: '#/components/parameters/name' + - $ref: '#/components/parameters/folder' + - $ref: '#/components/parameters/snippet' + - $ref: '#/components/parameters/device' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/limit' + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + data: + allOf: + - type: array + items: + $ref: '#/components/schemas/ipsec-crypto-profiles' + limit: + type: integer + default: 200 + offset: + type: integer + default: 0 + total: + type: integer + '400': + $ref: '#/components/responses/bad_request_errors_basic' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '404': + $ref: '#/components/responses/not_found' + default: + $ref: '#/components/responses/default_errors' + post: + tags: + - IPsec Crypto Profiles + summary: Create an IPsec crypto profile + description: | + Create a new IPsec crypto profile. + operationId: CreateIPsecCryptoProfiles + requestBody: + description: Created + content: + application/json: + schema: + $ref: '#/components/schemas/ipsec-crypto-profiles' + responses: + '201': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/ipsec-crypto-profiles' + '400': + $ref: '#/components/responses/bad_request_errors_basic_with_body' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '409': + $ref: '#/components/responses/conflict_errors' + default: + $ref: '#/components/responses/default_errors' + '/ipsec-crypto-profiles/{id}': + get: + tags: + - IPsec Crypto Profiles + summary: Get an IPsec crypto profile + description: | + Get an existing IPsec crypto profile. + operationId: GetIPsecCryptoProfilesByID + parameters: + - $ref: '#/components/parameters/uuid' + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/ipsec-crypto-profiles' + '400': + $ref: '#/components/responses/bad_request_errors_basic' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '404': + $ref: '#/components/responses/not_found' + default: + $ref: '#/components/responses/default_errors' + put: + tags: + - IPsec Crypto Profiles + summary: Update an IPsec crypto profile + description: | + Update an IPsec crypto profile. + operationId: UpdateIPsecCryptoProfilesByID + parameters: + - $ref: '#/components/parameters/uuid' + requestBody: + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/ipsec-crypto-profiles' + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/ipsec-crypto-profiles' + '400': + $ref: '#/components/responses/bad_request_errors_basic_with_body' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '404': + $ref: '#/components/responses/not_found' + '409': + $ref: '#/components/responses/conflict_errors' + default: + $ref: '#/components/responses/default_errors' + delete: + tags: + - IPsec Crypto Profiles + summary: Delete an IPsec crypto profile + description: | + Delete an IPsec crypto profile. + operationId: DeleteIPsecCryptoProfilesByID + parameters: + - $ref: '#/components/parameters/uuid' + responses: + '200': + $ref: '#/components/responses/http_ok' + '400': + $ref: '#/components/responses/bad_request_errors_basic' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '404': + $ref: '#/components/responses/not_found' + '409': + $ref: '#/components/responses/conflict_errors' + default: + $ref: '#/components/responses/default_errors' + /ipsec-tunnels: + get: + tags: + - IPsec Tunnels + summary: List IPsec tunnels + description: | + Retrieve a list of IPsec tunnels. + operationId: ListIPsecTunnels + parameters: + - $ref: '#/components/parameters/name' + - $ref: '#/components/parameters/folder' + - $ref: '#/components/parameters/snippet' + - $ref: '#/components/parameters/device' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/limit' + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + data: + allOf: + - type: array + items: + $ref: '#/components/schemas/ipsec-tunnels' + limit: + type: integer + default: 200 + offset: + type: integer + default: 0 + total: + type: integer + '400': + $ref: '#/components/responses/bad_request_errors_basic' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '404': + $ref: '#/components/responses/not_found' + default: + $ref: '#/components/responses/default_errors' + post: + tags: + - IPsec Tunnels + summary: Create an IPsec tunnel + description: | + Create a new IPsec tunnel. + operationId: CreateIPsecTunnels + requestBody: + description: Created + content: + application/json: + schema: + $ref: '#/components/schemas/ipsec-tunnels' + responses: + '201': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/ipsec-tunnels' + '400': + $ref: '#/components/responses/bad_request_errors_basic_with_body' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '409': + $ref: '#/components/responses/conflict_errors' + default: + $ref: '#/components/responses/default_errors' + '/ipsec-tunnels/{id}': + get: + tags: + - IPsec Tunnels + summary: Get an IPsec tunnel + description: | + Get an existing IPsec tunnel. + operationId: GetIPsecTunnelsByID + parameters: + - $ref: '#/components/parameters/uuid' + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/ipsec-tunnels' + '400': + $ref: '#/components/responses/bad_request_errors_basic' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '404': + $ref: '#/components/responses/not_found' + default: + $ref: '#/components/responses/default_errors' + put: + tags: + - IPsec Tunnels + summary: Update an IPsec tunnel + description: | + Update an existing IPsec tunnel. + operationId: UpdateIPsecTunnelsByID + parameters: + - $ref: '#/components/parameters/uuid' + requestBody: + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/ipsec-tunnels' + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/ipsec-tunnels' + '400': + $ref: '#/components/responses/bad_request_errors_basic_with_body' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '404': + $ref: '#/components/responses/not_found' + '409': + $ref: '#/components/responses/conflict_errors' + default: + $ref: '#/components/responses/default_errors' + delete: + tags: + - IPsec Tunnels + summary: Delete an IPsec tunnel + description: | + Delete an IPsec tunnel. + operationId: DeleteIPsecTunnelsByID + parameters: + - $ref: '#/components/parameters/uuid' + responses: + '200': + $ref: '#/components/responses/http_ok' + '400': + $ref: '#/components/responses/bad_request_errors_basic' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '404': + $ref: '#/components/responses/not_found' + '409': + $ref: '#/components/responses/conflict_errors' + default: + $ref: '#/components/responses/default_errors' + /qos-policy-rules: + get: + tags: + - QoS Rules + summary: List QoS policy rules + description: | + Retrieve a list of QoS policy rules. + operationId: ListQoSPolicyRules + parameters: + - $ref: '#/components/parameters/name' + - $ref: '#/components/parameters/position' + - $ref: '#/components/parameters/folder' + - $ref: '#/components/parameters/snippet' + - $ref: '#/components/parameters/device' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/limit' + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + data: + allOf: + - type: array + items: + $ref: '#/components/schemas/qos-policy-rules' + limit: + type: integer + default: 200 + offset: + type: integer + default: 0 + total: + type: integer + '400': + $ref: '#/components/responses/bad_request_errors_basic' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '404': + $ref: '#/components/responses/not_found' + default: + $ref: '#/components/responses/default_errors' + post: + tags: + - QoS Rules + summary: Create a QoS policy rule + description: | + Create a new QoS policy rule. + operationId: CreateQoSPolicyRules + parameters: + - $ref: '#/components/parameters/position' + requestBody: + description: Created + content: + application/json: + schema: + $ref: '#/components/schemas/qos-policy-rules' + responses: + '201': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/qos-policy-rules' + '400': + $ref: '#/components/responses/bad_request_errors_basic_with_body' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '409': + $ref: '#/components/responses/conflict_errors' + default: + $ref: '#/components/responses/default_errors' + '/qos-policy-rules/{id}': + get: + tags: + - QoS Rules + summary: Get a QoS policy rule + description: | + Get an existing QoS policy rule. + operationId: GetQoSPolicyRulesByID + parameters: + - $ref: '#/components/parameters/uuid' + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/qos-policy-rules' + '400': + $ref: '#/components/responses/bad_request_errors_basic' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '404': + $ref: '#/components/responses/not_found' + default: + $ref: '#/components/responses/default_errors' + put: + tags: + - QoS Rules + summary: Update a QoS policy rule + description: | + Update an existing QoS policy rule. + operationId: UpdateQoSPolicyRulesByID + parameters: + - $ref: '#/components/parameters/uuid' + requestBody: + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/qos-policy-rules' + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/qos-policy-rules' + '400': + $ref: '#/components/responses/bad_request_errors_basic_with_body' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '404': + $ref: '#/components/responses/not_found' + '409': + $ref: '#/components/responses/conflict_errors' + default: + $ref: '#/components/responses/default_errors' + delete: + tags: + - QoS Rules + summary: Delete a QoS policy rule + description: | + Delete a Qos policy rule. + operationId: DeleteQoSPolicyRulesByID + parameters: + - $ref: '#/components/parameters/uuid' + responses: + '200': + $ref: '#/components/responses/http_ok' + '400': + $ref: '#/components/responses/bad_request_errors_basic' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '404': + $ref: '#/components/responses/not_found' + '409': + $ref: '#/components/responses/conflict_errors' + default: + $ref: '#/components/responses/default_errors' + '/qos-policy-rules/{id}:move': + post: + tags: + - QoS Rules + summary: Move a QoS policy rule + description: | + Move a QoS policy rule. + operationId: MoveQoSPolicyRulesByID + parameters: + - $ref: '#/components/parameters/uuid' + requestBody: + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/rule-based-move' + responses: + '200': + $ref: '#/components/responses/http_ok' + '400': + $ref: '#/components/responses/bad_request_errors_basic_with_body' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '409': + $ref: '#/components/responses/conflict_errors' + default: + $ref: '#/components/responses/default_errors' + /qos-profiles: + get: + tags: + - QoS Profiles + summary: List QoS profiles + description: | + Retrieve a list of QoS profiles. + operationId: ListQoSProfiles + parameters: + - $ref: '#/components/parameters/name' + - $ref: '#/components/parameters/folder' + - $ref: '#/components/parameters/snippet' + - $ref: '#/components/parameters/device' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + data: + allOf: + - type: array + items: + $ref: '#/components/schemas/qos-profiles' + limit: + type: integer + default: 200 + offset: + type: integer + default: 0 + total: + type: integer + '400': + $ref: '#/components/responses/bad_request_errors_basic' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '404': + $ref: '#/components/responses/not_found' + default: + $ref: '#/components/responses/default_errors' + post: + tags: + - QoS Profiles + summary: Create a QoS profile + description: | + Create a new QoS profile. + operationId: CreateQoSProfiles + requestBody: + description: Created + content: + application/json: + schema: + $ref: '#/components/schemas/qos-profiles' + responses: + '201': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/qos-profiles' + '400': + $ref: '#/components/responses/bad_request_errors_basic_with_body' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '409': + $ref: '#/components/responses/conflict_errors' + default: + $ref: '#/components/responses/default_errors' + '/qos-profiles/{id}': + get: + tags: + - QoS Profiles + summary: Get a QoS profile + description: | + Get an existing QoS profile. + operationId: GetQoSProfilesByID + parameters: + - $ref: '#/components/parameters/uuid' + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/qos-profiles' + '400': + $ref: '#/components/responses/bad_request_errors_basic' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '404': + $ref: '#/components/responses/not_found' + default: + $ref: '#/components/responses/default_errors' + put: + tags: + - QoS Profiles + summary: Update a QoS profile + description: | + Update an existing QoS profile. + operationId: UpdateQoSProfilesByID + parameters: + - $ref: '#/components/parameters/uuid' + requestBody: + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/qos-profiles' + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/qos-profiles' + '400': + $ref: '#/components/responses/bad_request_errors_basic_with_body' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '404': + $ref: '#/components/responses/not_found' + '409': + $ref: '#/components/responses/conflict_errors' + default: + $ref: '#/components/responses/default_errors' + delete: + tags: + - QoS Profiles + summary: Delete a QoS profile + description: | + Delete a QoS profile. + operationId: DeleteQoSProfilesByID + parameters: + - $ref: '#/components/parameters/uuid' + responses: + '200': + $ref: '#/components/responses/http_ok' + '400': + $ref: '#/components/responses/bad_request_errors_basic' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '404': + $ref: '#/components/responses/not_found' + '409': + $ref: '#/components/responses/conflict_errors' + default: + $ref: '#/components/responses/default_errors' + /zones: + get: + tags: + - Security Zones + summary: List security zones + description: | + Retrieve a list of security zones. + operationId: ListZones + parameters: + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/name' + - $ref: '#/components/parameters/folder' + - $ref: '#/components/parameters/snippet' + - $ref: '#/components/parameters/device' + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + data: + allOf: + - type: array + items: + $ref: '#/components/schemas/zones' + limit: + type: integer + default: 200 + offset: + type: integer + default: 0 + total: + type: integer + '400': + $ref: '#/components/responses/bad_request_errors_basic' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '404': + $ref: '#/components/responses/not_found' + default: + $ref: '#/components/responses/default_errors' + post: + tags: + - Security Zones + summary: Create a security zone + description: | + Create a new security zone. + operationId: CreateZones + requestBody: + description: Created + content: + application/json: + schema: + $ref: '#/components/schemas/zones' + responses: + '201': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/zones' + '400': + $ref: '#/components/responses/bad_request_errors_basic_with_body' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '409': + $ref: '#/components/responses/conflict_errors' + default: + $ref: '#/components/responses/default_errors' + '/zones/{id}': + get: + tags: + - Security Zones + summary: Get a security zone + description: | + Get an existing security zone. + operationId: GetZonesByID + parameters: + - $ref: '#/components/parameters/uuid' + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/zones' + '400': + $ref: '#/components/responses/bad_request_errors_basic' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '404': + $ref: '#/components/responses/not_found' + default: + $ref: '#/components/responses/default_errors' + put: + tags: + - Security Zones + summary: Update a security zone + description: | + Update an existing security zone. + operationId: UpdateZonesByID + parameters: + - $ref: '#/components/parameters/uuid' + requestBody: + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/zones' + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/zones' + '400': + $ref: '#/components/responses/bad_request_errors_basic_with_body' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '404': + $ref: '#/components/responses/not_found' + '409': + $ref: '#/components/responses/conflict_errors' + default: + $ref: '#/components/responses/default_errors' + delete: + tags: + - Security Zones + summary: Delete a security zone + description: | + Delete a security zone. + operationId: DeleteZonesByID + parameters: + - $ref: '#/components/parameters/uuid' + responses: + '200': + $ref: '#/components/responses/http_ok' + '400': + $ref: '#/components/responses/bad_request_errors_basic' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '404': + $ref: '#/components/responses/not_found' + '409': + $ref: '#/components/responses/conflict_errors' + default: + $ref: '#/components/responses/default_errors' + /zone-protection-profiles: + get: + tags: + - Zone Protection Profiles + summary: List zone protection profiles + description: | + Retrieve a list of zone protection profiles. + operationId: ListZoneProtectionProfiles + parameters: + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/name' + - $ref: '#/components/parameters/folder' + - $ref: '#/components/parameters/snippet' + - $ref: '#/components/parameters/device' + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + data: + allOf: + - type: array + items: + $ref: '#/components/schemas/zone-protection-profiles' + limit: + type: integer + default: 200 + offset: + type: integer + default: 0 + total: + type: integer + '400': + $ref: '#/components/responses/bad_request_errors_basic' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '404': + $ref: '#/components/responses/not_found' + default: + $ref: '#/components/responses/default_errors' + post: + tags: + - Zone Protection Profiles + summary: Create a zone protection profile + description: | + Create a new zone protection profile. + operationId: CreateZoneProtectionProfiles + requestBody: + description: Created + content: + application/json: + schema: + $ref: '#/components/schemas/zone-protection-profiles' + responses: + '201': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/zone-protection-profiles' + '400': + $ref: '#/components/responses/bad_request_errors_basic_with_body' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '409': + $ref: '#/components/responses/conflict_errors' + default: + $ref: '#/components/responses/default_errors' + '/zone-protection-profiles/{id}': + get: + tags: + - Zone Protection Profiles + summary: Get a zone protection profile + description: | + Get an existing zone protection profile. + operationId: GetZoneProtectionProfilesByID + parameters: + - $ref: '#/components/parameters/uuid' + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/zone-protection-profiles' + '400': + $ref: '#/components/responses/bad_request_errors_basic' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '404': + $ref: '#/components/responses/not_found' + default: + $ref: '#/components/responses/default_errors' + put: + tags: + - Zone Protection Profiles + summary: Update a zone protection profile + description: | + Update an existing zone protection profile. + operationId: UpdateZoneProtectionProfilesByID + parameters: + - $ref: '#/components/parameters/uuid' + requestBody: + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/zone-protection-profiles' + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/zone-protection-profiles' + '400': + $ref: '#/components/responses/bad_request_errors_basic_with_body' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '404': + $ref: '#/components/responses/not_found' + '409': + $ref: '#/components/responses/conflict_errors' + default: + $ref: '#/components/responses/default_errors' + delete: + tags: + - Zone Protection Profiles + summary: Delete a zone protection profile + description: | + Delete a zone protection profile. + operationId: DeleteZoneProtectionProfilesByID + parameters: + - $ref: '#/components/parameters/uuid' + responses: + '200': + $ref: '#/components/responses/http_ok' + '400': + $ref: '#/components/responses/bad_request_errors_basic' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '404': + $ref: '#/components/responses/not_found' + '409': + $ref: '#/components/responses/conflict_errors' + default: + $ref: '#/components/responses/default_errors' + /nat-rules: + get: + tags: + - NAT Rules + summary: List NAT rules + description: | + Retrieve a list of NAT rules. + operationId: ListNatRules + parameters: + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/name' + - $ref: '#/components/parameters/folder' + - $ref: '#/components/parameters/snippet' + - $ref: '#/components/parameters/device' + - $ref: '#/components/parameters/position' + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + data: + allOf: + - type: array + items: + $ref: '#/components/schemas/nat-rules' + limit: + type: integer + default: 200 + offset: + type: integer + default: 0 + total: + type: integer + '400': + $ref: '#/components/responses/bad_request_errors_basic' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '404': + $ref: '#/components/responses/not_found' + default: + $ref: '#/components/responses/default_errors' + post: + tags: + - NAT Rules + summary: Create a NAT rule + description: | + Create a new NAT rule. + operationId: CreateNatRules + parameters: + - $ref: '#/components/parameters/position' + requestBody: + description: Created + content: + application/json: + schema: + $ref: '#/components/schemas/nat-rules' + responses: + '201': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/nat-rules' + '400': + $ref: '#/components/responses/bad_request_errors_basic_with_body' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '409': + $ref: '#/components/responses/conflict_errors' + default: + $ref: '#/components/responses/default_errors' + '/nat-rules/{id}': + get: + tags: + - NAT Rules + summary: Get a NAT rule + description: | + Get an existing NAT rule. + operationId: GetNatRulesByID + parameters: + - $ref: '#/components/parameters/uuid' + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/nat-rules' + '400': + $ref: '#/components/responses/bad_request_errors_basic' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '404': + $ref: '#/components/responses/not_found' + default: + $ref: '#/components/responses/default_errors' + put: + tags: + - NAT Rules + summary: Update a NAT rule + description: | + Update an existing NAT rule. + operationId: UpdateNatRulesByID + parameters: + - $ref: '#/components/parameters/uuid' + - $ref: '#/components/parameters/position' + requestBody: + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/nat-rules' + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/nat-rules' + '400': + $ref: '#/components/responses/bad_request_errors_basic_with_body' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '404': + $ref: '#/components/responses/not_found' + '409': + $ref: '#/components/responses/conflict_errors' + default: + $ref: '#/components/responses/default_errors' + delete: + tags: + - NAT Rules + summary: Delete a NAT rule + description: | + Delete a NAT rule. + operationId: DeleteNatRulesByID + parameters: + - $ref: '#/components/parameters/uuid' + responses: + '200': + $ref: '#/components/responses/http_ok' + '400': + $ref: '#/components/responses/bad_request_errors_basic' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '404': + $ref: '#/components/responses/not_found' + '409': + $ref: '#/components/responses/conflict_errors' + default: + $ref: '#/components/responses/default_errors' + /aggregate-interfaces: + get: + tags: + - Aggregate Interfaces + summary: List Aggregate Interfaces + description: | + Retrieve a list of Aggregate Interfaces. + operationId: ListAggregateInterfaces + parameters: + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/name' + - $ref: '#/components/parameters/folder' + - $ref: '#/components/parameters/snippet' + - $ref: '#/components/parameters/device' + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + data: + allOf: + - type: array + items: + $ref: '#/components/schemas/aggregate-interfaces' + limit: + type: integer + default: 200 + offset: + type: integer + default: 0 + total: + type: integer + '400': + $ref: '#/components/responses/bad_request_errors_basic' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '404': + $ref: '#/components/responses/not_found' + default: + $ref: '#/components/responses/default_errors' + post: + tags: + - Aggregate Interfaces + summary: Create an Aggregate Interface + description: | + Create a new Aggregate Interface. + operationId: CreateAggregateInterfaces + requestBody: + description: Created + content: + application/json: + schema: + $ref: '#/components/schemas/aggregate-interfaces' + responses: + '201': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/aggregate-interfaces' + '400': + $ref: '#/components/responses/bad_request_errors_basic_with_body' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '409': + $ref: '#/components/responses/conflict_errors' + default: + $ref: '#/components/responses/default_errors' + '/aggregate-interfaces/{id}': + get: + tags: + - Aggregate Interfaces + summary: Get an Aggregate Interface + description: | + Get an existing Aggregate Interface. + operationId: GetAggregateInterfacesByID + parameters: + - $ref: '#/components/parameters/uuid' + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/aggregate-interfaces' + '400': + $ref: '#/components/responses/bad_request_errors_basic' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '404': + $ref: '#/components/responses/not_found' + default: + $ref: '#/components/responses/default_errors' + put: + tags: + - Aggregate Interfaces + summary: Update an Aggregate Interface + description: | + Update an existing Aggregate Interface. + operationId: UpdateAggregateInterfacesByID + parameters: + - $ref: '#/components/parameters/uuid' + requestBody: + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/aggregate-interfaces' + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/aggregate-interfaces' + '400': + $ref: '#/components/responses/bad_request_errors_basic_with_body' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '404': + $ref: '#/components/responses/not_found' + '409': + $ref: '#/components/responses/conflict_errors' + default: + $ref: '#/components/responses/default_errors' + delete: + tags: + - Aggregate Interfaces + summary: Delete an Aggregate Interface + description: | + Delete an Aggregate Interface. + operationId: DeleteAggregateInterfacesByID + parameters: + - $ref: '#/components/parameters/uuid' + responses: + '200': + $ref: '#/components/responses/http_ok' + '400': + $ref: '#/components/responses/bad_request_errors_basic' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '404': + $ref: '#/components/responses/not_found' + '409': + $ref: '#/components/responses/conflict_errors' + default: + $ref: '#/components/responses/default_errors' + /ethernet-interfaces: + get: + tags: + - Ethernet Interfaces + summary: List ethernet interfaces + description: | + Retrieve a list of ethernet interfaces. + operationId: ListEthernetInterfaces + parameters: + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/name' + - $ref: '#/components/parameters/folder' + - $ref: '#/components/parameters/snippet' + - $ref: '#/components/parameters/device' + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + data: + allOf: + - type: array + items: + $ref: '#/components/schemas/ethernet-interfaces' + limit: + type: integer + default: 200 + offset: + type: integer + default: 0 + total: + type: integer + '400': + $ref: '#/components/responses/bad_request_errors_basic' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '404': + $ref: '#/components/responses/not_found' + default: + $ref: '#/components/responses/default_errors' + post: + tags: + - Ethernet Interfaces + summary: Create an ethernet interface + description: | + Create a new ethernet interface. + operationId: CreateEthernetInterfaces + requestBody: + description: Created + content: + application/json: + schema: + $ref: '#/components/schemas/ethernet-interfaces' + responses: + '201': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/ethernet-interfaces' + '400': + $ref: '#/components/responses/bad_request_errors_basic_with_body' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '409': + $ref: '#/components/responses/conflict_errors' + default: + $ref: '#/components/responses/default_errors' + '/ethernet-interfaces/{id}': + get: + tags: + - Ethernet Interfaces + summary: Get an ethernet interface + description: | + Get an existing ethernet interface. + operationId: GetEthernetInterfacesByID + parameters: + - $ref: '#/components/parameters/uuid' + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/ethernet-interfaces' + '400': + $ref: '#/components/responses/bad_request_errors_basic' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '404': + $ref: '#/components/responses/not_found' + default: + $ref: '#/components/responses/default_errors' + put: + tags: + - Ethernet Interfaces + summary: Update an ethernet interface + description: | + Update an existing ethernet interface. + operationId: UpdateEthernetInterfacesByID + parameters: + - $ref: '#/components/parameters/uuid' + requestBody: + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/ethernet-interfaces' + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/ethernet-interfaces' + '400': + $ref: '#/components/responses/bad_request_errors_basic_with_body' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '404': + $ref: '#/components/responses/not_found' + '409': + $ref: '#/components/responses/conflict_errors' + default: + $ref: '#/components/responses/default_errors' + delete: + tags: + - Ethernet Interfaces + summary: Delete an ethernet interface + description: | + Delete an ethernet interface. + operationId: DeleteEthernetInterfacesByID + parameters: + - $ref: '#/components/parameters/uuid' + responses: + '200': + $ref: '#/components/responses/http_ok' + '400': + $ref: '#/components/responses/bad_request_errors_basic' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '404': + $ref: '#/components/responses/not_found' + '409': + $ref: '#/components/responses/conflict_errors' + default: + $ref: '#/components/responses/default_errors' + /layer2-subinterfaces: + get: + tags: + - Layer 2 Subinterfaces + summary: List layer 2 subinterfaces + description: | + Retrieve a list of layer 2 subinterfaces. + operationId: ListLayer2Subinterfaces + parameters: + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/name' + - $ref: '#/components/parameters/folder' + - $ref: '#/components/parameters/snippet' + - $ref: '#/components/parameters/device' + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + data: + allOf: + - type: array + items: + $ref: '#/components/schemas/layer2-subinterfaces' + limit: + type: integer + default: 200 + offset: + type: integer + default: 0 + total: + type: integer + '400': + $ref: '#/components/responses/bad_request_errors_basic' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '404': + $ref: '#/components/responses/not_found' + default: + $ref: '#/components/responses/default_errors' + post: + tags: + - Layer 2 Subinterfaces + summary: Create a layer 2 subinterface + description: | + Create a new layer 2 subinterface. + operationId: CreateLayer2Subinterfaces + requestBody: + description: Created + content: + application/json: + schema: + $ref: '#/components/schemas/layer2-subinterfaces' + responses: + '201': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/layer2-subinterfaces' + '400': + $ref: '#/components/responses/bad_request_errors_basic_with_body' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '409': + $ref: '#/components/responses/conflict_errors' + default: + $ref: '#/components/responses/default_errors' + '/layer2-subinterfaces/{id}': + get: + tags: + - Layer 2 Subinterfaces + summary: Get a layer 2 subinterface + description: | + Get an existing layer 2 subinterface. + operationId: GetLayer2SubinterfacesByID + parameters: + - $ref: '#/components/parameters/uuid' + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/layer2-subinterfaces' + '400': + $ref: '#/components/responses/bad_request_errors_basic' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '404': + $ref: '#/components/responses/not_found' + default: + $ref: '#/components/responses/default_errors' + put: + tags: + - Layer 2 Subinterfaces + summary: Update a layer 2 subinterface + description: | + Update an existing layer 2 subinterface. + operationId: UpdateLayer2SubinterfacesByID + parameters: + - $ref: '#/components/parameters/uuid' + requestBody: + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/layer2-subinterfaces' + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/layer2-subinterfaces' + '400': + $ref: '#/components/responses/bad_request_errors_basic_with_body' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '404': + $ref: '#/components/responses/not_found' + '409': + $ref: '#/components/responses/conflict_errors' + default: + $ref: '#/components/responses/default_errors' + delete: + tags: + - Layer 2 Subinterfaces + summary: Delete a layer 2 subinterface + description: | + Delete a layer 2 subinterface. + operationId: DeleteLayer2SubinterfacesByID + parameters: + - $ref: '#/components/parameters/uuid' + responses: + '200': + $ref: '#/components/responses/http_ok' + '400': + $ref: '#/components/responses/bad_request_errors_basic' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '404': + $ref: '#/components/responses/not_found' + '409': + $ref: '#/components/responses/conflict_errors' + default: + $ref: '#/components/responses/default_errors' + /layer3-subinterfaces: + get: + tags: + - Layer 3 Subinterfaces + summary: List layer 3 subinterfaces + description: | + Retrieve a list of layer 3 subinterfaces. + operationId: ListLayer3Subinterfaces + parameters: + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/name' + - $ref: '#/components/parameters/folder' + - $ref: '#/components/parameters/snippet' + - $ref: '#/components/parameters/device' + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + data: + allOf: + - type: array + items: + $ref: '#/components/schemas/layer3-subinterfaces' + limit: + type: integer + default: 200 + offset: + type: integer + default: 0 + total: + type: integer + '400': + $ref: '#/components/responses/bad_request_errors_basic' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '404': + $ref: '#/components/responses/not_found' + default: + $ref: '#/components/responses/default_errors' + post: + tags: + - Layer 3 Subinterfaces + summary: Create a layer 3 subinterface + description: | + Create a new layer 3 subinterface. + operationId: CreateLayer3Subinterfaces + requestBody: + description: Created + content: + application/json: + schema: + $ref: '#/components/schemas/layer3-subinterfaces' + responses: + '201': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/layer3-subinterfaces' + '400': + $ref: '#/components/responses/bad_request_errors_basic_with_body' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '409': + $ref: '#/components/responses/conflict_errors' + default: + $ref: '#/components/responses/default_errors' + '/layer3-subinterfaces/{id}': + get: + tags: + - Layer 3 Subinterfaces + summary: Get a layer 3 subinterface + description: | + Get an existing layer 3 subinterface. + operationId: GetLayer3SubinterfacesByID + parameters: + - $ref: '#/components/parameters/uuid' + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/layer3-subinterfaces' + '400': + $ref: '#/components/responses/bad_request_errors_basic' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '404': + $ref: '#/components/responses/not_found' + default: + $ref: '#/components/responses/default_errors' + put: + tags: + - Layer 3 Subinterfaces + summary: Update a layer 3 subinterface + description: | + Update an existing layer 3 subinterface. + operationId: UpdateLayer3SubinterfacesByID + parameters: + - $ref: '#/components/parameters/uuid' + requestBody: + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/layer3-subinterfaces' + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/layer3-subinterfaces' + '400': + $ref: '#/components/responses/bad_request_errors_basic_with_body' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '404': + $ref: '#/components/responses/not_found' + '409': + $ref: '#/components/responses/conflict_errors' + default: + $ref: '#/components/responses/default_errors' + delete: + tags: + - Layer 3 Subinterfaces + summary: Delete a layer 3 subinterface + description: | + Delete a layer 3 subinterface. + operationId: DeleteLayer3SubinterfacesByID + parameters: + - $ref: '#/components/parameters/uuid' + responses: + '200': + $ref: '#/components/responses/http_ok' + '400': + $ref: '#/components/responses/bad_request_errors_basic' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '404': + $ref: '#/components/responses/not_found' + '409': + $ref: '#/components/responses/conflict_errors' + default: + $ref: '#/components/responses/default_errors' + /loopback-interfaces: + get: + tags: + - Loopback Interfaces + summary: List loopback interfaces + description: | + Retrieve a list of loopback interfaces. + operationId: ListLoopbackInterfaces + parameters: + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/name' + - $ref: '#/components/parameters/folder' + - $ref: '#/components/parameters/snippet' + - $ref: '#/components/parameters/device' + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + data: + allOf: + - type: array + items: + $ref: '#/components/schemas/loopback-interfaces' + limit: + type: integer + default: 200 + offset: + type: integer + default: 0 + total: + type: integer + '400': + $ref: '#/components/responses/bad_request_errors_basic' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '404': + $ref: '#/components/responses/not_found' + default: + $ref: '#/components/responses/default_errors' + post: + tags: + - Loopback Interfaces + summary: Create a loopback interface + description: | + Create a new loopback interface. + operationId: CreateLoopbackInterfaces + requestBody: + description: Created + content: + application/json: + schema: + $ref: '#/components/schemas/loopback-interfaces' + responses: + '201': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/loopback-interfaces' + '400': + $ref: '#/components/responses/bad_request_errors_basic_with_body' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '409': + $ref: '#/components/responses/conflict_errors' + default: + $ref: '#/components/responses/default_errors' + '/loopback-interfaces/{id}': + get: + tags: + - Loopback Interfaces + summary: Get a loopback interface + description: | + Get an existing loopback interface. + operationId: GetLoopbackInterfacesByID + parameters: + - $ref: '#/components/parameters/uuid' + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/loopback-interfaces' + '400': + $ref: '#/components/responses/bad_request_errors_basic' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '404': + $ref: '#/components/responses/not_found' + default: + $ref: '#/components/responses/default_errors' + put: + tags: + - Loopback Interfaces + summary: Update a loopback interface + description: | + Update an existing loopback interface. + operationId: UpdateLoopbackInterfacesByID + parameters: + - $ref: '#/components/parameters/uuid' + requestBody: + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/loopback-interfaces' + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/loopback-interfaces' + '400': + $ref: '#/components/responses/bad_request_errors_basic_with_body' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '404': + $ref: '#/components/responses/not_found' + '409': + $ref: '#/components/responses/conflict_errors' + default: + $ref: '#/components/responses/default_errors' + delete: + tags: + - Loopback Interfaces + summary: Delete a loopback interface + description: | + Delete a loopback interface. + operationId: DeleteLoopbackInterfacesByID + parameters: + - $ref: '#/components/parameters/uuid' + responses: + '200': + $ref: '#/components/responses/http_ok' + '400': + $ref: '#/components/responses/bad_request_errors_basic' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '404': + $ref: '#/components/responses/not_found' + '409': + $ref: '#/components/responses/conflict_errors' + default: + $ref: '#/components/responses/default_errors' + /interface-management-profiles: + get: + tags: + - Interface Management Profiles + summary: List interface management profiles + description: | + Retrieve a list of interface management profiles. + operationId: ListInterfaceManagementProfiles + parameters: + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/name' + - $ref: '#/components/parameters/folder' + - $ref: '#/components/parameters/snippet' + - $ref: '#/components/parameters/device' + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + data: + allOf: + - type: array + items: + $ref: '#/components/schemas/interface-management-profiles' + limit: + type: integer + default: 200 + offset: + type: integer + default: 0 + total: + type: integer + '400': + $ref: '#/components/responses/bad_request_errors_basic' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '404': + $ref: '#/components/responses/not_found' + default: + $ref: '#/components/responses/default_errors' + post: + tags: + - Interface Management Profiles + summary: Create a interface management profiles + description: | + Create a new interface management profile. + operationId: CreateInterfaceManagementProfiles + requestBody: + description: Created + content: + application/json: + schema: + $ref: '#/components/schemas/interface-management-profiles' + responses: + '201': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/interface-management-profiles' + '400': + $ref: '#/components/responses/bad_request_errors_basic_with_body' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '409': + $ref: '#/components/responses/conflict_errors' + default: + $ref: '#/components/responses/default_errors' + '/interface-management-profiles/{id}': + get: + tags: + - Interface Management Profiles + summary: Get an interface management profile + description: | + Get an existing interface management profile. + operationId: GetInterfaceManagementProfilesByID + parameters: + - $ref: '#/components/parameters/uuid' + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/interface-management-profiles' + '400': + $ref: '#/components/responses/bad_request_errors_basic' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '404': + $ref: '#/components/responses/not_found' + default: + $ref: '#/components/responses/default_errors' + put: + tags: + - Interface Management Profiles + summary: Update an interface management profile + description: | + Update an existing interface management profile. + operationId: UpdateInterfaceManagementProfilesByID + parameters: + - $ref: '#/components/parameters/uuid' + requestBody: + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/interface-management-profiles' + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/interface-management-profiles' + '400': + $ref: '#/components/responses/bad_request_errors_basic_with_body' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '404': + $ref: '#/components/responses/not_found' + '409': + $ref: '#/components/responses/conflict_errors' + default: + $ref: '#/components/responses/default_errors' + delete: + tags: + - Interface Management Profiles + summary: Delete an interface management profile + description: | + Delete an interface management profile. + operationId: DeleteInterfaceManagementProfilesByID + parameters: + - $ref: '#/components/parameters/uuid' + responses: + '200': + $ref: '#/components/responses/http_ok' + '400': + $ref: '#/components/responses/bad_request_errors_basic' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '404': + $ref: '#/components/responses/not_found' + '409': + $ref: '#/components/responses/conflict_errors' + default: + $ref: '#/components/responses/default_errors' + /tunnel-interfaces: + get: + tags: + - Tunnel Interfaces + summary: List tunnel interfaces + description: | + Retrieve a list of tunnel interfaces. + operationId: ListTunnelInterfaces + parameters: + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/name' + - $ref: '#/components/parameters/folder' + - $ref: '#/components/parameters/snippet' + - $ref: '#/components/parameters/device' + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + data: + allOf: + - type: array + items: + $ref: '#/components/schemas/tunnel-interfaces' + limit: + type: integer + default: 200 + offset: + type: integer + default: 0 + total: + type: integer + '400': + $ref: '#/components/responses/bad_request_errors_basic' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '404': + $ref: '#/components/responses/not_found' + default: + $ref: '#/components/responses/default_errors' + post: + tags: + - Tunnel Interfaces + summary: Create a tunnel interface + description: | + Create a new tunnel interface. + operationId: CreateTunnelInterfaces + requestBody: + description: Created + content: + application/json: + schema: + $ref: '#/components/schemas/tunnel-interfaces' + responses: + '201': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/tunnel-interfaces' + '400': + $ref: '#/components/responses/bad_request_errors_basic_with_body' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '409': + $ref: '#/components/responses/conflict_errors' + default: + $ref: '#/components/responses/default_errors' + '/tunnel-interfaces/{id}': + get: + tags: + - Tunnel Interfaces + summary: Get a tunnel interface + description: | + Get an existing tunnel interface. + operationId: GetTunnelInterfacesByID + parameters: + - $ref: '#/components/parameters/uuid' + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/tunnel-interfaces' + '400': + $ref: '#/components/responses/bad_request_errors_basic' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '404': + $ref: '#/components/responses/not_found' + default: + $ref: '#/components/responses/default_errors' + put: + tags: + - Tunnel Interfaces + summary: Update a tunnel interface + description: | + Update an existing tunnel interface. + operationId: UpdateTunnelInterfacesByID + parameters: + - $ref: '#/components/parameters/uuid' + requestBody: + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/tunnel-interfaces' + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/tunnel-interfaces' + '400': + $ref: '#/components/responses/bad_request_errors_basic_with_body' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '404': + $ref: '#/components/responses/not_found' + '409': + $ref: '#/components/responses/conflict_errors' + default: + $ref: '#/components/responses/default_errors' + delete: + tags: + - Tunnel Interfaces + summary: Delete a tunnel interface + description: | + Delete a tunnel interface. + operationId: DeleteTunnelInterfacesByID + parameters: + - $ref: '#/components/parameters/uuid' + responses: + '200': + $ref: '#/components/responses/http_ok' + '400': + $ref: '#/components/responses/bad_request_errors_basic' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '404': + $ref: '#/components/responses/not_found' + '409': + $ref: '#/components/responses/conflict_errors' + default: + $ref: '#/components/responses/default_errors' + /vlan-interfaces: + get: + tags: + - VLAN Interfaces + summary: List VLAN interfaces + description: | + Retrieve a list of VLAN interfaces. + operationId: ListVLANInterfaces + parameters: + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/name' + - $ref: '#/components/parameters/folder' + - $ref: '#/components/parameters/snippet' + - $ref: '#/components/parameters/device' + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + data: + allOf: + - type: array + items: + $ref: '#/components/schemas/vlan-interfaces' + limit: + type: integer + default: 200 + offset: + type: integer + default: 0 + total: + type: integer + '400': + $ref: '#/components/responses/bad_request_errors_basic' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '404': + $ref: '#/components/responses/not_found' + default: + $ref: '#/components/responses/default_errors' + post: + tags: + - VLAN Interfaces + summary: Create a VLAN interface + description: | + Create a new VLAN interface. + operationId: CreateVLANInterfaces + requestBody: + description: Created + content: + application/json: + schema: + $ref: '#/components/schemas/vlan-interfaces' + responses: + '201': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/vlan-interfaces' + '400': + $ref: '#/components/responses/bad_request_errors_basic_with_body' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '409': + $ref: '#/components/responses/conflict_errors' + default: + $ref: '#/components/responses/default_errors' + '/vlan-interfaces/{id}': + get: + tags: + - VLAN Interfaces + summary: Get a VLAN interface + description: | + Get an existing VLAN interface. + operationId: GetVLANInterfacesByID + parameters: + - $ref: '#/components/parameters/uuid' + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/vlan-interfaces' + '400': + $ref: '#/components/responses/bad_request_errors_basic' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '404': + $ref: '#/components/responses/not_found' + default: + $ref: '#/components/responses/default_errors' + put: + tags: + - VLAN Interfaces + summary: Update a VLAN interface + description: | + Update an existing VLAN interface. + operationId: UpdateVLANlInterfacesByID + parameters: + - $ref: '#/components/parameters/uuid' + requestBody: + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/vlan-interfaces' + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/vlan-interfaces' + '400': + $ref: '#/components/responses/bad_request_errors_basic_with_body' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '404': + $ref: '#/components/responses/not_found' + '409': + $ref: '#/components/responses/conflict_errors' + default: + $ref: '#/components/responses/default_errors' + delete: + tags: + - VLAN Interfaces + summary: Delete a VLAN interface + description: | + Delete a VLAN interface. + operationId: DeleteVLANInterfacesByID + parameters: + - $ref: '#/components/parameters/uuid' + responses: + '200': + $ref: '#/components/responses/http_ok' + '400': + $ref: '#/components/responses/bad_request_errors_basic' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '404': + $ref: '#/components/responses/not_found' + '409': + $ref: '#/components/responses/conflict_errors' + default: + $ref: '#/components/responses/default_errors' + /bgp-address-family-profiles: + get: + tags: + - BGP Address Family Profiles + summary: List BGP address family profiles + description: | + Retrieve a list of BGP address family profiles. + operationId: ListBGPAddressFamilyProfiles + parameters: + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/name' + - $ref: '#/components/parameters/folder' + - $ref: '#/components/parameters/snippet' + - $ref: '#/components/parameters/device' + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + data: + allOf: + - type: array + items: + $ref: '#/components/schemas/bgp-address-family-profiles' + limit: + type: integer + default: 200 + offset: + type: integer + default: 0 + total: + type: integer + '400': + $ref: '#/components/responses/bad_request_errors_basic' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '404': + $ref: '#/components/responses/not_found' + default: + $ref: '#/components/responses/default_errors' + post: + tags: + - BGP Address Family Profiles + summary: Create a BGP address family profile + description: | + Create a new BGP address family profile. + operationId: CreateBGPAddressFamilyProfiles + requestBody: + description: Created + content: + application/json: + schema: + $ref: '#/components/schemas/bgp-address-family-profiles' + responses: + '201': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/bgp-address-family-profiles' + '400': + $ref: '#/components/responses/bad_request_errors_basic_with_body' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '409': + $ref: '#/components/responses/conflict_errors' + default: + $ref: '#/components/responses/default_errors' + '/bgp-address-family-profiles/{id}': + get: + tags: + - BGP Address Family Profiles + summary: Get a BGP address family profile + description: | + Get an existing BGP address family profile. + operationId: GetBGPAddressFamilyProfilesByID + parameters: + - $ref: '#/components/parameters/uuid' + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/bgp-address-family-profiles' + '400': + $ref: '#/components/responses/bad_request_errors_basic' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '404': + $ref: '#/components/responses/not_found' + default: + $ref: '#/components/responses/default_errors' + put: + tags: + - BGP Address Family Profiles + summary: Update a BGP address family profile + description: | + Update an existing BGP address family profile. + operationId: UpdateBGPAddressFamilyProfilesByID + parameters: + - $ref: '#/components/parameters/uuid' + requestBody: + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/bgp-address-family-profiles' + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/bgp-address-family-profiles' + '400': + $ref: '#/components/responses/bad_request_errors_basic_with_body' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '404': + $ref: '#/components/responses/not_found' + '409': + $ref: '#/components/responses/conflict_errors' + default: + $ref: '#/components/responses/default_errors' + delete: + tags: + - BGP Address Family Profiles + summary: Delete a BGP address family profile + description: | + Delete a BGP address family profile. + operationId: DeleteBGPAddressFamilyProfilesByID + parameters: + - $ref: '#/components/parameters/uuid' + responses: + '200': + $ref: '#/components/responses/http_ok' + '400': + $ref: '#/components/responses/bad_request_errors_basic' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '404': + $ref: '#/components/responses/not_found' + '409': + $ref: '#/components/responses/conflict_errors' + default: + $ref: '#/components/responses/default_errors' + /bgp-auth-profiles: + get: + tags: + - BGP Authentication Profiles + summary: List BGP authentication profiles + description: | + Retrieve a list of BGP authentication profiles. + operationId: ListBGPAuthenticationProfiles + parameters: + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/name' + - $ref: '#/components/parameters/folder' + - $ref: '#/components/parameters/snippet' + - $ref: '#/components/parameters/device' + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + data: + allOf: + - type: array + items: + $ref: '#/components/schemas/bgp-auth-profiles' + limit: + type: integer + default: 200 + offset: + type: integer + default: 0 + total: + type: integer + '400': + $ref: '#/components/responses/bad_request_errors_basic' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '404': + $ref: '#/components/responses/not_found' + default: + $ref: '#/components/responses/default_errors' + post: + tags: + - BGP Authentication Profiles + summary: Create a BGP authentication profile + description: | + Create a new BGP authentication profile. + operationId: CreateBGPAuthenticationProfiles + requestBody: + description: Created + content: + application/json: + schema: + $ref: '#/components/schemas/bgp-auth-profiles' + responses: + '201': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/bgp-auth-profiles' + '400': + $ref: '#/components/responses/bad_request_errors_basic_with_body' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '409': + $ref: '#/components/responses/conflict_errors' + default: + $ref: '#/components/responses/default_errors' + '/bgp-auth-profiles/{id}': + get: + tags: + - BGP Authentication Profiles + summary: Get a BGP authentication profile + description: | + Get an existing BGP authentication profile. + operationId: GetBGPAuthenticationProfilesByID + parameters: + - $ref: '#/components/parameters/uuid' + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/bgp-auth-profiles' + '400': + $ref: '#/components/responses/bad_request_errors_basic' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '404': + $ref: '#/components/responses/not_found' + default: + $ref: '#/components/responses/default_errors' + put: + tags: + - BGP Authentication Profiles + summary: Update a BGP authentication profile + description: | + Update an existing BGP authentication profile. + operationId: UpdateBGPAuthenticationProfilesByID + parameters: + - $ref: '#/components/parameters/uuid' + requestBody: + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/bgp-auth-profiles' + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/bgp-auth-profiles' + '400': + $ref: '#/components/responses/bad_request_errors_basic_with_body' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '404': + $ref: '#/components/responses/not_found' + '409': + $ref: '#/components/responses/conflict_errors' + default: + $ref: '#/components/responses/default_errors' + delete: + tags: + - BGP Authentication Profiles + summary: Delete a BGP authentication profile + description: | + Delete a BGP authentication profile. + operationId: DeleteBGPAuthenticationProfilesByID + parameters: + - $ref: '#/components/parameters/uuid' + responses: + '200': + $ref: '#/components/responses/http_ok' + '400': + $ref: '#/components/responses/bad_request_errors_basic' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '404': + $ref: '#/components/responses/not_found' + '409': + $ref: '#/components/responses/conflict_errors' + default: + $ref: '#/components/responses/default_errors' + /bgp-filtering-profiles: + get: + tags: + - BGP Filtering Profiles + summary: List BGP filtering profiles + description: | + Retrieve a list of BGP filtering profiles. + operationId: ListBGPFilteringProfiles + parameters: + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/name' + - $ref: '#/components/parameters/folder' + - $ref: '#/components/parameters/snippet' + - $ref: '#/components/parameters/device' + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + data: + allOf: + - type: array + items: + $ref: '#/components/schemas/bgp-filtering-profiles' + limit: + type: integer + default: 200 + offset: + type: integer + default: 0 + total: + type: integer + '400': + $ref: '#/components/responses/bad_request_errors_basic' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '404': + $ref: '#/components/responses/not_found' + default: + $ref: '#/components/responses/default_errors' + post: + tags: + - BGP Filtering Profiles + summary: Create a BGP filtering profile + description: | + Create a new BGP filtering profile. + operationId: CreateBGPFilteringProfiles + requestBody: + description: Created + content: + application/json: + schema: + $ref: '#/components/schemas/bgp-filtering-profiles' + responses: + '201': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/bgp-filtering-profiles' + '400': + $ref: '#/components/responses/bad_request_errors_basic_with_body' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '409': + $ref: '#/components/responses/conflict_errors' + default: + $ref: '#/components/responses/default_errors' + '/bgp-filtering-profiles/{id}': + get: + tags: + - BGP Filtering Profiles + summary: Get a BGP filtering profile + description: | + Get an existing BGP filtering profile. + operationId: GetBGPFilteringProfilesByID + parameters: + - $ref: '#/components/parameters/uuid' + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/bgp-filtering-profiles' + '400': + $ref: '#/components/responses/bad_request_errors_basic' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '404': + $ref: '#/components/responses/not_found' + default: + $ref: '#/components/responses/default_errors' + put: + tags: + - BGP Filtering Profiles + summary: Update a BGP filtering profile + description: | + Update an existing BGP filtering profile. + operationId: UpdateBGPFilteringProfilesByID + parameters: + - $ref: '#/components/parameters/uuid' + requestBody: + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/bgp-filtering-profiles' + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/bgp-filtering-profiles' + '400': + $ref: '#/components/responses/bad_request_errors_basic_with_body' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '404': + $ref: '#/components/responses/not_found' + '409': + $ref: '#/components/responses/conflict_errors' + default: + $ref: '#/components/responses/default_errors' + delete: + tags: + - BGP Filtering Profiles + summary: Delete a BGP filtering profile + description: | + Delete a BGP filtering profile. + operationId: DeleteBGPFilteringProfilesByID + parameters: + - $ref: '#/components/parameters/uuid' + responses: + '200': + $ref: '#/components/responses/http_ok' + '400': + $ref: '#/components/responses/bad_request_errors_basic' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '404': + $ref: '#/components/responses/not_found' + '409': + $ref: '#/components/responses/conflict_errors' + default: + $ref: '#/components/responses/default_errors' + /bgp-redistribution-profiles: + get: + tags: + - BGP Redistribution Profiles + summary: List BGP redistribution profiles + description: | + Retrieve a list of BGP redistribution profiles. + operationId: ListBGPRedistributionProfiles + parameters: + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/name' + - $ref: '#/components/parameters/folder' + - $ref: '#/components/parameters/snippet' + - $ref: '#/components/parameters/device' + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + data: + allOf: + - type: array + items: + $ref: '#/components/schemas/bgp-redistribution-profiles' + limit: + type: integer + default: 200 + offset: + type: integer + default: 0 + total: + type: integer + '400': + $ref: '#/components/responses/bad_request_errors_basic' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '404': + $ref: '#/components/responses/not_found' + default: + $ref: '#/components/responses/default_errors' + post: + tags: + - BGP Redistribution Profiles + summary: Create a BGP redistribution profile + description: | + Create a new BGP redistribution profile. + operationId: CreateBGPRedistributionProfiles + requestBody: + description: Created + content: + application/json: + schema: + $ref: '#/components/schemas/bgp-redistribution-profiles' + responses: + '201': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/bgp-redistribution-profiles' + '400': + $ref: '#/components/responses/bad_request_errors_basic_with_body' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '409': + $ref: '#/components/responses/conflict_errors' + default: + $ref: '#/components/responses/default_errors' + '/bgp-redistribution-profiles/{id}': + get: + tags: + - BGP Redistribution Profiles + summary: Get a BGP redistribution profile + description: | + Get an existing BGP redistribution profile. + operationId: GetBGPRedistributionProfilesByID + parameters: + - $ref: '#/components/parameters/uuid' + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/bgp-redistribution-profiles' + '400': + $ref: '#/components/responses/bad_request_errors_basic' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '404': + $ref: '#/components/responses/not_found' + default: + $ref: '#/components/responses/default_errors' + put: + tags: + - BGP Redistribution Profiles + summary: Update a BGP redistribution profile + description: | + Update an existing BGP redistribution profile. + operationId: UpdateBGPRedistributionProfilesByID + parameters: + - $ref: '#/components/parameters/uuid' + requestBody: + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/bgp-redistribution-profiles' + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/bgp-redistribution-profiles' + '400': + $ref: '#/components/responses/bad_request_errors_basic_with_body' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '404': + $ref: '#/components/responses/not_found' + '409': + $ref: '#/components/responses/conflict_errors' + default: + $ref: '#/components/responses/default_errors' + delete: + tags: + - BGP Redistribution Profiles + summary: Delete a BGP redistribution profile + description: | + Delete a BGP redistribution profile. + operationId: DeleteBGPRedistributionProfilesByID + parameters: + - $ref: '#/components/parameters/uuid' + responses: + '200': + $ref: '#/components/responses/http_ok' + '400': + $ref: '#/components/responses/bad_request_errors_basic' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '404': + $ref: '#/components/responses/not_found' + '409': + $ref: '#/components/responses/conflict_errors' + default: + $ref: '#/components/responses/default_errors' + /bgp-route-map-redistributions: + get: + tags: + - BGP Route Map Redistributions + summary: List BGP route map redistributions + description: | + Retrieve a list of BGP route map redistributions. + operationId: ListBGPRouteMapRedistributions + parameters: + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/name' + - $ref: '#/components/parameters/folder' + - $ref: '#/components/parameters/snippet' + - $ref: '#/components/parameters/device' + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + data: + allOf: + - type: array + items: + $ref: '#/components/schemas/bgp-route-map-redistributions' + limit: + type: integer + default: 200 + offset: + type: integer + default: 0 + total: + type: integer + '400': + $ref: '#/components/responses/bad_request_errors_basic' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '404': + $ref: '#/components/responses/not_found' + default: + $ref: '#/components/responses/default_errors' + post: + tags: + - BGP Route Map Redistributions + summary: Create a BGP route map redistribution + description: | + Create a new BGP route map redistribution. + operationId: CreateBGPRouteMapRedistributions + requestBody: + description: Created + content: + application/json: + schema: + $ref: '#/components/schemas/bgp-route-map-redistributions' + responses: + '201': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/bgp-route-map-redistributions' + '400': + $ref: '#/components/responses/bad_request_errors_basic_with_body' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '409': + $ref: '#/components/responses/conflict_errors' + default: + $ref: '#/components/responses/default_errors' + '/bgp-route-map-redistributions/{id}': + get: + tags: + - BGP Route Map Redistributions + summary: Get a BGP route map redistribution + description: | + Get an existing BGP route map redistribution. + operationId: GetBGPRouteMapRedistributionsByID + parameters: + - $ref: '#/components/parameters/uuid' + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/bgp-route-map-redistributions' + '400': + $ref: '#/components/responses/bad_request_errors_basic' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '404': + $ref: '#/components/responses/not_found' + default: + $ref: '#/components/responses/default_errors' + put: + tags: + - BGP Route Map Redistributions + summary: Update a BGP route map redistribution + description: | + Update an existing BGP route map redistribution. + operationId: UpdateBGPRouteMapRedistributionsByID + parameters: + - $ref: '#/components/parameters/uuid' + requestBody: + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/bgp-route-map-redistributions' + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/bgp-route-map-redistributions' + '400': + $ref: '#/components/responses/bad_request_errors_basic_with_body' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '404': + $ref: '#/components/responses/not_found' + '409': + $ref: '#/components/responses/conflict_errors' + default: + $ref: '#/components/responses/default_errors' + delete: + tags: + - BGP Route Map Redistributions + summary: Delete a BGP route map redistribution + description: | + Delete a BGP route map redistribution. + operationId: DeleteBGPRouteMapRedistributionsByID + parameters: + - $ref: '#/components/parameters/uuid' + responses: + '200': + $ref: '#/components/responses/http_ok' + '400': + $ref: '#/components/responses/bad_request_errors_basic' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '404': + $ref: '#/components/responses/not_found' + '409': + $ref: '#/components/responses/conflict_errors' + default: + $ref: '#/components/responses/default_errors' + /bgp-route-maps: + get: + tags: + - BGP Route Maps + summary: List BGP route maps + description: | + Retrieve a list of BGP route maps. + operationId: ListBGPRouteMaps + parameters: + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/name' + - $ref: '#/components/parameters/folder' + - $ref: '#/components/parameters/snippet' + - $ref: '#/components/parameters/device' + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + data: + allOf: + - type: array + items: + $ref: '#/components/schemas/bgp-route-maps' + limit: + type: integer + default: 200 + offset: + type: integer + default: 0 + total: + type: integer + '400': + $ref: '#/components/responses/bad_request_errors_basic' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '404': + $ref: '#/components/responses/not_found' + default: + $ref: '#/components/responses/default_errors' + post: + tags: + - BGP Route Maps + summary: Create a BGP route map + description: | + Create a new BGP route map. + operationId: CreateBGPRouteMaps + requestBody: + description: Created + content: + application/json: + schema: + $ref: '#/components/schemas/bgp-route-maps' + responses: + '201': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/bgp-route-maps' + '400': + $ref: '#/components/responses/bad_request_errors_basic_with_body' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '409': + $ref: '#/components/responses/conflict_errors' + default: + $ref: '#/components/responses/default_errors' + '/bgp-route-maps/{id}': + get: + tags: + - BGP Route Maps + summary: Get a BGP route map + description: | + Get an existing BGP route map. + operationId: GetBGPRouteMapsByID + parameters: + - $ref: '#/components/parameters/uuid' + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/bgp-route-maps' + '400': + $ref: '#/components/responses/bad_request_errors_basic' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '404': + $ref: '#/components/responses/not_found' + default: + $ref: '#/components/responses/default_errors' + put: + tags: + - BGP Route Maps + summary: Update a BGP route map + description: | + Update an existing BGP route map. + operationId: UpdateBGPRouteMapsByID + parameters: + - $ref: '#/components/parameters/uuid' + requestBody: + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/bgp-route-maps' + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/bgp-route-maps' + '400': + $ref: '#/components/responses/bad_request_errors_basic_with_body' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '404': + $ref: '#/components/responses/not_found' + '409': + $ref: '#/components/responses/conflict_errors' + default: + $ref: '#/components/responses/default_errors' + delete: + tags: + - BGP Route Maps + summary: Delete a BGP route map + description: | + Delete a BGP route map. + operationId: DeleteBGPRouteMapsByID + parameters: + - $ref: '#/components/parameters/uuid' + responses: + '200': + $ref: '#/components/responses/http_ok' + '400': + $ref: '#/components/responses/bad_request_errors_basic' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '404': + $ref: '#/components/responses/not_found' + '409': + $ref: '#/components/responses/conflict_errors' + default: + $ref: '#/components/responses/default_errors' + /link-tags: + get: + tags: + - Link Tags + summary: List link tags + description: | + Retrieve a list of link tags. + operationId: ListLinkTags + parameters: + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/name' + - $ref: '#/components/parameters/folder' + - $ref: '#/components/parameters/snippet' + - $ref: '#/components/parameters/device' + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + data: + allOf: + - type: array + items: + $ref: '#/components/schemas/link-tags' + limit: + type: integer + default: 200 + offset: + type: integer + default: 0 + total: + type: integer + '400': + $ref: '#/components/responses/bad_request_errors_basic' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '404': + $ref: '#/components/responses/not_found' + default: + $ref: '#/components/responses/default_errors' + post: + tags: + - Link Tags + summary: Create a link tag + description: | + Create a new link tag. + operationId: CreateLinkTags + requestBody: + description: Created + content: + application/json: + schema: + $ref: '#/components/schemas/link-tags' + responses: + '201': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/link-tags' + '400': + $ref: '#/components/responses/bad_request_errors_basic_with_body' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '409': + $ref: '#/components/responses/conflict_errors' + default: + $ref: '#/components/responses/default_errors' + '/link-tags/{id}': + get: + tags: + - Link Tags + summary: Get a link tag + description: | + Get an existing link tag. + operationId: GetLinkTagsByID + parameters: + - $ref: '#/components/parameters/uuid' + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/link-tags' + '400': + $ref: '#/components/responses/bad_request_errors_basic' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '404': + $ref: '#/components/responses/not_found' + default: + $ref: '#/components/responses/default_errors' + put: + tags: + - Link Tags + summary: Update a link tag + description: | + Update an existing link tag. + operationId: UpdateLinkTagsByID + parameters: + - $ref: '#/components/parameters/uuid' + requestBody: + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/link-tags' + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/link-tags' + '400': + $ref: '#/components/responses/bad_request_errors_basic_with_body' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '404': + $ref: '#/components/responses/not_found' + '409': + $ref: '#/components/responses/conflict_errors' + default: + $ref: '#/components/responses/default_errors' + delete: + tags: + - Link Tags + summary: Delete a link tag + description: | + Delete a link tag. + operationId: DeleteLinkTagsByID + parameters: + - $ref: '#/components/parameters/uuid' + responses: + '200': + $ref: '#/components/responses/http_ok' + '400': + $ref: '#/components/responses/bad_request_errors_basic' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '404': + $ref: '#/components/responses/not_found' + '409': + $ref: '#/components/responses/conflict_errors' + default: + $ref: '#/components/responses/default_errors' + /logical-routers: + get: + tags: + - Logical Routers + summary: List logical routers + description: | + Retrieve a list of logical routers. + operationId: ListLogicalRouters + parameters: + - $ref: '#/components/parameters/pagination-optional' + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/name' + - $ref: '#/components/parameters/folder' + - $ref: '#/components/parameters/snippet' + - $ref: '#/components/parameters/device' + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + data: + allOf: + - type: array + items: + $ref: '#/components/schemas/logical-routers' + limit: + type: integer + default: 200 + offset: + type: integer + default: 0 + total: + type: integer + '400': + $ref: '#/components/responses/bad_request_errors_basic' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '404': + $ref: '#/components/responses/not_found' + default: + $ref: '#/components/responses/default_errors' + post: + tags: + - Logical Routers + summary: Create a logical router + description: | + Create a new logical router. + operationId: CreateLogicalRouters + requestBody: + description: Created + content: + application/json: + schema: + $ref: '#/components/schemas/logical-routers' + responses: + '201': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/logical-routers' + '400': + $ref: '#/components/responses/bad_request_errors_basic_with_body' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '409': + $ref: '#/components/responses/conflict_errors' + default: + $ref: '#/components/responses/default_errors' + '/logical-routers/{id}': + get: + tags: + - Logical Routers + summary: Get a logical router + description: | + Get an existing logical router. + operationId: GetLogicalRoutersByID + parameters: + - $ref: '#/components/parameters/uuid' + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/logical-routers' + '400': + $ref: '#/components/responses/bad_request_errors_basic' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '404': + $ref: '#/components/responses/not_found' + default: + $ref: '#/components/responses/default_errors' + put: + tags: + - Logical Routers + summary: Update a logical router + description: | + Update an existing logical router. + operationId: UpdateLogicalRoutersByID + parameters: + - $ref: '#/components/parameters/uuid' + requestBody: + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/logical-routers' + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/logical-routers' + '400': + $ref: '#/components/responses/bad_request_errors_basic_with_body' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '404': + $ref: '#/components/responses/not_found' + '409': + $ref: '#/components/responses/conflict_errors' + default: + $ref: '#/components/responses/default_errors' + delete: + tags: + - Logical Routers + summary: Delete a logical router + description: | + Delete a logical router. + operationId: DeleteLogicalRoutersByID + parameters: + - $ref: '#/components/parameters/uuid' + responses: + '200': + $ref: '#/components/responses/http_ok' + '400': + $ref: '#/components/responses/bad_request_errors_basic' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '404': + $ref: '#/components/responses/not_found' + '409': + $ref: '#/components/responses/conflict_errors' + default: + $ref: '#/components/responses/default_errors' + /ospf-auth-profiles: + get: + tags: + - OSPF Authentication Profiles + summary: List OSPF authentication profiles + description: | + Retrieve a list of OSPF authentication profiles. + operationId: ListOSPFAuthenticationProfiles + parameters: + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/name' + - $ref: '#/components/parameters/folder' + - $ref: '#/components/parameters/snippet' + - $ref: '#/components/parameters/device' + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + data: + allOf: + - type: array + items: + $ref: '#/components/schemas/ospf-auth-profiles' + limit: + type: integer + default: 200 + offset: + type: integer + default: 0 + total: + type: integer + '400': + $ref: '#/components/responses/bad_request_errors_basic' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '404': + $ref: '#/components/responses/not_found' + default: + $ref: '#/components/responses/default_errors' + post: + tags: + - OSPF Authentication Profiles + summary: Create an OSPF authentication profile + description: | + Create a new OSPF authentication profile. + operationId: CreateOSPFAuthenticationProfiles + requestBody: + description: Created + content: + application/json: + schema: + $ref: '#/components/schemas/ospf-auth-profiles' + responses: + '201': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/ospf-auth-profiles' + '400': + $ref: '#/components/responses/bad_request_errors_basic_with_body' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '409': + $ref: '#/components/responses/conflict_errors' + default: + $ref: '#/components/responses/default_errors' + '/ospf-auth-profiles/{id}': + get: + tags: + - OSPF Authentication Profiles + summary: Get an OSPF authentication profile + description: | + Get an existing OSPF authentication profile. + operationId: GetOSPFAuthenticationProfilesByID + parameters: + - $ref: '#/components/parameters/uuid' + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/ospf-auth-profiles' + '400': + $ref: '#/components/responses/bad_request_errors_basic' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '404': + $ref: '#/components/responses/not_found' + default: + $ref: '#/components/responses/default_errors' + put: + tags: + - OSPF Authentication Profiles + summary: Update an OSPF authentication profile + description: | + Update an existing OSPF authentication profile. + operationId: UpdateOSPFAuthenticationProfilesByID + parameters: + - $ref: '#/components/parameters/uuid' + requestBody: + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/ospf-auth-profiles' + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/ospf-auth-profiles' + '400': + $ref: '#/components/responses/bad_request_errors_basic_with_body' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '404': + $ref: '#/components/responses/not_found' + '409': + $ref: '#/components/responses/conflict_errors' + default: + $ref: '#/components/responses/default_errors' + delete: + tags: + - OSPF Authentication Profiles + summary: Delete an OSPF authentication profile + description: | + Delete an OSPF authentication profile. + operationId: DeleteOSPFAuthenticationProfilesByID + parameters: + - $ref: '#/components/parameters/uuid' + responses: + '200': + $ref: '#/components/responses/http_ok' + '400': + $ref: '#/components/responses/bad_request_errors_basic' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '404': + $ref: '#/components/responses/not_found' + '409': + $ref: '#/components/responses/conflict_errors' + default: + $ref: '#/components/responses/default_errors' + /pbf-rules: + get: + tags: + - PBF Rules + summary: List PBF rules + description: | + Retrieve a list of PBF rules. + operationId: ListPBFRules + parameters: + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/name' + - $ref: '#/components/parameters/folder' + - $ref: '#/components/parameters/snippet' + - $ref: '#/components/parameters/device' + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + data: + allOf: + - type: array + items: + $ref: '#/components/schemas/pbf-rules' + limit: + type: integer + default: 200 + offset: + type: integer + default: 0 + total: + type: integer + '400': + $ref: '#/components/responses/bad_request_errors_basic' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '404': + $ref: '#/components/responses/not_found' + default: + $ref: '#/components/responses/default_errors' + post: + tags: + - PBF Rules + summary: Create a PBF rule + description: | + Create a new PBF rule. + operationId: CreatePBFRules + requestBody: + description: Created + content: + application/json: + schema: + $ref: '#/components/schemas/pbf-rules' + responses: + '201': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/pbf-rules' + '400': + $ref: '#/components/responses/bad_request_errors_basic_with_body' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '409': + $ref: '#/components/responses/conflict_errors' + default: + $ref: '#/components/responses/default_errors' + '/pbf-rules/{id}': + get: + tags: + - PBF Rules + summary: Get a PBF rule + description: | + Get an existing PBF rule. + operationId: GetPBFRulesByID + parameters: + - $ref: '#/components/parameters/uuid' + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/pbf-rules' + '400': + $ref: '#/components/responses/bad_request_errors_basic' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '404': + $ref: '#/components/responses/not_found' + default: + $ref: '#/components/responses/default_errors' + put: + tags: + - PBF Rules + summary: Update a PBF rule + description: | + Update an existing PBF rule. + operationId: UpdatePBFRulesByID + parameters: + - $ref: '#/components/parameters/uuid' + requestBody: + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/pbf-rules' + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/pbf-rules' + '400': + $ref: '#/components/responses/bad_request_errors_basic_with_body' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '404': + $ref: '#/components/responses/not_found' + '409': + $ref: '#/components/responses/conflict_errors' + default: + $ref: '#/components/responses/default_errors' + delete: + tags: + - PBF Rules + summary: Delete a PBF rule + description: | + Delete a PBF rule. + operationId: DeletePBFRulesByID + parameters: + - $ref: '#/components/parameters/uuid' + responses: + '200': + $ref: '#/components/responses/http_ok' + '400': + $ref: '#/components/responses/bad_request_errors_basic' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '404': + $ref: '#/components/responses/not_found' + '409': + $ref: '#/components/responses/conflict_errors' + default: + $ref: '#/components/responses/default_errors' + /route-access-lists: + get: + tags: + - Route Access Lists + summary: List route access lists + description: | + Retrieve a list of route access lists. + operationId: ListRouteAccessLists + parameters: + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/name' + - $ref: '#/components/parameters/folder' + - $ref: '#/components/parameters/snippet' + - $ref: '#/components/parameters/device' + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + data: + allOf: + - type: array + items: + $ref: '#/components/schemas/route-access-lists' + limit: + type: integer + default: 200 + offset: + type: integer + default: 0 + total: + type: integer + '400': + $ref: '#/components/responses/bad_request_errors_basic' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '404': + $ref: '#/components/responses/not_found' + default: + $ref: '#/components/responses/default_errors' + post: + tags: + - Route Access Lists + summary: Create a route access list + description: | + Create a new PBF rule. + operationId: CreateRouteAccessLists + requestBody: + description: Created + content: + application/json: + schema: + $ref: '#/components/schemas/route-access-lists' + responses: + '201': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/route-access-lists' + '400': + $ref: '#/components/responses/bad_request_errors_basic_with_body' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '409': + $ref: '#/components/responses/conflict_errors' + default: + $ref: '#/components/responses/default_errors' + '/route-access-lists/{id}': + get: + tags: + - Route Access Lists + summary: Get a route access list + description: | + Get an existing route access list. + operationId: GetRouteAccessListsByID + parameters: + - $ref: '#/components/parameters/uuid' + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/route-access-lists' + '400': + $ref: '#/components/responses/bad_request_errors_basic' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '404': + $ref: '#/components/responses/not_found' + default: + $ref: '#/components/responses/default_errors' + put: + tags: + - Route Access Lists + summary: Update a route access list + description: | + Update an existing route access list. + operationId: UpdateRouteAccessListsByID + parameters: + - $ref: '#/components/parameters/uuid' + requestBody: + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/route-access-lists' + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/route-access-lists' + '400': + $ref: '#/components/responses/bad_request_errors_basic_with_body' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '404': + $ref: '#/components/responses/not_found' + '409': + $ref: '#/components/responses/conflict_errors' + default: + $ref: '#/components/responses/default_errors' + delete: + tags: + - Route Access Lists + summary: Delete a route access list + description: | + Delete a route access list. + operationId: DeleteRouteAccessListsByID + parameters: + - $ref: '#/components/parameters/uuid' + responses: + '200': + $ref: '#/components/responses/http_ok' + '400': + $ref: '#/components/responses/bad_request_errors_basic' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '404': + $ref: '#/components/responses/not_found' + '409': + $ref: '#/components/responses/conflict_errors' + default: + $ref: '#/components/responses/default_errors' + /route-community-lists: + get: + tags: + - Route Community Lists + summary: List route community lists + description: | + Retrieve a list of route community lists. + operationId: ListRouteCommunityLists + parameters: + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/name' + - $ref: '#/components/parameters/folder' + - $ref: '#/components/parameters/snippet' + - $ref: '#/components/parameters/device' + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + data: + allOf: + - type: array + items: + $ref: '#/components/schemas/route-community-lists' + limit: + type: integer + default: 200 + offset: + type: integer + default: 0 + total: + type: integer + '400': + $ref: '#/components/responses/bad_request_errors_basic' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '404': + $ref: '#/components/responses/not_found' + default: + $ref: '#/components/responses/default_errors' + post: + tags: + - Route Community Lists + summary: Create a route community list + description: | + Create a new route community list. + operationId: CreateRouteCommunityLists + requestBody: + description: Created + content: + application/json: + schema: + $ref: '#/components/schemas/route-community-lists' + responses: + '201': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/route-community-lists' + '400': + $ref: '#/components/responses/bad_request_errors_basic_with_body' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '409': + $ref: '#/components/responses/conflict_errors' + default: + $ref: '#/components/responses/default_errors' + '/route-community-lists/{id}': + get: + tags: + - Route Community Lists + summary: Get a route community list + description: | + Get an existing route community list. + operationId: GetRouteCommunityListsByID + parameters: + - $ref: '#/components/parameters/uuid' + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/route-community-lists' + '400': + $ref: '#/components/responses/bad_request_errors_basic' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '404': + $ref: '#/components/responses/not_found' + default: + $ref: '#/components/responses/default_errors' + put: + tags: + - Route Community Lists + summary: Update a route community list + description: | + Update an existing route community list. + operationId: UpdateRouteCommunityListsByID + parameters: + - $ref: '#/components/parameters/uuid' + requestBody: + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/route-community-lists' + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/route-community-lists' + '400': + $ref: '#/components/responses/bad_request_errors_basic_with_body' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '404': + $ref: '#/components/responses/not_found' + '409': + $ref: '#/components/responses/conflict_errors' + default: + $ref: '#/components/responses/default_errors' + delete: + tags: + - Route Community Lists + summary: Delete a route community list + description: | + Delete a route community list. + operationId: DeleteRouteCommunityListsByID + parameters: + - $ref: '#/components/parameters/uuid' + responses: + '200': + $ref: '#/components/responses/http_ok' + '400': + $ref: '#/components/responses/bad_request_errors_basic' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '404': + $ref: '#/components/responses/not_found' + '409': + $ref: '#/components/responses/conflict_errors' + default: + $ref: '#/components/responses/default_errors' + /route-path-access-lists: + get: + tags: + - Route Path Access Lists + summary: List route path access lists + description: | + Retrieve a list of route path access lists. + operationId: ListRoutePathAccessLists + parameters: + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/name' + - $ref: '#/components/parameters/folder' + - $ref: '#/components/parameters/snippet' + - $ref: '#/components/parameters/device' + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + data: + allOf: + - type: array + items: + $ref: '#/components/schemas/route-path-access-lists' + limit: + type: integer + default: 200 + offset: + type: integer + default: 0 + total: + type: integer + '400': + $ref: '#/components/responses/bad_request_errors_basic' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '404': + $ref: '#/components/responses/not_found' + default: + $ref: '#/components/responses/default_errors' + post: + tags: + - Route Path Access Lists + summary: Create a route path access list + description: | + Create a new route path access list. + operationId: CreateRoutePathAccessLists + requestBody: + description: Created + content: + application/json: + schema: + $ref: '#/components/schemas/route-path-access-lists' + responses: + '201': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/route-path-access-lists' + '400': + $ref: '#/components/responses/bad_request_errors_basic_with_body' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '409': + $ref: '#/components/responses/conflict_errors' + default: + $ref: '#/components/responses/default_errors' + '/route-path-access-lists/{id}': + get: + tags: + - Route Path Access Lists + summary: Get a route path access list + description: | + Get an existing route path access list. + operationId: GetRoutePathAccessListsByID + parameters: + - $ref: '#/components/parameters/uuid' + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/route-path-access-lists' + '400': + $ref: '#/components/responses/bad_request_errors_basic' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '404': + $ref: '#/components/responses/not_found' + default: + $ref: '#/components/responses/default_errors' + put: + tags: + - Route Path Access Lists + summary: Update a route path access list + description: | + Update an existing route path access list. + operationId: UpdateRoutePathAccessListsByID + parameters: + - $ref: '#/components/parameters/uuid' + requestBody: + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/route-path-access-lists' + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/route-path-access-lists' + '400': + $ref: '#/components/responses/bad_request_errors_basic_with_body' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '404': + $ref: '#/components/responses/not_found' + '409': + $ref: '#/components/responses/conflict_errors' + default: + $ref: '#/components/responses/default_errors' + delete: + tags: + - Route Path Access Lists + summary: Delete a route path access list + description: | + Delete a route path access list. + operationId: DeleteRoutePathAccessListsByID + parameters: + - $ref: '#/components/parameters/uuid' + responses: + '200': + $ref: '#/components/responses/http_ok' + '400': + $ref: '#/components/responses/bad_request_errors_basic' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '404': + $ref: '#/components/responses/not_found' + '409': + $ref: '#/components/responses/conflict_errors' + default: + $ref: '#/components/responses/default_errors' + /route-prefix-lists: + get: + tags: + - Route Prefix Lists + summary: List route prefix lists + description: | + Retrieve a list of route prefix lists. + operationId: ListRoutePrefixLists + parameters: + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/name' + - $ref: '#/components/parameters/folder' + - $ref: '#/components/parameters/snippet' + - $ref: '#/components/parameters/device' + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + data: + allOf: + - type: array + items: + $ref: '#/components/schemas/route-prefix-lists' + limit: + type: integer + default: 200 + offset: + type: integer + default: 0 + total: + type: integer + '400': + $ref: '#/components/responses/bad_request_errors_basic' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '404': + $ref: '#/components/responses/not_found' + default: + $ref: '#/components/responses/default_errors' + post: + tags: + - Route Prefix Lists + summary: Create a route prefix list + description: | + Create a new route prefix list. + operationId: CreateRoutePrefixLists + requestBody: + description: Created + content: + application/json: + schema: + $ref: '#/components/schemas/route-prefix-lists' + responses: + '201': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/route-prefix-lists' + '400': + $ref: '#/components/responses/bad_request_errors_basic_with_body' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '409': + $ref: '#/components/responses/conflict_errors' + default: + $ref: '#/components/responses/default_errors' + '/route-prefix-lists/{id}': + get: + tags: + - Route Prefix Lists + summary: Get a route prefix list + description: | + Get an existing route prefix list. + operationId: GetRoutePrefixListsByID + parameters: + - $ref: '#/components/parameters/uuid' + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/route-prefix-lists' + '400': + $ref: '#/components/responses/bad_request_errors_basic' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '404': + $ref: '#/components/responses/not_found' + default: + $ref: '#/components/responses/default_errors' + put: + tags: + - Route Prefix Lists + summary: Update a route prefix list + description: | + Update an existing route prefix list. + operationId: UpdateRoutePrefixListsByID + parameters: + - $ref: '#/components/parameters/uuid' + requestBody: + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/route-prefix-lists' + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/route-prefix-lists' + '400': + $ref: '#/components/responses/bad_request_errors_basic_with_body' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '404': + $ref: '#/components/responses/not_found' + '409': + $ref: '#/components/responses/conflict_errors' + default: + $ref: '#/components/responses/default_errors' + delete: + tags: + - Route Prefix Lists + summary: Delete a route prefix list + description: | + Delete a route prefix list. + operationId: DeleteRoutePrefixListsByID + parameters: + - $ref: '#/components/parameters/uuid' + responses: + '200': + $ref: '#/components/responses/http_ok' + '400': + $ref: '#/components/responses/bad_request_errors_basic' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '404': + $ref: '#/components/responses/not_found' + '409': + $ref: '#/components/responses/conflict_errors' + default: + $ref: '#/components/responses/default_errors' + /auto-vpn-clusters: + get: + tags: + - Auto VPN Clusters + summary: List Auto VPN clusters + description: | + Retrieve a list of Auto VPN clusters. + operationId: ListAutoVPNClusters + parameters: + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/name' + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + data: + allOf: + - type: array + items: + $ref: '#/components/schemas/auto-vpn-clusters' + limit: + type: integer + default: 200 + offset: + type: integer + default: 0 + total: + type: integer + '400': + $ref: '#/components/responses/bad_request_errors_basic' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '404': + $ref: '#/components/responses/not_found' + default: + $ref: '#/components/responses/default_errors' + post: + tags: + - Auto VPN Clusters + summary: Create an Auto VPN cluster + description: | + Create a new Auto VPN cluster. + operationId: CreateAutoVPNClusters + requestBody: + description: Created + content: + application/json: + schema: + $ref: '#/components/schemas/auto-vpn-clusters' + responses: + '201': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/auto-vpn-clusters' + '400': + $ref: '#/components/responses/bad_request_errors_basic_with_body' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '409': + $ref: '#/components/responses/conflict_errors' + default: + $ref: '#/components/responses/default_errors' + '/auto-vpn-clusters/{id}': + get: + tags: + - Auto VPN Clusters + summary: Get an Auto VPN cluster + description: | + Get an existing Auto VPN clusters. + operationId: GetAutoVPNClustersByID + parameters: + - $ref: '#/components/parameters/uuid' + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/auto-vpn-clusters' + '400': + $ref: '#/components/responses/bad_request_errors_basic' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '404': + $ref: '#/components/responses/not_found' + default: + $ref: '#/components/responses/default_errors' + put: + tags: + - Auto VPN Clusters + summary: Update an Auto VPN cluster + description: | + Update an existing Auto VPN cluster. + operationId: UpdateAutoVPNClustersByID + parameters: + - $ref: '#/components/parameters/uuid' + requestBody: + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/auto-vpn-clusters' + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/auto-vpn-clusters' + '400': + $ref: '#/components/responses/bad_request_errors_basic_with_body' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '404': + $ref: '#/components/responses/not_found' + '409': + $ref: '#/components/responses/conflict_errors' + default: + $ref: '#/components/responses/default_errors' + delete: + tags: + - Auto VPN Clusters + summary: Delete an Auto VPN cluster + description: | + Delete an Auto VPN cluster. + operationId: DeleteAutoVPNClustersByID + parameters: + - $ref: '#/components/parameters/uuid' + responses: + '200': + $ref: '#/components/responses/http_ok' + '400': + $ref: '#/components/responses/bad_request_errors_basic' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '404': + $ref: '#/components/responses/not_found' + '409': + $ref: '#/components/responses/conflict_errors' + default: + $ref: '#/components/responses/default_errors' + /auto-vpn-monitor: + get: + tags: + - Auto VPN Monitor + summary: Get Auto VPN status + description: | + Get the status of the Auto VPN clusters. + operationId: GetAutoVPNMonitor + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + data: + allOf: + - type: array + items: + $ref: '#/components/schemas/auto-vpn-monitor' + '400': + $ref: '#/components/responses/bad_request_errors_basic' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '404': + $ref: '#/components/responses/not_found' + default: + $ref: '#/components/responses/default_errors' + /auto-vpn-push: + post: + tags: + - Auto VPN Config Push + summary: Push Auto VPN configs + description: | + Push Auto VPN configs. + operationId: CreateAutoVPNPushConfigs + requestBody: + description: Created + content: + application/json: + schema: + $ref: '#/components/schemas/auto-vpn-push-config' + responses: + '201': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/auto-vpn-push-response' + '400': + $ref: '#/components/responses/bad_request_errors_basic_with_body' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '409': + $ref: '#/components/responses/conflict_errors' + default: + $ref: '#/components/responses/default_errors' + /auto-vpn-settings: + get: + tags: + - Auto VPN Settings + summary: Get Auto VPN settings + description: | + Retrieve the Auto VPN settings. + operationId: GetAutoVPNSettings + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/auto-vpn-settings' + '400': + $ref: '#/components/responses/bad_request_errors_basic' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '404': + $ref: '#/components/responses/not_found' + default: + $ref: '#/components/responses/default_errors' + put: + tags: + - Auto VPN Settings + summary: Update Auto VPN settings + description: | + Update Auto VPN settings. + operationId: UpdateAutoVPNSettings + requestBody: + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/auto-vpn-settings' + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/auto-vpn-settings' + '400': + $ref: '#/components/responses/bad_request_errors_basic_with_body' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '404': + $ref: '#/components/responses/not_found' + '409': + $ref: '#/components/responses/conflict_errors' + default: + $ref: '#/components/responses/default_errors' + /sdwan-error-correction-profiles: + get: + tags: + - SD-WAN Error Correction Profiles + summary: List SD-WAN error correction profiles + description: | + Retrieve a list of SD-WAN error correction profiles. + operationId: ListSDWANErrorCorrectionProfiles + parameters: + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/name' + - $ref: '#/components/parameters/folder' + - $ref: '#/components/parameters/snippet' + - $ref: '#/components/parameters/device' + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + data: + allOf: + - type: array + items: + $ref: '#/components/schemas/sdwan-error-correction-profiles' + limit: + type: integer + default: 200 + offset: + type: integer + default: 0 + total: + type: integer + '400': + $ref: '#/components/responses/bad_request_errors_basic' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '404': + $ref: '#/components/responses/not_found' + default: + $ref: '#/components/responses/default_errors' + post: + tags: + - SD-WAN Error Correction Profiles + summary: Create an SD-WAN error correction profile + description: | + Create a new SD-WAN error correction profile. + operationId: CreateSDWANErrorCorrectionProfiles + requestBody: + description: Created + content: + application/json: + schema: + $ref: '#/components/schemas/sdwan-error-correction-profiles' + responses: + '201': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/sdwan-error-correction-profiles' + '400': + $ref: '#/components/responses/bad_request_errors_basic_with_body' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '409': + $ref: '#/components/responses/conflict_errors' + default: + $ref: '#/components/responses/default_errors' + '/sdwan-error-correction-profiles/{id}': + get: + tags: + - SD-WAN Error Correction Profiles + summary: Get an SD-WAN error correction profile + description: | + Get an existing SD-WAN error correction profile. + operationId: GetSDWANErrorCorrectionProfilesByID + parameters: + - $ref: '#/components/parameters/uuid' + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/sdwan-error-correction-profiles' + '400': + $ref: '#/components/responses/bad_request_errors_basic' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '404': + $ref: '#/components/responses/not_found' + default: + $ref: '#/components/responses/default_errors' + put: + tags: + - SD-WAN Error Correction Profiles + summary: Update an SD-WAN error correction profile + description: | + Update an existing SD-WAN error correction profile. + operationId: UpdateSDWANErrorCorrectionProfilesByID + parameters: + - $ref: '#/components/parameters/uuid' + requestBody: + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/sdwan-error-correction-profiles' + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/sdwan-error-correction-profiles' + '400': + $ref: '#/components/responses/bad_request_errors_basic_with_body' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '404': + $ref: '#/components/responses/not_found' + '409': + $ref: '#/components/responses/conflict_errors' + default: + $ref: '#/components/responses/default_errors' + delete: + tags: + - SD-WAN Error Correction Profiles + summary: Delete an SD-WAN error correction profile + description: | + Delete an SD-WAN error correction profile. + operationId: DeleteSDWANErrorCorrectionProfilesByID + parameters: + - $ref: '#/components/parameters/uuid' + responses: + '200': + $ref: '#/components/responses/http_ok' + '400': + $ref: '#/components/responses/bad_request_errors_basic' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '404': + $ref: '#/components/responses/not_found' + '409': + $ref: '#/components/responses/conflict_errors' + default: + $ref: '#/components/responses/default_errors' + /sdwan-path-quality-profiles: + get: + tags: + - SD-WAN Path Quality Profiles + summary: List SD-WAN path quality profiles + description: | + Retrieve a list of SD-WAN path quality profiles. + operationId: ListSDWANPathQualityProfiles + parameters: + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/name' + - $ref: '#/components/parameters/folder' + - $ref: '#/components/parameters/snippet' + - $ref: '#/components/parameters/device' + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + data: + allOf: + - type: array + items: + $ref: '#/components/schemas/sdwan-path-quality-profiles' + limit: + type: integer + default: 200 + offset: + type: integer + default: 0 + total: + type: integer + '400': + $ref: '#/components/responses/bad_request_errors_basic' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '404': + $ref: '#/components/responses/not_found' + default: + $ref: '#/components/responses/default_errors' + post: + tags: + - SD-WAN Path Quality Profiles + summary: Create an SD-WAN path quality profile + description: | + Create a new SD-WAN path quality profile. + operationId: CreateSDWANPathQualityProfiles + requestBody: + description: Created + content: + application/json: + schema: + $ref: '#/components/schemas/sdwan-path-quality-profiles' + responses: + '201': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/sdwan-path-quality-profiles' + '400': + $ref: '#/components/responses/bad_request_errors_basic_with_body' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '409': + $ref: '#/components/responses/conflict_errors' + default: + $ref: '#/components/responses/default_errors' + '/sdwan-path-quality-profiles/{id}': + get: + tags: + - SD-WAN Path Quality Profiles + summary: Get an SD-WAN path quality profile + description: | + Get an existing SD-WAN path quality profile. + operationId: GetSDWANPathQualityProfilesByID + parameters: + - $ref: '#/components/parameters/uuid' + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/sdwan-path-quality-profiles' + '400': + $ref: '#/components/responses/bad_request_errors_basic' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '404': + $ref: '#/components/responses/not_found' + default: + $ref: '#/components/responses/default_errors' + put: + tags: + - SD-WAN Path Quality Profiles + summary: Update an SD-WAN path quality profile + description: | + Update an existing SD-WAN path quality profile. + operationId: UpdateSDWANPathQualityProfilesByID + parameters: + - $ref: '#/components/parameters/uuid' + requestBody: + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/sdwan-path-quality-profiles' + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/sdwan-path-quality-profiles' + '400': + $ref: '#/components/responses/bad_request_errors_basic_with_body' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '404': + $ref: '#/components/responses/not_found' + '409': + $ref: '#/components/responses/conflict_errors' + default: + $ref: '#/components/responses/default_errors' + delete: + tags: + - SD-WAN Path Quality Profiles + summary: Delete an SD-WAN path quality profile + description: | + Delete an SD-WAN path quality profile. + operationId: DeleteSDWANPathQualityProfilesByID + parameters: + - $ref: '#/components/parameters/uuid' + responses: + '200': + $ref: '#/components/responses/http_ok' + '400': + $ref: '#/components/responses/bad_request_errors_basic' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '404': + $ref: '#/components/responses/not_found' + '409': + $ref: '#/components/responses/conflict_errors' + default: + $ref: '#/components/responses/default_errors' + /sdwan-rules: + get: + tags: + - SD-WAN Rules + summary: List SD-WAN rules + description: | + Retrieve a list of SD-WAN rules. + operationId: ListSDWANRules + parameters: + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/name' + - $ref: '#/components/parameters/folder' + - $ref: '#/components/parameters/snippet' + - $ref: '#/components/parameters/device' + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + data: + allOf: + - type: array + items: + $ref: '#/components/schemas/sdwan-rules' + limit: + type: integer + default: 200 + offset: + type: integer + default: 0 + total: + type: integer + '400': + $ref: '#/components/responses/bad_request_errors_basic' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '404': + $ref: '#/components/responses/not_found' + default: + $ref: '#/components/responses/default_errors' + post: + tags: + - SD-WAN Rules + summary: Create an SD-WAN rule + description: | + Create a new SD-WAN rule. + operationId: CreateSDWANRules + requestBody: + description: Created + content: + application/json: + schema: + $ref: '#/components/schemas/sdwan-rules' + responses: + '201': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/sdwan-rules' + '400': + $ref: '#/components/responses/bad_request_errors_basic_with_body' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '409': + $ref: '#/components/responses/conflict_errors' + default: + $ref: '#/components/responses/default_errors' + '/sdwan-rules/{id}': + get: + tags: + - SD-WAN Rules + summary: Get an SD-WAN rule + description: | + Get an existing SD-WAN rule. + operationId: GetSDWANRulesByID + parameters: + - $ref: '#/components/parameters/uuid' + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/sdwan-rules' + '400': + $ref: '#/components/responses/bad_request_errors_basic' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '404': + $ref: '#/components/responses/not_found' + default: + $ref: '#/components/responses/default_errors' + put: + tags: + - SD-WAN Rules + summary: Update an SD-WAN rule + description: | + Update an existing SD-WAN rule. + operationId: UpdateSDWANRulesByID + parameters: + - $ref: '#/components/parameters/uuid' + requestBody: + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/sdwan-rules' + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/sdwan-rules' + '400': + $ref: '#/components/responses/bad_request_errors_basic_with_body' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '404': + $ref: '#/components/responses/not_found' + '409': + $ref: '#/components/responses/conflict_errors' + default: + $ref: '#/components/responses/default_errors' + delete: + tags: + - SD-WAN Rules + summary: Delete an SD-WAN rule + description: | + Delete an SD-WAN rule. + operationId: DeleteSDWANRulesByID + parameters: + - $ref: '#/components/parameters/uuid' + responses: + '200': + $ref: '#/components/responses/http_ok' + '400': + $ref: '#/components/responses/bad_request_errors_basic' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '404': + $ref: '#/components/responses/not_found' + '409': + $ref: '#/components/responses/conflict_errors' + default: + $ref: '#/components/responses/default_errors' + /sdwan-saas-quality-profiles: + get: + tags: + - SD-WAN SaaS Quality Profiles + summary: List SD-WAN SaaS quality profiles + description: | + Retrieve a list of SD-WAN SaaS quality profiles. + operationId: ListSDWANSaaSQualityProfiles + parameters: + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/name' + - $ref: '#/components/parameters/folder' + - $ref: '#/components/parameters/snippet' + - $ref: '#/components/parameters/device' + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + data: + allOf: + - type: array + items: + $ref: '#/components/schemas/sdwan-saas-quality-profiles' + limit: + type: integer + default: 200 + offset: + type: integer + default: 0 + total: + type: integer + '400': + $ref: '#/components/responses/bad_request_errors_basic' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '404': + $ref: '#/components/responses/not_found' + default: + $ref: '#/components/responses/default_errors' + post: + tags: + - SD-WAN SaaS Quality Profiles + summary: Create an SD-WAN SaaS quality profile + description: | + Create a new SD-WAN SaaS quality profile. + operationId: CreateSDWANSaaSQualityProfiles + requestBody: + description: Created + content: + application/json: + schema: + $ref: '#/components/schemas/sdwan-saas-quality-profiles' + responses: + '201': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/sdwan-saas-quality-profiles' + '400': + $ref: '#/components/responses/bad_request_errors_basic_with_body' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '409': + $ref: '#/components/responses/conflict_errors' + default: + $ref: '#/components/responses/default_errors' + '/sdwan-saas-quality-profiles/{id}': + get: + tags: + - SD-WAN SaaS Quality Profiles + summary: Get an SD-WAN SaaS quality profile + description: | + Get an existing SD-WAN SaaS quality profile. + operationId: GetSDWANSaaSQualityProfilesByID + parameters: + - $ref: '#/components/parameters/uuid' + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/sdwan-saas-quality-profiles' + '400': + $ref: '#/components/responses/bad_request_errors_basic' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '404': + $ref: '#/components/responses/not_found' + default: + $ref: '#/components/responses/default_errors' + put: + tags: + - SD-WAN SaaS Quality Profiles + summary: Update an SD-WAN SaaS quality profile + description: | + Update an existing SD-WAN SaaS quality profile. + operationId: UpdateSDWANSaaSQualityProfilesByID + parameters: + - $ref: '#/components/parameters/uuid' + requestBody: + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/sdwan-saas-quality-profiles' + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/sdwan-saas-quality-profiles' + '400': + $ref: '#/components/responses/bad_request_errors_basic_with_body' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '404': + $ref: '#/components/responses/not_found' + '409': + $ref: '#/components/responses/conflict_errors' + default: + $ref: '#/components/responses/default_errors' + delete: + tags: + - SD-WAN SaaS Quality Profiles + summary: Delete an SD-WAN SaaS quality profile + description: | + Delete an SD-WAN SaaS quality profile. + operationId: DeleteSDWANSaaSQualityProfilesByID + parameters: + - $ref: '#/components/parameters/uuid' + responses: + '200': + $ref: '#/components/responses/http_ok' + '400': + $ref: '#/components/responses/bad_request_errors_basic' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '404': + $ref: '#/components/responses/not_found' + '409': + $ref: '#/components/responses/conflict_errors' + default: + $ref: '#/components/responses/default_errors' + /sdwan-traffic-distribution-profiles: + get: + tags: + - SD-WAN Traffic Distribution Profiles + summary: List SD-WAN traffic distribution profiles + description: | + Retrieve a list of SD-WAN traffic distribution profiles. + operationId: ListSDWANTrafficDistributionProfiles + parameters: + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/name' + - $ref: '#/components/parameters/folder' + - $ref: '#/components/parameters/snippet' + - $ref: '#/components/parameters/device' + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + data: + allOf: + - type: array + items: + $ref: '#/components/schemas/sdwan-traffic-distribution-profiles' + limit: + type: integer + default: 200 + offset: + type: integer + default: 0 + total: + type: integer + '400': + $ref: '#/components/responses/bad_request_errors_basic' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '404': + $ref: '#/components/responses/not_found' + default: + $ref: '#/components/responses/default_errors' + post: + tags: + - SD-WAN Traffic Distribution Profiles + summary: Create an SD-WAN traffic distribution profile + description: | + Create a new SD-WAN traffic distribution profile. + operationId: CreateSDWANTrafficDistributionProfiles + requestBody: + description: Created + content: + application/json: + schema: + $ref: '#/components/schemas/sdwan-traffic-distribution-profiles' + responses: + '201': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/sdwan-traffic-distribution-profiles' + '400': + $ref: '#/components/responses/bad_request_errors_basic_with_body' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '409': + $ref: '#/components/responses/conflict_errors' + default: + $ref: '#/components/responses/default_errors' + '/sdwan-traffic-distribution-profiles/{id}': + get: + tags: + - SD-WAN Traffic Distribution Profiles + summary: Get an SD-WAN traffic distribution profile + description: | + Get an existing SD-WAN traffic distribution profile. + operationId: GetSDWANTrafficDistributionProfilesByID + parameters: + - $ref: '#/components/parameters/uuid' + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/sdwan-traffic-distribution-profiles' + '400': + $ref: '#/components/responses/bad_request_errors_basic' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '404': + $ref: '#/components/responses/not_found' + default: + $ref: '#/components/responses/default_errors' + put: + tags: + - SD-WAN Traffic Distribution Profiles + summary: Update an SD-WAN traffic distribution profile + description: | + Update an existing SD-WAN traffic distribution profile. + operationId: UpdateSDWANTrafficDistributionProfilesByID + parameters: + - $ref: '#/components/parameters/uuid' + requestBody: + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/sdwan-traffic-distribution-profiles' + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/sdwan-traffic-distribution-profiles' + '400': + $ref: '#/components/responses/bad_request_errors_basic_with_body' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '404': + $ref: '#/components/responses/not_found' + '409': + $ref: '#/components/responses/conflict_errors' + default: + $ref: '#/components/responses/default_errors' + delete: + tags: + - SD-WAN Traffic Distribution Profiles + summary: Delete an SD-WAN traffic distribution profile + description: | + Delete an SD-WAN traffic distribution profile. + operationId: DeleteSDWANTrafficDistributionProfilesByID + parameters: + - $ref: '#/components/parameters/uuid' + responses: + '200': + $ref: '#/components/responses/http_ok' + '400': + $ref: '#/components/responses/bad_request_errors_basic' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '404': + $ref: '#/components/responses/not_found' + '409': + $ref: '#/components/responses/conflict_errors' + default: + $ref: '#/components/responses/default_errors' + /dhcp-interfaces: + get: + tags: + - DHCP Interfaces + summary: List DHCP interfaces + description: | + Retrieve a list of DHCP interfaces. + operationId: ListDHCPInterfaces + parameters: + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/name' + - $ref: '#/components/parameters/folder' + - $ref: '#/components/parameters/snippet' + - $ref: '#/components/parameters/device' + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + data: + allOf: + - type: array + items: + $ref: '#/components/schemas/dhcp-interfaces' + limit: + type: integer + default: 200 + offset: + type: integer + default: 0 + total: + type: integer + '400': + $ref: '#/components/responses/bad_request_errors_basic' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '404': + $ref: '#/components/responses/not_found' + default: + $ref: '#/components/responses/default_errors' + post: + tags: + - DHCP Interfaces + summary: Create a DHCP interface + description: | + Create a new DHCP interface. + operationId: CreateDHCPInterfaces + requestBody: + description: Created + content: + application/json: + schema: + $ref: '#/components/schemas/dhcp-interfaces' + responses: + '201': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/dhcp-interfaces' + '400': + $ref: '#/components/responses/bad_request_errors_basic_with_body' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '409': + $ref: '#/components/responses/conflict_errors' + default: + $ref: '#/components/responses/default_errors' + '/dhcp-interfaces/{id}': + get: + tags: + - DHCP Interfaces + summary: Get a DHCP interface + description: | + Get an existing DHCP interface. + operationId: GetDHCPInterfacesByID + parameters: + - $ref: '#/components/parameters/uuid' + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/dhcp-interfaces' + '400': + $ref: '#/components/responses/bad_request_errors_basic' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '404': + $ref: '#/components/responses/not_found' + default: + $ref: '#/components/responses/default_errors' + put: + tags: + - DHCP Interfaces + summary: Update a DHCP interface + description: | + Update an existing DHCP interface. + operationId: UpdateDHCPInterfacesByID + parameters: + - $ref: '#/components/parameters/uuid' + requestBody: + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/dhcp-interfaces' + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/dhcp-interfaces' + '400': + $ref: '#/components/responses/bad_request_errors_basic_with_body' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '404': + $ref: '#/components/responses/not_found' + '409': + $ref: '#/components/responses/conflict_errors' + default: + $ref: '#/components/responses/default_errors' + delete: + tags: + - DHCP Interfaces + summary: Delete a DHCP interface + description: | + Delete a DHCP interface. + operationId: DeleteDHCPInterfacesByID + parameters: + - $ref: '#/components/parameters/uuid' + responses: + '200': + $ref: '#/components/responses/http_ok' + '400': + $ref: '#/components/responses/bad_request_errors_basic' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '404': + $ref: '#/components/responses/not_found' + '409': + $ref: '#/components/responses/conflict_errors' + default: + $ref: '#/components/responses/default_errors' + /dns-proxies: + get: + tags: + - DNS Proxies + summary: List DNS proxies + description: | + Retrieve a list of DNS proxies. + operationId: ListDNSProxies + parameters: + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/name' + - $ref: '#/components/parameters/folder' + - $ref: '#/components/parameters/snippet' + - $ref: '#/components/parameters/device' + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + data: + allOf: + - type: array + items: + $ref: '#/components/schemas/dns-proxies' + limit: + type: integer + default: 200 + offset: + type: integer + default: 0 + total: + type: integer + '400': + $ref: '#/components/responses/bad_request_errors_basic' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '404': + $ref: '#/components/responses/not_found' + default: + $ref: '#/components/responses/default_errors' + post: + tags: + - DNS Proxies + summary: Create a DNS proxy + description: | + Create a new DNS proxy. + operationId: CreateDNSProxies + requestBody: + description: Created + content: + application/json: + schema: + $ref: '#/components/schemas/dns-proxies' + responses: + '201': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/dns-proxies' + '400': + $ref: '#/components/responses/bad_request_errors_basic_with_body' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '409': + $ref: '#/components/responses/conflict_errors' + default: + $ref: '#/components/responses/default_errors' + '/dns-proxies/{id}': + get: + tags: + - DNS Proxies + summary: Get a DNS proxy + description: | + Get an existing DNS proxy. + operationId: GetDNSProxiesByID + parameters: + - $ref: '#/components/parameters/uuid' + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/dns-proxies' + '400': + $ref: '#/components/responses/bad_request_errors_basic' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '404': + $ref: '#/components/responses/not_found' + default: + $ref: '#/components/responses/default_errors' + put: + tags: + - DNS Proxies + summary: Update a DNS proxy + description: | + Update an existing DNS proxy. + operationId: UpdateDNSProxiesByID + parameters: + - $ref: '#/components/parameters/uuid' + requestBody: + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/dns-proxies' + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/dns-proxies' + '400': + $ref: '#/components/responses/bad_request_errors_basic_with_body' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '404': + $ref: '#/components/responses/not_found' + '409': + $ref: '#/components/responses/conflict_errors' + default: + $ref: '#/components/responses/default_errors' + delete: + tags: + - DNS Proxies + summary: Delete a DNS proxy + description: | + Delete a DNS proxy. + operationId: DeleteDNSProxiesByID + parameters: + - $ref: '#/components/parameters/uuid' + responses: + '200': + $ref: '#/components/responses/http_ok' + '400': + $ref: '#/components/responses/bad_request_errors_basic' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '404': + $ref: '#/components/responses/not_found' + '409': + $ref: '#/components/responses/conflict_errors' + default: + $ref: '#/components/responses/default_errors' + /remote-networks-license-info: + get: + summary: Get Remote Networks License Info + description: Returns operational license model and site license counts. + operationId: getRemoteNetworksLicenseInfo + tags: + - Remote Networks License + responses: + '200': + description: License information retrieved successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/LicenseResult' + '400': + $ref: '#/components/responses/bad_request_errors_basic' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '404': + $ref: '#/components/responses/not_found' + '409': + $ref: '#/components/responses/conflict_errors' + default: + $ref: '#/components/responses/default_errors' + '500': + description: Failed to fetch license information. + content: + application/json: + schema: + type: object + properties: + error: + type: string + example: Failed to retrieve license data + /lldp-profiles: + get: + tags: + - LLDP Profiles + summary: List LLDP profiles + description: | + Retrieve a list of LLDP profiles. + operationId: ListLLDPProfiles + parameters: + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/name' + - $ref: '#/components/parameters/folder' + - $ref: '#/components/parameters/snippet' + - $ref: '#/components/parameters/device' + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + data: + allOf: + - type: array + items: + $ref: '#/components/schemas/lldp-profiles' + limit: + type: integer + default: 200 + offset: + type: integer + default: 0 + total: + type: integer + '400': + $ref: '#/components/responses/bad_request_errors_basic' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '404': + $ref: '#/components/responses/not_found' + default: + $ref: '#/components/responses/default_errors' + post: + tags: + - LLDP Profiles + summary: Create an LLDP profile + description: | + Create a new LLDP profile. + operationId: CreateLLDPProfiles + requestBody: + description: Created + content: + application/json: + schema: + $ref: '#/components/schemas/lldp-profiles' + responses: + '201': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/lldp-profiles' + '400': + $ref: '#/components/responses/bad_request_errors_basic_with_body' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '409': + $ref: '#/components/responses/conflict_errors' + default: + $ref: '#/components/responses/default_errors' + '/lldp-profiles/{id}': + get: + tags: + - LLDP Profiles + summary: Get an LLDP profile + description: | + Get an existing LLDP profile. + operationId: GetLLDPProfilesByID + parameters: + - $ref: '#/components/parameters/uuid' + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/lldp-profiles' + '400': + $ref: '#/components/responses/bad_request_errors_basic' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '404': + $ref: '#/components/responses/not_found' + default: + $ref: '#/components/responses/default_errors' + put: + tags: + - LLDP Profiles + summary: Update an LLDP profile + description: | + Update an existing LLDP profile. + operationId: UpdateLLDPProfilesByID + parameters: + - $ref: '#/components/parameters/uuid' + requestBody: + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/lldp-profiles' + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/lldp-profiles' + '400': + $ref: '#/components/responses/bad_request_errors_basic_with_body' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '404': + $ref: '#/components/responses/not_found' + '409': + $ref: '#/components/responses/conflict_errors' + default: + $ref: '#/components/responses/default_errors' + delete: + tags: + - LLDP Profiles + summary: Delete an LLDP profile + description: | + Delete an LLDP profile. + operationId: DeleteLLDPProfilesByID + parameters: + - $ref: '#/components/parameters/uuid' + responses: + '200': + $ref: '#/components/responses/http_ok' + '400': + $ref: '#/components/responses/bad_request_errors_basic' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '404': + $ref: '#/components/responses/not_found' + '409': + $ref: '#/components/responses/conflict_errors' + default: + $ref: '#/components/responses/default_errors' + /network_packet_broker_profiles: + get: + tags: + - Network Packet Broker Profiles + summary: List all Network Packet Broker Profiles + description: Retrieves a paginated list of Network Packet Broker Profiles + operationId: ListNetworkPacketBrokerProfiles + parameters: + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/folder' + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + data: + type: array + items: + $ref: '#/components/schemas/network_packet_broker_profiles' + limit: + type: integer + offset: + type: integer + total: + type: integer + '400': + $ref: '#/components/responses/bad_request_errors_basic' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '404': + $ref: '#/components/responses/not_found' + default: + $ref: '#/components/responses/default_errors' + security: + - Bearer: [] + post: + tags: + - Network Packet Broker Profiles + summary: Create a new Network Packet Broker Profile + description: Creates a new Network Packet Broker Profile + operationId: CreateNetworkPacketBrokerProfiles + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/network_packet_broker_profiles' + responses: + '201': + description: Created + content: + application/json: + schema: + $ref: '#/components/schemas/network_packet_broker_profiles' + '400': + $ref: '#/components/responses/bad_request_errors_basic_with_body' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '409': + $ref: '#/components/responses/conflict_errors' + default: + $ref: '#/components/responses/default_errors' + security: + - Bearer: [] + /network_packet_broker_profiles/{id}: + get: + tags: + - Network Packet Broker Profiles + summary: Get Network Packet Broker Profile by ID + description: Retrieves a single Network Packet Broker Profile by its ID + operationId: GetNetworkPacketBrokerProfilesByID + parameters: + - $ref: '#/components/parameters/uuid' + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/network_packet_broker_profiles' + '400': + $ref: '#/components/responses/bad_request_errors_basic' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '404': + $ref: '#/components/responses/not_found' + default: + $ref: '#/components/responses/default_errors' + security: + - Bearer: [] + put: + tags: + - Network Packet Broker Profiles + summary: Update Network Packet Broker Profile by ID + description: Updates an existing Network Packet Broker Profile by ID + operationId: UpdateNetworkPacketBrokerProfilesByID + parameters: + - $ref: '#/components/parameters/uuid' + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/network_packet_broker_profiles' + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/network_packet_broker_profiles' + '400': + $ref: '#/components/responses/bad_request_errors_basic_with_body' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '404': + $ref: '#/components/responses/not_found' + default: + $ref: '#/components/responses/default_errors' + security: + - Bearer: [] + delete: + tags: + - Network Packet Broker Profiles + summary: Delete a Network Packet Broker Profile + description: Deletes a Network Packet Broker Profile by ID + operationId: DeleteNetworkPacketBrokerProfilesByID + parameters: + - $ref: '#/components/parameters/uuid' + responses: + '200': + $ref: '#/components/responses/http_ok' + '400': + $ref: '#/components/responses/bad_request_errors_basic' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '404': + $ref: '#/components/responses/not_found' + '409': + $ref: '#/components/responses/conflict_errors' + default: + $ref: '#/components/responses/default_errors' + /network_packet_broker_rules: + get: + tags: + - Network Packet Broker Rules + summary: List all Network Packet Broker Rules + description: Retrieves a paginated list of Network Packet Broker Rules + operationId: ListNetworkPacketBrokerRules + parameters: + - $ref: '#/components/parameters/limit' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/folder' + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + data: + type: array + items: + $ref: '#/components/schemas/network_packet_broker_rules' + limit: + type: integer + offset: + type: integer + total: + type: integer + '400': + $ref: '#/components/responses/bad_request_errors_basic' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '404': + $ref: '#/components/responses/not_found' + default: + $ref: '#/components/responses/default_errors' + security: + - Bearer: [] + post: + tags: + - Network Packet Broker Rules + summary: Create a new Network Packet Broker Rule + description: Creates a new Network Packet Broker Rule + operationId: CreateNetworkPacketBrokerRules + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/network_packet_broker_rules' + responses: + '201': + description: Created + content: + application/json: + schema: + $ref: '#/components/schemas/network_packet_broker_rules' + '400': + $ref: '#/components/responses/bad_request_errors_basic_with_body' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '409': + $ref: '#/components/responses/conflict_errors' + default: + $ref: '#/components/responses/default_errors' + security: + - Bearer: [] + /network_packet_broker_rules/{id}: + get: + tags: + - Network Packet Broker Rules + summary: Get Network Packet Broker Rule by ID + description: Retrieves a single Network Packet Broker Rule by its ID + operationId: GetNetworkPacketBrokerRulesByID + parameters: + - $ref: '#/components/parameters/uuid' + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/network_packet_broker_rules' + '400': + $ref: '#/components/responses/bad_request_errors_basic' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '404': + $ref: '#/components/responses/not_found' + default: + $ref: '#/components/responses/default_errors' + security: + - Bearer: [] + put: + tags: + - Network Packet Broker Rules + summary: Update Network Packet Broker Rule by ID + description: Updates an existing Network Packet Broker Rule by ID + operationId: UpdateNetworkPacketBrokerRulesByID + parameters: + - $ref: '#/components/parameters/uuid' + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/network_packet_broker_rules' + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/network_packet_broker_rules' + '400': + $ref: '#/components/responses/bad_request_errors_basic_with_body' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '404': + $ref: '#/components/responses/not_found' + default: + $ref: '#/components/responses/default_errors' + security: + - Bearer: [] + delete: + tags: + - Network Packet Broker Rules + summary: Delete a Network Packet Broker Rule + description: Deletes a Network Packet Broker Rule by ID + operationId: DeleteNetworkPacketBrokerRulesByID + parameters: + - $ref: '#/components/parameters/uuid' + responses: + '200': + $ref: '#/components/responses/http_ok' + '400': + $ref: '#/components/responses/bad_request_errors_basic' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '404': + $ref: '#/components/responses/not_found' + '409': + $ref: '#/components/responses/conflict_errors' + default: + $ref: '#/components/responses/default_errors' +components: + parameters: + name: + name: name + in: query + description: The name of the configuration resource + required: false + schema: + type: string + pagination-optional: + name: pagination + in: query + required: false + schema: + type: boolean + description: The parameter to mention if the response should be paginated. By default, its set to false + limit: + name: limit + in: query + description: The maximum number of results per page + required: false + schema: + type: integer + default: 200 + offset: + name: offset + in: query + description: The offset into the list of results returned + required: false + schema: + type: integer + default: 0 + folder: + name: folder + in: query + description: | + The folder in which the resource is defined + required: false + schema: + type: string + snippet: + name: snippet + in: query + description: | + The snippet in which the resource is defined + required: false + schema: + type: string + device: + name: device + in: query + description: | + The device in which the resource is defined + required: false + schema: + type: string + position: + name: position + in: query + description: The relative position of the rule + required: true + schema: + enum: + - pre + - post + default: pre + uuid: + name: id + in: path + description: The UUID of the configuration resource + required: true + schema: + type: string + format: uuid + example: 123e4567-e89b-12d3-a456-426655440000 + securitySchemes: + scmOAuth: + type: oauth2 + description: | + Strata Cloud Manager APIs authenticate client requests using the + OAuth 2.0 Client Credentials flow. Please use the `client_id`, + `client_secret` values associated with an IAM service account along + with a scope value of `tsg_id:XXXXXXXXXX`, where `XXXXXXXXXX` is the + Tenant Service Group (TSG) ID. The resulting JWT access token should + be attached to all API calls as a `Bearer` token in the `Authorization` + header (ex. `Authorization: Bearer tokenstring`). + flows: + clientCredentials: + tokenUrl: https://auth.apps.paloaltonetworks.com/oauth2/access_token + scopes: + tsg_id: Your tenant service group in the form `tsg_id:XXXXXXXXXX` + scmToken: + type: http + description: | + Strata Cloud Manager APIs authenticate client requests using the + OAuth 2.0 Client Credentials flow. Please use the `client_id`, + `client_secret` values associated with an IAM service account along + with a scope value of `tsg_id:XXXXXXXXXX`, where `XXXXXXXXXX` is the + Tenant Service Group (TSG) ID. The resulting JWT access token should + be attached to all API calls as a `Bearer` token in the `Authorization` + header (ex. `Authorization: Bearer tokenstring`). + scheme: bearer + bearerFormat: JWT + responses: + http_ok: + description: OK + http_created: + description: Created + auth_errors: + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/generic_error' + examples: + auth_not_authenticated: + $ref: '#/components/examples/json_401_panui_auth_not_authenticated' + invalid_credential: + $ref: '#/components/examples/json_401_panui_auth_invalid_credential' + key_too_long: + $ref: '#/components/examples/json_401_panui_auth_key_too_long' + key_expired: + $ref: '#/components/examples/json_401_panui_auth_key_expired' + need_password_change: + $ref: '#/components/examples/json_401_panui_auth_need_password_change' + access_errors: + description: Forbidden + content: + application/json: + schema: + $ref: '#/components/schemas/generic_error' + examples: + auth_unauthorized: + $ref: '#/components/examples/json_403_panui_auth_unauthorized' + bad_request_errors_basic: + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/generic_error' + examples: + input_format_mismatch: + $ref: '#/components/examples/json_400_panui_restapi_input_format_mismatch' + output_format_mismatch: + $ref: '#/components/examples/json_400_panui_restapi_output_format_mismatch' + missing_query_parameter: + $ref: '#/components/examples/json_400_panui_restapi_missing_query_parameter' + invalid_query_parameter: + $ref: '#/components/examples/json_400_panui_restapi_invalid_query_parameter' + bad_request_errors_basic_with_body: + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/generic_error' + examples: + input_format_mismatch: + $ref: '#/components/examples/json_400_panui_restapi_input_format_mismatch' + output_format_mismatch: + $ref: '#/components/examples/json_400_panui_restapi_output_format_mismatch' + missing_query_parameter: + $ref: '#/components/examples/json_400_panui_restapi_missing_query_parameter' + invalid_query_parameter: + $ref: '#/components/examples/json_400_panui_restapi_invalid_query_parameter' + missing_body: + $ref: '#/components/examples/json_400_panui_restapi_missing_body' + invalid_object: + $ref: '#/components/examples/json_400_panui_mgmt_invalid_object' + not_found: + description: Not Found + content: + application/json: + schema: + $ref: '#/components/schemas/generic_error' + examples: + object_not_present: + $ref: '#/components/examples/json_404_panui_mgmt_object_not_present' + conflict_errors: + description: Conflict + content: + application/json: + schema: + $ref: '#/components/schemas/generic_error' + examples: + object_not_unique: + $ref: '#/components/examples/json_409_panui_mgmt_object_not_unique' + name_not_unique: + $ref: '#/components/examples/json_409_panui_mgmt_name_not_unique' + reference_not_zero: + $ref: '#/components/examples/json_409_panui_mgmt_reference_not_zero' + default_errors: + description: General Errors + content: + application/json: + schema: + $ref: '#/components/schemas/generic_error' + examples: + version_not_supported: + $ref: '#/components/examples/json_501_panui_restapi_version_not_supported' + method_not_allowed: + $ref: '#/components/examples/json_501_panui_restapi_method_not_supported' + action_not_supported: + $ref: '#/components/examples/json_405_panui_restapi_action_not_supported' + bad_xpath: + $ref: '#/components/examples/json_400_panui_mgmt_bad_xpath' + invalid_command: + $ref: '#/components/examples/json_400_panui_mgmt_invalid_command' + malformed_command: + $ref: '#/components/examples/json_400_panui_mgmt_malformed_command' + session_timeout: + $ref: '#/components/examples/json_504_panui_mgmt_session_timeout' + examples: + json_401_panui_auth_not_authenticated: + summary: Not Authenticated + value: + _errors: + - code: E016 + message: Not Authenticated + details: {} + _request_id: 123e4567-e89b-12d3-a456-426655440000 + json_401_panui_auth_invalid_credential: + summary: Invalid Credential + value: + _errors: + - code: E016 + message: Invalid Credential + details: {} + _request_id: 123e4567-e89b-12d3-a456-426655440000 + json_401_panui_auth_key_too_long: + summary: Key Too Long + value: + _errors: + - code: E016 + message: Key Too Long + details: {} + _request_id: 123e4567-e89b-12d3-a456-426655440000 + json_401_panui_auth_key_expired: + summary: Key Expired + value: + _errors: + - code: E016 + message: Key Expired + details: {} + _request_id: 123e4567-e89b-12d3-a456-426655440000 + json_401_panui_auth_need_password_change: + summary: Need Password Change + value: + _errors: + - code: E016 + message: The password needs to be changed. + details: {} + _request_id: 123e4567-e89b-12d3-a456-426655440000 + json_403_panui_auth_unauthorized: + summary: Unauthorized + value: + _errors: + - code: E007 + message: Unauthorized + details: {} + _request_id: 123e4567-e89b-12d3-a456-426655440000 + json_501_panui_restapi_version_not_supported: + summary: Version Not Supported + value: + _errors: + - code: E012 + message: Version Not Supported + details: {} + _request_id: 123e4567-e89b-12d3-a456-426655440000 + json_501_panui_restapi_method_not_supported: + summary: Method Not Supported + value: + _errors: + - code: E012 + message: Method Not Supported + details: {} + _request_id: 123e4567-e89b-12d3-a456-426655440000 + json_400_panui_restapi_input_format_mismatch: + summary: Input Format Mismatch + value: + _errors: + - code: E003 + message: 'Input Format Mismatch: input-format=json' + details: {} + _request_id: 123e4567-e89b-12d3-a456-426655440000 + json_400_panui_restapi_output_format_mismatch: + summary: Output Format Mismatch + value: + _errors: + - code: E003 + message: 'Output Format Mismatch: output-format=json Accept=xml' + details: {} + _request_id: 123e4567-e89b-12d3-a456-426655440000 + json_400_panui_restapi_missing_query_parameter: + summary: Missing Query Parameter + value: + _errors: + - code: E003 + message: 'Missing Query Parameter: name' + details: {} + _request_id: 123e4567-e89b-12d3-a456-426655440000 + json_400_panui_restapi_invalid_query_parameter: + summary: Invalid Query Parameter + value: + _errors: + - code: E003 + message: 'Invalid Query Parameter: location=invalid' + details: {} + _request_id: 123e4567-e89b-12d3-a456-426655440000 + json_400_panui_restapi_missing_body: + summary: Missing Body + value: + _errors: + - code: E003 + message: Missing Body + details: {} + _request_id: 123e4567-e89b-12d3-a456-426655440000 + json_405_panui_restapi_action_not_supported: + summary: Action Not Supported + value: + _errors: + - code: E012 + message: 'Action Not Supported: move' + details: {} + _request_id: 123e4567-e89b-12d3-a456-426655440000 + json_400_panui_mgmt_bad_xpath: + summary: Bad XPath + value: + _errors: + - code: E013 + message: Bad XPath + details: {} + _request_id: 123e4567-e89b-12d3-a456-426655440000 + json_404_panui_mgmt_object_not_present: + summary: Object Not Present + value: + _errors: + - code: E005 + message: Object Not Present + details: {} + _request_id: 123e4567-e89b-12d3-a456-426655440000 + json_409_panui_mgmt_object_not_unique: + summary: Object Not Unique + value: + _errors: + - code: E016 + message: Object Not Unique + details: {} + _request_id: 123e4567-e89b-12d3-a456-426655440000 + json_409_panui_mgmt_name_not_unique: + summary: Name Not Unique + value: + _errors: + - code: E006 + message: Name Not Unique + details: {} + _request_id: 123e4567-e89b-12d3-a456-426655440000 + json_409_panui_mgmt_reference_not_zero: + summary: Reference Not Zero + value: + _errors: + - code: E009 + message: Reference Not Zero + details: {} + _request_id: 123e4567-e89b-12d3-a456-426655440000 + json_400_panui_mgmt_invalid_object: + summary: Invalid Object + value: + _errors: + - code: E003 + message: Invalid Object + details: {} + _request_id: 123e4567-e89b-12d3-a456-426655440000 + json_400_panui_mgmt_invalid_command: + summary: Invalid Command + value: + _errors: + - code: E003 + message: Invalid Command + details: {} + _request_id: 123e4567-e89b-12d3-a456-426655440000 + json_400_panui_mgmt_malformed_command: + summary: Malformed Command + value: + _errors: + - code: E003 + message: Malformed Command + details: {} + _request_id: 123e4567-e89b-12d3-a456-426655440000 + json_504_panui_mgmt_session_timeout: + summary: Session Timeout + value: + _errors: + - code: '4' + message: Session Timeout + details: {} + _request_id: 123e4567-e89b-12d3-a456-426655440000 + schemas: + config-match-list: + type: object + properties: + id: + type: string + description: UUID of the resource + readOnly: true + example: 123e4567-e89b-12d3-a456-426655440000 + name: + type: string + description: Name of the config match list entry + maxLength: 63 + description: + type: string + description: Description of the config match list entry + filter: + type: string + description: Filter of the config match list entry + send_to_panorama: + type: boolean + description: Send Panorama Flag of the config match list entry + send_email: + type: array + description: Send Email List of the config match list entry + items: + type: string + send_http: + type: array + description: Send HTTP List of the config match list entry + items: + type: string + send_snmptrap: + type: array + description: Send SNMP Trap List of the config match list entry + items: + type: string + send_syslog: + type: array + description: Send Sys Log List of the config match list entry + items: + type: string + required: + - name + oneOf: + - type: object + title: folder + properties: + folder: + type: string + pattern: ^[a-zA-Z\d\-_\. ]+$ + maxLength: 64 + description: The folder in which the resource is defined + example: My Folder + required: + - folder + - type: object + title: snippet + properties: + snippet: + type: string + pattern: ^[a-zA-Z\d\-_\. ]+$ + maxLength: 64 + description: The snippet in which the resource is defined + example: My Snippet + required: + - snippet + - type: object + title: device + properties: + device: + type: string + pattern: ^[a-zA-Z\d\-_\. ]+$ + maxLength: 64 + description: The device in which the resource is defined + example: My Device + required: + - device + globalprotect-match-list: + type: object + properties: + id: + type: string + description: UUID of the resource + readOnly: true + example: 123e4567-e89b-12d3-a456-426655440000 + name: + type: string + description: Name of the globalprotect match list entry + maxLength: 63 + description: + type: string + description: Description of the globalprotect match list entry + filter: + type: string + description: Filter of the globalprotect match list entry + quarantine: + type: boolean + description: Quarantine Flag of the globalprotect match list entry + send_to_panorama: + type: boolean + description: Send to Panorama Flag of the globalprotect match list entry + send_email: + type: array + description: Send Email List of the globalprotect match list entry + items: + type: string + send_http: + type: array + description: Send HTTP List of the globalprotect match list entry + items: + type: string + send_snmptrap: + type: array + description: Send SNMP Trap List of the globalprotect match list entry + items: + type: string + send_syslog: + type: array + description: Send Sys log List of the globalprotect match list entry + items: + type: string + required: + - name + oneOf: + - type: object + title: folder + properties: + folder: + type: string + pattern: ^[a-zA-Z\d\-_\. ]+$ + maxLength: 64 + description: The folder in which the resource is defined + example: My Folder + required: + - folder + - type: object + title: snippet + properties: + snippet: + type: string + pattern: ^[a-zA-Z\d\-_\. ]+$ + maxLength: 64 + description: The snippet in which the resource is defined + example: My Snippet + required: + - snippet + - type: object + title: device + properties: + device: + type: string + pattern: ^[a-zA-Z\d\-_\. ]+$ + maxLength: 64 + description: The device in which the resource is defined + example: My Device + required: + - device + hipmatch-match-list: + type: object + properties: + id: + type: string + description: UUID of the resource + readOnly: true + example: 123e4567-e89b-12d3-a456-426655440000 + name: + type: string + description: Name of the hipmatch match list entry + maxLength: 63 + description: + type: string + description: Description of the hipmatch match list entry + filter: + type: string + description: Filter of the hipmatch match list entry + quarantine: + type: boolean + description: Quarantine Flag of the hipmatch match list entry + send_to_panorama: + type: boolean + description: Send to Panorama Flag of the hipmatch match list entry + send_email: + type: array + description: Send Email List of the hipmatch match list entry + items: + type: string + send_http: + type: array + description: Send HTTP List of the hipmatch match list entry + items: + type: string + send_snmptrap: + type: array + description: Send SNMP Trap List of the hipmatch match list entry + items: + type: string + send_syslog: + type: array + description: Send Sys Log List of the hipmatch match list entry + items: + type: string + required: + - name + oneOf: + - type: object + title: folder + properties: + folder: + type: string + pattern: ^[a-zA-Z\d\-_\. ]+$ + maxLength: 64 + description: The folder in which the resource is defined + example: My Folder + required: + - folder + - type: object + title: snippet + properties: + snippet: + type: string + pattern: ^[a-zA-Z\d\-_\. ]+$ + maxLength: 64 + description: The snippet in which the resource is defined + example: My Snippet + required: + - snippet + - type: object + title: device + properties: + device: + type: string + pattern: ^[a-zA-Z\d\-_\. ]+$ + maxLength: 64 + description: The device in which the resource is defined + example: My Device + required: + - device + iptag-match-list: + type: object + properties: + id: + type: string + description: UUID of the resource + readOnly: true + example: 123e4567-e89b-12d3-a456-426655440000 + name: + type: string + description: Name of the iptag match list entry + maxLength: 63 + description: + type: string + description: Description of the iptag match list entry + filter: + type: string + description: Filter of the iptag match list entry + quarantine: + type: boolean + description: Quarantine Flag of the iptag match list entry + send_to_panorama: + type: boolean + description: Send to Panorama Flag of the iptag match list entry + send_email: + type: array + description: Send Email List of the iptag match list entry + items: + type: string + send_http: + type: array + description: Send HTTP List of the iptag match list entry + items: + type: string + send_snmptrap: + type: array + description: Send SNMP Trap List of the iptag match list entry + items: + type: string + send_syslog: + type: array + description: Send Sys Log List of the iptag match list entry + items: + type: string + required: + - name + oneOf: + - type: object + title: folder + properties: + folder: + type: string + pattern: ^[a-zA-Z\d\-_\. ]+$ + maxLength: 64 + description: The folder in which the resource is defined + example: My Folder + required: + - folder + - type: object + title: snippet + properties: + snippet: + type: string + pattern: ^[a-zA-Z\d\-_\. ]+$ + maxLength: 64 + description: The snippet in which the resource is defined + example: My Snippet + required: + - snippet + - type: object + title: device + properties: + device: + type: string + pattern: ^[a-zA-Z\d\-_\. ]+$ + maxLength: 64 + description: The device in which the resource is defined + example: My Device + required: + - device + system-match-list: + type: object + properties: + id: + type: string + description: UUID of the resource + readOnly: true + example: 123e4567-e89b-12d3-a456-426655440000 + name: + type: string + description: Name of the system match list entry + maxLength: 63 + description: + type: string + description: Description of the system match list entry + filter: + type: string + description: Filter of the system match list entry + send_to_panorama: + type: boolean + description: Send to Panorama Flag of the system match list entry + send_email: + type: array + description: Send Email List of the system match list entry + items: + type: string + send_http: + type: array + description: Send HTTP List of the system match list entry + items: + type: string + send_snmptrap: + type: array + description: Send SNMP Trap List of the system match list entry + items: + type: string + send_syslog: + type: array + description: Send Sys Log List of the system match list entry + items: + type: string + required: + - name + oneOf: + - type: object + title: folder + properties: + folder: + type: string + pattern: ^[a-zA-Z\d\-_\. ]+$ + maxLength: 64 + description: The folder in which the resource is defined + example: My Folder + required: + - folder + - type: object + title: snippet + properties: + snippet: + type: string + pattern: ^[a-zA-Z\d\-_\. ]+$ + maxLength: 64 + description: The snippet in which the resource is defined + example: My Snippet + required: + - snippet + - type: object + title: device + properties: + device: + type: string + pattern: ^[a-zA-Z\d\-_\. ]+$ + maxLength: 64 + description: The device in which the resource is defined + example: My Device + required: + - device + userid-match-list: + type: object + properties: + id: + type: string + description: UUID of the resource + readOnly: true + example: 123e4567-e89b-12d3-a456-426655440000 + name: + type: string + description: Name of the userid match list entry + maxLength: 63 + description: + type: string + description: Description of the userid match list entry + filter: + type: string + description: Filter of the userid match list entry + quarantine: + type: boolean + description: Quarantine Flag of the userid match list entry + send_to_panorama: + type: boolean + description: Send to Panorama Flag of the userid match list entry + send_email: + type: array + description: Send Email List of the userid match list entry + items: + type: string + send_http: + type: array + description: Send HTTP List of the userid match list entry + items: + type: string + send_snmptrap: + type: array + description: Send SNMP Trap List of the userid match list entry + items: + type: string + send_syslog: + type: array + description: Send Sys Log List of the userid match list entry + items: + type: string + required: + - name + oneOf: + - type: object + title: folder + properties: + folder: + type: string + pattern: ^[a-zA-Z\d\-_\. ]+$ + maxLength: 64 + description: The folder in which the resource is defined + example: My Folder + required: + - folder + - type: object + title: snippet + properties: + snippet: + type: string + pattern: ^[a-zA-Z\d\-_\. ]+$ + maxLength: 64 + description: The snippet in which the resource is defined + example: My Snippet + required: + - snippet + - type: object + title: device + properties: + device: + type: string + pattern: ^[a-zA-Z\d\-_\. ]+$ + maxLength: 64 + description: The device in which the resource is defined + example: My Device + required: + - device + LicenseInfo: + type: object + properties: + license_type: + type: string + example: FWAAS-SITE-1000Mbps + count: + type: integer + example: 1 + LicenseResult: + type: object + properties: + license_model: + type: array + items: + type: string + example: [ "agg-bandwidth", "site" ] + purchased_licenses: + type: array + items: + $ref: '#/components/schemas/LicenseInfo' + configured_licenses: + type: array + items: + $ref: '#/components/schemas/LicenseInfo' + operational_license: + type: string + description: > + Indicates the currently active license model. + Can be "agg-bandwidth", "site", or "none". + example: site + ike-crypto-profiles: + type: object + properties: + id: + type: string + description: UUID of the resource + readOnly: true + example: 123e4567-e89b-12d3-a456-426655440000 + name: + type: string + description: 'Alphanumeric string begin with letter: [0-9a-zA-Z._-]' + maxLength: 31 + hash: + type: array + items: + type: string + enum: + - md5 + - sha1 + - sha256 + - sha384 + - sha512 + - non-auth + description: Hashing algorithm + default: sha1 + encryption: + type: array + description: Encryption algorithm + items: + type: string + enum: + - des + - 3des + - aes-128-cbc + - aes-192-cbc + - aes-256-cbc + - aes-128-gcm + - aes-256-gcm + default: aes-128-cbc + dh_group: + type: array + items: + type: string + enum: + - group1 + - group2 + - group5 + - group14 + - group19 + - group20 + description: Phase-1 DH group + default: group2 + lifetime: + type: object + description: Ike crypto profile lifetime + oneOf: + - type: object + title: seconds + properties: + seconds: + type: integer + description: specify lifetime in seconds + minimum: 180 + maximum: 65535 + - type: object + title: minutes + properties: + minutes: + type: integer + description: specify lifetime in minutes + minimum: 3 + maximum: 65535 + - type: object + title: hours + properties: + hours: + type: integer + description: specify lifetime in hours + minimum: 1 + maximum: 65535 + - type: object + title: days + properties: + days: + type: integer + description: specify lifetime in days + minimum: 1 + maximum: 365 + authentication_multiple: + type: integer + description: IKEv2 SA reauthentication interval equals authetication-multiple * rekey-lifetime; 0 means reauthentication disabled + maximum: 50 + default: 0 + ake: + type: object + description: | + RFC 9370 Additional Key Exchange (AKE) configuration for IKE. + Supports up to 7 rounds of additional key exchanges. + Each round can specify multiple algorithms in preference order. + Supported algorithms: ml-kem-512, ml-kem-768, ml-kem-1024, and DH groups. + properties: + enabled: + type: boolean + description: Enable additional key exchanges + ake_1: + type: array + items: + type: string + description: Round 1 algorithms (e.g., ["ml-kem-768", "group14"]) + ake_2: + type: array + items: + type: string + description: Round 2 algorithms + ake_3: + type: array + items: + type: string + description: Round 3 algorithms + ake_4: + type: array + items: + type: string + description: Round 4 algorithms + ake_5: + type: array + items: + type: string + description: Round 5 algorithms + ake_6: + type: array + items: + type: string + description: Round 6 algorithms + ake_7: + type: array + items: + type: string + description: Round 7 algorithms + required: + - name + - hash + - encryption + - dh_group + oneOf: + - type: object + title: folder + properties: + folder: + type: string + pattern: ^[a-zA-Z\d\-_\. ]+$ + maxLength: 64 + description: The folder in which the resource is defined + example: My Folder + required: + - folder + - type: object + title: snippet + properties: + snippet: + type: string + pattern: ^[a-zA-Z\d\-_\. ]+$ + maxLength: 64 + description: The snippet in which the resource is defined + example: My Snippet + required: + - snippet + - type: object + title: device + properties: + device: + type: string + pattern: ^[a-zA-Z\d\-_\. ]+$ + maxLength: 64 + description: The device in which the resource is defined + example: My Device + required: + - device + ike-gateways: + type: object + properties: + id: + type: string + description: UUID of the resource + readOnly: true + example: 123e4567-e89b-12d3-a456-426655440000 + name: + type: string + description: 'Alphanumeric string begin with letter: [0-9a-zA-Z._-]' + maxLength: 63 + local_address: + type: object + x-computed-field: true + properties: + interface: + type: string + description: Interface variable or hardcoded vlan/loopback. vlan will be passed as default value + default: vlan + ip: + type: string + description: IP Prefix of the assigned interface + authentication: + type: object + oneOf: + - type: object + title: pre_shared_key + properties: + pre_shared_key: + type: object + properties: + key: + type: string + format: password + - type: object + title: certificate + properties: + certificate: + type: object + properties: + allow_id_payload_mismatch: + type: boolean + certificate_profile: + type: string + local_certificate: + type: object + properties: + local_certificate_name: + type: string + strict_validation_revocation: + type: boolean + use_management_as_source: + type: boolean + peer_id: + type: object + properties: + type: + enum: + - ipaddr + - keyid + - fqdn + - ufqdn + id: + type: string + description: Peer ID string + pattern: '^(.+\@[\*a-zA-Z0-9.-]+)$|^([\*$a-zA-Z0-9_:.-]+)$|^(([[:xdigit:]][[:xdigit:]])+)$|^([a-zA-Z0-9.]+=(\\,|[^,])+[, ]+)*([a-zA-Z0-9.]+=(\\,|[^,])+)$' + minLength: 1 + maxLength: 1024 + local_id: + type: object + properties: + type: + type: string + id: + type: string + description: Local ID string + pattern: '^(.+\@[a-zA-Z0-9.-]+)$|^([$a-zA-Z0-9_:.-]+)$|^(([[:xdigit:]][[:xdigit:]])+)$|^([a-zA-Z0-9.]+=(\\,|[^,])+[, ]+)*([a-zA-Z0-9.]+=(\\,|[^,])+)$' + minLength: 1 + maxLength: 1024 + protocol: + type: object + properties: + ikev1: + type: object + properties: + ike_crypto_profile: + type: string + dpd: + type: object + properties: + enable: + type: boolean + ikev2: + type: object + properties: + ike_crypto_profile: + type: string + dpd: + type: object + properties: + enable: + type: boolean + pq_ppk: + type: object + description: RFC 8784 Post-Quantum Pre-Shared Key (PPK) configuration + properties: + enabled: + type: boolean + description: Enable PPK for this IKE gateway + negotiation_mode: + type: string + enum: + - preferred + - mandatory + description: | + PPK negotiation mode: + - preferred: Fall back to normal IKEv2 if peer doesn't support PPK + - mandatory: Abort negotiation if peer doesn't support PPK + keys: + type: array + description: List of PPK keys + items: + type: object + properties: + name: + type: string + maxLength: 31 + description: PPK key identifier + key: + type: string + maxLength: 128 + description: PPK secret value (hex-encoded) + enabled: + type: boolean + description: Enable this PPK key + pq_kem: + type: object + description: RFC 9370 Post-Quantum Key Encapsulation Mechanism configuration + properties: + enable: + type: boolean + description: Enable PQ-KEM for this IKE gateway + block_vulnerable_cipher: + type: boolean + description: Block connections that don't support PQ-KEM + version: + enum: + - ikev2-preferred + - ikev1 + - ikev2 + default: ikev2-preferred + protocol_common: + type: object + x-computed-field: true + properties: + nat_traversal: + type: object + x-computed-field: true + description: Enables NAT traversal for the IKE gateway. + properties: + enable: + type: boolean + default: true + passive_mode: + type: boolean + default: false + fragmentation: + type: object + x-computed-field: true + properties: + enable: + type: boolean + default: false + peer_address: + type: object + oneOf: + - type: object + title: ip + properties: + ip: + type: string + description: peer gateway has static IP address + - type: object + title: fqdn + properties: + fqdn: + type: string + description: peer gateway FQDN name + maxLength: 255 + - type: object + title: dynamic + properties: + dynamic: + type: object + default: {} + required: + - name + - authentication + - protocol + - peer_address + oneOf: + - type: object + title: folder + properties: + folder: + type: string + pattern: ^[a-zA-Z\d\-_\. ]+$ + maxLength: 64 + description: The folder in which the resource is defined + example: My Folder + required: + - folder + - type: object + title: snippet + properties: + snippet: + type: string + pattern: ^[a-zA-Z\d\-_\. ]+$ + maxLength: 64 + description: The snippet in which the resource is defined + example: My Snippet + required: + - snippet + - type: object + title: device + properties: + device: + type: string + pattern: ^[a-zA-Z\d\-_\. ]+$ + maxLength: 64 + description: The device in which the resource is defined + example: My Device + required: + - device + ipsec-crypto-profiles: + type: object + properties: + id: + type: string + description: UUID of the resource + readOnly: true + example: 123e4567-e89b-12d3-a456-426655440000 + name: + type: string + description: 'Alphanumeric string begin with letter: [0-9a-zA-Z._-]' + maxLength: 31 + dh_group: + enum: + - no-pfs + - group1 + - group2 + - group5 + - group14 + - group19 + - group20 + description: phase-2 DH group (PFS DH group) + default: group2 + lifetime: + type: object + description: Ipsec crypto profile lifetime + oneOf: + - type: object + title: seconds + properties: + seconds: + type: integer + description: specify lifetime in seconds + minimum: 180 + maximum: 65535 + - type: object + title: minutes + properties: + minutes: + type: integer + description: specify lifetime in minutes + minimum: 3 + maximum: 65535 + - type: object + title: hours + properties: + hours: + type: integer + description: specify lifetime in hours + minimum: 1 + maximum: 65535 + - type: object + title: days + properties: + days: + type: integer + description: specify lifetime in days + minimum: 1 + maximum: 365 + lifesize: + type: object + oneOf: + - type: object + title: kb + properties: + kb: + type: integer + description: specify lifesize in kilobytes(KB) + minimum: 1 + maximum: 65535 + - type: object + title: mb + properties: + mb: + type: integer + description: specify lifesize in megabytes(MB) + minimum: 1 + maximum: 65535 + - type: object + title: gb + properties: + gb: + type: integer + description: specify lifesize in gigabytes(GB) + minimum: 1 + maximum: 65535 + - type: object + title: tb + properties: + tb: + type: integer + description: specify lifesize in terabytes(TB) + minimum: 1 + maximum: 65535 + ake: + type: object + description: | + RFC 9370 Additional Key Exchange (AKE) configuration for IPSec/ESP. + Supports up to 7 rounds of additional key exchanges. + Unlike IKE, each round accepts only a single algorithm (not an array). + Supported algorithms: ml-kem-512, ml-kem-768, ml-kem-1024, and DH groups. + properties: + ake_1: + type: string + description: Round 1 algorithm (e.g., "ml-kem-768") + ake_2: + type: string + description: Round 2 algorithm + ake_3: + type: string + description: Round 3 algorithm + ake_4: + type: string + description: Round 4 algorithm + ake_5: + type: string + description: Round 5 algorithm + ake_6: + type: string + description: Round 6 algorithm + ake_7: + type: string + description: Round 7 algorithm + required: + - name + - lifetime + anyOf: + - oneOf: + - type: object + title: esp + properties: + esp: + type: object + properties: + encryption: + type: array + description: Encryption algorithm + items: + type: string + enum: + - des + - 3des + - aes-128-cbc + - aes-192-cbc + - aes-256-cbc + - aes-128-gcm + - aes-256-gcm + - 'null' + default: aes-128-cbc + authentication: + type: array + description: Authentication algorithm + items: + type: string + default: sha1 + required: + - encryption + - authentication + required: + - esp + - type: object + title: ah + properties: + ah: + type: object + properties: + authentication: + type: array + items: + type: string + enum: + - md5 + - sha1 + - sha256 + - sha384 + - sha512 + required: + - authentication + required: + - ah + - oneOf: + - type: object + title: folder + properties: + folder: + type: string + pattern: ^[a-zA-Z\d\-_\. ]+$ + maxLength: 64 + description: The folder in which the resource is defined + example: My Folder + required: + - folder + - type: object + title: snippet + properties: + snippet: + type: string + pattern: ^[a-zA-Z\d\-_\. ]+$ + maxLength: 64 + description: The snippet in which the resource is defined + example: My Snippet + required: + - snippet + - type: object + title: device + properties: + device: + type: string + pattern: ^[a-zA-Z\d\-_\. ]+$ + maxLength: 64 + description: The device in which the resource is defined + example: My Device + required: + - device + ipsec-tunnels: + type: object + properties: + id: + type: string + description: UUID of the resource + readOnly: true + example: 123e4567-e89b-12d3-a456-426655440000 + name: + type: string + description: 'Alphanumeric string begin with letter: [0-9a-zA-Z._-]' + maxLength: 63 + tunnel_interface: + type: string + description: Tunnel interface variable or hardcoded tunnel. Default will be tunnels. + default: tunnel + auto_key: + type: object + properties: + ike_gateway: + type: array + items: + type: object + properties: + name: + type: string + ipsec_crypto_profile: + type: string + proxy_id: + type: array + description: IPv4 type of proxy_id values + items: + type: object + description: IPv4 type of proxy_id values for TCP protocol + properties: + name: + type: string + local: + type: string + remote: + type: string + protocol: + type: object + description: IPv4 type of proxy_id protocol values for TCP protocol + oneOf: + - type: object + title: number + properties: + number: + type: integer + description: IP protocol number + minimum: 1 + maximum: 254 + - type: object + title: tcp + properties: + tcp: + type: object + description: IPv4 type of proxy_id protocol values for TCP protocol + properties: + local_port: + type: integer + minimum: 0 + maximum: 65535 + default: 0 + remote_port: + type: integer + minimum: 0 + maximum: 65535 + default: 0 + - type: object + title: udp + properties: + udp: + type: object + description: IPv6 type of proxy_id protocol values for UDP protocol + properties: + local_port: + type: integer + minimum: 0 + maximum: 65535 + default: 0 + remote_port: + type: integer + minimum: 0 + maximum: 65535 + default: 0 + required: + - name + proxy_id_v6: + type: array + description: IPv6 type of proxy_id values + items: + type: object + description: IPv6 type of proxy_id values for TCP protocol + properties: + name: + type: string + local: + type: string + remote: + type: string + protocol: + type: object + description: IPv6 type of proxy_id protocol values for protocol + oneOf: + - type: object + title: number + properties: + number: + type: integer + description: IP protocol number + minimum: 1 + maximum: 254 + - type: object + title: tcp + properties: + tcp: + type: object + description: IPv6 type of proxy_id protocol values for TCP protocol + properties: + local_port: + type: integer + minimum: 0 + maximum: 65535 + default: 0 + remote_port: + type: integer + minimum: 0 + maximum: 65535 + default: 0 + - type: object + title: udp + properties: + udp: + type: object + description: IPv6 type of proxy_id protocol values for UDP protocol + properties: + local_port: + type: integer + minimum: 0 + maximum: 65535 + default: 0 + remote_port: + type: integer + minimum: 0 + maximum: 65535 + default: 0 + required: + - name + required: + - ike_gateway + - ipsec_crypto_profile + anti_replay: + type: boolean + description: Enable Anti-Replay check on this tunnel + copy_tos: + type: boolean + description: Copy IP TOS bits from inner packet to IPSec packet (not recommended) + default: false + enable_gre_encapsulation: + type: boolean + description: allow GRE over IPSec + default: false + tunnel_monitor: + type: object + properties: + enable: + type: boolean + description: Enable tunnel monitoring on this tunnel + default: false + destination_ip: + type: string + description: Destination IP to send ICMP probe + proxy_id: + type: string + description: Which proxy-id (or proxy-id-v6) the monitoring traffic will use + required: + - destination_ip + required: + - name + - auto_key + oneOf: + - type: object + title: folder + properties: + folder: + type: string + pattern: ^[a-zA-Z\d\-_\. ]+$ + maxLength: 64 + description: The folder in which the resource is defined + example: My Folder + required: + - folder + - type: object + title: snippet + properties: + snippet: + type: string + pattern: ^[a-zA-Z\d\-_\. ]+$ + maxLength: 64 + description: The snippet in which the resource is defined + example: My Snippet + required: + - snippet + - type: object + title: device + properties: + device: + type: string + pattern: ^[a-zA-Z\d\-_\. ]+$ + maxLength: 64 + description: The device in which the resource is defined + example: My Device + required: + - device + qos-policy-rules: + type: object + properties: + id: + type: string + description: UUID of the resource + readOnly: true + example: 123e4567-e89b-12d3-a456-426655440000 + name: + type: string + action: + type: object + properties: + class: + type: string + description: + type: string + schedule: + type: string + dscp_tos: + type: object + properties: + codepoints: + type: array + items: + type: object + properties: + name: + type: string + type: + type: object + oneOf: + - type: object + title: ef + properties: + ef: + type: object + - type: object + title: af + properties: + af: + type: object + properties: + codepoint: + type: string + - type: object + title: cs + properties: + cs: + type: object + properties: + codepoint: + type: string + - type: object + title: tos + properties: + tos: + type: object + properties: + codepoint: + type: string + - type: object + title: custom + properties: + custom: + type: object + properties: + codepoint: + type: object + properties: + binary_value: + type: string + codepoint_name: + type: string + required: + - name + - action + oneOf: + - type: object + title: folder + properties: + folder: + type: string + pattern: ^[a-zA-Z\d\-_\. ]+$ + maxLength: 64 + description: The folder in which the resource is defined + example: My Folder + required: + - folder + - type: object + title: snippet + properties: + snippet: + type: string + pattern: ^[a-zA-Z\d\-_\. ]+$ + maxLength: 64 + description: The snippet in which the resource is defined + example: My Snippet + required: + - snippet + - type: object + title: device + properties: + device: + type: string + pattern: ^[a-zA-Z\d\-_\. ]+$ + maxLength: 64 + description: The device in which the resource is defined + example: My Device + required: + - device + rule-based-move: + type: object + title: rule-based-move + properties: + destination: + enum: + - top + - bottom + - before + - after + description: 'A destination of the rule. Valid destination values are top, bottom, before and after.' + rulebase: + enum: + - pre + - post + description: A base of a rule. Valid rulebase values are pre and post. + destination_rule: + type: string + description: A destination_rule attribute is required only if the destination value is before or after. Valid destination_rule values are existing rule UUIDs within the same container. + required: + - destination + - rulebase + qos-profiles: + type: object + properties: + id: + type: string + description: UUID of the resource + readOnly: true + example: 123e4567-e89b-12d3-a456-426655440000 + name: + type: string + description: 'Alphanumeric string begin with letter: [0-9a-zA-Z._-]' + maxLength: 31 + aggregate_bandwidth: + type: object + properties: + egress_max: + type: integer + description: max sending bandwidth in mbps + minimum: 0 + maximum: 60000 + egress_guaranteed: + type: integer + description: guaranteed sending bandwidth in mbps + minimum: 0 + maximum: 16000 + class_bandwidth_type: + type: object + oneOf: + - type: object + title: mbps + properties: + mbps: + type: object + properties: + class: + type: array + description: QoS setting for traffic classes + items: + type: object + properties: + name: + enum: + - class1 + - class2 + - class3 + - class4 + - class5 + - class6 + - class7 + - class8 + description: Traffic class + priority: + enum: + - real-time + - high + - medium + - low + description: traffic class priority + default: medium + class_bandwidth: + type: object + properties: + egress_max: + type: integer + description: max sending bandwidth in mbps + minimum: 0 + maximum: 60000 + default: 0 + egress_guaranteed: + type: integer + description: guaranteed sending bandwidth in mbps + minimum: 0 + maximum: 60000 + default: 0 + - type: object + title: percentage + properties: + percentage: + type: object + properties: + class: + type: array + description: QoS setting for traffic classes + items: + type: object + properties: + name: + enum: + - class1 + - class2 + - class3 + - class4 + - class5 + - class6 + - class7 + - class8 + description: Traffic class + priority: + enum: + - real-time + - high + - medium + - low + description: traffic class priority + default: medium + class_bandwidth: + type: object + properties: + egress_max: + type: integer + description: max sending bandwidth in percentage + minimum: 0 + maximum: 100 + default: 0 + egress_guaranteed: + type: integer + description: guaranteed sending bandwidth in percentage + minimum: 0 + maximum: 100 + default: 0 + required: + - name + oneOf: + - type: object + title: folder + properties: + folder: + type: string + pattern: ^[a-zA-Z\d\-_\. ]+$ + maxLength: 64 + description: The folder in which the resource is defined + example: My Folder + required: + - folder + - type: object + title: snippet + properties: + snippet: + type: string + pattern: ^[a-zA-Z\d\-_\. ]+$ + maxLength: 64 + description: The snippet in which the resource is defined + example: My Snippet + required: + - snippet + - type: object + title: device + properties: + device: + type: string + pattern: ^[a-zA-Z\d\-_\. ]+$ + maxLength: 64 + description: The device in which the resource is defined + example: My Device + required: + - device + zones: + type: object + properties: + id: + type: string + description: UUID of the resource + readOnly: true + example: 123e4567-e89b-12d3-a456-426655440000 + name: + type: string + description: 'Alphanumeric string begin with letter: [0-9a-zA-Z._-]' + maxLength: 63 + folder: + type: string + enable_user_identification: + type: boolean + enable_device_identification: + type: boolean + network: + type: object + properties: + zone_protection_profile: + type: string + enable_packet_buffer_protection: + type: boolean + log_setting: + type: string + oneOf: + - title: tap + type: array + items: + type: string + - title: virtual_wire + type: array + items: + type: string + - title: layer2 + type: array + items: + type: string + - title: layer3 + type: array + items: + type: string + - title: tunnel + type: object + - title: external + type: array + items: + type: string + user_acl: + type: object + properties: + include_list: + type: array + items: + type: string + exclude_list: + type: array + items: + type: string + device_acl: + type: object + properties: + include_list: + type: array + items: + type: string + exclude_list: + type: array + items: + type: string + required: + - name + oneOf: + - type: object + title: folder + properties: + folder: + type: string + pattern: ^[a-zA-Z\d\-_\. ]+$ + maxLength: 64 + description: The folder in which the resource is defined + example: My Folder + required: + - folder + - type: object + title: snippet + properties: + snippet: + type: string + pattern: ^[a-zA-Z\d\-_\. ]+$ + maxLength: 64 + description: The snippet in which the resource is defined + example: My Snippet + required: + - snippet + - type: object + title: device + properties: + device: + type: string + pattern: ^[a-zA-Z\d\-_\. ]+$ + maxLength: 64 + description: The device in which the resource is defined + example: My Device + required: + - device + zone-protection-profiles: + type: object + properties: + id: + type: string + description: UUID of the resource + readOnly: true + example: 123e4567-e89b-12d3-a456-426655440000 + name: + description: The profile name + type: string + maxLength: 31 + description: + description: The description of the profile + type: string + maxLength: 255 + flood: + type: object + properties: + tcp_syn: + type: object + properties: + enable: + description: Enable protection against SYN floods? + type: boolean + oneOf: + - title: red + type: object + properties: + alarm_rate: + description: When the flow exceeds the `alert_rate`` threshold, an alarm is generated. + type: integer + format: int32 + minimum: 0 + maximum: 2000000 + example: 10000 + activate_rate: + description: When the flow exceeds the `activate_rate`` threshold, the firewall drops individual SYN packets randomly to restrict the flow. + type: integer + format: int32 + minimum: 0 + maximum: 2000000 + example: 10000 + maximal_rate: + description: When the flow exceeds the `maximal_rate` threshold, 100% of incoming SYN packets are dropped. + type: integer + format: int32 + minimum: 0 + maximum: 2000000 + example: 40000 + required: + - alarm_rate + - activate_rate + - maximal_rate + - title: syn_cookies + type: object + properties: + alarm_rate: + description: When the flow exceeds the `alert_rate`` threshold, an alarm is generated. + type: integer + format: int32 + minimum: 0 + maximum: 2000000 + example: 10000 + activate_rate: + description: When the flow exceeds the `activate_rate`` threshold, the firewall drops individual SYN packets randomly to restrict the flow. + type: integer + format: int32 + minimum: 0 + maximum: 2000000 + example: 0 + maximal_rate: + description: When the flow exceeds the `maximal_rate` threshold, 100% of incoming SYN packets are dropped. + type: integer + format: int32 + minimum: 0 + maximum: 2000000 + example: 1000000 + required: + - alarm_rate + - activate_rate + - maximal_rate + udp: + type: object + properties: + enable: + description: Enable protection against UDP floods? + type: boolean + red: + type: object + properties: + alarm_rate: + description: The number of UDP packets (not matching an existing session) that the zone receives per second that triggers an attack alarm. + type: integer + format: int32 + minimum: 0 + maximum: 2000000 + example: 10000 + activate_rate: + description: The number of UDP packets (not matching an existing session) that the zone receives per second that triggers random dropping of UDP packets. + type: integer + format: int32 + minimum: 0 + maximum: 2000000 + example: 10000 + maximal_rate: + description: The maximum number of UDP packets (not matching an existing session) the zone receives per second before packets exceeding the maximum are dropped. + type: integer + format: int32 + minimum: 0 + maximum: 2000000 + example: 40000 + required: + - alarm_rate + - activate_rate + - maximal_rate + sctp_init: + type: object + properties: + enable: + description: Enable protection against floods of Stream Control Transmission Protocol (SCTP) packets that contain an Initiation (INIT) chunk? + type: boolean + red: + type: object + properties: + alarm_rate: + description: The number of SCTP INIT packets (not matching an existing session) that the zone receives per second that triggers an attack alarm. + type: integer + format: int32 + minimum: 0 + maximum: 2000000 + example: 10000 + activate_rate: + description: The number of SCTP INIT packets (not matching an existing session) that the zone receives per second before subsequent SCTP INIT packets are dropped. + type: integer + format: int32 + minimum: 0 + maximum: 2000000 + example: 10000 + maximal_rate: + description: The maximum number of SCTP INIT packets (not matching an existing session) that the zone receives per second before packets exceeding the maximum are dropped. + type: integer + format: int32 + minimum: 0 + maximum: 2000000 + example: 10000 + required: + - alarm_rate + - activate_rate + - maximal_rate + icmp: + type: object + properties: + enable: + description: Enable protection against ICMP floods? + type: boolean + red: + type: object + properties: + alarm_rate: + description: The number of ICMP echo requests (pings not matching an existing session) that the zone receives per second that triggers an attack alarm. + type: integer + format: int32 + minimum: 0 + maximum: 2000000 + example: 10000 + activate_rate: + description: The number of ICMP packets (not matching an existing session) that the zone receives per second before subsequent ICMP packets are dropped. + type: integer + format: int32 + minimum: 0 + maximum: 2000000 + example: 10000 + maximal_rate: + description: The maximum number of ICMP packets (not matching an existing session) that the zone receives per second before packets exceeding the maximum are dropped. + type: integer + format: int32 + minimum: 0 + maximum: 2000000 + example: 40000 + required: + - alarm_rate + - activate_rate + - maximal_rate + icmpv6: + type: object + properties: + enable: + description: Enable protection against ICMPv6 floods? + type: boolean + red: + type: object + properties: + alarm_rate: + description: The number of ICMPv6 echo requests (pings not matching an existing session) that the zone receives per second that triggers an attack alarm. + type: integer + format: int32 + minimum: 0 + maximum: 2000000 + example: 10000 + activate_rate: + description: The number of ICMPv6 packets (not matching an existing session) that the zone receives per second before subsequent ICMPv6 packets are dropped. + type: integer + format: int32 + minimum: 0 + maximum: 2000000 + example: 10000 + maximal_rate: + description: The maximum number of ICMPv6 packets (not matching an existing session) that the zone receives per second before packets exceeding the maximum are dropped. + type: integer + format: int32 + minimum: 0 + maximum: 2000000 + example: 40000 + required: + - alarm_rate + - activate_rate + - maximal_rate + other_ip: + type: object + properties: + enable: + description: Enable protection against other IP (non-TCP, non-ICMP, non-ICMPv6, non-SCTP, and non-UDP) floods? + type: boolean + red: + type: object + properties: + alarm_rate: + type: integer + format: int32 + minimum: 0 + maximum: 2000000 + example: 10000 + activate_rate: + type: integer + format: int32 + minimum: 0 + maximum: 2000000 + example: 10000 + maximal_rate: + type: integer + format: int32 + minimum: 0 + maximum: 2000000 + example: 40000 + required: + - alarm_rate + - activate_rate + - maximal_rate + scan: + type: array + items: + type: object + properties: + name: + description: | + The threat ID number. These can be found in [Palo Alto Networks ThreatVault](https://threatvault.paloaltonetworks.com). + * "8001" - TCP Port Scan + * "8002" - Host Sweep + * "8003" - UDP Port Scan + * "8006" - Port Scan + type: string + enum: + - "8001" + - "8002" + - "8003" + - "8006" + action: + type: object + oneOf: + - title: allow + type: object + - title: alert + type: object + - title: block + type: object + - title: block_ip + type: object + properties: + track_by: + type: string + enum: + - source-and-destination + - source + duration: + type: integer + format: int32 + minimum: 1 + maximum: 3600 + required: + - track_by + - duration + interval: + type: integer + format: int32 + minimum: 2 + maximum: 65535 + example: 2 + threshold: + type: integer + format: int32 + minimum: 2 + maximum: 65535 + example: 100 + required: + - name + scan_white_list: + type: array + items: + type: object + properties: + name: + description: A descriptive name for the address to exclude. + type: string + oneOf: + - title: ipv4 + type: string + format: ipv4 + - title: ipv6 + type: string + format: ipv6 + required: + - name + spoofed_ip_discard: + description: | + Check that the source IP address of the ingress packet is routable and the routing interface is in the same zone as the ingress interface. If either condition is not true, discard the packet. + type: boolean + strict_ip_check: + description: | + Check that both conditions are true: + * The source IP address is not the subnet broadcast IP address of the ingress interface. + * The source IP address is routable over the exact ingress interface. + If either condition is not true, discard the packet. + type: boolean + fragmented_traffic_discard: + description: | + Discard fragmented IP packets. + type: boolean + strict_source_routing_discard: + description: | + Discard packets with the Strict Source Routing IP option set. Strict Source Routing is an option whereby a source of a datagram provides routing information through which a gateway or host must send the datagram. + type: boolean + loose_source_routing_discard: + description: | + Discard packets with the Loose Source Routing IP option set. Loose Source Routing is an option whereby a source of a datagram provides routing information and a gateway or host is allowed to choose any route of a number of intermediate gateways to get the datagram to the next address in the route. + type: boolean + timestamp_discard: + description: | + Discard packets with the Timestamp IP option set. + type: boolean + record_route_discard: + description: | + Discard packets with the Record Route IP option set. When a datagram has this option, each router that routes the datagram adds its own IP address to the header, thus providing the path to the recipient. + type: boolean + security_discard: + description: | + Discard packets if the security option is defined. + type: boolean + stream_id_discard: + description: | + Discard packets if the Stream ID option is defined. + type: boolean + unknown_option_discard: + description: | + Discard packets if the class and number are unknown. + type: boolean + malformed_option_discard: + description: | + Discard packets if they have incorrect combinations of class, number, and length based on RFCs 791, 1108, 1393, and 2113. + type: boolean + mismatched_overlapping_tcp_segment_discard: + description: | + Drop packets with mismatched overlapping TCP segments. + type: boolean + tcp_handshake_discard: + description: | + Drop packets with split handshakes. + type: boolean + tcp_syn_with_data_discard: + description: | + Prevent a TCP session from being established if the TCP SYN packet contains data during a three-way handshake. + type: boolean + default: true + tcp_synack_with_data_discard: + description: | + Prevent a TCP session from being established if the TCP SYN-ACK packet contains data during a three-way handshake. + type: boolean + default: true + reject_non_syn_tcp: + description: | + Determine whether to reject the packet if the first packet for the TCP session setup is not a SYN packet: + * `global` — Use system-wide setting that is assigned through the CLI. + * `yes` — Reject non-SYN TCP. + * `no` — Accept non-SYN TCP. + type: string + enum: + - global + - yes + - no + asymmetric_path: + description: | + Determine whether to drop or bypass packets that contain out-of-sync ACKs or out-of-window sequence numbers: + * `global` — Use system-wide setting that is assigned through TCP Settings or the CLI. + * `drop` — Drop packets that contain an asymmetric path. + * `bypass` — Bypass scanning on packets that contain an asymmetric path. + type: string + enum: + - global + - drop + - bypass + tcp_timestamp_strip: + description: | + Determine whether the packet has a TCP timestamp in the header and, if it does, strip the timestamp from the header. + type: boolean + tcp_fast_open_and_data_strip: + description: | + Strip the TCP Fast Open option (and data payload, if any) from the TCP SYN or SYN-ACK packet during a TCP three-way handshake. + type: boolean + mptcp_option_strip: + description: | + MPTCP is an extension of TCP that allows a client to maintain a connection by simultaneously using multiple paths to connect to the destination host. By default, MPTCP support is disabled, based on the global MPTCP setting. Review or adjust the MPTCP settings for the security zones associated with this profile: + * `no` — Enable MPTCP support (do not strip the MPTCP option). + * `yes` — Disable MPTCP support (strip the MPTCP option). With this configured, MPTCP connections are converted to standard TCP connections, as MPTCP is backwards compatible with TCP. + * `global` — Support MPTCP based on the global MPTCP setting. By default, the global MPTCP setting is set to yes so that MPTCP is disabled (the MPTCP option is stripped from the packet). + type: string + enum: + - no + - yes + - global + default: global + icmp_ping_zero_id_discard: + description: | + Discard packets if the ICMP ping packet has an identifier value of 0. + type: boolean + icmp_frag_discard: + description: Discard packets that consist of ICMP fragments. + type: boolean + icmp_large_packet_discard: + description: Discard ICMP packets that are larger than 1024 bytes. + type: boolean + discard_icmp_embedded_error: + description: Discard ICMP packets that are embedded with an error message. + type: boolean + suppress_icmp_timeexceeded: + description: Stop sending ICMP TTL expired messages. + type: boolean + suppress_icmp_needfrag: + description: | + Stop sending ICMP fragmentation needed messages in response to packets that exceed the interface MTU and have the do not fragment (DF) bit set. This setting will interfere with the PMTUD process performed by hosts behind the firewall. + type: boolean + ipv6: + type: object + properties: + routing_header_0: + description: Drop packets with type 0 routing header. + type: boolean + routing_header_1: + description: Drop packets with type 1 routing header. + type: boolean + routing_header_3: + description: Drop packets with type 3 routing header. + type: boolean + routing_header_4_252: + description: Drop packets with type 4 to type 252 routing header. + type: boolean + routing_header_253: + description: Drop packets with type 253 routing header. + type: boolean + routing_header_254: + description: Drop packets with type 254 routing header. + type: boolean + routing_header_255: + description: Drop packets with type 255 routing header. + type: boolean + ipv4_compatible_address: + description: Discard IPv6 packets that are defined as an RFC 4291 IPv4-Compatible IPv6 address. + type: boolean + filter_ext_hdr: + type: object + properties: + hop_by_hop_hdr: + description: Discard IPv6 packets that contain the Hop-by-Hop Options extension header. + type: boolean + routing_hdr: + description: Discard IPv6 packets that contain the Routing extension header, which directs packets to one or more intermediate nodes on its way to its destination. + type: boolean + dest_option_hdr: + description: Discard IPv6 packets that contain the Destination Options extension, which contains options intended only for the destination of the packet. + type: boolean + options_invalid_ipv6_discard: + description: Discard IPv6 packets that contain invalid IPv6 options in an extension header. + type: boolean + reserved_field_set_discard: + description: Discard IPv6 packets that have a header with a reserved field not set to zero. + type: boolean + anycast_source: + description: Discard IPv6 packets that contain an anycast source address. + type: boolean + needless_fragment_hdr: + description: Discard IPv6 packets with the last fragment flag (M=0) and offset of zero. + type: boolean + icmpv6_too_big_small_mtu_discard: + description: Discard IPv6 packets that contain a Packet Too Big ICMPv6 message when the maximum transmission unit (MTU) is less than 1,280 bytes. + type: boolean + ignore_inv_pkt: + type: object + properties: + dest_unreach: + description: Require an explicit Security policy match for Destination Unreachable ICMPv6 messages, even when the message is associated with an existing session. + type: boolean + pkt_too_big: + description: Require an explicit Security policy match for Packet Too Big ICMPv6 messages, even when the message is associated with an existing session. + type: boolean + time_exceeded: + description: Require an explicit Security policy match for Time Exceeded ICMPv6 messages, even when the message is associated with an existing session. + type: boolean + param_problem: + description: Require an explicit Security policy match for Parameter Problem ICMPv6 messages, even when the message is associated with an existing session. + type: boolean + redirect: + description: Require an explicit Security policy match for Redirect Message ICMPv6 messages, even when the message is associated with an existing session. + type: boolean + non_ip_protocol: + type: object + properties: + list_type: + description: | + Specify the type of list you are creating for protocol protection: + * Include List—Only the protocols on the list are allowed—in addition to IPv4 (0x0800), IPv6 (0x86DD), ARP (0x0806), and VLAN tagged frames (0x8100). All other protocols are implicitly denied (blocked). + * Exclude List—Only the protocols on the list are denied; all other protocols are implicitly allowed. You cannot exclude IPv4 (0x0800), IPv6 (0x86DD), ARP (0x0806), or VLAN tagged frames (0x8100). + type: string + enum: + - exclude + - include + protocol: + type: array + items: + type: object + properties: + name: + description: | + Enter the protocol name that corresponds to the Ethertype code you are adding to the list. The firewall does not verify that the protocol name matches the Ethertype code but the Ethertype code does determine the protocol filter. + type: string + ether_type: + description: | + Enter an Ethertype code (protocol) preceded by 0x to indicate hexadecimal (range is 0x0000 to 0xFFFF). A list can have a maximum of 64 Ethertypes. Some sources of Ethertype codes are: + * [IEEE hexadecimal Ethertype](https://www.iana.org/assignments/ieee-802-numbers/ieee-802-numbers.xhtml) + * [standards.ieee.org/develop/regauth/ethertype/eth.txt](https://standards-oui.ieee.org/ethertype/eth.txt) + * [www.cavebear.com/archive/cavebear/Ethernet/type.html](https://www.cavebear.com/archive/cavebear/Ethernet/type.html) + type: string + enable: + description: Enable the Ethertype code on the list. + type: boolean + required: + - name + - ether_type + l2_sec_group_tag_protection: + type: object + properties: + tags: + type: array + items: + type: object + properties: + name: + description: Name for the list of Security Group Tags (SGTs). + type: string + tag: + description: The Layer 2 SGTs in headers of packets that you want to exclude (drop) when the SGT matches this list in the Zone Protection profile applied to a zone (range is 0 to 65,535). + type: string + enable: + description: Enable this exclude list for Ethernet SGT protection. + type: boolean + required: + - name + - tag + required: + - name + oneOf: + - type: object + title: folder + properties: + folder: + type: string + pattern: ^[a-zA-Z\d\-_\. ]+$ + maxLength: 64 + description: The folder in which the resource is defined + example: My Folder + required: + - folder + - type: object + title: snippet + properties: + snippet: + type: string + pattern: ^[a-zA-Z\d\-_\. ]+$ + maxLength: 64 + description: The snippet in which the resource is defined + example: My Snippet + required: + - snippet + - type: object + title: device + properties: + device: + type: string + pattern: ^[a-zA-Z\d\-_\. ]+$ + maxLength: 64 + description: The device in which the resource is defined + example: My Device + required: + - device + nat-rules: + type: object + required: + - id + - name + - from + - to + - source + - destination + - service + properties: + name: + description: NAT rule name + type: string + id: + type: string + description: UUID of the resource + readOnly: true + example: 123e4567-e89b-12d3-a456-426655440000 + description: + description: NAT rule description + type: string + tag: + description: NAT rule tags + type: array + items: + type: string + disabled: + description: Disable NAT rule? + type: boolean + default: false + nat_type: + description: NAT type + type: string + enum: + - ipv4 + - nat64 + - nptv6 + default: ipv4 + from: + description: Source zone(s) of the original packet + type: array + items: + type: string + example: + - any + source: + description: Source address(es) of the original packet + type: array + items: + type: string + example: + - any + to: + description: Destination zone of the original packet + type: array + items: + type: string + example: + - any + to_interface: + description: Destination interface of the original packet + type: string + example: any + destination: + description: Destination address(es) of the original packet + type: array + items: + type: string + example: + - any + service: + description: The service of the original packet + type: string + example: any + source_translation: + type: object + oneOf: + - title: dynamic_ip_and_port + description: Dynamic IP and port + type: object + oneOf: + - title: translated_address + description: Translated source IP addresses + type: array + items: + description: IP address + type: string + - title: interface_address + description: Translated source interface + type: object + properties: + interface: + description: Interface name + type: string + oneOf: + - title: ip + description: Translated source IP address + type: string + - title: floating_ip + description: Floating IP address + type: string + - title: dynamic_ip + description: Dynamic IP + type: object + properties: + translated_address: + description: Translated IP addresses + type: array + items: + description: IP address + type: string + fallback: + type: object + oneOf: + - title: translated_address + description: Fallback IP addresses + type: array + items: + type: string + - title: interface_address + description: Fallback interface + type: object + properties: + interface: + description: Interface name + type: string + oneOf: + - title: ip + description: IP address + type: string + - title: floating_ip + description: Floating IP address + type: string + - title: static_ip + description: Static IP + type: object + properties: + translated_address: + description: Translated IP address + type: string + bi_directional: + type: string + active_active_device_binding: + type: string + enum: + - primary + - both + - "0" + - "1" + anyOf: + - oneOf: + - title: destination_translation + description: Destination translation + type: object + properties: + translated_address: + description: Translated destination IP address + type: string + translated_port: + description: Translated destination port + type: integer + minimum: 1 + maximum: 65535 + dns_rewrite: + description: DNS rewrite + type: object + properties: + direction: + type: string + enum: + - reverse + - forward + - title: dynamic_destination_translation + description: Dynamic destination translation + type: object + properties: + translated_address: + description: Translated destination IP address + type: string + translated_port: + description: Translated destination port + type: integer + minimum: 1 + maximum: 65535 + distribution: + description: Distribution method + type: string + enum: + - round-robin + - source-ip-hash + - ip-modulo + - ip-hash + - least-sessions + oneOf: + - type: object + title: folder + properties: + folder: + type: string + pattern: ^[a-zA-Z\d\-_\. ]+$ + maxLength: 64 + description: The folder in which the resource is defined + example: My Folder + required: + - folder + - type: object + title: snippet + properties: + snippet: + type: string + pattern: ^[a-zA-Z\d\-_\. ]+$ + maxLength: 64 + description: The snippet in which the resource is defined + example: My Snippet + required: + - snippet + - type: object + title: device + properties: + device: + type: string + pattern: ^[a-zA-Z\d\-_\. ]+$ + maxLength: 64 + description: The device in which the resource is defined + example: My Device + required: + - device + aggregate-interfaces: + type: object + required: + - name + properties: + id: + type: string + description: UUID of the resource + readOnly: true + example: 123e4567-e89b-12d3-a456-426655440000 + name: + description: Aggregate interface name + type: string + default_value: + description: Default interface assignment + type: string + comment: + description: Aggregate interface description + type: string + minLength: 0 + maxLength: 1023 + anyOf: + - oneOf: + - title: layer2 + required: + - layer2 + properties: + layer2: + type: object + properties: + vlan_tag: + description: VLAN tag. Mutually exclusive with vlan_object. + type: string + pattern: '^([1-9]\d{0,2}|[1-3]\d{3}|40[0-8]\d|409[0-6])$' + example: '123' + vlan_object: + description: VLAN object reference. Mutually exclusive with vlan_tag. + type: string + lacp: + $ref: '#/components/schemas/lacp' + netflow_profile: + description: Name of Netflow Profile to assign to Interface + type: string + - title: layer3 + required: + - layer3 + properties: + layer3: + type: object + description: Aggregate Interface Layer 3 configuration + oneOf: + - title: static + type: object + properties: + ip: + description: Aggregate Interface IP addresses + type: array + items: + type: object + required: + - name + properties: + name: + description: Aggregate Interface IP addresses name + type: string + - title: dhcp + $ref: '#/components/schemas/agg-ethernet-dhcp-client' + properties: + mtu: + description: MTU + type: integer + minimum: 576 + maximum: 9216 + default: 1500 + arp: + $ref: '#/components/schemas/agg-ethernet-arp' + ddns_config: + type: object + description: Dynamic DNS configuration specific to the Aggregate Interface. + allOf: + - $ref: '#/components/schemas/ddns-config' + interface_management_profile: + description: Interface management profile + type: string + maxLength: 31 + netflow_profile: + description: Name of Netflow Profile to assign to Interface + type: string + lacp: + $ref: '#/components/schemas/lacp' + - oneOf: + - type: object + title: folder + properties: + folder: + type: string + pattern: ^[a-zA-Z\d\-_\. ]+$ + maxLength: 64 + description: The folder in which the resource is defined + example: My Folder + required: + - folder + - type: object + title: snippet + properties: + snippet: + type: string + pattern: ^[a-zA-Z\d\-_\. ]+$ + maxLength: 64 + description: The snippet in which the resource is defined + example: My Snippet + required: + - snippet + - type: object + title: device + properties: + device: + type: string + pattern: ^[a-zA-Z\d\-_\. ]+$ + maxLength: 64 + description: The device in which the resource is defined + example: My Device + required: + - device + lacp: + type: object + properties: + enable: + description: Enable LACP? + type: boolean + default: false + fast_failover: + description: Fast failover + type: boolean + default: false + mode: + description: Mode + type: string + enum: + - passive + - active + default: passive + transmission_rate: + description: Transmission mode + type: string + enum: + - fast + - slow + default: slow + system_priority: + description: LACP system priority in system ID + type: integer + minimum: 1 + maximum: 65535 + default: 32768 + max_ports: + description: Maximum number of physical ports bundled in the LAG + type: integer + minimum: 1 + maximum: 8 + default: 8 + agg-ethernet-dhcp-client: + type: object + description: Aggregate Ethernet DHCP Client + properties: + dhcp_client: + type: object + description: Aggregate Ethernet DHCP Client Object + properties: + enable: + description: Enable DHCP? + type: boolean + default: true + create_default_route: + description: Automatically create default route pointing to default gateway provided by server + type: boolean + default: true + send_hostname: + description: Aggregate Ethernet DHCP Client Send hostname + type: object + properties: + enable: + type: boolean + default: true + hostname: + description: Set interface hostname + type: string + minLength: 1 + maxLength: 64 + pattern: '^[a-zA-Z0-9\._-]+$' + default: system-hostname + default_route_metric: + description: Metric of the default route created + type: integer + minimum: 1 + maximum: 65535 + default: 10 + ethernet-interfaces-dhcp-client: + type: object + description: Ethernet Interfaces DHCP Client + properties: + dhcp_client: + type: object + description: Ethernet Interfaces DHCP Client Object + properties: + enable: + description: Enable DHCP? + type: boolean + default: true + create_default_route: + description: Automatically create default route pointing to default gateway provided by server + type: boolean + default: true + send_hostname: + description: Ethernet Interfaces DHCP ClientSend hostname + type: object + properties: + enable: + type: boolean + default: true + hostname: + description: Set interface hostname + type: string + minLength: 1 + maxLength: 64 + pattern: '^[a-zA-Z0-9\._-]+$' + default: system-hostname + default_route_metric: + description: Metric of the default route created + type: integer + minimum: 1 + maximum: 65535 + default: 10 + layer3-sub-interfaces-dhcp-client: + type: object + description: Layer3 sub interfaces DHCP Client + properties: + dhcp_client: + type: object + description: Layer3 sub interfaces DHCP Client Object + properties: + enable: + description: Enable DHCP? + type: boolean + default: true + create_default_route: + description: Automatically create default route pointing to default gateway provided by server + type: boolean + default: true + send_hostname: + description: Layer3 sub interfaces DHCP Client Send hostname + type: object + properties: + enable: + type: boolean + default: true + hostname: + description: Set interface hostname + type: string + minLength: 1 + maxLength: 64 + pattern: '^[a-zA-Z0-9\._-]+$' + default: system-hostname + default_route_metric: + description: Metric of the default route created + type: integer + minimum: 1 + maximum: 65535 + default: 10 + vlan-interfaces-dhcp-client: + type: object + description: Vlan interfaces DHCP Client + properties: + dhcp_client: + type: object + description: Vlan interfaces DHCP Client Object + properties: + enable: + description: Enable DHCP? + type: boolean + default: true + create_default_route: + description: Automatically create default route pointing to default gateway provided by server + type: boolean + default: true + send_hostname: + description: Send hostname + type: object + properties: + enable: + type: boolean + default: true + hostname: + description: Set interface hostname + type: string + minLength: 1 + maxLength: 64 + pattern: '^[a-zA-Z0-9\._-]+$' + default: system-hostname + default_route_metric: + description: Metric of the default route created + type: integer + minimum: 1 + maximum: 65535 + default: 10 + ddns-config: + type: object + required: + - ddns_hostname + - ddns_cert_profile + - ddns_vendor + - ddns_vendor_config + properties: + ddns_enabled: + description: Enable DDNS? + type: boolean + default: false + ddns_vendor: + description: DDNS vendor + type: string + maxLength: 127 + ddns_update_interval: + description: Update interval (days) + type: integer + minimum: 1 + maximum: 30 + default: 1 + ddns_cert_profile: + description: Certificate profile + type: string + ddns_hostname: + type: string + pattern: '^[a-zA-Z0-9_\.\-]+$' + maxLength: 255 + ddns_ip: + description: IP to register (static only) + type: string + format: ip-address + ddns_vendor_config: + description: DDNS vendor + type: string + maxLength: 255 + ethernet-interfaces: + type: object + required: + - id + - name + properties: + id: + type: string + description: UUID of the resource + readOnly: true + example: 123e4567-e89b-12d3-a456-426655440000 + name: + description: Interface name + type: string + default_value: + description: Default interface assignment + type: string + comment: + description: Interface description + type: string + minLength: 0 + maxLength: 1023 + link_speed: + description: Link speed + type: string + enum: + - auto + - '10' + - '100' + - '1000' + - '10000' + - '40000' + - '100000' + default: auto + link_duplex: + description: Link duplex + type: string + enum: + - auto + - half + - full + default: auto + link_state: + description: Link state + type: string + enum: + - auto + - up + - down + default: auto + poe: + $ref: '#/components/schemas/poe' + anyOf: + - oneOf: + - title: aggregate_group + required: + - aggregate_group + properties: + aggregate_group: + type: string + example: '$aggregate-interface-example' + - title: tap + properties: + tap: + type: object + properties: + netflow_profile: + description: Name of Netflow Profile to assign to Interface + type: string + - title: layer2 + required: + - layer2 + properties: + layer2: + type: object + properties: + netflow_profile: + description: Name of Netflow Profile to assign to Interface + type: string + vlan_tag: + description: Assign interface to VLAN tag. Mutually exclusive with vlan_object. + type: string + pattern: '^([1-9]\d{0,2}|[1-3]\d{3}|40[0-8]\d|409[0-6])$' + vlan_object: + description: VLAN object reference. Mutually exclusive with vlan_tag. + type: string + lldp: + description: LLDP Settings + type: object + required: + - enable + properties: + enable: + description: Enable LLDP on Interface + type: boolean + default: false + - title: layer3 + required: + - layer3 + properties: + layer3: + type: object + description: Ethernet Interface Layer 3 configuration + oneOf: + - title: static + type: object + properties: + ip: + description: Ethernet Interface IP addresses + type: array + items: + type: object + required: + - name + properties: + name: + type: string + description: Ethernet Interface IP addresses name + - title: dhcp + type: object + $ref: "#/components/schemas/ethernet-interfaces-dhcp-client" + - title: pppoe + type: object + properties: + pppoe: + type: object + required: + - username + - password + properties: + enable: + type: boolean + default: true + username: + description: Username + type: string + minLength: 1 + maxLength: 255 + password: + description: Password + type: string + format: password + maxLength: 255 + authentication: + description: Authentication protocol + type: string + enum: + - CHAP + - PAP + - auto + static_address: + type: object + required: + - ip + properties: + ip: + description: Static IP address + type: string + maxLength: 63 + default_route_metric: + description: Metric of the default route created + type: integer + minimum: 1 + maximum: 65535 + default: 10 + access_concentrator: + description: Access concentrator + type: string + minLength: 1 + maxLength: 255 + service: + description: Service + type: string + minLength: 1 + maxLength: 255 + passive: + type: object + required: + - enable + properties: + enable: + description: Passive Mode enabled + type: boolean + default: false + + properties: + netflow_profile: + description: Name of Netflow Profile to assign to Interface + type: string + interface_management_profile: + description: Interface management profile + type: string + maxLength: 31 + mtu: + description: MTU + type: integer + minimum: 576 + maximum: 9216 + default: 1500 + arp: + $ref: '#/components/schemas/ethernet-interfaces-arp' + ddns_config: + type: object + description: Dynamic DNS configuration specific to the Ethernet Interfaces. + allOf: + - $ref: '#/components/schemas/ddns-config' + - oneOf: + - type: object + title: folder + properties: + folder: + type: string + pattern: ^[a-zA-Z\d\-_\. ]+$ + maxLength: 64 + description: The folder in which the resource is defined + example: My Folder + required: + - folder + - type: object + title: snippet + properties: + snippet: + type: string + pattern: ^[a-zA-Z\d\-_\. ]+$ + maxLength: 64 + description: The snippet in which the resource is defined + example: My Snippet + required: + - snippet + - type: object + title: device + properties: + device: + type: string + pattern: ^[a-zA-Z\d\-_\. ]+$ + maxLength: 64 + description: The device in which the resource is defined + example: My Device + required: + - device + poe: + type: object + properties: + poe_enabled: + description: Enabled PoE? + type: boolean + default: false + poe_rsvd_pwr: + description: PoE reserved power + type: integer + minimum: 0 + maximum: 90 + default: 0 + agg-ethernet-arp: + description: Aggregate Ethernet ARP configuration + type: array + items: + type: object + description: Aggregate Ethernet ARP configuration object + properties: + name: + description: IP address + type: string + format: ip-address + hw_address: + description: MAC address + type: string + format: mac-address + default: {} + ethernet-interfaces-arp: + description: Ethernet Interfaces ARP configuration + type: array + items: + type: object + description: Ethernet Interfaces ARP configuration object + properties: + name: + description: IP address + type: string + format: ip-address + hw_address: + description: MAC address + type: string + format: mac-address + default: {} + layer3-subinterfaces-arp: + description: Layer 3 sub Interfaces ARP configuration + type: array + items: + type: object + description: Layer 3 sub Interfaces ARP configuration object + properties: + name: + description: IP address + type: string + format: ip-address + hw_address: + description: MAC address + type: string + format: mac-address + default: {} + layer2-subinterfaces: + type: object + required: + - name + - vlan_tag + properties: + id: + type: string + description: UUID of the resource + readOnly: true + example: 123e4567-e89b-12d3-a456-426655440000 + name: + description: L2 sub-interface name + type: string + example: parent-interface.vlan-tag + comment: + description: Description + type: string + vlan_tag: + description: VLAN tag + type: string + pattern: '^([1-9]\d{0,2}|[1-3]\d{3}|40[0-8]\d|409[0-6])$' + vlan_object: + description: VLAN object reference + type: string + parent_interface: + description: Parent interface + type: string + oneOf: + - type: object + title: folder + properties: + folder: + type: string + pattern: ^[a-zA-Z\d\-_\. ]+$ + maxLength: 64 + description: The folder in which the resource is defined + example: My Folder + required: + - folder + - type: object + title: snippet + properties: + snippet: + type: string + pattern: ^[a-zA-Z\d\-_\. ]+$ + maxLength: 64 + description: The snippet in which the resource is defined + example: My Snippet + required: + - snippet + - type: object + title: device + properties: + device: + type: string + pattern: ^[a-zA-Z\d\-_\. ]+$ + maxLength: 64 + description: The device in which the resource is defined + example: My Device + required: + - device + layer3-subinterfaces: + type: object + required: + - name + properties: + id: + type: string + description: UUID of the resource + readOnly: true + example: 123e4567-e89b-12d3-a456-426655440000 + name: + description: L3 sub-interface name + type: string + tag: + description: VLAN tag + type: integer + minimum: 1 + maximum: 4096 + parent_interface: + description: Parent interface + type: string + comment: + description: Description + type: string + mtu: + description: MTU + type: integer + minimum: 576 + maximum: 9216 + ddns_config: + type: object + description: Dynamic DNS configuration specific to the Layer 3 sub Interfaces. + allOf: + - $ref: '#/components/schemas/ddns-config' + arp: + $ref: "#/components/schemas/layer3-subinterfaces-arp" + interface_management_profile: + description: Interface management profile + type: string + example: string + netflow_profile: + description: Name of Netflow Profile to assign to Interface + type: string + anyOf: + - oneOf: + - title: static + type: object + properties: + ip: + description: L3 sub-interface IP Parent + type: array + items: + type: object + properties: + name: + type: string + description: L3 sub-interface IP address(es) + required: + - name + - title: dhcp + $ref: '#/components/schemas/layer3-sub-interfaces-dhcp-client' + - oneOf: + - type: object + title: folder + properties: + folder: + type: string + pattern: ^[a-zA-Z\d\-_\. ]+$ + maxLength: 64 + description: The folder in which the resource is defined + example: My Folder + required: + - folder + - type: object + title: snippet + properties: + snippet: + type: string + pattern: ^[a-zA-Z\d\-_\. ]+$ + maxLength: 64 + description: The snippet in which the resource is defined + example: My Snippet + required: + - snippet + - type: object + title: device + properties: + device: + type: string + pattern: ^[a-zA-Z\d\-_\. ]+$ + maxLength: 64 + description: The device in which the resource is defined + example: My Device + required: + - device + loopback-interfaces: + type: object + required: + - name + properties: + id: + type: string + description: UUID of the resource loopback interface + readOnly: true + example: 123e4567-e89b-12d3-a456-426655440000 + name: + description: Loopback Interface name + pattern: '^\$[a-zA-Z\d\-_\. ]+$' + type: string + default_value: + description: Default interface assignment for loopback interface + pattern: '^loopback\.([1-9][0-9]{0,3})$' + type: string + example: 'loopback.123' + comment: + description: Description for loopback interface + type: string + mtu: + description: MTU for loopback interface + type: integer + minimum: 576 + maximum: 9216 + interface_management_profile: + description: Interface management profile for loopback interface + type: string + example: string + netflow_profile: + description: Name of Netflow Profile to assign to Interface + type: string + ip: + description: Loopback IP Parent + type: array + items: + type: object + properties: + name: + type: string + description: Loopback IP address(es) + required: + - name + ipv6: + description: Loopback IPv6 Configuration + type: object + properties: + address: + description: IPv6 Address Parent for loopback interface + type: array + items: + type: object + properties: + enable_on_interface: + type: boolean + description: Enable Address on Interface for loopback interface + default: true + name: + type: string + description: IPv6 Address for loopback interface + example: '2001:DB8::1/128' + anycast: + description: Anycast for loopback interface + type: object + prefix: + description: Use interface ID as host portion for loopback interface + type: object + enabled: + description: Enable IPv6 for loopback interface + type: boolean + default: false + interface_id: + type: string + description: Interface ID for loopback interface + default: "EUI-64" + oneOf: + - type: object + title: folder + properties: + folder: + type: string + pattern: ^[a-zA-Z\d\-_\. ]+$ + maxLength: 64 + description: The folder in which the resource is defined + example: My Folder + required: + - folder + - type: object + title: snippet + properties: + snippet: + type: string + pattern: ^[a-zA-Z\d\-_\. ]+$ + maxLength: 64 + description: The snippet in which the resource is defined + example: My Snippet + required: + - snippet + - type: object + title: device + properties: + device: + type: string + pattern: ^[a-zA-Z\d\-_\. ]+$ + maxLength: 64 + description: The device in which the resource is defined + example: My Device + required: + - device + tunnel-interfaces: + type: object + required: + - name + properties: + id: + type: string + description: UUID of the resource for tunnel interface + readOnly: true + example: 123e4567-e89b-12d3-a456-426655440000 + name: + description: L3 sub-interface name for tunnel interface + type: string + default_value: + description: Default interface assignment for tunnel interface + pattern: '^tunnel\.([1-9][0-9]{0,3})$' + type: string + example: 'tunnel.123' + comment: + description: Description for tunnel interface + type: string + mtu: + description: MTU for tunnel interface + type: integer + minimum: 576 + maximum: 9216 + interface_management_profile: + description: Interface management profile for tunnel interface + type: string + example: string + netflow_profile: + description: Name of Netflow Profile to assign to Interface + type: string + ip: + description: Tunnel Interface IP Parent + type: array + items: + type: object + properties: + name: + type: string + description: Tunnel Interface IP address(es) + required: + - name + ipv6: + description: Tunnel Interface IPv6 Configuration + type: object + properties: + address: + description: IPv6 Address Parent for tunnel interface + type: array + items: + type: object + properties: + enable_on_interface: + type: boolean + description: Enable Address on Interface for tunnel interface + default: true + name: + type: string + description: IPv6 Address for tunnel interface + example: '2001:DB8::1/128' + anycast: + description: Anycast for tunnel interface + type: object + prefix: + description: Use interface ID as host portion for tunnel interface + type: object + enabled: + description: Enable IPv6 for tunnel interface + type: boolean + default: false + interface_id: + type: string + description: Interface ID for tunnel interface + default: "EUI-64" + + oneOf: + - type: object + title: folder + properties: + folder: + type: string + pattern: ^[a-zA-Z\d\-_\. ]+$ + maxLength: 64 + description: The folder in which the resource is defined + example: My Folder + required: + - folder + - type: object + title: snippet + properties: + snippet: + type: string + pattern: ^[a-zA-Z\d\-_\. ]+$ + maxLength: 64 + description: The snippet in which the resource is defined + example: My Snippet + required: + - snippet + - type: object + title: device + properties: + device: + type: string + pattern: ^[a-zA-Z\d\-_\. ]+$ + maxLength: 64 + description: The device in which the resource is defined + example: My Device + required: + - device + vlan-interfaces: + type: object + required: + - name + properties: + id: + type: string + description: UUID of the resource + readOnly: true + example: 123e4567-e89b-12d3-a456-426655440000 + name: + description: L3 sub-interface name + type: string + default_value: + description: Default interface assignment + pattern: '^vlan\.([1-9]\d{0,2}|[1-3]\d{3}|40[0-8]\d|409[0-6])$' + type: string + example: 'vlan.123' + comment: + description: Description + type: string + vlan_tag: + description: VLAN tag. Mutually exclusive with vlan_object. + type: string + pattern: '^([1-9]\d{0,2}|[1-3]\d{3}|40[0-8]\d|409[0-6])$' + example: '123' + vlan_object: + description: VLAN object reference. Mutually exclusive with vlan_tag. + type: string + mtu: + description: MTU + type: integer + minimum: 576 + maximum: 9216 + ddns_config: + type: object + description: Dynamic DNS configuration specific to the Vlan Interfaces. + allOf: + - $ref: '#/components/schemas/ddns-config' + arp: + description: ARP configuration + type: array + items: + type: object + properties: + name: + description: IP address + type: string + format: ip-address + hw_address: + description: MAC address + type: string + format: mac-address + interface: + description: ARP interface + type: string + interface_management_profile: + description: Interface management profile + type: string + example: string + netflow_profile: + description: Name of Netflow Profile to assign to Interface + type: string + anyOf: + - oneOf: + - title: static + type: object + properties: + ip: + description: VLAN Interface IP Parent + type: array + items: + type: object + properties: + name: + type: string + description: VLAN Interface IP address(es) + required: + - name + - title: dhcp + $ref: '#/components/schemas/vlan-interfaces-dhcp-client' + - oneOf: + - type: object + title: folder + properties: + folder: + type: string + pattern: ^[a-zA-Z\d\-_\. ]+$ + maxLength: 64 + description: The folder in which the resource is defined + example: My Folder + required: + - folder + - type: object + title: snippet + properties: + snippet: + type: string + pattern: ^[a-zA-Z\d\-_\. ]+$ + maxLength: 64 + description: The snippet in which the resource is defined + example: My Snippet + required: + - snippet + - type: object + title: device + properties: + device: + type: string + pattern: ^[a-zA-Z\d\-_\. ]+$ + maxLength: 64 + description: The device in which the resource is defined + example: My Device + required: + - device + interface-management-profiles: + type: object + required: + - name + properties: + id: + type: string + description: UUID of the resource + readOnly: true + example: 123e4567-e89b-12d3-a456-426655440000 + name: + description: Name + type: string + http: + description: Allow HTTP? + type: boolean + https: + description: Allow HTTPS? + type: boolean + telnet: + description: Allow telnet? Seriously, why would you do this?!? + type: boolean + ssh: + description: Allow SSH? + type: boolean + ping: + description: Allow ping? + type: boolean + http_ocsp: + description: Allow HTTP OCSP? + type: boolean + response_pages: + description: Allow response pages? + type: boolean + userid_service: + description: Allow User-ID? + type: boolean + userid_syslog_listener_ssl: + description: Allow User-ID syslog listener (SSL)? + type: boolean + userid_syslog_listener_udp: + description: Allow User-ID syslog listener (UDP)? + type: boolean + permitted_ip: + description: Allowed IP address(es) + type: array + items: + type: object + properties: + name: + type: string + description: The allowed IP address or CIDR block. + required: + - name + oneOf: + - type: object + title: folder + properties: + folder: + type: string + pattern: ^[a-zA-Z\d\-_\. ]+$ + maxLength: 64 + description: The folder in which the resource is defined + example: My Folder + required: + - folder + - type: object + title: snippet + properties: + snippet: + type: string + pattern: ^[a-zA-Z\d\-_\. ]+$ + maxLength: 64 + description: The snippet in which the resource is defined + example: My Snippet + required: + - snippet + - type: object + title: device + properties: + device: + type: string + pattern: ^[a-zA-Z\d\-_\. ]+$ + maxLength: 64 + description: The device in which the resource is defined + example: My Device + required: + - device + bgp-address-family-profiles: + type: object + required: + - name + properties: + id: + type: string + description: UUID of the resource + readOnly: true + example: 123e4567-e89b-12d3-a456-426655440000 + name: + description: Name + type: string + ipv4: + description: IPv4 Address Family + type: object + properties: + unicast: + $ref: '#/components/schemas/bgp-address-family' + multicast: + $ref: '#/components/schemas/bgp-address-family' + anyOf: + - required: + - unicast + - required: + - multicast + oneOf: + - type: object + title: folder + properties: + folder: + type: string + pattern: ^[a-zA-Z\d\-_\. ]+$ + maxLength: 64 + description: The folder in which the resource is defined + example: My Folder + required: + - folder + - type: object + title: snippet + properties: + snippet: + type: string + pattern: ^[a-zA-Z\d\-_\. ]+$ + maxLength: 64 + description: The snippet in which the resource is defined + example: My Snippet + required: + - snippet + - type: object + title: device + properties: + device: + type: string + pattern: ^[a-zA-Z\d\-_\. ]+$ + maxLength: 64 + description: The device in which the resource is defined + example: My Device + required: + - device + bgp-address-family: + type: object + properties: + enable: + description: Enable? + type: boolean + soft_reconfig_with_stored_info: + description: Soft reconfiguration of peer with stored routes? + type: boolean + add_path: + type: object + properties: + tx_all_paths: + description: Advertise all paths to peer? + type: boolean + tx_bestpath_per_AS: + description: Advertise the bestpath per each neighboring AS? + type: boolean + as_override: + description: Override ASNs in outbound updates if AS-Path equals Remote-AS? + type: boolean + route_reflector_client: + description: Route reflector client? + type: boolean + default_originate: + description: Originate default route? + type: boolean + default_originate_map: + description: Default originate route map + type: string + allowas_in: + type: object + oneOf: + - title: origin + required: + - origin + properties: + origin: + type: object + - title: occurrence + required: + - occurrence + properties: + occurrence: + description: Number of times the firewalls own AS can be in an AS_PATH + type: integer + minimum: 1 + maximum: 10 + default: 1 + maximum_prefix: + type: object + properties: + num_prefixes: + description: Maximum number of prefixes + type: integer + minimum: 1 + maximum: 4294967295 + threshold: + description: Threshold percentage of the maximum number of prefixes + type: integer + minimum: 1 + maximum: 100 + action: + type: object + oneOf: + - title: warning_only + required: + - warning_only + properties: + warning_only: + type: object + - title: restart + required: + - restart + properties: + restart: + type: object + properties: + interval: + description: Restart interval + type: integer + minimum: 1 + maximum: 65535 + next_hop: + type: object + oneOf: + - title: self + required: + - self + properties: + self: + type: object + - title: self_force + required: + - self_force + properties: + self_force: + type: object + remove_private_AS: + type: object + oneOf: + - title: all + required: + - all + properties: + all: + type: object + - title: replace_AS + required: + - replace_AS + properties: + replace_AS: + type: object + send_community: + type: object + oneOf: + - title: all + required: + - all + properties: + all: + type: object + - title: both + required: + - both + properties: + both: + type: object + - title: extended + required: + - extended + properties: + extended: + type: object + - title: large + required: + - large + properties: + large: + type: object + - title: standard + required: + - standard + properties: + standard: + type: object + orf: + type: object + properties: + orf_prefix_list: + description: ORF prefix list + type: string + enum: + - none + - both + - receive + - send + bgp-auth-profiles: + type: object + required: + - name + properties: + id: + type: string + description: UUID of the resource + readOnly: true + example: 123e4567-e89b-12d3-a456-426655440000 + name: + description: Profile name + type: string + secret: + description: BGP authentication key + type: string + format: password + oneOf: + - type: object + title: folder + properties: + folder: + type: string + pattern: ^[a-zA-Z\d\-_\. ]+$ + maxLength: 64 + description: The folder in which the resource is defined + example: My Folder + required: + - folder + - type: object + title: snippet + properties: + snippet: + type: string + pattern: ^[a-zA-Z\d\-_\. ]+$ + maxLength: 64 + description: The snippet in which the resource is defined + example: My Snippet + required: + - snippet + - type: object + title: device + properties: + device: + type: string + pattern: ^[a-zA-Z\d\-_\. ]+$ + maxLength: 64 + description: The device in which the resource is defined + example: My Device + required: + - device + bgp-filtering-profiles: + type: object + required: + - name + properties: + id: + type: string + description: UUID of the resource + readOnly: true + example: 123e4567-e89b-12d3-a456-426655440000 + name: + type: string + description: + type: string + ipv4: + type: object + anyOf: + - required: + - unicast + - required: + - multicast + properties: + unicast: + $ref: '#/components/schemas/bgp-filter' + multicast: + oneOf: + - type: object + properties: + inherit: + description: Inherit from unicast + type: boolean + - $ref: '#/components/schemas/bgp-filter' + oneOf: + - type: object + title: folder + properties: + folder: + type: string + pattern: ^[a-zA-Z\d\-_\. ]+$ + maxLength: 64 + description: The folder in which the resource is defined + example: My Folder + required: + - folder + - type: object + title: snippet + properties: + snippet: + type: string + pattern: ^[a-zA-Z\d\-_\. ]+$ + maxLength: 64 + description: The snippet in which the resource is defined + example: My Snippet + required: + - snippet + - type: object + title: device + properties: + device: + type: string + pattern: ^[a-zA-Z\d\-_\. ]+$ + maxLength: 64 + description: The device in which the resource is defined + example: My Device + required: + - device + bgp-filter: + type: object + properties: + filter_list: + type: object + properties: + inbound: + type: string + outbound: + type: string + inbound_network_filters: + type: object + properties: + distribute_list: + type: string + prefix_list: + type: string + outbound_network_filters: + type: object + properties: + distribute_list: + type: string + prefix_list: + type: string + route_maps: + type: object + properties: + inbound: + type: string + outbound: + type: string + conditional_advertisement: + type: object + properties: + exist: + type: object + properties: + advertise_map: + type: string + exist_map: + type: string + non_exist: + type: object + properties: + advertise_map: + type: string + non_exist_map: + type: string + unsuppress_map: + type: string + bgp-redistribution-profiles: + type: object + required: + - name + - ipv4 + properties: + id: + type: string + description: UUID of the resource + readOnly: true + example: 123e4567-e89b-12d3-a456-426655440000 + name: + description: Name + type: string + ipv4: + type: object + properties: + unicast: + type: object + properties: + static: + type: object + properties: + enable: + description: Enable static route redistribution? + type: boolean + metric: + description: Route metric + type: integer + minimum: 1 + maximum: 65535 + route_map: + description: Route map + type: string + ospf: + type: object + properties: + enable: + description: Enable OSPF route redistribution? + type: boolean + metric: + description: Route metric + type: integer + minimum: 1 + maximum: 65535 + route_map: + description: Route map + type: string + connected: + type: object + properties: + enable: + description: Enable connected route redistribution? + type: boolean + metric: + description: Route metric + type: integer + minimum: 1 + maximum: 65535 + route_map: + description: Route map + type: string + oneOf: + - type: object + title: folder + properties: + folder: + type: string + pattern: ^[a-zA-Z\d\-_\. ]+$ + maxLength: 64 + description: The folder in which the resource is defined + example: My Folder + required: + - folder + - type: object + title: snippet + properties: + snippet: + type: string + pattern: ^[a-zA-Z\d\-_\. ]+$ + maxLength: 64 + description: The snippet in which the resource is defined + example: My Snippet + required: + - snippet + - type: object + title: device + properties: + device: + type: string + pattern: ^[a-zA-Z\d\-_\. ]+$ + maxLength: 64 + description: The device in which the resource is defined + example: My Device + required: + - device + bgp-route-map-redistributions: + type: object + required: + - name + properties: + id: + type: string + description: BGP Route Map Redistributions UUID of the resource + readOnly: true + example: 123e4567-e89b-12d3-a456-426655440000 + name: + description: BGP Route Map Redistributions Name + type: string + description: + description: BGP Route Map Redistributions Description + type: string + anyOf: + - oneOf: + - title: bgp + required: + - bgp + properties: + bgp: + type: object + oneOf: + - title: ospf + description: BGP Root OSPF + required: + - ospf + properties: + ospf: + type: object + properties: + route_map: + description: BGP Root OSPF Route maps + type: array + items: + type: object + properties: + name: + description: BGP Root OSPF Route maps Sequence number + type: integer + minimum: 1 + maximum: 65535 + action: + description: BGP Root OSPF Route maps Action + type: string + enum: + - permit + - deny + description: + description: BGP Root OSPF Route maps Description + type: string + match: + type: object + properties: + as_path_access_list: + description: BGP Root OSPF Route maps match AS path access list + type: string + regular_community: + description: BGP Root OSPF Route maps match Regular community + type: string + large_community: + description: BGP Root OSPF Route maps match Large community + type: string + extended_community: + description: EBGP Root OSPF Route maps match xtended community + type: string + interface: + description: BGP Root OSPF Route maps match Interface + type: string + origin: + description: BGP Root OSPF Route maps match Origin + type: string + metric: + description: BGP Root OSPF Route maps match Metric + type: integer + minimum: 0 + maximum: 4294967295 + tag: + description: BGP Root OSPF Route maps match Tag + type: integer + minimum: 1 + maximum: 4294967295 + local_preference: + description: BGP Root OSPF Route maps match Local preference + type: integer + minimum: 1 + maximum: 4294967295 + peer: + description: BGP Root OSPF Route maps match Peer + type: string + enum: + - local + - none + ipv4: + type: object + description: BGP Root OSPF Route maps match bgp-route-map-redistributions ipv4 object + properties: + address: + type: object + description: BGP Root OSPF Route maps match bgp-route-map-redistributions ipv4 object address + properties: + access_list: + description: BGP Root OSPF Route maps match ipv4 Access list + type: string + prefix_list: + description: BGP Root OSPF Route maps match ipv4 Prefix list + type: string + next_hop: + type: object + description: BGP Root OSPF Route maps match bgp-route-map-redistributions ipv4 object next_hop + properties: + access_list: + description: BGP Root OSPF Route maps ipv4 next_vr hop Access list + type: string + prefix_list: + description: BGP Root OSPF Route maps ipv4 next hop Prefix list + type: string + route_source: + type: object + description: BGP Root OSPF Route maps ipv4 bgp-route-map-redistributions ipv4 object route_source + properties: + access_list: + description: BGP Root OSPF Route maps ipv4 route source Access list + type: string + prefix_list: + description: BGP Root OSPF Route maps ipv4 route source Prefix list + type: string + set: + type: object + description: BGP Root OSPF Set + properties: + metric: + type: object + properties: + value: + description: BGP Root OSPF Route maps set Metric value + type: integer + minimum: 0 + maximum: 4294967295 + action: + description: BGP Root OSPF Route maps set Metric action + type: string + enum: + - set + - add + - subtract + metric_type: + description: BGP Root OSPF Route maps set Metric type + type: string + enum: + - type-1 + - type-2 + tag: + description: BGP Root OSPF Route maps set Tag + type: integer + minimum: 1 + maximum: 4294967295 + - title: rib + required: + - rib + properties: + rib: + type: object + description: BGP Root RIB + properties: + route_map: + description: BGP Root RIB Route maps + type: array + items: + type: object + properties: + name: + description: BGP Root RIB Route maps Sequence number + type: integer + minimum: 1 + maximum: 65535 + action: + description: BGP Root RIB Route maps Action + type: string + enum: + - permit + - deny + description: + description: BGP Root RIB Route maps Description + type: string + match: + type: object + description: match attribute for BG Rib route map + properties: + as_path_access_list: + description: BGP Root RIB Route maps match AS path access list + type: string + regular_community: + description: BGP Root RIB Route maps match Regular community + type: string + large_community: + description: BGP Root RIB Route maps match Large community + type: string + extended_community: + description: BGP Root RIB Route maps match Extended community + type: string + interface: + description: BGP Root RIB Route maps match Interface + type: string + origin: + description: BGP Root RIB Route maps match Origin + type: string + metric: + description: BGP Root RIB Route maps match Metric + type: integer + minimum: 0 + maximum: 4294967295 + tag: + description: BGP Root RIB Route maps match Tag + type: integer + minimum: 1 + maximum: 4294967295 + local_preference: + description: BGP Root RIB Route maps match Local preference + type: integer + minimum: 1 + maximum: 4294967295 + peer: + description: BGP Root RIB Route maps match Peer + type: string + enum: + - local + - none + ipv4: + type: object + description: BGP Route Map Redistributions Root BGP rib Route Map IPv4 + properties: + address: + type: object + description: bgp-route-map-redistributions ipv4 rib object address + properties: + access_list: + description: BGP Root RIB Route maps match ipv Access list + type: string + prefix_list: + description: BGP Root RIB Route maps match ipv Prefix list + type: string + next_hop: + type: object + description: bgp-route-map-redistributions ipv4 rib object next_hop + properties: + access_list: + description: BGP Root RIB Route maps match ipv next hop Access list + type: string + prefix_list: + description: BGP Root RIB Route maps match ipv next hop Prefix list + type: string + route_source: + type: object + properties: + access_list: + description: BGP Root RIB Route maps match ipv route source Access list + type: string + prefix_list: + description: BGP Root RIB Route maps match ipv route source Prefix list + type: string + set: + type: object + description: Set attributes for BGP route map + properties: + source_address: + description: BGP Root RIB Route maps set Source address + type: string + - title: ospf + description: OSPF Root + required: + - ospf + properties: + ospf: + type: object + oneOf: + - title: bgp + required: + - bgp + properties: + bgp: + type: object + description: OSPF Root BGP + properties: + route_map: + description: OSPF BGP Route maps + type: array + items: + type: object + properties: + name: + description: OSPF BGP Route maps Sequence number + type: integer + minimum: 1 + maximum: 65535 + action: + description: OSPF BGP Route maps Action + type: string + enum: + - permit + - deny + description: + description: OSPF BGP Route maps Description + type: string + match: + type: object + properties: + interface: + description: OSPF BGP Route maps Interface + type: string + metric: + description: OSPF BGP Route maps Metric + type: integer + minimum: 0 + maximum: 4294967295 + tag: + description: OSPF BGP Route maps Tag + type: integer + minimum: 1 + maximum: 4294967295 + address: + type: object + description: bgp-route-map-redistributions ospf address + properties: + access_list: + description: OSPF BGP Route maps match Access list + type: string + prefix_list: + description: OSPF BGP Route maps match Prefix list + type: string + next_hop: + type: object + description: bgp-route-map-redistributions ospf next_hop + properties: + access_list: + description: OSPF BGP Route maps next_hop Access list + type: string + prefix_list: + description: OSPF BGP Route maps next_hop Prefix list + type: string + set: + type: object + description: OSPF Root Set + properties: + atomic_aggregate: + description: OSPF BGP Route maps set Enable BGP atomic aggregate? + type: boolean + local_preference: + description: OSPF BGP Route maps set Local preference + type: integer + minimum: 0 + maximum: 4294967295 + tag: + description: OSPF BGP Route maps set Tag + type: integer + minimum: 1 + maximum: 4294967295 + metric: + type: object + properties: + action: + description: OSPF BGP Route maps set Metric action + type: string + enum: + - set + - add + - substract + value: + description: OSPF BGP Route maps set Metric value + type: integer + minimum: 0 + maximum: 4294967295 + weight: + description: OSPF BGP Route maps set Weight + type: integer + minimum: 0 + maximum: 4294967295 + origin: + description: OSPF BGP Route maps set Origin + type: string + enum: + - none + - egp + - igp + - incomplete + originator_id: + description: OSPF BGP Route maps set Originator ID + type: string + aggregator: + type: object + description: bgp-route-map-redistributions set aggregator + properties: + as: + description: OSPF BGP Route maps set Aggregator AS + type: integer + minimum: 1 + maximum: 4294967295 + router_id: + description: OSPF BGP Route maps set Router ID + type: string + ipv4: + type: object + properties: + source_address: + description: OSPF BGP Route maps set ipv4 Source address + type: string + next_hop: + description: OSPF BGP Route maps set ipv4 Next hop + type: string + aspath_prepend: + description: OSPF BGP Route maps set AS numbers + type: array + items: + description: OSPF BGP Route maps set AS number + type: integer + minimum: 1 + maximum: 65535 + regular_community: + description: OSPF BGP Route maps set Regular communities + type: array + items: + description: OSPF BGP Route maps set Regular community + type: string + large_community: + description: OSPF BGP Route maps set Large communities + type: array + items: + description: OSPF BGP Route maps set Large community + type: string + - title: rib + description: OSPF Root RIB + required: + - rib + properties: + rib: + type: object + properties: + route_map: + description: OSPF RIB Route maps set Route maps + type: array + items: + type: object + properties: + name: + description: OSPF RIB Route mapsSequence number + type: integer + minimum: 1 + maximum: 65535 + action: + description: OSPF RIB Route maps Action + type: string + enum: + - permit + - deny + description: + description: OSPF RIB Route maps Description + type: string + match: + type: object + properties: + interface: + description: OSPF RIB Route maps Interface + type: string + metric: + description: OSPF RIB Route maps Metric + type: integer + minimum: 0 + maximum: 4294967295 + tag: + description: OSPF RIB Route maps tag + type: integer + minimum: 1 + maximum: 4294967295 + address: + type: object + description: OSPF RIB Route maps address + properties: + access_list: + description: OSPF RIB Route maps address Access list + type: string + prefix_list: + description: OSPF RIB Route maps address Prefix list + type: string + next_hop: + type: object + description: OSPF RIB Route maps next_hop + properties: + access_list: + description: OSPF RIB Route maps next_hop Access list + type: string + prefix_list: + description: OSPF RIB Route maps next_hop Prefix list + type: string + set: + type: object + description: OSPF RIB Route maps set + properties: + source_address: + description: OSPF RIB Route maps set Source address + type: string + - title: connected_static + description: Connected Static Root + required: + - connected_static + properties: + connected_static: + type: object + oneOf: + - title: bgp + required: + - bgp + properties: + bgp: + type: object + description: Connected Static Root BGP + properties: + route_map: + description: Connected Static BGP Route maps + type: array + items: + type: object + properties: + name: + description: Connected Static BGP Route maps Sequence number + type: integer + minimum: 1 + maximum: 65535 + action: + description: Connected Static BGP Route maps Action + type: string + enum: + - permit + - deny + description: + description: Connected Static BGP Route maps Description + type: string + match: + type: object + properties: + interface: + description: Connected Static BGP Route maps match Interface + type: string + metric: + description: Connected Static BGP Route maps match Metric + type: integer + minimum: 0 + maximum: 4294967295 + ipv4: + type: object + description: bgp-route-map-redistributions connected-static ipv4 + properties: + address: + type: object + properties: + access_list: + description: Connected Static BGP Route maps match ip4 Access list + type: string + prefix_list: + description: Connected Static BGP Route maps match ip4 Prefix list + type: string + next_hop: + type: object + properties: + access_list: + description: Connected Static BGP Route maps match ip4 next hop Access list + type: string + prefix_list: + description: Connected Static BGP Route maps match ip4 next hop Prefix list + type: string + set: + type: object + properties: + atomic_aggregate: + description: Connected Static BGP Route maps set Enable BGP atomic aggregate? + type: boolean + local_preference: + description: Connected Static BGP Route maps set Local preference + type: integer + minimum: 0 + maximum: 4294967295 + tag: + description: Connected Static BGP Route maps set Tag + type: integer + minimum: 1 + maximum: 4294967295 + metric: + type: object + properties: + action: + description: Connected Static BGP Route maps set Metric action + type: string + enum: + - set + - add + - substract + value: + description: Connected Static BGP Route maps set Metric value + type: integer + minimum: 0 + maximum: 4294967295 + weight: + description: Connected Static BGP Route maps set Weight + type: integer + minimum: 0 + maximum: 4294967295 + origin: + description: Connected Static BGP Route maps set Origin + type: string + enum: + - none + - egp + - igp + - incomplete + originator_id: + description: Connected Static BGP Route maps set Originator ID + type: string + aggregator: + type: object + description: bgp-route-map-redistributions connected_static aggregator + properties: + as: + description: Connected Static BGP Route maps set Aggregator AS + type: integer + minimum: 1 + maximum: 4294967295 + router_id: + description: Connected Static BGP Route maps set Router ID + type: string + ipv4: + type: object + properties: + source_address: + description: Connected Static BGP Route maps set ipv4 Source address + type: string + next_hop: + description: Connected Static BGP Route maps set Next ipv4 hop + type: string + aspath_prepend: + description: Connected Static BGP Route maps set AS numbers + type: array + items: + description: Connected Static BGP Route maps set AS number + type: integer + minimum: 1 + maximum: 65535 + regular_community: + description: Connected Static BGP Route maps set Regular communities + type: array + items: + description: Connected Static BGP Route maps set Regular community + type: string + large_community: + description: Connected Static BGP Route maps set Large communities + type: array + items: + description: Connected Static BGP Route maps set Large community + type: string + - title: ospf + description: Connected Static Root OSPF + required: + - ospf + properties: + ospf: + type: object + properties: + route_map: + description: Connected Static BGP OSPF Route maps + type: array + items: + type: object + properties: + name: + description: Connected Static BGP OSPF Route map Sequence number + type: integer + minimum: 1 + maximum: 65535 + action: + description: Connected Static BGP OSPF Route map Action + type: string + enum: + - permit + - deny + description: + description: Connected Static BGP OSPF Route map Description + type: string + match: + type: object + properties: + interface: + description: Connected Static BGP OSPF Route map Interface + type: string + metric: + description: Connected Static BGP OSPF Route map Metric + type: integer + minimum: 0 + maximum: 4294967295 + ipv4: + type: object + description: bgp-route-map-redistributions connected-static match ipv4 + properties: + address: + type: object + description: Connected Static Root OSPF Address + properties: + access_list: + description: Connected Static BGP OSPF Route map ipv4 Access list + type: string + prefix_list: + description: Connected Static BGP OSPF Route map ipv4 Prefix list + type: string + next_hop: + type: object + properties: + access_list: + description: Connected Static BGP OSPF Route map ipv4 next hop Access list + type: string + prefix_list: + description: Connected Static BGP OSPF Route map ipv4 next hop Prefix list + type: string + set: + type: object + description: Connected Static Root OSPF Set + properties: + metric: + type: object + properties: + action: + description: Connected Static BGP OSPF Route map set Metric action + type: string + enum: + - set + - add + - substract + value: + description: Connected Static BGP OSPF Route map set Metric value + type: integer + minimum: 0 + maximum: 4294967295 + metric_type: + description: Connected Static BGP OSPF Route map set Metric type + type: string + enum: + - type-1 + - type-2 + tag: + description: Connected Static BGP OSPF Route map set Tag + type: integer + minimum: 1 + maximum: 4294967295 + - title: rib + description: Connected Static Root BGP + required: + - rib + properties: + rib: + type: object + properties: + route_map: + description: Connected Static BGP Rib Route maps + type: array + items: + type: object + properties: + name: + description: Connected Static BGP Rib Route maps Sequence number + type: integer + minimum: 1 + maximum: 65535 + action: + description: Connected Static BGP Rib Route maps Action + type: string + enum: + - permit + - deny + description: + description: Connected Static BGP Rib Route maps Description + type: string + match: + type: object + properties: + interface: + description: Connected Static BGP Rib Route maps Interface + type: string + metric: + description: Connected Static BGP Rib Route maps Metric + type: integer + minimum: 0 + maximum: 4294967295 + ipv4: + type: object + properties: + address: + type: object + description: Connected Static BGP Rib Route maps ipv4 address + properties: + access_list: + description: Connected Static BGP Rib Route maps ipv4 Access list + type: string + prefix_list: + description: Connected Static BGP Rib Route maps ipv4 Prefix list + type: string + next_hop: + type: object + properties: + access_list: + description: Connected Static BGP Rib Route maps ipv4 nect hop Access list + type: string + prefix_list: + description: Connected Static BGP Rib Route maps ipv4 next hop Prefix list + type: string + set: + type: object + description: Connected Static Root RIB set + properties: + source_address: + description: Connected Static BGP Rib Route Map Distribution Source address + type: string + - oneOf: + - type: object + title: folder + properties: + folder: + type: string + pattern: ^[a-zA-Z\d\-_\. ]+$ + maxLength: 64 + description: The folder in which the resource is defined + example: My Folder + required: + - folder + - type: object + title: snippet + properties: + snippet: + type: string + pattern: ^[a-zA-Z\d\-_\. ]+$ + maxLength: 64 + description: The snippet in which the resource is defined + example: My Snippet + required: + - snippet + - type: object + title: device + properties: + device: + type: string + pattern: ^[a-zA-Z\d\-_\. ]+$ + maxLength: 64 + description: The device in which the resource is defined + example: My Device + required: + - device + bgp-route-maps: + type: object + required: + - name + properties: + id: + type: string + description: UUID of the resource + readOnly: true + example: 123e4567-e89b-12d3-a456-426655440000 + name: + type: string + description: + type: string + route_map: + type: array + items: + type: object + properties: + name: + description: Sequence number + type: integer + minimum: 1 + maximum: 65535 + description: + description: Description + type: string + action: + description: Action + type: string + enum: + - permit + - deny + match: + type: object + properties: + as_path_access_list: + description: AS path access list + type: string + interface: + description: Interface + type: string + regular_community: + description: Regular community + type: string + origin: + description: Origin + type: string + large_community: + description: Large community + type: string + tag: + description: Tag + type: integer + minimum: 1 + maximum: 4294967295 + extended_community: + description: Extended community + type: string + local_preference: + type: integer + minimum: 0 + maximum: 4294967295 + metric: + description: Metric + type: integer + minimum: 0 + maximum: 4294967295 + peer: + description: Peer + type: string + enum: + - local + - none + ipv4: + type: object + description: bgp-route-maps ipv4 object + properties: + address: + type: object + properties: + access_list: + description: Access list + type: string + prefix_list: + description: Prefix list + type: string + next_hop: + type: object + properties: + access_list: + description: Access list + type: string + prefix_list: + description: Prefix list + type: string + route_source: + type: object + properties: + access_list: + description: Access list + type: string + prefix_list: + description: Prefix list + type: string + set: + type: object + properties: + atomic_aggregate: + description: Enable BGP atomic aggregate? + type: boolean + local_preference: + description: Local preference + type: integer + minimum: 0 + maximum: 4294967295 + tag: + description: Tag + type: integer + minimum: 0 + maximum: 4294967295 + metric: + type: object + properties: + action: + description: Metric action + type: string + enum: + - set + - add + - substract + value: + description: Metric value + type: integer + minimum: 0 + maximum: 4294967295 + weight: + description: Weight + type: integer + minimum: 0 + maximum: 4294967295 + origin: + description: Origin + type: string + enum: + - none + - egp + - igp + - incomplete + remove_regular_community: + description: Remove regular community name + type: string + remove_large_community: + description: Remove large community name + type: string + originator_id: + description: Originator ID + type: string + aggregator: + type: object + description: bgp-route-maps aggregator + properties: + as: + description: Aggregator AS + type: integer + minimum: 1 + maximum: 4294967295 + router_id: + description: Router ID + type: string + ipv4: + type: object + properties: + source_address: + description: Source address + type: string + next_hop: + description: Next hop + type: string + aspath_exclude: + type: array + items: + description: AS number + type: integer + aspath_prepend: + type: array + items: + description: AS number + type: integer + regular_community: + type: array + items: + description: Regular community + type: string + enum: + - none + - blackhole + - no-peer + - graceful-shutdown + - accept-own + - local-as + - route-filter-v4 + - route-filter-v6 + - no-advertise + - no-export + - internet + overwrite_regular_community: + description: Overwrite regular community? + type: boolean + large_community: + type: array + items: + description: Large community + type: string + overwrite_large_community: + description: Overwrite large community? + type: boolean + oneOf: + - type: object + title: folder + properties: + folder: + type: string + pattern: ^[a-zA-Z\d\-_\. ]+$ + maxLength: 64 + description: The folder in which the resource is defined + example: My Folder + required: + - folder + - type: object + title: snippet + properties: + snippet: + type: string + pattern: ^[a-zA-Z\d\-_\. ]+$ + maxLength: 64 + description: The snippet in which the resource is defined + example: My Snippet + required: + - snippet + - type: object + title: device + properties: + device: + type: string + pattern: ^[a-zA-Z\d\-_\. ]+$ + maxLength: 64 + description: The device in which the resource is defined + example: My Device + required: + - device + link-tags: + type: object + required: + - name + properties: + id: + type: string + description: UUID of the link tag + readOnly: true + example: 123e4567-e89b-12d3-a456-426655440000 + name: + description: The name of the link tag + type: string + maxLength: 63 + color: + description: The color of the link tag + type: string + enum: + - Red + - Green + - Blue + - Yellow + - Copper + - Orange + - Purple + - Gray + - Light Green + - Cyan + - Light Gray + - Blue Gray + - Lime + - Black + - Gold + - Brown + - Olive + - Maroon + - Red-Orange + - Yellow-Orange + - Forest Green + - Turquoise Blue + - Azure Blue + - Cerulean Blue + - Midnight Blue + - Medium Blue + - Cobalt Blue + - Violet Blue + - Blue Violet + - Medium Violet + - Medium Rose + - Lavender + - Orchid + - Thistle + - Peach + - Salmon + - Magenta + - Red Violet + - Mahogany + - Burnt Sienna + - Chestnut + comments: + description: Description of the link tag + type: string + maxLength: 1024 + oneOf: + - type: object + title: folder + properties: + folder: + type: string + pattern: ^[a-zA-Z\d\-_\. ]+$ + maxLength: 64 + description: The folder in which the resource is defined + example: My Folder + required: + - folder + - type: object + title: snippet + properties: + snippet: + type: string + pattern: ^[a-zA-Z\d\-_\. ]+$ + maxLength: 64 + description: The snippet in which the resource is defined + example: My Snippet + required: + - snippet + - type: object + title: device + properties: + device: + type: string + pattern: ^[a-zA-Z\d\-_\. ]+$ + maxLength: 64 + description: The device in which the resource is defined + example: My Device + required: + - device + logical-routers: + type: object + required: + - 'name' + properties: + id: + type: string + description: UUID of the resource + readOnly: true + example: 123e4567-e89b-12d3-a456-426655440000 + name: + type: string + routing_stack: + type: string + enum: + - legacy + - advanced + vrf: + type: array + items: + type: object + required: + - 'name' + properties: + name: + type: string + interface: + type: array + items: + type: string + global_vrid: + type: integer + zone_name: + type: string + admin_dists: + type: object + properties: + static: + type: integer + static_ipv6: + type: integer + ospf_inter: + type: integer + ospf_intra: + type: integer + ospf_ext: + type: integer + ospfv3_inter: + type: integer + ospfv3_intra: + type: integer + ospfv3_ext: + type: integer + bgp_internal: + type: integer + bgp_external: + type: integer + bgp_local: + type: integer + rip: + type: integer + vr_admin_dists: + type: object + properties: + static: + type: integer + static_ipv6: + type: integer + ospf_int: + type: integer + ospf_ext: + type: integer + ospfv3_int: + type: integer + ospfv3_ext: + type: integer + ibgp: + type: integer + ebgp: + type: integer + rip: + type: integer + sdwan_type: + type: string + rib_filter: + type: object + properties: + ipv4: + type: object + properties: + static: + type: object + properties: + route_map: + type: string + bgp: + type: object + properties: + route_map: + type: string + ospf: + type: object + properties: + route_map: + type: string + rip: + type: object + properties: + route_map: + type: string + ipv6: + type: object + properties: + static: + type: object + properties: + route_map: + type: string + bgp: + type: object + properties: + route_map: + type: string + ospfv3: + type: object + properties: + route_map: + type: string + routing_table: + type: object + properties: + ip: + type: object + properties: + static_route: + type: array + items: + type: object + required: + - 'name' + properties: + name: + type: string + destination: + type: string + interface: + type: string + nexthop: + type: object + oneOf: + - title: receive + required: + - receive + properties: + receive: + type: object + properties: {} + - title: discard + required: + - discard + properties: + discard: + type: object + properties: {} + - title: ip_address + required: + - ip_address + properties: + ip_address: + type: string + - title: ipv6_address + required: + - ipv6_address + properties: + ipv6_address: + type: string + - title: fqdn + required: + - fqdn + properties: + fqdn: + type: string + - title: next_lr + required: + - next_lr + properties: + next_lr: + type: string + - title: next_vr + required: + - next_vr + properties: + next_vr: + type: string + - title: tunnel + required: + - tunnel + properties: + tunnel: + type: string + route_table: + type: object + oneOf: + - title: unicast + required: + - unicast + properties: + unicast: + type: object + properties: {} + - title: multicast + required: + - multicast + properties: + multicast: + type: object + properties: {} + - title: both + required: + - both + properties: + both: + type: object + properties: {} + - title: no_install + required: + - no_install + properties: + no_install: + type: object + properties: {} + admin_dist: + type: integer + metric: + type: integer + bfd: + type: object + properties: + profile: + type: string + path_monitor: + type: object + properties: + enable: + type: boolean + failure_condition: + type: string + enum: + - 'any' + - 'all' + hold_time: + type: integer + monitor_destinations: + type: array + items: + type: object + required: + - 'name' + properties: + name: + type: string + enable: + type: boolean + source: + type: string + destination: + type: string + destination_fqdn: + type: string + interval: + type: integer + count: + type: integer + ipv6: + type: object + properties: + static_route: + type: array + items: + type: object + required: + - 'name' + properties: + name: + type: string + destination: + type: string + interface: + type: string + nexthop: + type: object + oneOf: + - title: receive + required: + - receive + properties: + receive: + type: object + properties: {} + - title: discard + required: + - discard + properties: + discard: + type: object + properties: {} + - title: ipv6_address + required: + - ipv6_address + properties: + ipv6_address: + type: string + - title: fqdn + required: + - fqdn + properties: + fqdn: + type: string + - title: next_lr + required: + - next_lr + properties: + next_lr: + type: string + - title: next_vr + required: + - next_vr + properties: + next_vr: + type: string + - title: tunnel + required: + - tunnel + properties: + tunnel: + type: string + admin_dist: + type: integer + metric: + type: integer + option: + type: object + properties: + passive: + type: object + properties: {} + route_table: + type: object + properties: + unicast: + type: object + properties: {} + multicast: + type: object + properties: {} + both: + type: object + properties: {} + no_install: + type: object + properties: {} + bfd: + type: object + properties: + profile: + type: string + path_monitor: + type: object + properties: + enable: + type: boolean + failure_condition: + type: string + enum: + - 'any' + - 'all' + hold_time: + type: integer + monitor_destinations: + type: array + items: + type: object + required: + - 'name' + properties: + name: + type: string + enable: + type: boolean + source: + type: string + destination: + type: string + destination_fqdn: + type: string + interval: + type: integer + count: + type: integer + ospf: + type: object + properties: + router_id: + type: string + global_bfd: + type: object + properties: + profile: + type: string + enable: + type: boolean + rfc1583: + type: boolean + reject_default_route: + type: boolean + allow_redist_default_route: + type: boolean + flood_prevention: + type: object + properties: + hello: + type: object + properties: + enable: + type: boolean + max_packet: + type: integer + lsa: + type: object + properties: + enable: + type: boolean + max_packet: + type: integer + spf_timer: + type: string + global_if_timer: + type: string + vr_timers: + type: object + properties: + spf_calculation_delay: + type: integer + lsa_interval: + type: integer + auth_profile: + type: array + items: + type: object + required: + - 'name' + properties: + name: + type: string + oneOf: + - title: password + required: + - password + properties: + password: + type: string + - title: md5 + required: + - md5 + properties: + md5: + type: array + items: + type: object + required: + - 'name' + properties: + name: + type: number + key: + type: string + preferred: + type: boolean + redistribution_profile: + type: string + area: + type: array + items: + type: object + required: + - 'name' + properties: + name: + type: string + authentication: + type: string + type: + type: object + oneOf: + - title: normal + required: + - normal + properties: + normal: + type: object + properties: + abr: + type: object + properties: + import_list: + type: string + export_list: + type: string + inbound_filter_list: + type: string + outbound_filter_list: + type: string + - title: stub + required: + - stub + properties: + stub: + type: object + properties: + no_summary: + type: boolean + accept_summary: + type: boolean + default_route: + type: object + oneOf: + - title: disable + required: + - disable + properties: + disable: + type: object + properties: {} + - title: advertise + required: + - advertise + properties: + advertise: + type: object + properties: + metric: + type: integer + default_route_metric: + type: integer + abr: + type: object + properties: + import_list: + type: string + export_list: + type: string + inbound_filter_list: + type: string + outbound_filter_list: + type: string + - title: nssa + required: + - nssa + properties: + nssa: + type: object + properties: + no_summary: + type: boolean + accept_summary: + type: boolean + default_information_originate: + type: object + properties: + metric: + type: integer + metric_type: + type: string + enum: + - 'type-1' + - 'type-2' + default_route: + type: object + oneOf: + - title: disable + required: + - disable + properties: + disable: + type: object + properties: {} + - title: advertise + required: + - advertise + properties: + advertise: + type: object + properties: + metric: + type: integer + type: + type: string + enum: + - 'ext-1' + - 'ext-2' + nssa_ext_range: + type: array + items: + type: object + required: + - 'name' + properties: + name: + type: string + oneOf: + - title: advertise + required: + - advertise + properties: + advertise: + type: object + properties: {} + - title: suppress + required: + - suppress + properties: + suppress: + type: object + properties: {} + abr: + type: object + properties: + import_list: + type: string + export_list: + type: string + inbound_filter_list: + type: string + outbound_filter_list: + type: string + nssa_ext_range: + type: array + items: + type: object + required: + - 'name' + properties: + name: + type: string + route_tag: + type: integer + advertise: + type: boolean + range: + type: array + items: + type: object + required: + - 'name' + properties: + name: + type: string + substitute: + type: string + advertise: + type: boolean + vr_range: + type: array + items: + type: object + required: + - 'name' + properties: + name: + type: string + oneOf: + - title: advertise + required: + - advertise + properties: + advertise: + type: object + properties: {} + - title: suppress + required: + - suppress + properties: + suppress: + type: object + properties: {} + interface: + type: array + items: + type: object + required: + - 'name' + properties: + name: + type: string + enable: + type: boolean + mtu_ignore: + type: boolean + passive: + type: boolean + priority: + type: integer + link_type: + type: object + oneOf: + - title: broadcast + required: + - broadcast + properties: + broadcast: + type: object + properties: {} + - title: p2p + required: + - p2p + properties: + p2p: + type: object + properties: {} + - title: p2mp + required: + - p2mp + properties: + p2mp: + type: object + properties: + neighbor: + type: array + items: + type: object + required: + - 'name' + properties: + name: + type: string + priority: + type: integer + metric: + type: integer + authentication: + type: string + bfd: + type: object + properties: + profile: + type: string + timing: + type: string + vr_timing: + type: object + properties: + hello_interval: + type: integer + dead_counts: + type: integer + retransmit_interval: + type: integer + transit_delay: + type: integer + gr_delay: + type: integer + virtual_link: + type: array + items: + type: object + required: + - 'name' + properties: + name: + type: string + neighbor_id: + type: string + transit_area_id: + type: string + enable: + type: boolean + interface_id: + type: integer + instance_id: + type: integer + timing: + type: string + vr_timing: + type: object + properties: + hello_interval: + type: integer + dead_counts: + type: integer + retransmit_interval: + type: integer + transit_delay: + type: integer + passive: + type: boolean + authentication: + type: string + bfd: + type: object + properties: + profile: + type: string + export_rules: + type: array + items: + type: object + required: + - 'name' + properties: + name: + type: string + new_path_type: + type: string + enum: + - 'ext-1' + - 'ext-2' + new_tag: + type: string + metric: + type: integer + graceful_restart: + type: object + properties: + enable: + type: boolean + grace_period: + type: integer + helper_enable: + type: boolean + strict_LSA_checking: + type: boolean + max_neighbor_restart_time: + type: integer + ospfv3: + type: object + properties: + enable: + type: boolean + reject_default_route: + type: boolean + allow_redist_default_route: + type: boolean + router_id: + type: string + global_bfd: + type: object + properties: + profile: + type: string + disable_transit_traffic: + type: boolean + vr_timers: + type: object + properties: + spf_calculation_delay: + type: integer + lsa_interval: + type: integer + auth_profile: + type: array + items: + type: object + required: + - 'name' + properties: + name: + type: string + spi: + type: string + oneOf: + - title: esp + required: + - esp + properties: + esp: + type: object + properties: + authentication: + type: object + oneOf: + - title: sha1 + required: + - sha1 + properties: + sha1: + type: object + properties: + key: + type: string + - title: sha256 + required: + - sha256 + properties: + sha256: + type: object + properties: + key: + type: string + - title: sha384 + required: + - sha384 + properties: + sha384: + type: object + properties: + key: + type: string + - title: sha512 + required: + - sha512 + properties: + sha512: + type: object + properties: + key: + type: string + - title: md5 + required: + - md5 + properties: + md5: + type: object + properties: + key: + type: string + - title: none + required: + - none + properties: + none: + type: object + properties: {} + encryption: + type: object + properties: + algorithm: + type: string + enum: + - '3des' + - 'aes-128-cbc' + - 'aes-192-cbc' + - 'aes-256-cbc' + - 'null' + key: + type: string + - title: ah + required: + - ah + properties: + ah: + type: object + oneOf: + - title: sha1 + required: + - sha1 + properties: + sha1: + type: object + properties: + key: + type: string + - title: sha256 + required: + - sha256 + properties: + sha256: + type: object + properties: + key: + type: string + - title: sha384 + required: + - sha384 + properties: + sha384: + type: object + properties: + key: + type: string + - title: sha512 + required: + - sha512 + properties: + sha512: + type: object + properties: + key: + type: string + - title: md5 + required: + - md5 + properties: + md5: + type: object + properties: + key: + type: string + spf_timer: + type: string + global_if_timer: + type: string + redistribution_profile: + type: string + area: + type: array + items: + type: object + required: + - 'name' + properties: + name: + type: string + authentication: + type: string + type: + type: object + oneOf: + - title: normal + required: + - normal + properties: + normal: + type: object + properties: + abr: + type: object + properties: + import_list: + type: string + export_list: + type: string + inbound_filter_list: + type: string + outbound_filter_list: + type: string + - title: stub + required: + - stub + properties: + stub: + type: object + properties: + accept_summary: + type: boolean + default_route: + type: object + oneOf: + - title: disable + required: + - disable + properties: + disable: + type: object + properties: {} + - title: advertise + required: + - advertise + properties: + advertise: + type: object + properties: + metric: + type: integer + no_summary: + type: boolean + default_route_metric: + type: integer + abr: + type: object + properties: + import_list: + type: string + export_list: + type: string + inbound_filter_list: + type: string + outbound_filter_list: + type: string + - title: nssa + required: + - nssa + properties: + nssa: + type: object + properties: + nssa_ext_range: + type: array + items: + type: object + required: + - 'name' + properties: + name: + type: string + route_tag: + type: integer + oneOf: + - title: advertise + required: + - advertise + properties: + advertise: + type: object + properties: {} + - title: suppress + required: + - suppress + properties: + suppress: + type: object + properties: {} + no_summary: + type: boolean + default_information_originate: + type: object + properties: + metric: + type: integer + metric_type: + type: string + enum: + - 'type-1' + - 'type-2' + accept_summary: + type: boolean + default_route: + type: object + oneOf: + - title: disable + required: + - disable + properties: + disable: + type: object + properties: {} + - title: advertise + required: + - advertise + properties: + advertise: + type: object + properties: + metric: + type: integer + type: + type: string + enum: + - 'ext-1' + - 'ext-2' + abr: + type: object + properties: + import_list: + type: string + export_list: + type: string + inbound_filter_list: + type: string + outbound_filter_list: + type: string + nssa_ext_range: + type: array + items: + type: object + required: + - 'name' + properties: + name: + type: string + route_tag: + type: integer + oneOf: + - title: advertise + required: + - advertise + properties: + advertise: + type: object + properties: {} + - title: suppress + required: + - suppress + properties: + suppress: + type: object + properties: {} + range: + type: array + items: + type: object + required: + - 'name' + properties: + name: + type: string + advertise: + type: boolean + vr_range: + type: array + items: + type: object + required: + - 'name' + properties: + name: + type: string + oneOf: + - title: advertise + required: + - advertise + properties: + advertise: + type: object + properties: {} + - title: suppress + required: + - suppress + properties: + suppress: + type: object + properties: {} + interface: + type: array + items: + type: object + required: + - 'name' + properties: + name: + type: string + enable: + type: boolean + mtu_ignore: + type: boolean + passive: + type: boolean + priority: + type: integer + link_type: + type: object + oneOf: + - title: broadcast + required: + - broadcast + properties: + broadcast: + type: object + properties: {} + - title: p2p + required: + - p2p + properties: + p2p: + type: object + properties: {} + - title: p2mp + required: + - p2mp + properties: + p2mp: + type: object + properties: + neighbor: + type: array + items: + type: object + required: + - 'name' + properties: + name: + type: string + priority: + type: integer + neighbor: + type: array + items: + type: object + required: + - 'name' + properties: + name: + type: string + vr_timing: + type: object + properties: + hello_interval: + type: integer + dead_counts: + type: integer + retransmit_interval: + type: integer + transit_delay: + type: integer + gr_delay: + type: integer + metric: + type: integer + instance_id: + type: integer + authentication: + type: string + bfd: + type: object + properties: + profile: + type: string + timing: + type: string + virtual_link: + type: array + items: + type: object + required: + - 'name' + properties: + name: + type: string + neighbor_id: + type: string + transit_area_id: + type: string + enable: + type: boolean + interface_id: + type: integer + instance_id: + type: integer + timing: + type: string + vr_timing: + type: object + properties: + hello_interval: + type: integer + dead_counts: + type: integer + retransmit_interval: + type: integer + transit_delay: + type: integer + passive: + type: boolean + authentication: + type: string + bfd: + type: object + properties: + profile: + type: string + export_rules: + type: array + items: + type: object + required: + - 'name' + properties: + name: + type: string + new_path_type: + type: string + enum: + - 'ext-1' + - 'ext-2' + new_tag: + type: string + metric: + type: integer + graceful_restart: + type: object + properties: + enable: + type: boolean + grace_period: + type: integer + helper_enable: + type: boolean + strict_LSA_checking: + type: boolean + max_neighbor_restart_time: + type: integer + ecmp: + type: object + properties: + enable: + type: boolean + algorithm: + type: object + oneOf: + - title: ip_modulo + required: + - ip_modulo + properties: + ip_modulo: + type: object + properties: {} + - title: ip_hash + required: + - ip_hash + properties: + ip_hash: + type: object + properties: + src_only: + type: boolean + use_port: + type: boolean + hash_seed: + type: integer + - title: weighted_round_robin + required: + - weighted_round_robin + properties: + weighted_round_robin: + type: object + properties: + interface: + type: array + items: + type: object + required: + - 'name' + properties: + name: + type: string + weight: + type: integer + - title: balanced_round_robin + required: + - balanced_round_robin + properties: + balanced_round_robin: + type: object + properties: {} + max_path: + type: integer + symmetric_return: + type: boolean + strict_source_path: + type: boolean + multicast: + type: object + properties: + enable: + type: boolean + enable_v6: + type: boolean + static_route: + type: array + items: + type: object + required: + - 'name' + properties: + name: + type: string + destination: + type: string + interface: + type: string + nexthop: + type: object + properties: + ip_address: + type: string + preference: + type: integer + pim: + type: object + properties: + enable: + type: boolean + rpf_lookup_mode: + type: string + enum: + - 'mrib-then-urib' + - 'mrib-only' + - 'urib-only' + route_ageout_time: + type: integer + if_timer_global: + type: string + group_permission: + type: string + ssm_address_space: + type: object + properties: + group_list: + type: string + spt_threshold: + type: array + items: + type: object + required: + - 'name' + properties: + name: + type: string + threshold: + type: string + interface: + type: array + items: + type: object + required: + - 'name' + properties: + name: + type: string + description: + type: string + dr_priority: + type: integer + send_bsm: + type: boolean + if_timer: + type: string + neighbor_filter: + type: string + rp: + type: object + properties: + local_rp: + type: object + oneOf: + - title: static_rp + required: + - static_rp + properties: + static_rp: + type: object + properties: + interface: + type: string + address: + type: string + override: + type: boolean + group_list: + type: string + - title: candidate_rp + required: + - candidate_rp + properties: + candidate_rp: + type: object + properties: + interface: + type: string + address: + type: string + priority: + type: integer + advertisement_interval: + type: integer + group_list: + type: string + external_rp: + type: array + items: + type: object + properties: + name: + type: string + group_list: + type: string + override: + type: boolean + igmp: + type: object + properties: + enable: + type: boolean + dynamic: + type: object + properties: + interface: + type: array + items: + type: object + required: + - 'name' + properties: + name: + type: string + version: + type: string + enum: + - '2' + - '3' + robustness: + type: string + enum: + - '1' + - '2' + - '3' + - '4' + - '5' + - '6' + - '7' + group_filter: + type: string + max_groups: + type: string + max_sources: + type: string + query_profile: + type: string + router_alert_policing: + type: boolean + static: + type: array + items: + type: object + required: + - 'name' + properties: + name: + type: string + interface: + type: string + group_address: + type: string + source_address: + type: string + msdp: + type: object + properties: + enable: + type: boolean + global_timer: + type: string + global_authentication: + type: string + originator_id: + type: object + properties: + interface: + type: string + ip: + type: string + peer: + type: array + items: + type: object + required: + - 'name' + properties: + name: + type: string + enable: + type: boolean + local_address: + type: object + properties: + interface: + type: string + ip: + type: string + peer_as: + type: string + peer_address: + type: object + oneOf: + - title: ip + required: + - ip + properties: + ip: + type: string + - title: fqdn + required: + - fqdn + properties: + fqdn: + type: string + authentication: + type: string + max_sa: + type: integer + inbound_sa_filter: + type: string + outbound_sa_filter: + type: string + mode: + type: string + enum: + - PIM-SM + - IGMP-Proxy + route_ageout_time: + type: integer + interface_group: + type: array + items: + type: object + required: + - 'name' + properties: + name: + type: string + description: + type: string + interface: + type: array + items: + type: string + group_permission: + type: object + properties: + any_source_multicast: + type: array + items: + type: object + required: + - 'name' + properties: + name: + type: string + group_address: + type: string + included: + type: boolean + source_specific_multicast: + type: array + items: + type: object + required: + - 'name' + properties: + name: + type: string + group_address: + type: string + source_address: + type: string + included: + type: boolean + igmp: + type: object + properties: + enable: + type: boolean + version: + type: string + enum: + - '1' + - '2' + - '3' + mode: + type: string + enum: + - 'router' + - 'host' + max_query_response_time: + type: integer + query_interval: + type: integer + last_member_query_interval: + type: integer + immediate_leave: + type: boolean + robustness: + type: string + enum: + - '1' + - '2' + - '3' + - '4' + - '5' + - '6' + - '7' + max_groups: + type: string + max_sources: + type: string + router_alert_policing: + type: boolean + pim: + type: object + properties: + enable: + type: boolean + assert_interval: + type: integer + hello_interval: + type: integer + join_prune_interval: + type: integer + dr_priority: + type: integer + bsr_border: + type: boolean + allowed_neighbors: + type: array + items: + type: object + required: + - 'name' + properties: + name: + type: string + ssm_address_space: + type: array + items: + type: object + required: + - 'name' + properties: + name: + type: string + group_address: + type: string + included: + type: boolean + spt_threshold: + type: array + items: + type: object + required: + - 'name' + properties: + name: + type: string + threshold: + type: string + rp: + type: object + properties: + local_rp: + type: object + oneOf: + - title: static_rp + required: + - static_rp + properties: + static_rp: + type: object + properties: + interface: + type: string + address: + type: string + override: + type: boolean + group_addresses: + type: array + items: + type: string + - title: candidate_rp + required: + - candidate_rp + properties: + candidate_rp: + type: object + properties: + interface: + type: string + address: + type: string + priority: + type: integer + advertisement_interval: + type: integer + group_addresses: + type: array + items: + type: string + external_rp: + type: array + items: + type: object + required: + - 'name' + properties: + name: + type: string + group_addresses: + type: array + items: + type: string + override: + type: boolean + rip: + type: object + properties: + enable: + type: boolean + default_information_originate: + type: boolean + global_timer: + type: string + auth_profile: + type: string + redistribution_profile: + type: string + global_bfd: + type: object + properties: + profile: + type: string + global_inbound_distribute_list: + type: object + properties: + access_list: + type: string + global_outbound_distribute_list: + type: object + properties: + access_list: + type: string + interface: + type: array + items: + type: object + required: + - 'name' + properties: + name: + type: string + enable: + type: boolean + mode: + type: string + enum: + - active + - passive + - send-only + split_horizon: + type: string + enum: + - split-horizon + - no-split-horizon + - no-split-horizon-with-poison-reverse + authentication: + type: string + bfd: + type: object + properties: + profile: + type: string + interface_inbound_distribute_list: + type: object + properties: + access_list: + type: string + metric: + type: integer + interface_outbound_distribute_list: + type: object + properties: + access_list: + type: string + metric: + type: integer + bgp: + type: object + properties: + enable: + type: boolean + router_id: + type: string + local_as: + type: string + confederation_member_as: + type: string + install_route: + type: boolean + enforce_first_as: + type: boolean + fast_external_failover: + type: boolean + ecmp_multi_as: + type: boolean + default_local_preference: + type: integer + graceful_shutdown: + type: boolean + always_advertise_network_route: + type: boolean + reject_default_route: + type: boolean + allow_redist_default_route: + type: boolean + as_format: + type: string + med: + type: object + properties: + always_compare_med: + type: boolean + deterministic_med_comparison: + type: boolean + aggregate: + type: object + properties: + aggregate_med: + type: boolean + graceful_restart: + type: object + properties: + enable: + type: boolean + stale_route_time: + type: integer + max_peer_restart_time: + type: integer + local_restart_time: + type: integer + global_bfd: + type: object + properties: + profile: + type: string + peer_group: + type: array + items: + type: object + required: + - 'name' + properties: + name: + type: string + enable: + type: boolean + aggregated_confed_as_path: + type: boolean + soft_reset_with_stored_info: + type: boolean + type: + type: object + oneOf: + - title: ibgp + required: + - ibgp + properties: + ibgp: + type: object + properties: + export_nexthop: + type: string + - title: ebgp_confed + required: + - ebgp_confed + properties: + ebgp_confed: + type: object + properties: + export_nexthop: + type: string + - title: ibgp_confed + required: + - ibgp_confed + properties: + ibgp_confed: + type: object + properties: + export_nexthop: + type: string + - title: ebgp + required: + - ebgp + properties: + ebgp: + type: object + properties: + import_nexthop: + type: string + export_nexthop: + type: string + remove_private_as: + type: boolean + address_family: + type: object + properties: + ipv4: + type: string + ipv6: + type: string + filtering_profile: + type: object + properties: + ipv4: + type: string + ipv6: + type: string + connection_options: + type: object + properties: + timers: + type: string + multihop: + type: integer + authentication: + type: string + dampening: + type: string + peer: + type: array + items: + type: object + required: + - 'name' + properties: + name: + type: string + enable: + type: boolean + passive: + type: boolean + peer_as: + type: string + peering_type: + type: string + reflector_client: + type: string + subsequent_address_family_identifier: + type: object + properties: + unicast: + type: boolean + multicast: + type: boolean + enable_sender_side_loop_detection: + type: boolean + enable_mp_bgp: + type: boolean + inherit: + type: object + oneOf: + - title: yes + required: + - yes + properties: + yes: + type: object + properties: {} + - title: no + required: + - no + properties: + no: + type: object + properties: + address_family: + type: object + properties: + ipv4: + type: string + ipv6: + type: string + filtering_profile: + type: object + properties: + ipv4: + type: string + ipv6: + type: string + local_address: + type: object + properties: + interface: + type: string + ip: + type: string + peer_address: + type: object + oneOf: + - title: ip + required: + - ip + properties: + ip: + type: string + - title: fqdn + required: + - fqdn + properties: + fqdn: + type: string + connection_options: + type: object + properties: + keep_alive_interval: + type: string + hold_time: + type: string + idle_hold_time: + type: integer + min_route_adv_interval: + type: integer + multihop: + type: string + open_delay_time: + type: integer + incoming_bgp_connection: + type: object + properties: + remote_port: + type: integer + allow: + type: boolean + outgoing_bgp_connection: + type: object + properties: + local_port: + type: integer + allow: + type: boolean + timers: + type: string + authentication: + type: string + dampening: + type: string + bfd: + type: object + properties: + profile: + type: string + multihop: + type: object + properties: + min_received_ttl: + type: integer + max_prefixes: + type: string + aggregate_routes: + type: array + items: + type: object + required: + - 'name' + properties: + name: + type: string + description: + type: string + enable: + type: boolean + summary_only: + type: boolean + as_set: + type: boolean + same_med: + type: boolean + type: + type: object + oneOf: + - title: ipv4 + required: + - ipv4 + properties: + ipv4: + type: object + properties: + summary_prefix: + type: string + suppress_map: + type: string + attribute_map: + type: string + - title: ipv6 + required: + - ipv6 + properties: + ipv6: + type: object + properties: + summary_prefix: + type: string + suppress_map: + type: string + attribute_map: + type: string + redistribution_profile: + type: object + properties: + ipv4: + type: object + properties: + unicast: + type: string + ipv6: + type: object + properties: + unicast: + type: string + advertise_network: + type: object + properties: + ipv4: + type: object + properties: + network: + type: array + items: + type: object + required: + - 'name' + properties: + name: + type: string + unicast: + type: boolean + multicast: + type: boolean + backdoor: + type: boolean + ipv6: + type: object + properties: + network: + type: array + items: + type: object + required: + - 'name' + properties: + name: + type: string + unicast: + type: boolean + policy: + type: object + properties: + import: + type: object + properties: + rules: + type: array + items: + type: object + required: + - 'name' + properties: + name: + type: string + enable: + type: boolean + used_by: + type: array + items: + type: string + match: + type: object + properties: + afi: + type: string + enum: + - ip + - ipv6 + safi: + type: string + enum: + - ip + - ipv6 + route_table: + type: string + enum: + - unicast + - multicast + - both + address_prefix: + type: array + items: + type: object + required: + - 'name' + properties: + name: + type: string + exact: + type: boolean + nexthop: + type: array + items: + type: string + from_peer: + type: array + items: + type: string + med: + type: integer + as_path: + type: object + properties: + regex: + type: string + community: + type: object + properties: + regex: + type: string + extended_community: + type: object + properties: + regex: + type: string + action: + type: object + oneOf: + - title: deny + required: + - deny + properties: + deny: + type: object + properties: {} + - title: allow + required: + - allow + properties: + allow: + type: object + properties: + dampening: + type: string + update: + type: object + properties: + local_preference: + type: integer + med: + type: integer + weight: + type: integer + nexthop: + type: string + origin: + type: string + enum: + - igp + - egp + - incomplete + as_path_limit: + type: integer + as_path: + type: object + oneOf: + - title: none + required: + - none + properties: + none: + type: object + properties: {} + - title: remove + required: + - remove + properties: + remove: + type: object + properties: {} + - title: prepend + required: + - prepend + properties: + prepend: + type: integer + - title: remove_and_prepend + required: + - remove_and_prepend + properties: + remove_and_prepend: + type: integer + community: + type: object + oneOf: + - title: none + required: + - none + properties: + none: + type: object + properties: {} + - title: remove_all + required: + - remove_all + properties: + remove_all: + type: object + properties: {} + - title: remove_regex + required: + - remove_regex + properties: + remove_regex: + type: string + - title: append + required: + - append + properties: + append: + type: array + items: + type: string + - title: overwrite + required: + - overwrite + properties: + overwrite: + type: array + items: + type: string + extended_community: + type: object + oneOf: + - title: none + required: + - none + properties: + none: + type: object + properties: {} + - title: remove_all + required: + - remove_all + properties: + remove_all: + type: object + properties: {} + - title: remove_regex + required: + - remove_regex + properties: + remove_regex: + type: string + - title: append + required: + - append + properties: + append: + type: array + items: + type: string + - title: overwrite + required: + - overwrite + properties: + overwrite: + type: array + items: + type: string + export: + type: object + properties: + rules: + type: array + items: + type: object + required: + - 'name' + properties: + name: + type: string + enable: + type: boolean + used_by: + type: array + items: + type: string + match: + type: object + properties: + afi: + type: string + enum: + - ip + - ipv6 + safi: + type: string + enum: + - ip + - ipv6 + route_table: + type: string + enum: + - unicast + - multicast + - both + address_prefix: + type: array + items: + type: object + properties: + name: + type: string + exact: + type: boolean + nexthop: + type: array + items: + type: string + from_peer: + type: array + items: + type: string + med: + type: integer + as_path: + type: object + properties: + regex: + type: string + community: + type: object + properties: + regex: + type: string + extended_community: + type: object + properties: + regex: + type: string + action: + type: object + oneOf: + - title: deny + required: + - deny + properties: + deny: + type: object + properties: {} + - title: allow + required: + - allow + properties: + allow: + type: object + properties: + update: + type: object + properties: + local_preference: + type: integer + med: + type: integer + nexthop: + type: string + origin: + type: string + enum: + - igp + - egp + - multicast + as_path_limit: + type: integer + as_path: + type: object + oneOf: + - title: none + required: + - none + properties: + none: + type: object + properties: {} + - title: remove + required: + - remove + properties: + remove: + type: object + properties: {} + - title: prepend + required: + - prepend + properties: + prepend: + type: integer + - title: remove_and_prepend + required: + - remove_and_prepend + properties: + remove_and_prepend: + type: integer + community: + type: object + oneOf: + - title: none + required: + - none + properties: + none: + type: object + properties: {} + - title: remove_all + required: + - remove_all + properties: + remove_all: + type: object + properties: {} + - title: remove_regex + required: + - remove_regex + properties: + remove_regex: + type: string + - title: append + required: + - append + properties: + append: + type: array + items: + type: string + - title: overwrite + required: + - overwrite + properties: + overwrite: + type: array + items: + type: string + extended_community: + type: object + oneOf: + - title: none + required: + - none + properties: + none: + type: object + properties: {} + - title: remove_all + required: + - remove_all + properties: + remove_all: + type: object + properties: {} + - title: remove_regex + required: + - remove_regex + properties: + remove_regex: + type: string + - title: append + required: + - append + properties: + append: + type: array + items: + type: string + - title: overwrite + required: + - overwrite + properties: + overwrite: + type: array + items: + type: string + conditional_advertisement: + type: object + properties: + policy: + type: array + items: + type: object + required: + - 'name' + properties: + name: + type: string + enable: + type: boolean + used_by: + type: array + items: + type: string + non_exist_filters: + type: array + items: + type: object + required: + - 'name' + properties: + name: + type: string + enable: + type: boolean + match: + type: object + properties: + afi: + type: string + enum: + - ip + - ipv6 + safi: + type: string + enum: + - ip + - ipv6 + route_table: + type: string + enum: + - unicast + - multicast + - both + address_prefix: + type: array + items: + type: object + required: + - 'name' + properties: + name: + type: string + exact: + type: boolean + nexthop: + type: array + items: + type: string + from_peer: + type: array + items: + type: string + med: + type: integer + as_path: + type: object + properties: + regex: + type: string + community: + type: object + properties: + regex: + type: string + extended_community: + type: object + properties: + regex: + type: string + advertise_filters: + type: array + items: + type: object + required: + - 'name' + properties: + name: + type: string + enable: + type: boolean + match: + type: object + properties: + afi: + type: string + enum: + - ip + - ipv6 + safi: + type: string + enum: + - ip + - ipv6 + route_table: + type: string + enum: + - unicast + - multicast + - both + address_prefix: + type: array + items: + type: object + required: + - 'name' + properties: + name: + type: string + exact: + type: boolean + nexthop: + type: array + items: + type: string + from_peer: + type: array + items: + type: string + med: + type: integer + as_path: + type: object + properties: + regex: + type: string + community: + type: object + properties: + regex: + type: string + extended_community: + type: object + properties: + regex: + type: string + aggregation: + type: object + properties: + address: + type: array + items: + type: object + required: + - 'name' + properties: + name: + type: string + prefix: + type: string + enable: + type: boolean + summary: + type: boolean + as_set: + type: boolean + aggregate_route_attributes: + type: object + properties: + local_preference: + type: integer + med: + type: integer + weight: + type: integer + nexthop: + type: string + origin: + type: string + enum: + - igp + - egp + - incomplete + as_path_limit: + type: integer + as_path: + type: object + oneOf: + - title: none + required: + - none + properties: + none: + type: object + properties: {} + - title: remove + required: + - remove + properties: + remove: + type: object + properties: {} + - title: prepend + required: + - prepend + properties: + prepend: + type: integer + - title: remove_and_prepend + required: + - remove_and_prepend + properties: + remove_and_prepend: + type: integer + community: + type: object + oneOf: + - title: none + required: + - none + properties: + none: + type: object + properties: {} + - title: remove_all + required: + - remove_all + properties: + remove_all: + type: object + properties: {} + - title: remove_regex + required: + - remove_regex + properties: + remove_regex: + type: string + - title: append + required: + - append + properties: + append: + type: array + items: + type: string + - title: overwrite + required: + - overwrite + properties: + overwrite: + type: array + items: + type: string + extended_community: + type: object + oneOf: + - title: none + required: + - none + properties: + none: + type: object + properties: {} + - title: remove_all + required: + - remove_all + properties: + remove_all: + type: object + properties: {} + - title: remove_regex + required: + - remove_regex + properties: + remove_regex: + type: string + - title: append + required: + - append + properties: + append: + type: array + items: + type: string + - title: overwrite + required: + - overwrite + properties: + overwrite: + type: array + items: + type: string + suppress_filters: + type: array + items: + type: object + required: + - 'name' + properties: + name: + type: string + enable: + type: boolean + match: + type: object + properties: + afi: + type: string + enum: + - ip + - ipv6 + safi: + type: string + enum: + - ip + - ipv6 + route_table: + type: string + enum: + - unicast + - multicast + - both + address_prefix: + type: array + items: + type: object + required: + - 'name' + properties: + name: + type: string + exact: + type: boolean + nexthop: + type: array + items: + type: string + from_peer: + type: array + items: + type: string + med: + type: integer + as_path: + type: object + properties: + regex: + type: string + community: + type: object + properties: + regex: + type: string + extended_community: + type: object + properties: + regex: + type: string + advertise_filters: + type: array + items: + type: object + required: + - 'name' + properties: + name: + type: string + enable: + type: boolean + match: + type: object + properties: + afi: + type: string + enum: + - ip + - ipv6 + safi: + type: string + enum: + - ip + - ipv6 + route_table: + type: string + enum: + - unicast + - multicast + - both + address_prefix: + type: array + items: + type: object + required: + - 'name' + properties: + name: + type: string + exact: + type: boolean + nexthop: + type: array + items: + type: string + from_peer: + type: array + items: + type: string + med: + type: integer + as_path: + type: object + properties: + regex: + type: string + community: + type: object + properties: + regex: + type: string + extended_community: + type: object + properties: + regex: + type: string + redist_rules: + type: array + items: + type: object + required: + - 'name' + properties: + name: + type: string + address_family_identifier: + type: string + enum: + - ipv4 + - ipv6 + route_table: + type: string + enum: + - unicast + - multicast + - both + enable: + type: boolean + set_origin: + type: string + enum: + - igp + - egp + - incomplete + set_med: + type: integer + set_local_preference: + type: integer + set_as_path_limit: + type: integer + set_community: + type: array + items: + type: string + set_extended_community: + type: array + items: + type: string + metric: + type: integer + oneOf: + - type: object + title: folder + properties: + folder: + type: string + pattern: ^[a-zA-Z\d\-_\. ]+$ + maxLength: 64 + description: The folder in which the resource is defined + example: My Folder + required: + - folder + - type: object + title: snippet + properties: + snippet: + type: string + pattern: ^[a-zA-Z\d\-_\. ]+$ + maxLength: 64 + description: The snippet in which the resource is defined + example: My Snippet + required: + - snippet + - type: object + title: device + properties: + device: + type: string + pattern: ^[a-zA-Z\d\-_\. ]+$ + maxLength: 64 + description: The device in which the resource is defined + example: My Device + required: + - device + ospf-auth-profiles: + type: object + required: + - name + properties: + id: + type: string + description: UUID of the resource + readOnly: true + example: 123e4567-e89b-12d3-a456-426655440000 + name: + description: Profile name + type: string + anyOf: + - oneOf: + - title: password + type: object + required: + - password + properties: + password: + description: Password + type: string + format: password + - title: md5 + type: object + required: + - md5 + properties: + md5: + description: MD5s + type: array + items: + type: object + properties: + name: + description: Key ID + type: integer + minimum: 1 + maximum: 255 + key: + description: MD5 hash + type: string + maxLength: 256 + format: password + preferred: + description: Preferred? + type: boolean + - oneOf: + - type: object + title: folder + properties: + folder: + type: string + pattern: ^[a-zA-Z\d\-_\. ]+$ + maxLength: 64 + description: The folder in which the resource is defined + example: My Folder + required: + - folder + - type: object + title: snippet + properties: + snippet: + type: string + pattern: ^[a-zA-Z\d\-_\. ]+$ + maxLength: 64 + description: The snippet in which the resource is defined + example: My Snippet + required: + - snippet + - type: object + title: device + properties: + device: + type: string + pattern: ^[a-zA-Z\d\-_\. ]+$ + maxLength: 64 + description: The device in which the resource is defined + example: My Device + required: + - device + pbf-rules: + type: object + properties: + id: + type: string + description: UUID of the resource + readOnly: true + example: 123e4567-e89b-12d3-a456-426655440000 + name: + description: PBF rule name + type: string + description: + description: Description + type: string + tag: + description: Tags + type: array + items: + type: string + schedule: + description: Schedule + type: string + from: + type: object + oneOf: + - title: zone + type: object + properties: + zone: + description: Source zones + type: array + items: + description: Source zone name + type: string + - title: interface + type: object + properties: + interface: + description: Source interfaces + type: array + items: + description: Source interface name + type: string + source: + description: Source addresses + type: array + items: + type: string + source_user: + description: Source users + type: array + items: + description: Source username + type: string + destination: + description: Destination addresses + type: array + items: + type: string + service: + description: Services + type: array + items: + description: Service name + type: string + application: + description: Applications + type: array + items: + description: Application name + type: string + action: + type: object + oneOf: + - title: forward + type: object + properties: + forward: + type: object + properties: + egress_interface: + description: Egress interface + type: string + nexthop: + type: object + oneOf: + - title: ip-address + properties: + ip_address: + description: Next hop IP address + type: string + - title: fqdn + properties: + fqdn: + description: Next hop FQDN + type: string + monitor: + type: object + properties: + profile: + description: Monitoring profile + type: string + disable_if_unreachable: + description: Disable this rule if nexthop/monitor ip is unreachable? + type: boolean + ip_address: + description: Monitor IP address + type: string + - title: discard + type: object + properties: + discard: + type: object + default: {} + - title: no_pbf + type: object + properties: + no_pbf: + type: object + default: {} + enforce_symmetric_return: + type: object + properties: + enabled: + description: Enforce symmetric return? + type: boolean + nexthop_address_list: + description: Next hop IP addresses + type: array + items: + type: object + properties: + name: + description: Next hop IP address + type: string + oneOf: + - type: object + title: folder + properties: + folder: + type: string + pattern: ^[a-zA-Z\d\-_\. ]+$ + maxLength: 64 + description: The folder in which the resource is defined + example: My Folder + required: + - folder + - type: object + title: snippet + properties: + snippet: + type: string + pattern: ^[a-zA-Z\d\-_\. ]+$ + maxLength: 64 + description: The snippet in which the resource is defined + example: My Snippet + required: + - snippet + - type: object + title: device + properties: + device: + type: string + pattern: ^[a-zA-Z\d\-_\. ]+$ + maxLength: 64 + description: The device in which the resource is defined + example: My Device + required: + - device + route-access-lists: + type: object + required: + - name + properties: + id: + type: string + description: UUID of the resource + readOnly: true + example: 123e4567-e89b-12d3-a456-426655440000 + name: + description: Route access list name + type: string + description: + description: Description + type: string + type: + type: object + properties: + ipv4: + type: object + properties: + ipv4_entry: + description: IPv4 access lists + type: array + items: + type: object + properties: + name: + description: Sequence number + type: integer + minimum: 1 + maximum: 65535 + action: + description: Action + type: string + enum: + - deny + - permit + source_address: + type: object + oneOf: + - title: address + required: + - address + properties: + address: + description: Source IP address + type: string + - title: entry + required: + - entry + properties: + address: + description: Source IP address + type: string + wildcard: + description: Source IP wildcard + type: string + destination_address: + type: object + oneOf: + - title: address + required: + - address + properties: + address: + description: Destination IP address + type: string + - title: entry + required: + - entry + properties: + address: + description: Destination IP address + type: string + wildcard: + description: Destination IP wildcard + type: string + oneOf: + - type: object + title: folder + properties: + folder: + type: string + pattern: ^[a-zA-Z\d\-_\. ]+$ + maxLength: 64 + description: The folder in which the resource is defined + example: My Folder + required: + - folder + - type: object + title: snippet + properties: + snippet: + type: string + pattern: ^[a-zA-Z\d\-_\. ]+$ + maxLength: 64 + description: The snippet in which the resource is defined + example: My Snippet + required: + - snippet + - type: object + title: device + properties: + device: + type: string + pattern: ^[a-zA-Z\d\-_\. ]+$ + maxLength: 64 + description: The device in which the resource is defined + example: My Device + required: + - device + route-community-lists: + type: object + required: + - name + properties: + id: + type: string + description: UUID of the resource + readOnly: true + example: 123e4567-e89b-12d3-a456-426655440000 + name: + description: Route community list name + type: string + description: + description: Description + type: string + type: + type: object + oneOf: + - title: regular + required: + - regular + properties: + regular: + type: object + properties: + regular_entry: + description: Regular community lists + type: array + items: + type: object + properties: + name: + description: Sequence number + type: integer + minimum: 1 + maximum: 65535 + action: + description: Action + type: string + enum: + - deny + - permit + community: + description: Communities + type: array + items: + description: "Community value (well-known name or ASN:value format)" + type: string + - title: large + required: + - large + properties: + large: + type: object + properties: + large_entry: + description: Large community lists + type: array + items: + type: object + properties: + name: + description: Sequence number + type: integer + minimum: 1 + maximum: 65535 + action: + description: Action + type: string + enum: + - deny + - permit + lc_regex: + description: Large community regular expression + type: array + items: + type: string + maxItems: 8 + - title: extended + required: + - extended + properties: + extended: + type: object + properties: + extended_entry: + description: Extended community lists + type: array + items: + type: object + properties: + name: + description: Sequence number + type: integer + minimum: 1 + maximum: 65535 + action: + description: Action + type: string + enum: + - deny + - permit + lc_regex: + description: Extended community regular expression + type: array + items: + type: string + maxItems: 8 + oneOf: + - type: object + title: folder + properties: + folder: + type: string + pattern: ^[a-zA-Z\d\-_\. ]+$ + maxLength: 64 + description: The folder in which the resource is defined + example: My Folder + required: + - folder + - type: object + title: snippet + properties: + snippet: + type: string + pattern: ^[a-zA-Z\d\-_\. ]+$ + maxLength: 64 + description: The snippet in which the resource is defined + example: My Snippet + required: + - snippet + - type: object + title: device + properties: + device: + type: string + pattern: ^[a-zA-Z\d\-_\. ]+$ + maxLength: 64 + description: The device in which the resource is defined + example: My Device + required: + - device + route-path-access-lists: + type: object + required: + - 'name' + properties: + id: + type: string + description: UUID of the resource + readOnly: true + example: 123e4567-e89b-12d3-a456-426655440000 + name: + description: AS path access list name + type: string + description: + description: Description + type: string + aspath_entry: + description: AS paths + type: array + items: + type: object + properties: + name: + description: Sequence number + type: integer + minimum: 1 + maximum: 65535 + action: + description: Action + type: string + enum: + - deny + - permit + aspath_regex: + description: AS path regular expression + type: string + oneOf: + - type: object + title: folder + properties: + folder: + type: string + pattern: ^[a-zA-Z\d\-_\. ]+$ + maxLength: 64 + description: The folder in which the resource is defined + example: My Folder + required: + - folder + - type: object + title: snippet + properties: + snippet: + type: string + pattern: ^[a-zA-Z\d\-_\. ]+$ + maxLength: 64 + description: The snippet in which the resource is defined + example: My Snippet + required: + - snippet + - type: object + title: device + properties: + device: + type: string + pattern: ^[a-zA-Z\d\-_\. ]+$ + maxLength: 64 + description: The device in which the resource is defined + example: My Device + required: + - device + route-prefix-lists: + type: object + required: + - name + properties: + id: + type: string + description: UUID of the resource + readOnly: true + example: 123e4567-e89b-12d3-a456-426655440000 + name: + description: Filter prefix list name + type: string + description: + description: Description + type: string + type: + type: object + description: Address Family Type + required: + - ipv4 + properties: + ipv4: + type: object + properties: + ipv4_entry: + description: IPv4 prefix lists + type: array + items: + type: object + properties: + name: + description: Sequence number + type: integer + minimum: 1 + maximum: 65535 + action: + description: Action + type: string + enum: + - deny + - permit + prefix: + type: object + oneOf: + - title: network + required: + - network + properties: + network: + description: Network + type: string + enum: + - any + - title: entry + required: + - "entry" + properties: + entry: + type: object + properties: + network: + description: Network + type: string + greater_than_or_equal: + description: Greater than or equal to + type: integer + minimum: 0 + maximum: 32 + less_than_or_equal: + description: Less than or equal to + type: integer + minimum: 0 + maximum: 32 + oneOf: + - type: object + title: folder + properties: + folder: + type: string + pattern: ^[a-zA-Z\d\-_\. ]+$ + maxLength: 64 + description: The folder in which the resource is defined + example: My Folder + required: + - folder + - type: object + title: snippet + properties: + snippet: + type: string + pattern: ^[a-zA-Z\d\-_\. ]+$ + maxLength: 64 + description: The snippet in which the resource is defined + example: My Snippet + required: + - snippet + - type: object + title: device + properties: + device: + type: string + pattern: ^[a-zA-Z\d\-_\. ]+$ + maxLength: 64 + description: The device in which the resource is defined + example: My Device + required: + - device + auto-vpn-clusters: + type: object + properties: + id: + type: string + description: UUID of the resource + readOnly: true + example: 123e4567-e89b-12d3-a456-426655440000 + name: + description: VPN cluster name + type: string + enable_sdwan: + description: Enable SD-WAN? + type: boolean + enable_mesh_between_hubs: + description: Enable mesh between hubs? + type: boolean + enable_mesh_interconnect: + description: Enable mesh interconnect? + type: boolean + type: + description: VPN cluster type + type: string + enum: + - hub-spoke + - mesh + default: hub-spoke + branches: + description: Branches + type: array + items: + type: object + properties: + name: + description: Branch firewall serial number + type: string + site: + description: Site name + type: string + logical_router: + description: Router + type: string + bgp_redistribution_profile: + description: BGP redistribution profile + type: string + interfaces: + description: Interfaces + type: array + items: + type: object + properties: + name: + description: Ethernet interface + type: string + dhcp_ip: + description: DHCP IP + type: string + sdwan_link_settings: + type: object + properties: + sdwan_interface_profile: + description: SD-WAN interface profile + type: string + upstream_nat: + type: object + properties: + enable: + description: Upstream NAT? + type: boolean + default: false + static_ip: + type: object + oneOf: + - title: ip_address + properties: + ip_address: + description: IP address + type: string + - title: fqdn + properties: + fqdn: + description: FQDN + type: string + sdwan_gateway: + description: Next hop gateway + type: string + maxItems: 4 + private_interfaces: + description: Private interfaces + type: array + items: + type: object + properties: + name: + description: Ethernet interface + type: string + sdwan_link_settings: + type: object + properties: + sdwan_interface_profile: + description: SD-WAN interface profile + type: string + upstream_nat: + type: object + properties: + enable: + description: Upstream NAT? + type: boolean + default: false + static_ip: + type: object + oneOf: + - title: ip_address + properties: + ip_address: + description: IP address + type: string + - title: fqdn + properties: + fqdn: + description: FQDN + type: string + sdwan_gateway: + description: Next hop gateway + type: string + maxItems: 4 + gateways: + description: Hubs + type: array + items: + type: object + properties: + name: + description: Hub firewall serial number + type: string + site: + description: Site name + type: string + priority: + description: Priority + enum: + - '1' + - '2' + - '3' + - '4' + - '5' + - '6' + - '7' + - '8' + logical_router: + description: Router + type: string + bgp_redistribution_profile: + description: BGP redistribution file + type: string + allow_dia_vpn_failover: + description: Allow DIA to VPN failover on branch device for the hub? + type: boolean + interfaces: + description: Interfaces + type: array + items: + type: object + properties: + name: + description: Ethernet interface + type: string + dhcp_ip: + description: DHCP IP + type: string + sdwan_link_settings: + type: object + properties: + sdwan_interface_profile: + description: SD-WAN interface profile + type: string + upstream_nat: + type: object + properties: + enable: + description: Upstream NAT? + type: boolean + static_ip: + type: object + oneOf: + - title: ip_address + properties: + ip_address: + description: IP address + type: string + - title: fqdn + properties: + fqdn: + description: FQDN + type: string + sdwan_gateway: + description: Next hop gateway + type: string + private_interfaces: + description: Private interfaces + type: array + items: + type: object + properties: + name: + description: Ethernet interface + type: string + sdwan_link_settings: + type: object + properties: + sdwan_interface_profile: + description: SD-WAN interface profile + type: string + upstream_nat: + type: object + properties: + enable: + description: Upstream NAT? + type: boolean + static_ip: + type: object + oneOf: + - title: ip_address + properties: + ip_address: + description: IP address + type: string + - title: fqdn + properties: + fqdn: + description: FQDN + type: string + sdwan_gateway: + description: Next hop gateway + type: string + auto-vpn-monitor: + type: object + properties: + vpn_cluster: + description: VPN cluster + type: string + connection_type: + description: Connection type + type: string + source_device: + description: Hub firewall serial number + type: string + local_intf: + description: Hub firewall interface + type: string + destination_device: + description: Branch firewall serial number + type: string + peer_intf: + description: Branch firewall interface + type: string + ike_gateway_name: + description: IKE gateway name + type: string + tunnel_name: + description: Tunnel name + type: string + tunnel_ip: + description: Hub tunnel IP address + type: string + ike_sa_status: + description: IKE security association status + type: string + ike_sa_result: + description: IKE security association result + type: string + ipsec_sa_status: + description: IPSec security association status + type: string + ipsec_sa_result: + description: IPSec security association result + type: string + tunnel_status: + description: Tunnel status + type: string + tunnel_result: + description: Tunnel result + type: string + ts: + description: Timestamp + type: string + # auto-vpn-objects: + # type: object + # properties: + # name: + # type: string + # example: string + # interface: + # type: array + # items: + # type: object + # example: [] + # bgp: + # type: object + # properties: + # enable: + # type: boolean + # router_id: + # type: string + # example: string + # local_as: + # type: string + # example: string + # install_route: + # type: boolean + # enforce_first_as: + # type: boolean + # fast_external_failover: + # type: boolean + # ecmp_multi_as: + # type: boolean + # default_local_preference: + # type: integer + # example: 1 + # graceful_shutdown: + # type: boolean + # always_advertise_network_route: + # type: boolean + # med: + # type: object + # properties: + # always_compare_med: + # type: boolean + # deterministic_med_comparison: + # type: boolean + # graceful_restart: + # type: object + # properties: + # enable: + # type: boolean + # stale_route_time: + # type: integer + # example: 1 + # max_peer_restart_time: + # type: integer + # example: 1 + # local_restart_time: + # type: integer + # example: 1 + # global_bfd: + # type: object + # properties: + # profile: + # type: string + # example: string + # peer_group: + # type: array + # items: + # type: object + # properties: + # name: + # type: string + # example: string + # uuid: + # type: string + # example: string + # autogenerated: + # type: string + # example: string + # enable: + # type: boolean + # type: + # type: object + # properties: + # ibgp: + # type: object + # ebgp: + # type: object + # address_family: + # type: object + # properties: + # ipv4: + # type: string + # example: string + # ipv6: + # type: string + # example: string + # filtering_profile: + # type: object + # properties: + # ipv4: + # type: string + # example: string + # ipv6: + # type: string + # example: string + # connection_options: + # type: object + # properties: + # timers: + # type: string + # example: string + # multihop: + # type: string + # example: string + # authentication: + # type: string + # example: string + # dampening: + # type: string + # example: string + # peer: + # type: array + # items: + # type: object + # properties: + # name: + # type: string + # example: string + # enable: + # type: boolean + # passive: + # type: boolean + # peer_as: + # type: string + # example: string + # enable_sender_side_loop_detection: + # type: boolean + # inherit: + # type: object + # properties: + # yes: + # type: object + # no: + # type: object + # properties: + # address_family: + # type: object + # properties: + # ipv4: + # type: string + # example: string + # ipv6: + # type: string + # example: string + # filtering_profile: + # type: object + # properties: + # ipv4: + # type: string + # example: string + # ipv6: + # type: string + # example: string + # local_address: + # type: object + # properties: + # interface: + # type: string + # example: string + # ip: + # type: string + # example: string + # peer_address: + # type: object + # properties: + # ip: + # type: string + # example: string + # fqdn: + # type: string + # example: string + # connection_options: + # type: object + # properties: + # timers: + # type: string + # example: string + # multihop: + # type: string + # example: string + # authentication: + # type: string + # example: string + # dampening: + # type: string + # example: string + # bfd: + # type: object + # properties: + # profile: + # type: string + # example: string + # multihop: + # type: object + # properties: + # min_received_ttl: + # type: integer + # example: 1 + # aggregate_routes: + # type: array + # items: + # type: object + # properties: + # name: + # type: string + # example: string + # description: + # type: string + # example: string + # enable: + # type: boolean + # summary_only: + # type: boolean + # as_set: + # type: boolean + # same_med: + # type: boolean + # type: + # type: object + # properties: + # ipv4: + # type: object + # properties: + # summary_prefix: + # type: string + # example: string + # suppress_map: + # type: string + # example: string + # attribute_map: + # type: string + # example: string + # ipv6: + # type: object + # properties: + # summary_prefix: + # type: string + # example: string + # suppress_map: + # type: string + # example: string + # attribute_map: + # type: string + # example: string + # redistribution_profile: + # type: object + # properties: + # ipv4: + # type: object + # properties: + # unicast: + # type: string + # example: string + # ipv6: + # type: object + # properties: + # unicast: + # type: string + # example: string + # advertise_network: + # type: object + # properties: + # ipv4: + # type: object + # properties: + # network: + # type: array + # items: + # type: object + # properties: + # name: + # type: string + # example: string + # unicast: + # type: boolean + # multicast: + # type: boolean + # backdoor: + # type: boolean + # ipv6: + # type: object + # properties: + # network: + # type: array + # items: + # type: object + # properties: + # name: + # type: string + # example: string + # unicast: + # type: boolean + # routing_table: + # type: object + # properties: + # ip: + # type: object + # properties: + # static_route: + # type: array + # items: + # type: object + # properties: + # name: + # type: string + # example: string + # uuid: + # type: string + # example: string + # autogenerated: + # type: string + # example: string + # destination: + # type: string + # example: string + # interface: + # type: string + # example: string + # nexthop: + # type: object + # properties: + # discard: + # type: object + # ip_address: + # type: string + # example: string + # next_lr: + # type: string + # example: string + # fqdn: + # type: string + # example: string + # admin_dist: + # type: integer + # example: 1 + # metric: + # type: integer + # example: 1 + # bfd: + # type: object + # properties: + # profile: + # type: string + # example: string + # path_monitor: + # type: object + # properties: + # enable: + # type: boolean + # failure_condition: + # type: string + # example: string + # hold_time: + # type: integer + # example: 1 + # monitor_destinations: + # type: array + # items: + # type: object + # properties: + # name: + # type: string + # example: string + # enable: + # type: boolean + # source: + # type: string + # example: string + # destination: + # type: string + # example: string + # interval: + # type: integer + # example: 1 + # count: + # type: integer + # example: 1 + # ipv6: + # type: object + # properties: + # static_route: + # type: array + # items: + # type: object + # properties: + # name: + # type: string + # example: string + # destination: + # type: string + # example: string + # interface: + # type: string + # example: string + # nexthop: + # type: object + # properties: + # discard: + # type: object + # ipv6_address: + # type: string + # example: string + # fqdn: + # type: string + # example: string + # next_lr: + # type: string + # example: string + # admin_dist: + # type: integer + # example: 1 + # metric: + # type: integer + # example: 1 + # bfd: + # type: object + # properties: + # profile: + # type: string + # example: string + # path_monitor: + # type: object + # properties: + # enable: + # type: boolean + # failure_condition: + # type: string + # example: string + # hold_time: + # type: integer + # example: 1 + # monitor_destinations: + # type: array + # items: + # type: object + # properties: + # name: + # type: string + # example: string + # enable: + # type: boolean + # source: + # type: string + # example: string + # destination: + # type: string + # example: string + # interval: + # type: integer + # example: 1 + # count: + # type: integer + # example: 1 + # ospf: + # type: object + # properties: + # router_id: + # type: string + # example: string + # global_bfd: + # type: object + # properties: + # profile: + # type: string + # example: string + # enable: + # type: boolean + # rfc1583: + # type: boolean + # spf_timer: + # type: string + # example: string + # global_if_timer: + # type: string + # example: string + # redistribution_profile: + # type: string + # example: string + # area: + # type: array + # items: + # type: object + # properties: + # name: + # type: string + # example: string + # authentication: + # type: string + # example: string + # type: + # type: object + # properties: + # normal: + # type: object + # properties: + # abr: + # type: object + # properties: + # import_list: + # type: string + # example: string + # export_list: + # type: string + # example: string + # inbound_filter_list: + # type: string + # example: string + # outbound_filter_list: + # type: string + # example: string + # stub: + # type: object + # properties: + # no_summary: + # type: boolean + # abr: + # type: object + # properties: + # import_list: + # type: string + # example: string + # export_list: + # type: string + # example: string + # inbound_filter_list: + # type: string + # example: string + # outbound_filter_list: + # type: string + # example: string + # nssa: + # type: object + # properties: + # no_summary: + # type: boolean + # default_information_originate: + # type: object + # properties: + # metric: + # type: integer + # example: 1 + # metric_type: + # type: string + # example: string + # abr: + # type: object + # properties: + # import_list: + # type: string + # example: string + # export_list: + # type: string + # example: string + # inbound_filter_list: + # type: string + # example: string + # outbound_filter_list: + # type: string + # example: string + # nssa_ext_range: + # type: array + # items: + # type: object + # properties: + # name: + # type: string + # example: string + # route_tag: + # type: integer + # example: 1 + # advertise: + # type: boolean + # range: + # type: array + # items: + # type: object + # properties: + # name: + # type: string + # example: string + # substitute: + # type: string + # example: string + # advertise: + # type: boolean + # interface: + # type: array + # items: + # type: object + # properties: + # name: + # type: string + # example: string + # autogenerated: + # type: string + # example: string + # enable: + # type: boolean + # mtu_ignore: + # type: boolean + # passive: + # type: boolean + # priority: + # type: integer + # example: 1 + # link_type: + # type: object + # properties: + # broadcast: + # type: object + # p2p: + # type: object + # p2mp: + # type: object + # properties: + # neighbor: + # type: array + # items: + # type: object + # properties: + # name: + # type: string + # example: string + # priority: + # type: integer + # example: 1 + # metric: + # type: integer + # example: 1 + # authentication: + # type: string + # example: string + # bfd: + # type: object + # properties: + # profile: + # type: string + # example: string + # timing: + # type: string + # example: string + # virtual_link: + # type: array + # items: + # type: object + # properties: + # name: + # type: string + # example: string + # neighbor_id: + # type: string + # example: string + # transit_area_id: + # type: string + # example: string + # enable: + # type: boolean + # interface_id: + # type: integer + # example: 1 + # instance_id: + # type: integer + # example: 1 + # timing: + # type: string + # example: string + # passive: + # type: boolean + # authentication: + # type: string + # example: string + # bfd: + # type: object + # properties: + # profile: + # type: string + # example: string + # graceful_restart: + # type: object + # properties: + # enable: + # type: boolean + # grace_period: + # type: integer + # example: 1 + # helper_enable: + # type: boolean + # strict_LSA_checking: + # type: boolean + # max_neighbor_restart_time: + # type: integer + # example: 1 + # ospfv3: + # type: object + # properties: + # enable: + # type: boolean + # router_id: + # type: string + # example: string + # global_bfd: + # type: object + # properties: + # profile: + # type: string + # example: string + # disable_transit_traffic: + # type: boolean + # spf_timer: + # type: string + # example: string + # global_if_timer: + # type: string + # example: string + # redistribution_profile: + # type: string + # example: string + # area: + # type: array + # items: + # type: object + # properties: + # name: + # type: string + # example: string + # authentication: + # type: string + # example: string + # type: + # type: object + # properties: + # normal: + # type: object + # properties: + # abr: + # type: object + # properties: + # import_list: + # type: string + # example: string + # export_list: + # type: string + # example: string + # inbound_filter_list: + # type: string + # example: string + # outbound_filter_list: + # type: string + # example: string + # stub: + # type: object + # properties: + # no_summary: + # type: boolean + # abr: + # type: object + # properties: + # import_list: + # type: string + # example: string + # export_list: + # type: string + # example: string + # inbound_filter_list: + # type: string + # example: string + # outbound_filter_list: + # type: string + # example: string + # nssa: + # type: object + # properties: + # no_summary: + # type: boolean + # default_information_originate: + # type: object + # properties: + # metric: + # type: integer + # example: 1 + # metric_type: + # type: string + # example: string + # abr: + # type: object + # properties: + # import_list: + # type: string + # example: string + # export_list: + # type: string + # example: string + # inbound_filter_list: + # type: string + # example: string + # outbound_filter_list: + # type: string + # example: string + # nssa_ext_range: + # type: array + # items: + # type: object + # properties: + # name: + # type: string + # example: string + # route_tag: + # type: integer + # example: 1 + # advertise: + # type: boolean + # range: + # type: array + # items: + # type: object + # properties: + # name: + # type: string + # example: string + # advertise: + # type: boolean + # interface: + # type: array + # items: + # type: object + # properties: + # name: + # type: string + # example: string + # enable: + # type: boolean + # mtu_ignore: + # type: boolean + # passive: + # type: boolean + # priority: + # type: integer + # example: 1 + # link_type: + # type: object + # properties: + # broadcast: + # type: object + # p2p: + # type: object + # p2mp: + # type: object + # properties: + # neighbor: + # type: array + # items: + # type: object + # properties: + # name: + # type: string + # example: string + # priority: + # type: integer + # example: 1 + # metric: + # type: integer + # example: 1 + # instance_id: + # type: integer + # example: 1 + # authentication: + # type: string + # example: string + # bfd: + # type: object + # properties: + # profile: + # type: string + # example: string + # timing: + # type: string + # example: string + # virtual_link: + # type: array + # items: + # type: object + # properties: + # name: + # type: string + # example: string + # neighbor_id: + # type: string + # example: string + # transit_area_id: + # type: string + # example: string + # enable: + # type: boolean + # interface_id: + # type: integer + # example: 1 + # instance_id: + # type: integer + # example: 1 + # timing: + # type: string + # example: string + # passive: + # type: boolean + # authentication: + # type: string + # example: string + # graceful_restart: + # type: object + # properties: + # enable: + # type: boolean + # grace_period: + # type: integer + # example: 1 + # helper_enable: + # type: boolean + # strict_LSA_checking: + # type: boolean + # max_neighbor_restart_time: + # type: integer + # example: 1 + # ecmp: + # type: object + # properties: + # enable: + # type: boolean + # autogenerated: + # type: string + # example: string + # algorithm: + # type: object + # properties: + # ip_modulo: + # type: object + # ip_hash: + # type: object + # properties: + # src_only: + # type: boolean + # use_port: + # type: boolean + # hash_seed: + # type: integer + # example: 1 + # weighted_round_robin: + # type: object + # properties: + # interface: + # type: array + # items: + # type: object + # properties: + # name: + # type: string + # example: string + # weight: + # type: integer + # example: 1 + # balanced_round_robin: + # type: object + # max_path: + # type: integer + # example: 1 + # symmetric_return: + # type: boolean + # strict_source_path: + # type: boolean + # multicast: + # type: object + # properties: + # enable: + # type: boolean + # static_route: + # type: array + # items: + # type: object + # properties: + # name: + # type: string + # example: string + # autogenerated: + # type: string + # example: string + # destination: + # type: string + # example: string + # interface: + # type: string + # example: string + # nexthop: + # type: object + # properties: + # ip_address: + # type: string + # example: string + # preference: + # type: integer + # example: 1 + # pim: + # type: object + # properties: + # enable: + # type: boolean + # rpf_lookup_mode: + # type: string + # example: string + # route_ageout_time: + # type: integer + # example: 1 + # if_timer_global: + # type: string + # example: string + # group_permission: + # type: string + # example: string + # ssm_address_space: + # type: object + # properties: + # group_list: + # type: string + # example: string + # spt_threshold: + # type: array + # items: + # type: object + # properties: + # name: + # type: string + # example: string + # threshold: + # type: string + # example: string + # interface: + # type: array + # items: + # type: object + # properties: + # name: + # type: string + # example: string + # description: + # type: string + # example: string + # dr_priority: + # type: integer + # example: 1 + # send_bsm: + # type: boolean + # if_timer: + # type: string + # example: string + # neighbor_filter: + # type: string + # example: string + # rp: + # type: object + # properties: + # local_rp: + # type: object + # properties: + # static_rp: + # type: object + # properties: + # interface: + # type: string + # example: string + # address: + # type: string + # example: string + # override: + # type: boolean + # group_list: + # type: string + # example: string + # candidate_rp: + # type: object + # properties: + # interface: + # type: string + # example: string + # address: + # type: string + # example: string + # priority: + # type: integer + # example: 1 + # advertisement_interval: + # type: integer + # example: 1 + # group_list: + # type: string + # example: string + # external_rp: + # type: array + # items: + # type: object + # properties: + # name: + # type: string + # example: string + # group_list: + # type: string + # example: string + # override: + # type: boolean + # igmp: + # type: object + # properties: + # enable: + # type: boolean + # dynamic: + # type: object + # properties: + # interface: + # type: array + # items: + # type: object + # properties: + # name: + # type: string + # example: string + # version: + # type: string + # example: string + # robustness: + # type: string + # example: string + # group_filter: + # type: string + # example: string + # max_groups: + # type: string + # example: string + # max_sources: + # type: string + # example: string + # query_profile: + # type: string + # example: string + # router_alert_policing: + # type: boolean + # static: + # type: array + # items: + # type: object + # properties: + # name: + # type: string + # example: string + # interface: + # type: string + # example: string + # group_address: + # type: string + # example: string + # source_address: + # type: string + # example: string + # rip: + # type: object + # properties: + # enable: + # type: boolean + # default_information_originate: + # type: boolean + # global_timer: + # type: string + # example: string + # auth_profile: + # type: string + # example: string + # redistribution_profile: + # type: string + # example: string + # global_bfd: + # type: object + # properties: + # profile: + # type: string + # example: string + # global_inbound_distribute_list: + # type: object + # properties: + # access_list: + # type: string + # example: string + # global_outbound_distribute_list: + # type: object + # properties: + # access_list: + # type: string + # example: string + # interface: + # type: array + # items: + # type: object + # properties: + # name: + # type: string + # example: string + # enable: + # type: boolean + # mode: + # type: string + # example: string + # split_horizon: + # type: string + # example: string + # authentication: + # type: string + # example: string + # bfd: + # type: object + # properties: + # profile: + # type: string + # example: string + # interface_inbound_distribute_list: + # type: object + # properties: + # access_list: + # type: string + # example: string + # metric: + # type: integer + # example: 1 + # interface_outbound_distribute_list: + # type: object + # properties: + # access_list: + # type: string + # example: string + # metric: + # type: integer + # example: 1 + auto-vpn-push-config: + type: object + properties: + auto_vpn_devices: + description: VPN clusters + type: array + items: + type: object + properties: + name: + description: VPN cluster to push to + type: string + refresh_psk: + type: boolean + default: true + auto-vpn-push-response: + type: object + properties: + success: + description: Push successful? + type: boolean + job: + description: Job ID + type: string + message: + description: Job message + type: string + auto-vpn-settings: + required: + - vpn_address_pool + - as_range + type: object + properties: + vpn_address_pool: + description: VPN address pool + type: array + items: + type: string + as_range: + type: object + properties: + start: + type: integer + minimum: 1 + maximum: 65535 + end: + type: integer + minimum: 1 + maximum: 65535 + enable_mesh_between_hubs: + description: Enable mesh connection between hubs? + type: boolean + lldp-profiles: + type: object + properties: + id: + type: string + description: UUID of the resource + readOnly: true + example: 123e4567-e89b-12d3-a456-426655440000 + name: + description: LLDP profile name + type: string + mode: + description: LLDP mode + type: string + snmp_syslog_notification: + description: SNMP syslog notification + type: boolean + option_tlvs: + type: object + properties: + port_description: + description: Option TLV Port Description + type: boolean + system_name: + description: Option TLV System Name + type: boolean + system_description: + description: Option TLV System Description + type: boolean + system_capabilities: + description: Option TLV System Capabilities + type: boolean + management_address: + type: object + properties: + enabled: + description: Management address enabled + type: boolean + iplist: + type: array + items: + type: object + properties: + name: + description: Name + type: string + interface: + description: Interface + type: string + ipv4: + description: IPv4 Address + type: string + ipv6: + description: IPv6 Address + type: string + required: + - name + oneOf: + - type: object + title: folder + properties: + folder: + type: string + pattern: ^[a-zA-Z\d\-_\. ]+$ + maxLength: 64 + description: The folder in which the resource is defined + example: My Folder + required: + - folder + - type: object + title: snippet + properties: + snippet: + type: string + pattern: ^[a-zA-Z\d\-_\. ]+$ + maxLength: 64 + description: The snippet in which the resource is defined + example: My Snippet + required: + - snippet + - type: object + title: device + properties: + device: + type: string + pattern: ^[a-zA-Z\d\-_\. ]+$ + maxLength: 64 + description: The device in which the resource is defined + example: My Device + required: + - device + sdwan-error-correction-profiles: + type: object + required: + - name + - activation_threshold + - mode + properties: + id: + type: string + description: UUID of the resource + readOnly: true + example: 123e4567-e89b-12d3-a456-426655440000 + name: + type: string + activation_threshold: + type: integer + example: 1 + mode: + type: object + oneOf: + - title: forward_error_correction + type: object + required: + - forward_error_correction + properties: + forward_error_correction: + type: object + required: + - ratio + - recovery_duration + properties: + ratio: + type: string + recovery_duration: + type: integer + - title: packet_duplication + type: object + required: + - packet_duplication + properties: + packet_duplication: + type: object + required: + - recovery_duration_pd + properties: + recovery_duration_pd: + type: integer + oneOf: + - type: object + title: folder + properties: + folder: + type: string + pattern: ^[a-zA-Z\d\-_\. ]+$ + maxLength: 64 + description: The folder in which the resource is defined + example: My Folder + required: + - folder + - type: object + title: snippet + properties: + snippet: + type: string + pattern: ^[a-zA-Z\d\-_\. ]+$ + maxLength: 64 + description: The snippet in which the resource is defined + example: My Snippet + required: + - snippet + - type: object + title: device + properties: + device: + type: string + pattern: ^[a-zA-Z\d\-_\. ]+$ + maxLength: 64 + description: The device in which the resource is defined + example: My Device + required: + - device + sdwan-path-quality-profiles: + type: object + required: + - name + - metric + properties: + id: + type: string + description: UUID of the resource + readOnly: true + example: 123e4567-e89b-12d3-a456-426655440000 + name: + description: Profile name + type: string + maxLength: 31 + metric: + type: object + required: + - latency + - pkt-loss + - jitter + properties: + latency: + type: object + required: + - threshold + - sensitivity + properties: + threshold: + description: Latency threshold (ms) + default: 100 + type: integer + minimum: 10 + maximum: 3000 + sensitivity: + description: Latency sensitivity + default: medium + type: string + enum: + - low + - medium + - high + pkt_loss: + type: object + required: + - threshold + - sensitivity + properties: + threshold: + description: Packet loss threshold (percentage) + default: 1 + type: integer + minimum: 1 + maximum: 100 + sensitivity: + description: Packet loss sensitivity + default: medium + type: string + enum: + - low + - medium + - high + jitter: + type: object + required: + - threshold + - sensitivity + properties: + threshold: + description: Jitter threshold (ms) + default: 100 + type: integer + minimum: 10 + maximum: 2000 + sensitivity: + description: Jitter sensitivity + default: medium + type: string + enum: + - low + - medium + - high + oneOf: + - type: object + title: folder + properties: + folder: + type: string + pattern: ^[a-zA-Z\d\-_\. ]+$ + maxLength: 64 + description: The folder in which the resource is defined + example: My Folder + required: + - folder + - type: object + title: snippet + properties: + snippet: + type: string + pattern: ^[a-zA-Z\d\-_\. ]+$ + maxLength: 64 + description: The snippet in which the resource is defined + example: My Snippet + required: + - snippet + - type: object + title: device + properties: + device: + type: string + pattern: ^[a-zA-Z\d\-_\. ]+$ + maxLength: 64 + description: The device in which the resource is defined + example: My Device + required: + - device + sdwan-rules: + type: object + required: + - name + - from + - position + - to + - source + - source_user + - destination + - application + - service + - action + - path_quality_profile + properties: + id: + type: string + description: UUID of the resource + readOnly: true + example: 123e4567-e89b-12d3-a456-426655440000 + name: + description: Rule name + type: string + description: + description: Rule description + type: string + position: + description: Rule postion relative to device rules + type: string + enum: + - pre + - post + disabled: + description: Disable rule? + type: boolean + default: false + tag: + description: List of tags + type: array + items: + type: string + from: + description: List of source zones + type: array + items: + type: string + example: any + to: + description: List of destination zones + type: array + items: + type: string + example: any + source: + description: List of source addresses + type: array + items: + type: string + example: any + negate_source: + description: Negate source address(es)? + type: boolean + default: false + source_user: + description: List of source users + type: array + items: + type: string + example: any + destination: + description: List of destination addresses + type: array + items: + type: string + example: any + negate_destination: + description: Negate destination address(es)? + type: boolean + default: false + application: + description: List of applications + type: array + items: + type: string + example: any + service: + description: List of services + type: array + items: + type: string + example: any + path_quality_profile: + description: Path quality profile + type: string + saas_quality_profile: + description: SaaS quality profile + type: string + error_correction_profile: + description: Error correction profile + type: string + action: + type: object + required: + - traffic_distribution_profile + properties: + traffic_distribution_profile: + description: Traffic dstribution profile + type: string + oneOf: + - type: object + title: folder + properties: + folder: + type: string + pattern: ^[a-zA-Z\d\-_\. ]+$ + maxLength: 64 + description: The folder in which the resource is defined + example: My Folder + required: + - folder + - type: object + title: snippet + properties: + snippet: + type: string + pattern: ^[a-zA-Z\d\-_\. ]+$ + maxLength: 64 + description: The snippet in which the resource is defined + example: My Snippet + required: + - snippet + - type: object + title: device + properties: + device: + type: string + pattern: ^[a-zA-Z\d\-_\. ]+$ + maxLength: 64 + description: The device in which the resource is defined + example: My Device + required: + - device + sdwan-saas-quality-profiles: + type: object + required: + - name + - monitor_mode + properties: + id: + type: string + description: UUID of the resource + readOnly: true + example: 123e4567-e89b-12d3-a456-426655440000 + name: + description: Profile name + type: string + monitor_mode: + type: object + oneOf: + - title: adaptive + type: object + required: + - adaptive + properties: + adaptive: + type: object + default: {} + - title: static_ip + type: object + required: + - static_ip + properties: + static_ip: + type: object + oneOf: + - title: ip_address + required: + - ip_address + properties: + ip_address: + description: List of IP addresses + type: array + items: + type: object + required: + - name + - probe_interval + properties: + name: + description: IP address + type: string + format: ip-address + probe_interval: + description: Probe interval (seconds) + type: integer + minimum: 1 + maximum: 60 + - title: fqdn + required: + - fqdn + properties: + fqdn: + type: object + required: + - fqdn_name + - probe_interval + properties: + fqdn_name: + description: FQDN + type: string + probe_interval: + description: Probe interval (seconds) + type: integer + minimum: 1 + maximum: 60 + - title: http_https + type: object + required: + - http_https + properties: + http_https: + type: object + required: + - monitored_url + - probe_interval + properties: + monitored_url: + description: Monitored URL + type: string + format: url + probe_interval: + description: Probe interval (seconds) + type: integer + minimum: 1 + maximum: 60 + oneOf: + - type: object + title: folder + properties: + folder: + type: string + pattern: ^[a-zA-Z\d\-_\. ]+$ + maxLength: 64 + description: The folder in which the resource is defined + example: My Folder + required: + - folder + - type: object + title: snippet + properties: + snippet: + type: string + pattern: ^[a-zA-Z\d\-_\. ]+$ + maxLength: 64 + description: The snippet in which the resource is defined + example: My Snippet + required: + - snippet + - type: object + title: device + properties: + device: + type: string + pattern: ^[a-zA-Z\d\-_\. ]+$ + maxLength: 64 + description: The device in which the resource is defined + example: My Device + required: + - device + sdwan-traffic-distribution-profiles: + type: object + required: + - name + - traffic-distribution + - link-tags + properties: + id: + type: string + description: UUID of the resource + readOnly: true + example: 123e4567-e89b-12d3-a456-426655440000 + name: + description: Profile name + type: string + maxLength: 31 + traffic_distribution: + description: Traffic distribution + type: string + enum: + - Best Available Path + - Top Down Priority + - Weighted Session Distribution + default: Best Available Path + link_tags: + type: array + description: Link-Tags for interfaces identified by defined tags + items: + type: object + required: + - name + properties: + name: + type: string + maxLength: 255 + description: Link-Tag used for identifying a set of interfaces + weight: + description: Weight (percentage) (only used when `traffic-distribution` is `Weighted Session Distribution`) + type: integer + minimum: 0 + maximum: 100 + oneOf: + - type: object + title: folder + properties: + folder: + type: string + pattern: ^[a-zA-Z\d\-_\. ]+$ + maxLength: 64 + description: The folder in which the resource is defined + example: My Folder + required: + - folder + - type: object + title: snippet + properties: + snippet: + type: string + pattern: ^[a-zA-Z\d\-_\. ]+$ + maxLength: 64 + description: The snippet in which the resource is defined + example: My Snippet + required: + - snippet + - type: object + title: device + properties: + device: + type: string + pattern: ^[a-zA-Z\d\-_\. ]+$ + maxLength: 64 + description: The device in which the resource is defined + example: My Device + required: + - device + dhcp-interfaces: + type: object + required: + - name + properties: + id: + type: string + description: UUID of the resource + readOnly: true + example: 123e4567-e89b-12d3-a456-426655440000 + name: + description: Interface name + type: string + anyOf: + - oneOf: + - title: server + required: + - server + properties: + server: + type: object + properties: + probe_ip: + description: Ping IP before allocating? + type: boolean + mode: + description: DHCP server mode + type: string + enum: + - auto + - enabled + - disabled + option: + type: object + properties: + lease: + type: object + oneOf: + - title: unlimited + properties: + unlimited: + type: object + default: {} + - title: timeout + properties: + timeout: + description: DHCP lease timeout (minutes) + type: integer + minimum: 0 + maximum: 1000000 + inheritance: + type: object + properties: + source: + description: Interface from which to inherit lease options + type: string + gateway: + description: Default gateway + type: string + subnet_mask: + description: Subnet mask + type: string + dns: + type: object + properties: + primary: + description: Primary DNS server + type: string + format: ip-address + example: inherited + secondary: + description: Secondary DNS server + type: string + format: ip-address + example: inherited + wins: + type: object + properties: + primary: + description: Primary WINS server + type: string + format: ip-address + example: inherited + secondary: + description: Secondary WINS server + type: string + format: ip-address + example: inherited + nis: + type: object + properties: + primary: + description: Primary NIS server + type: string + format: ip-address + example: inherited + secondary: + description: Secondary NIS server + type: string + format: ip-address + example: inherited + ntp: + type: object + properties: + primary: + description: Primary NTP server + type: string + format: ip-address + example: inherited + secondary: + description: Secondary NTP server + type: string + format: ip-address + example: inherited + pop3_server: + description: POP3 server + type: string + example: inherited + smtp_server: + description: SMTP server + type: string + example: inherited + dns_suffix: + description: DNS suffix + type: string + example: inherited + user_defined: + description: Custom DHCP options + type: array + items: + type: object + required: + - name + - inherited + properties: + name: + description: Option name + type: string + code: + description: Option code + type: integer + minimum: 1 + maximum: 254 + inherited: + description: Inherited from DHCP server inheritance source? + type: boolean + oneOf: + - title: ip + required: + - ip + properties: + ip: + type: array + items: + description: List of IP addresses + type: string + - title: ascii + required: + - ascii + properties: + ascii: + type: array + items: + description: List of ASCII values + type: string + - title: hex + required: + - hex + properties: + hex: + type: array + items: + description: List of hexadecimal values + type: string + ip_pool: + description: List of IP address pools + type: array + items: + description: IP address pool + type: string + reserved: + description: List of IP reservations + type: array + required: + - name + - mac + items: + type: object + properties: + name: + description: Reserved IP address + type: string + format: ip-address + mac: + description: Reserved MAC address + type: string + format: mac-address + description: + description: Reservation description + type: string + - title: relay + properties: + relay: + type: object + required: + - ip + properties: + ip: + type: object + required: + - enabled + - server + properties: + enabled: + description: Enabled? + type: boolean + default: true + server: + type: array + items: + description: List of DHCP server IP addresses + type: string + format: ip-address + - oneOf: + - type: object + title: folder + properties: + folder: + type: string + pattern: ^[a-zA-Z\d\-_\. ]+$ + maxLength: 64 + description: The folder in which the resource is defined + example: My Folder + required: + - folder + - type: object + title: snippet + properties: + snippet: + type: string + pattern: ^[a-zA-Z\d\-_\. ]+$ + maxLength: 64 + description: The snippet in which the resource is defined + example: My Snippet + required: + - snippet + - type: object + title: device + properties: + device: + type: string + pattern: ^[a-zA-Z\d\-_\. ]+$ + maxLength: 64 + description: The device in which the resource is defined + example: My Device + required: + - device + dns-proxies: + type: object + required: + - name + - default + properties: + id: + type: string + description: UUID of the resource + readOnly: true + example: 123e4567-e89b-12d3-a456-426655440000 + name: + description: DNS proxy name + type: string + maxLength: 31 + enabled: + description: Enable DNS proxy? + type: boolean + default: + type: object + required: + - primary + properties: + inheritance: + type: object + properties: + source: + description: Dynamic interface + type: string + primary: + description: Primary DNS Name server IP address + type: string + example: inherited + secondary: + description: Secondary DNS Name server IP address + type: string + example: inherited + interface: + description: Interfaces on which to enable DNS proxy service + type: array + items: + description: Interface name + type: string + domain_servers: + type: array + description: DNS proxy rules + items: + type: object + required: + - name + - domain-name + - primary + properties: + name: + description: Proxy rule name + type: string + cacheable: + description: Enable caching for this DNS proxy rule? + type: boolean + domain_name: + type: array + description: Domain names(s) that will be matched + items: + description: Domain name + type: string + format: fqdn + maxLength: 128 + primary: + description: Primary DNS server IP address + type: string + format: ip-address + secondary: + description: Secondary DNS server IP address + type: string + format: ip-address + static_entries: + type: array + items: + description: Static domain name mappings + type: object + required: + - name + - domain + - address + properties: + name: + description: Static entry name + type: string + maxLength: 31 + domain: + description: Fully qualified domain name + type: string + maxLength: 255 + address: + type: array + items: + description: Resolved IP address + type: string + format: ip-address + maxLength: 63 + tcp_queries: + type: object + required: + - enabled + properties: + enabled: + description: Turn on forwarding of TCP DNS queries? + type: boolean + default: false + max_pending_requests: + description: Upper limit on number of concurrent TCP DNS requests + type: integer + minimum: 64 + maximum: 256 + default: 64 + udp_queries: + type: object + properties: + retries: + properties: + interval: + description: Time in seconds for another request to be sent + default: 2 + type: integer + minimum: 1 + maximum: 30 + attempts: + description: Maximum number of retries before trying next name server + default: 5 + type: integer + minimum: 1 + maximum: 30 + cache: + type: object + required: + - enabled + properties: + enabled: + description: Turn on caching for this DNS object + type: boolean + default: true + cache_edns: + description: Cache EDNS UDP response + type: boolean + default: true + max_ttl: + type: object + required: + - enabled + properties: + enabled: + description: Enable max ttl for this DNS object + default: false + type: boolean + time_to_live: + description: Time in seconds after which entry is cleared + type: integer + minimum: 60 + maximum: 86400 + oneOf: + - type: object + title: folder + properties: + folder: + type: string + pattern: ^[a-zA-Z\d\-_\. ]+$ + maxLength: 64 + description: The folder in which the resource is defined + example: My Folder + required: + - folder + - type: object + title: snippet + properties: + snippet: + type: string + pattern: ^[a-zA-Z\d\-_\. ]+$ + maxLength: 64 + description: The snippet in which the resource is defined + example: My Snippet + required: + - snippet + - type: object + title: device + properties: + device: + type: string + pattern: ^[a-zA-Z\d\-_\. ]+$ + maxLength: 64 + description: The device in which the resource is defined + example: My Device + required: + - device + generic_error: + type: object + properties: + _errors: + $ref: '#/components/schemas/error_detail_cause_infos' + _request_id: + type: string + x-examples: {} + error_detail_cause_infos: + type: array + items: + $ref: '#/components/schemas/error_detail_cause_info' + x-examples: {} + error_detail_cause_info: + type: object + title: Cause Info + properties: + code: + type: string + message: + type: string + details: + oneOf: + - type: string + - type: object + help: + type: string + network_packet_broker_profiles: + type: object + required: + - id + - name + properties: + id: + type: string + format: uuid + description: Unique identifier + readOnly: true + example: "550e8400-e29b-41d4-a716-446655440000" + name: + type: string + description: Profile name + maxLength: 63 + pattern: '^[a-zA-Z\d\-_\. ]+$' + example: "packet-broker-profile-1" + description: + type: string + description: Profile description + example: "Network packet broker profile for security monitoring" + flow: + type: string + description: Flow type + enum: + - routed + - transparent + example: "routed" + interface_primary: + type: string + description: Primary interface + example: "ethernet1/1" + interface_secondary: + type: string + description: Secondary interface + example: "ethernet1/2" + disable_override: + type: string + description: Disable override setting + example: "no" + routed: + type: object + description: Routed mode configuration + properties: + distribution: + type: string + description: Traffic distribution method + example: "round-robin" + security_chain: + type: array + description: Security chain devices + items: + type: object + properties: + name: + type: string + description: Security chain name + example: "chain1" + enable: + type: boolean + description: Enable this chain + example: true + first_device: + type: string + description: First device IP or hostname + example: "10.0.0.1" + first_device_description: + type: string + description: First device description + example: "Primary security device" + last_device: + type: string + description: Last device IP or hostname + example: "10.0.0.2" + last_device_description: + type: string + description: Last device description + example: "Secondary security device" + transparent: + type: object + description: Transparent mode configuration + properties: + enable_ipv6: + type: boolean + description: Enable IPv6 support + example: true + health_check: + type: object + description: Health check configuration + properties: + failure_action: + type: string + description: Action to take on failure + enum: + - bypass + - drop + example: "bypass" + failure_condition: + type: string + description: Condition that triggers failure + example: "all" + http_count: + type: integer + description: Number of HTTP health check failures + example: 3 + http_enable: + type: boolean + description: Enable HTTP health checks + example: true + http_latency_duration_s: + type: integer + description: HTTP latency check duration in seconds + example: 60 + http_latency_maximum_ms: + type: integer + description: Maximum acceptable HTTP latency in milliseconds + example: 200 + path_count: + type: integer + description: Number of path health check failures + example: 3 + path_enable: + type: boolean + description: Enable path health checks + example: false + http_interval_s: + type: integer + description: HTTP health check interval in seconds + example: 30 + http_latency_enable: + type: boolean + description: Enable HTTP latency checks + example: true + http_latency_log_exceeded: + type: boolean + description: Log when latency threshold is exceeded + example: true + path_interval_s: + type: integer + description: Path health check interval in seconds + example: 30 + path_recovery_hold_s: + type: integer + description: Path recovery hold time in seconds + example: 60 + oneOf: + - type: object + title: folder + properties: + folder: + type: string + pattern: '^[a-zA-Z\d\-_\. ]+$' + maxLength: 64 + description: The folder in which the resource is defined + example: "My Folder" + required: + - folder + - type: object + title: snippet + properties: + snippet: + type: string + pattern: '^[a-zA-Z\d\-_\. ]+$' + maxLength: 64 + description: The snippet in which the resource is defined + example: "My Snippet" + required: + - snippet + - type: object + title: device + properties: + device: + type: string + pattern: '^[a-zA-Z\d\-_\. ]+$' + maxLength: 64 + description: The device in which the resource is defined + example: "My Device" + required: + - device + network_packet_broker_rules: + type: object + required: + - id + - name + - action + properties: + id: + type: string + format: uuid + description: Unique identifier + readOnly: true + example: "550e8400-e29b-41d4-a716-446655440000" + name: + type: string + description: Rule name + maxLength: 63 + pattern: '^[a-zA-Z\d\-_\. ]+$' + example: "npb-rule-1" + description: + type: string + description: Rule description + example: "Route traffic to security devices" + group_tag: + type: string + description: Group tag for rule organization + example: "security-monitoring" + from: + type: array + description: Source zones + items: + type: string + example: + - trust + - dmz + to: + type: array + description: Destination zones + items: + type: string + example: + - untrust + source: + type: array + description: Source addresses + items: + type: string + example: + - 10.0.0.0/24 + - any + destination: + type: array + description: Destination addresses + items: + type: string + example: + - any + application: + type: array + description: Applications + items: + type: string + example: + - web-browsing + - ssl + - ssh + service: + type: array + description: Services + items: + type: string + example: + - any + - application-default + source_user: + type: array + description: Source users + items: + type: string + example: + - any + source_hip: + type: array + description: Source Host Information Profile (HIP) + items: + type: string + example: + - any + destination_hip: + type: array + description: Destination Host Information Profile (HIP) + items: + type: string + example: + - any + tag: + type: array + description: Tags associated with the rule + items: + type: string + example: + - production + - monitoring + negate_source: + type: boolean + description: Negate source address match + example: false + negate_destination: + type: boolean + description: Negate destination address match + example: false + disabled: + type: boolean + description: Rule is disabled + example: false + action: + type: object + required: + - packet_broker_profile + description: Action to take when rule matches + properties: + packet_broker_profile: + type: string + description: Name of the packet broker profile to use + example: "routed-profile-1" + traffic_type: + type: object + description: Types of traffic this rule applies to + properties: + non_tls: + type: boolean + description: Match non-TLS traffic + example: true + tls_encrypted: + type: boolean + description: Match TLS encrypted traffic + example: true + tls_decrypted: + type: boolean + description: Match TLS decrypted traffic + example: false + oneOf: + - type: object + title: folder + properties: + folder: + type: string + pattern: '^[a-zA-Z\d\-_\. ]+$' + maxLength: 64 + description: The folder in which the resource is defined + example: "My Folder" + required: + - folder + - type: object + title: snippet + properties: + snippet: + type: string + pattern: '^[a-zA-Z\d\-_\. ]+$' + maxLength: 64 + description: The snippet in which the resource is defined + example: "My Snippet" + required: + - snippet + - type: object + title: device + properties: + device: + type: string + pattern: '^[a-zA-Z\d\-_\. ]+$' + maxLength: 64 + description: The device in which the resource is defined + example: "My Device" + required: + - device +security: + - scmToken: [] +x-internal: false \ No newline at end of file diff --git a/openapi-specs/scm/config/sase/network/network-services.yaml b/openapi-specs/scm/config/sase/network/network-services.yaml index b84761ce8..70b1f2141 100644 --- a/openapi-specs/scm/config/sase/network/network-services.yaml +++ b/openapi-specs/scm/config/sase/network/network-services.yaml @@ -1410,6 +1410,55 @@ paths: $ref: '#/components/responses/conflict_errors' default: $ref: '#/components/responses/default_errors' + '/ike-gateways:generate-ppk': + post: + tags: + - IKE Gateways + summary: Generate PPK Key + description: | + Generates a cryptographically strong Post-Quantum Pre-Shared Key (RFC 8784). + Returns a hex-encoded key suitable for use in IKE gateway PPK configuration. + operationId: GenerateIKEGatewayPPKKey + parameters: + - $ref: '#/components/parameters/folder' + requestBody: + description: PPK generation parameters + content: + application/json: + schema: + type: object + properties: + length: + type: integer + description: Key length in characters (max 128). Default is 32. + default: 32 + maximum: 128 + responses: + '200': + description: Successfully generated PPK key + content: + application/json: + schema: + type: object + properties: + key: + type: string + description: Hex-encoded PPK key + length: + type: integer + description: Key length in bytes + generated_at: + type: string + format: date-time + description: ISO 8601 timestamp when key was generated + '400': + $ref: '#/components/responses/bad_request_errors_basic_with_body' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + default: + $ref: '#/components/responses/default_errors' /ipsec-crypto-profiles: get: tags: @@ -9024,6 +9073,52 @@ components: description: IKEv2 SA reauthentication interval equals authetication-multiple * rekey-lifetime; 0 means reauthentication disabled maximum: 50 default: 0 + ake: + type: object + description: | + RFC 9370 Additional Key Exchange (AKE) configuration for IKE. + Supports up to 7 rounds of additional key exchanges. + Each round can specify multiple algorithms in preference order. + Supported algorithms: ml-kem-512, ml-kem-768, ml-kem-1024, and DH groups. + properties: + enabled: + type: boolean + description: Enable additional key exchanges + ake_1: + type: array + items: + type: string + description: Round 1 algorithms (e.g., ["ml-kem-768", "group14"]) + ake_2: + type: array + items: + type: string + description: Round 2 algorithms + ake_3: + type: array + items: + type: string + description: Round 3 algorithms + ake_4: + type: array + items: + type: string + description: Round 4 algorithms + ake_5: + type: array + items: + type: string + description: Round 5 algorithms + ake_6: + type: array + items: + type: string + description: Round 6 algorithms + ake_7: + type: array + items: + type: string + description: Round 7 algorithms required: - name - hash @@ -9166,6 +9261,49 @@ components: properties: enable: type: boolean + pq_ppk: + type: object + description: RFC 8784 Post-Quantum Pre-Shared Key (PPK) configuration + properties: + enabled: + type: boolean + description: Enable PPK for this IKE gateway + negotiation_mode: + type: string + enum: + - preferred + - mandatory + description: | + PPK negotiation mode: + - preferred: Fall back to normal IKEv2 if peer doesn't support PPK + - mandatory: Abort negotiation if peer doesn't support PPK + keys: + type: array + description: List of PPK keys + items: + type: object + properties: + name: + type: string + maxLength: 31 + description: PPK key identifier + key: + type: string + maxLength: 128 + description: PPK secret value (hex-encoded) + enabled: + type: boolean + description: Enable this PPK key + pq_kem: + type: object + description: RFC 9370 Post-Quantum Key Encapsulation Mechanism configuration + properties: + enable: + type: boolean + description: Enable PQ-KEM for this IKE gateway + block_vulnerable_cipher: + type: boolean + description: Block connections that don't support PQ-KEM version: enum: - ikev2-preferred @@ -9349,6 +9487,35 @@ components: description: specify lifesize in terabytes(TB) minimum: 1 maximum: 65535 + ake: + type: object + description: | + RFC 9370 Additional Key Exchange (AKE) configuration for IPSec/ESP. + Supports up to 7 rounds of additional key exchanges. + Unlike IKE, each round accepts only a single algorithm (not an array). + Supported algorithms: ml-kem-512, ml-kem-768, ml-kem-1024, and DH groups. + properties: + ake_1: + type: string + description: Round 1 algorithm (e.g., "ml-kem-768") + ake_2: + type: string + description: Round 2 algorithm + ake_3: + type: string + description: Round 3 algorithm + ake_4: + type: string + description: Round 4 algorithm + ake_5: + type: string + description: Round 5 algorithm + ake_6: + type: string + description: Round 6 algorithm + ake_7: + type: string + description: Round 7 algorithm required: - name - lifetime @@ -9963,10 +10130,6 @@ components: type: boolean enable_device_identification: type: boolean - dos_profile: - type: string - dos_log_setting: - type: string network: type: object properties: @@ -10928,10 +11091,13 @@ components: type: object properties: vlan_tag: - description: VLAN tag + description: VLAN tag. Mutually exclusive with vlan_object. type: string pattern: '^([1-9]\d{0,2}|[1-3]\d{3}|40[0-8]\d|409[0-6])$' example: '123' + vlan_object: + description: VLAN object reference. Mutually exclusive with vlan_tag. + type: string lacp: $ref: '#/components/schemas/lacp' netflow_profile: @@ -11316,9 +11482,12 @@ components: description: Name of Netflow Profile to assign to Interface type: string vlan_tag: - description: Assign interface to VLAN tag + description: Assign interface to VLAN tag. Mutually exclusive with vlan_object. type: string pattern: '^([1-9]\d{0,2}|[1-3]\d{3}|40[0-8]\d|409[0-6])$' + vlan_object: + description: VLAN object reference. Mutually exclusive with vlan_tag. + type: string lldp: description: LLDP Settings type: object @@ -11556,6 +11725,9 @@ components: description: VLAN tag type: string pattern: '^([1-9]\d{0,2}|[1-3]\d{3}|40[0-8]\d|409[0-6])$' + vlan_object: + description: VLAN object reference + type: string parent_interface: description: Parent interface type: string @@ -11932,10 +12104,13 @@ components: description: Description type: string vlan_tag: - description: VLAN tag + description: VLAN tag. Mutually exclusive with vlan_object. type: string pattern: '^([1-9]\d{0,2}|[1-3]\d{3}|40[0-8]\d|409[0-6])$' example: '123' + vlan_object: + description: VLAN object reference. Mutually exclusive with vlan_tag. + type: string mtu: description: MTU type: integer diff --git a/products/scm/docs/release-notes/release-notes.md b/products/scm/docs/release-notes/release-notes.md index 19f2fc3c7..e0764f575 100644 --- a/products/scm/docs/release-notes/release-notes.md +++ b/products/scm/docs/release-notes/release-notes.md @@ -16,3 +16,16 @@ documentation, some of which have occurred in between API product releases. * [November 2024](/scm/docs/release-notes/november2024/) +## July 24th, 2026 + +Network API: 1 new endpoint available. + +### New + +- **Generate PPK Key.** New `POST /ike-gateways:generate-ppk` endpoint now available. + [Network API reference →](/scm/api/network) + ``` + POST api.strata.paloaltonetworks.com/ike-gateways:generate-ppk + ``` + +--- From 1d28fc46fcab3b35eb55c423f87905735af97fa5 Mon Sep 17 00:00:00 2001 From: API Governance Team Date: Mon, 27 Jul 2026 15:37:03 +0530 Subject: [PATCH 2/2] Removed the duplicate folder Network Configuration which is same as Network Services --- ...ces-R2-2026.yaml => network-services.yaml} | 189 +++++++++++++++++- 1 file changed, 182 insertions(+), 7 deletions(-) rename openapi-specs/scm/config/sase/network configurations/{network-services-R2-2026.yaml => network-services.yaml} (99%) diff --git a/openapi-specs/scm/config/sase/network configurations/network-services-R2-2026.yaml b/openapi-specs/scm/config/sase/network configurations/network-services.yaml similarity index 99% rename from openapi-specs/scm/config/sase/network configurations/network-services-R2-2026.yaml rename to openapi-specs/scm/config/sase/network configurations/network-services.yaml index b84761ce8..70b1f2141 100644 --- a/openapi-specs/scm/config/sase/network configurations/network-services-R2-2026.yaml +++ b/openapi-specs/scm/config/sase/network configurations/network-services.yaml @@ -1410,6 +1410,55 @@ paths: $ref: '#/components/responses/conflict_errors' default: $ref: '#/components/responses/default_errors' + '/ike-gateways:generate-ppk': + post: + tags: + - IKE Gateways + summary: Generate PPK Key + description: | + Generates a cryptographically strong Post-Quantum Pre-Shared Key (RFC 8784). + Returns a hex-encoded key suitable for use in IKE gateway PPK configuration. + operationId: GenerateIKEGatewayPPKKey + parameters: + - $ref: '#/components/parameters/folder' + requestBody: + description: PPK generation parameters + content: + application/json: + schema: + type: object + properties: + length: + type: integer + description: Key length in characters (max 128). Default is 32. + default: 32 + maximum: 128 + responses: + '200': + description: Successfully generated PPK key + content: + application/json: + schema: + type: object + properties: + key: + type: string + description: Hex-encoded PPK key + length: + type: integer + description: Key length in bytes + generated_at: + type: string + format: date-time + description: ISO 8601 timestamp when key was generated + '400': + $ref: '#/components/responses/bad_request_errors_basic_with_body' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + default: + $ref: '#/components/responses/default_errors' /ipsec-crypto-profiles: get: tags: @@ -9024,6 +9073,52 @@ components: description: IKEv2 SA reauthentication interval equals authetication-multiple * rekey-lifetime; 0 means reauthentication disabled maximum: 50 default: 0 + ake: + type: object + description: | + RFC 9370 Additional Key Exchange (AKE) configuration for IKE. + Supports up to 7 rounds of additional key exchanges. + Each round can specify multiple algorithms in preference order. + Supported algorithms: ml-kem-512, ml-kem-768, ml-kem-1024, and DH groups. + properties: + enabled: + type: boolean + description: Enable additional key exchanges + ake_1: + type: array + items: + type: string + description: Round 1 algorithms (e.g., ["ml-kem-768", "group14"]) + ake_2: + type: array + items: + type: string + description: Round 2 algorithms + ake_3: + type: array + items: + type: string + description: Round 3 algorithms + ake_4: + type: array + items: + type: string + description: Round 4 algorithms + ake_5: + type: array + items: + type: string + description: Round 5 algorithms + ake_6: + type: array + items: + type: string + description: Round 6 algorithms + ake_7: + type: array + items: + type: string + description: Round 7 algorithms required: - name - hash @@ -9166,6 +9261,49 @@ components: properties: enable: type: boolean + pq_ppk: + type: object + description: RFC 8784 Post-Quantum Pre-Shared Key (PPK) configuration + properties: + enabled: + type: boolean + description: Enable PPK for this IKE gateway + negotiation_mode: + type: string + enum: + - preferred + - mandatory + description: | + PPK negotiation mode: + - preferred: Fall back to normal IKEv2 if peer doesn't support PPK + - mandatory: Abort negotiation if peer doesn't support PPK + keys: + type: array + description: List of PPK keys + items: + type: object + properties: + name: + type: string + maxLength: 31 + description: PPK key identifier + key: + type: string + maxLength: 128 + description: PPK secret value (hex-encoded) + enabled: + type: boolean + description: Enable this PPK key + pq_kem: + type: object + description: RFC 9370 Post-Quantum Key Encapsulation Mechanism configuration + properties: + enable: + type: boolean + description: Enable PQ-KEM for this IKE gateway + block_vulnerable_cipher: + type: boolean + description: Block connections that don't support PQ-KEM version: enum: - ikev2-preferred @@ -9349,6 +9487,35 @@ components: description: specify lifesize in terabytes(TB) minimum: 1 maximum: 65535 + ake: + type: object + description: | + RFC 9370 Additional Key Exchange (AKE) configuration for IPSec/ESP. + Supports up to 7 rounds of additional key exchanges. + Unlike IKE, each round accepts only a single algorithm (not an array). + Supported algorithms: ml-kem-512, ml-kem-768, ml-kem-1024, and DH groups. + properties: + ake_1: + type: string + description: Round 1 algorithm (e.g., "ml-kem-768") + ake_2: + type: string + description: Round 2 algorithm + ake_3: + type: string + description: Round 3 algorithm + ake_4: + type: string + description: Round 4 algorithm + ake_5: + type: string + description: Round 5 algorithm + ake_6: + type: string + description: Round 6 algorithm + ake_7: + type: string + description: Round 7 algorithm required: - name - lifetime @@ -9963,10 +10130,6 @@ components: type: boolean enable_device_identification: type: boolean - dos_profile: - type: string - dos_log_setting: - type: string network: type: object properties: @@ -10928,10 +11091,13 @@ components: type: object properties: vlan_tag: - description: VLAN tag + description: VLAN tag. Mutually exclusive with vlan_object. type: string pattern: '^([1-9]\d{0,2}|[1-3]\d{3}|40[0-8]\d|409[0-6])$' example: '123' + vlan_object: + description: VLAN object reference. Mutually exclusive with vlan_tag. + type: string lacp: $ref: '#/components/schemas/lacp' netflow_profile: @@ -11316,9 +11482,12 @@ components: description: Name of Netflow Profile to assign to Interface type: string vlan_tag: - description: Assign interface to VLAN tag + description: Assign interface to VLAN tag. Mutually exclusive with vlan_object. type: string pattern: '^([1-9]\d{0,2}|[1-3]\d{3}|40[0-8]\d|409[0-6])$' + vlan_object: + description: VLAN object reference. Mutually exclusive with vlan_tag. + type: string lldp: description: LLDP Settings type: object @@ -11556,6 +11725,9 @@ components: description: VLAN tag type: string pattern: '^([1-9]\d{0,2}|[1-3]\d{3}|40[0-8]\d|409[0-6])$' + vlan_object: + description: VLAN object reference + type: string parent_interface: description: Parent interface type: string @@ -11932,10 +12104,13 @@ components: description: Description type: string vlan_tag: - description: VLAN tag + description: VLAN tag. Mutually exclusive with vlan_object. type: string pattern: '^([1-9]\d{0,2}|[1-3]\d{3}|40[0-8]\d|409[0-6])$' example: '123' + vlan_object: + description: VLAN object reference. Mutually exclusive with vlan_tag. + type: string mtu: description: MTU type: integer