openapi: 3.2.0 info: version: 2.0.0 title: Network Services Logical Routers API 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 security: - scmToken: [] tags: - name: Logical Routers description: Logical Routers paths: /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' components: examples: 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_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_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_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_object_not_unique: summary: Object Not Unique value: _errors: - code: E016 message: Object Not Unique 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_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_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_command: summary: Invalid Command value: _errors: - code: E003 message: Invalid Command 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_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_403_panui_auth_unauthorized: summary: Unauthorized value: _errors: - code: E007 message: Unauthorized 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_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_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_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_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_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 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_400_panui_mgmt_bad_xpath: summary: Bad XPath value: _errors: - code: E013 message: Bad XPath details: {} _request_id: 123e4567-e89b-12d3-a456-426655440000 parameters: 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 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 name: name: name in: query description: The name of the configuration resource required: false schema: type: string limit: name: limit in: query description: The maximum number of results per page required: false schema: type: integer default: 200 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 offset: name: offset in: query description: The offset into the list of results returned required: false schema: type: integer default: 0 device: name: device in: query description: 'The device in which the resource is defined ' required: false schema: type: string responses: http_ok: description: OK 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' 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' 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' 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' 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' 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' access_errors: description: Forbidden content: application/json: schema: $ref: '#/components/schemas/generic_error' examples: auth_unauthorized: $ref: '#/components/examples/json_403_panui_auth_unauthorized' schemas: generic_error: type: object properties: _errors: $ref: '#/components/schemas/error_detail_cause_infos' _request_id: type: string 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 error_detail_cause_infos: type: array items: $ref: '#/components/schemas/error_detail_cause_info' x-examples: {} 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: true required: - true properties: true: type: object properties: {} - title: false required: - false properties: false: 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 securitySchemes: scmOAuth: type: oauth2 description: "Strata Cloud Manager APIs authenticate client requests using the \nOAuth 2.0 Client Credentials flow. Please use the `client_id`, \n`client_secret` values associated with an IAM service account along \nwith a scope value of `tsg_id:XXXXXXXXXX`, where `XXXXXXXXXX` is the \nTenant Service Group (TSG) ID. The resulting JWT access token should \nbe attached to all API calls as a `Bearer` token in the `Authorization` \nheader (ex. `Authorization: Bearer tokenstring`).\n" 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 \nOAuth 2.0 Client Credentials flow. Please use the `client_id`, \n`client_secret` values associated with an IAM service account along \nwith a scope value of `tsg_id:XXXXXXXXXX`, where `XXXXXXXXXX` is the \nTenant Service Group (TSG) ID. The resulting JWT access token should \nbe attached to all API calls as a `Bearer` token in the `Authorization` \nheader (ex. `Authorization: Bearer tokenstring`).\n" scheme: bearer bearerFormat: JWT x-internal: false