{ "$schema": "https://json-schema.org/draft/2020-12/schema", "title": "VlanAttachmentRequest", "description": "VlanAttachmentRequest schema from SP Interconnect Manage APIs", "$id": "https://raw.githubusercontent.com/api-evangelist/palo-alto-networks/refs/heads/main/json-schema/sase-multitenant-interconnect-api-vlan-attachment-request-schema.json", "type": "object", "properties": { "name": { "type": "string", "pattern": "^([-0-9a-z]){1,13}$" }, "stackType": { "type": "string", "enum": [ "IPV4_ONLY", "IPV4_IPV6" ] }, "bandwidth": { "type": "string", "enum": [ "BPS_50M", "BPS_100M", "BPS_200M", "BPS_300M", "BPS_400M", "BPS_500M", "BPS_1G", "BPS_2G", "BPS_5G", "BPS_10G" ] }, "bgpPeerAsn": { "type": "integer", "format": "int64", "minimum": 1 }, "bgpPeerBfdSessionInitMode": { "type": "string", "enum": [ "ACTIVE", "PASSIVE", "DISABLED" ] }, "bgpPeerBfdMinTransmitInterval": { "type": "integer", "format": "int64", "maximum": 30000, "minimum": 1000 }, "bgpPeerBfdMinReceiveInterval": { "type": "integer", "format": "int64", "maximum": 30000, "minimum": 1000 }, "bgpPeerBfdMultiplier": { "type": "integer", "format": "int64", "maximum": 16, "minimum": 5 }, "dedicatedConnectionDetails": { "type": "array", "items": { "type": "object", "properties": { "edgeAvailability": { "type": "string" }, "bandwidth": { "type": "string", "enum": [ "BPS_50M", "BPS_100M", "BPS_200M", "BPS_300M", "BPS_400M", "BPS_500M", "BPS_1G", "BPS_2G", "BPS_5G", "BPS_10G" ] } }, "required": [ "edgeAvailability" ] } }, "primaryAttachmentCustomIpAddress": { "type": "object", "description": "Custom IP address configuration for VLAN attachment BGP peering. Both Cloud Router and Customer Router IP addresses must be provided together with matching prefix lengths (/29 or /30). IP addresses must not be in reserved ranges (RFC1918 private IPs, loopback, etc.) and must not be network or broadcast addresses.", "properties": { "candidateCloudRouterIpAddress": { "type": "string", "description": "Cloud Router IP address in CIDR notation (e.g., 169.254.1.1/29). Must have prefix length /29 or /30 and match the prefix length of candidateCustomerRouterIpAddress.", "pattern": "^((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?))/(29|30)$" }, "candidateCustomerRouterIpAddress": { "type": "string", "description": "Customer Router IP address in CIDR notation (e.g., 169.254.1.2/29). Must have prefix length /29 or /30 and match the prefix length of candidateCloudRouterIpAddress.", "pattern": "^((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?))/(29|30)$" } } }, "redundantAttachmentCustomIpAddress": { "type": "object", "description": "Custom IP address configuration for VLAN attachment BGP peering. Both Cloud Router and Customer Router IP addresses must be provided together with matching prefix lengths (/29 or /30). IP addresses must not be in reserved ranges (RFC1918 private IPs, loopback, etc.) and must not be network or broadcast addresses.", "properties": { "candidateCloudRouterIpAddress": { "type": "string", "description": "Cloud Router IP address in CIDR notation (e.g., 169.254.1.1/29). Must have prefix length /29 or /30 and match the prefix length of candidateCustomerRouterIpAddress.", "pattern": "^((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?))/(29|30)$" }, "candidateCustomerRouterIpAddress": { "type": "string", "description": "Customer Router IP address in CIDR notation (e.g., 169.254.1.2/29). Must have prefix length /29 or /30 and match the prefix length of candidateCloudRouterIpAddress.", "pattern": "^((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?))/(29|30)$" } } }, "bgpPeerMd5AuthEnabled": { "type": "boolean" } }, "required": [ "name", "bgpPeerAsn", "bgpPeerBfdSessionInitMode" ] }