{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/api-evangelist/palo-alto-networks/main/json-schema/palo-alto-networks-remote-networks-ipsec-tunnel-set-schema.json", "title": "RemoteNetworksIpsecTunnelSet", "x-generated": "2026-10-04", "x-method": "derived", "x-generator": "derive-json-schema.py", "x-source": "openapi/palo-alto-networks-remote-networks-api-openapi.yml#/components/schemas/RemoteNetworksIpsecTunnelSet", "properties": { "name": { "description": "provide a name to use as a suffix for bulk operations", "type": "string" }, "remote_networks_ipsec_tunnels": { "items": { "$ref": "#/$defs/RemoteNetworksIpsecTunnel" }, "maxItems": 100, "minItems": 1, "type": "array", "uniqueItems": true } }, "required": [ "name" ], "type": "object", "$defs": { "EcmpLoadBalancing": { "properties": { "ecmp_load_balancing_enabled": { "default": "disable", "enum": [ "enable", "disable" ], "type": "string" }, "ecmp_tunnels": { "description": "ecmp_tunnels is required when ecmp_load_balancing is enable", "items": { "properties": { "bgp": { "properties": { "do_not_export_routes": { "type": "boolean" }, "enable": { "type": "boolean" }, "local_ip_address": { "type": "string" }, "originate_default_route": { "type": "boolean" }, "peer_as": { "type": "string" }, "peer_ip_address": { "type": "string" }, "peering_type": { "description": "Exchange Routes: exchange-v4-over-v4 stands for Exchange IPv4 routes over IPv4 peering. exchange-v4-v6-over-v4 stands for Exchange both IPv4 and IPv6 routes over IPv4 peering. exchange-v4-over-v4-v6-over-v6 stands for Exchange IPv4 routes over IPv4 peer and IPv6 route over IPv6 peer. exchange-v6-over-v6 stands for Exchange IPv6 routes over IPv6 peering.", "enum": [ "exchange-v4-over-v4", "exchange-v4-v6-over-v4", "exchange-v4-over-v4-v6-over-v6", "exchange-v6-over-v6" ], "type": "string" }, "secret": { "type": "string" }, "summarize_mobile_user_routes": { "type": "boolean" } }, "type": "object" }, "ipsec_tunnel": { "$ref": "#/$defs/IpsecTunnel" }, "name": { "type": "string" } }, "required": [ "name", "ipsec_tunnel" ], "type": "object" }, "maxLength": 4, "type": "array" } }, "type": "object" }, "Ike": { "properties": { "advanced": { "$ref": "#/$defs/IkeAdvanced" }, "authentication": { "properties": { "pre_shared_key_auth": { "description": "user provided key", "type": "string" } }, "type": "object" }, "crypto": { "oneOf": [ { "$ref": "#/$defs/IkeCryptoProfiles" }, { "$ref": "#/$defs/IkeCrypto" } ], "type": "object" }, "local_id": { "properties": { "id": { "description": "Local ID string", "maxLength": 1024, "minLength": 1, "pattern": "^(.+\\@[a-zA-Z0-9.-]+)$|^([$a-zA-Z0-9_:.-]+)$|^(([[:xdigit:]][[:xdigit:]])+)$|^([a-zA-Z0-9.]+=(\\\\,|[^,])+[, ]+)*([a-zA-Z0-9.]+=(\\\\,|[^,])+)$", "type": "string" }, "type": { "type": "string" } }, "type": "object" }, "peer_address": { "oneOf": [ { "properties": { "ip": { "description": "peer gateway has static IP address", "type": "string" } }, "title": "ip", "type": "object" }, { "properties": { "fqdn": { "description": "peer gateway FQDN name", "maxLength": 255, "type": "string" } }, "title": "fqdn", "type": "object" }, { "properties": { "dynamic": { "default": {}, "description": "enable dynamic option please set the value of this field to {'': ''}", "type": "object" } }, "title": "dynamic", "type": "object" } ], "type": "object" }, "peer_id": { "properties": { "id": { "description": "Peer ID string", "maxLength": 1024, "minLength": 1, "pattern": "^(.+\\@[\\*a-zA-Z0-9.-]+)$|^([\\*$a-zA-Z0-9_:.-]+)$|^(([[:xdigit:]][[:xdigit:]])+)$|^([a-zA-Z0-9.]+=(\\\\,|[^,])+[, ]+)*([a-zA-Z0-9.]+=(\\\\,|[^,])+)$", "type": "string" }, "type": { "enum": [ "ipaddr", "keyid", "fqdn", "ufqdn" ], "type": "string" } }, "type": "object" }, "version": { "enum": [ "ikev1", "ikev2", "ikev2-preferred" ], "type": "string" } }, "required": [ "authentication", "crypto", "peer_address" ], "type": "object" }, "IkeAdvanced": { "properties": { "fragmentation": { "properties": { "enable": { "default": false, "enum": [ false ], "type": "boolean" } }, "type": "object" }, "nat_traversal": { "properties": { "enable": { "type": "boolean" } }, "type": "object" }, "passive_mode": { "type": "boolean" } }, "type": "object" }, "IkeCrypto": { "properties": { "ipsec_crypto_profile": { "type": "string" } }, "type": "object" }, "IkeCryptoProfiles": { "properties": { "authentication_multiple": { "default": 0, "description": "IKEv2 SA reauthentication interval equals authetication-multiple * rekey-lifetime; 0 means reauthentication disabled", "maximum": 50, "type": "integer" }, "dh_group": { "items": { "default": "group2", "description": "Phase-1 DH group", "enum": [ "group1", "group2", "group5", "group14", "group19", "group20" ], "type": "string" }, "type": "array" }, "encryption": { "description": "Encryption algorithm", "items": { "default": "aes-128-cbc", "enum": [ "des", "3des", "aes-128-cbc", "aes-192-cbc", "aes-256-cbc", "aes-128-gcm", "aes-256-gcm" ], "type": "string" }, "type": "array" }, "hash": { "items": { "default": "sha1", "description": "Hashing algorithm", "enum": [ "md5", "sha1", "sha256", "sha384", "sha512" ], "type": "string" }, "type": "array" }, "id": { "description": "uuid of the resource", "readOnly": true, "type": "string" }, "lifetime": { "oneOf": [ { "properties": { "seconds": { "description": "specify lifetime in seconds", "maximum": 65535, "minimum": 180, "type": "integer" } }, "title": "seconds", "type": "object" }, { "properties": { "minutes": { "description": "specify lifetime in minutes", "maximum": 65535, "minimum": 3, "type": "integer" } }, "title": "minutes", "type": "object" }, { "properties": { "hours": { "description": "specify lifetime in hours", "maximum": 65535, "minimum": 1, "type": "integer" } }, "title": "hours", "type": "object" }, { "properties": { "days": { "description": "specify lifetime in days", "maximum": 365, "minimum": 1, "type": "integer" } }, "title": "days", "type": "object" } ], "type": "object" }, "name": { "description": "Alphanumeric string begin with letter: [0-9a-zA-Z._-]", "maxLength": 31, "type": "string" } }, "required": [ "name", "encryption", "hash", "dh_group" ], "type": "object" }, "IpsecCrypto": { "properties": { "ipsec_crypto_profile": { "type": "string" } }, "type": "object" }, "IpsecCryptoProfiles": { "properties": { "ah": { "properties": { "authentication": { "items": { "enum": [ "md5", "sha1", "sha256", "sha384", "sha512" ], "type": "string" }, "type": "array" } }, "required": [ "authentication" ], "type": "object" }, "dh_group": { "default": "group2", "description": "phase-2 DH group (PFS DH group)", "enum": [ "no-pfs", "group1", "group2", "group5", "group14", "group19", "group20" ], "type": "string" }, "esp": { "properties": { "authentication": { "description": "Authentication algorithm", "items": { "default": "sha1", "type": "string" }, "type": "array" }, "encryption": { "description": "Encryption algorithm", "items": { "default": "aes-128-cbc", "enum": [ "des", "3des", "aes-128-cbc", "aes-192-cbc", "aes-256-cbc", "aes-128-gcm", "aes-256-gcm", "null" ], "type": "string" }, "type": "array" } }, "required": [ "encryption", "authentication" ], "type": "object" }, "lifesize": { "$ref": "#/$defs/Lifesize" }, "lifetime": { "$ref": "#/$defs/Lifetime" }, "name": { "description": "Alphanumeric string begin with letter: [0-9a-zA-Z._-]", "maxLength": 31, "type": "string" } }, "required": [ "name", "lifetime" ], "type": "object" }, "IpsecTunnel": { "properties": { "anti_replay": { "description": "Enable Anti-Replay check on this tunnel", "type": "boolean" }, "copy_tos": { "default": false, "description": "Copy IP TOS bits from inner packet to IPSec packet (not recommended)", "type": "boolean" }, "crypto": { "oneOf": [ { "$ref": "#/$defs/IpsecCryptoProfiles" }, { "$ref": "#/$defs/IpsecCrypto" } ], "type": "object" }, "enable_gre_encapsulation": { "default": false, "description": "allow GRE over IPSec", "type": "boolean" }, "ike": { "$ref": "#/$defs/Ike" }, "tunnel_monitor": { "properties": { "destination_ip": { "default": "", "description": "Destination IP to send ICMP probe", "type": "string" }, "enable": { "default": true, "description": "Enable tunnel monitoring on this tunnel", "type": "boolean" }, "proxy_id": { "description": "Which proxy-id (or proxy-id-v6) the monitoring traffic will use", "type": "string" } }, "type": "object" } }, "required": [ "ike" ], "type": "object" }, "Lifesize": { "oneOf": [ { "properties": { "kb": { "description": "specify lifesize in kilobytes(KB)", "maximum": 65535, "minimum": 1, "type": "integer" } }, "title": "kb", "type": "object" }, { "properties": { "mb": { "description": "specify lifesize in megabytes(MB)", "maximum": 65535, "minimum": 1, "type": "integer" } }, "title": "mb", "type": "object" }, { "properties": { "gb": { "description": "specify lifesize in gigabytes(GB)", "maximum": 65535, "minimum": 1, "type": "integer" } }, "title": "gb", "type": "object" }, { "properties": { "tb": { "description": "specify lifesize in terabytes(TB)", "maximum": 65535, "minimum": 1, "type": "integer" } }, "title": "tb", "type": "object" } ], "type": "object" }, "Lifetime": { "oneOf": [ { "properties": { "seconds": { "description": "specify lifetime in seconds", "maximum": 65535, "minimum": 180, "type": "integer" } }, "title": "seconds", "type": "object" }, { "properties": { "minutes": { "description": "specify lifetime in minutes", "maximum": 65535, "minimum": 3, "type": "integer" } }, "title": "minutes", "type": "object" }, { "properties": { "hours": { "description": "specify lifetime in hours", "maximum": 65535, "minimum": 1, "type": "integer" } }, "title": "hours", "type": "object" }, { "properties": { "days": { "description": "specify lifetime in days", "maximum": 365, "minimum": 1, "type": "integer" } }, "title": "days", "type": "object" } ], "type": "object" }, "RemoteNetworksIpsecTunnel": { "properties": { "bgp": { "properties": { "bgp_peer": { "properties": { "local_ip_address": { "type": "string" }, "peer_ip_address": { "type": "string" }, "secret": { "type": "string" } }, "type": "object" }, "do_not_export_routes": { "type": "boolean" }, "enable": { "type": "boolean" }, "local_ip_address": { "type": "string" }, "originate_default_route": { "type": "boolean" }, "peer_as": { "type": "string" }, "peer_ip_address": { "type": "string" }, "peering_type": { "description": "Exchange Routes: exchange-v4-over-v4 stands for Exchange IPv4 routes over IPv4 peering. exchange-v4-v6-over-v4 stands for Exchange both IPv4 and IPv6 routes over IPv4 peering. exchange-v4-over-v4-v6-over-v6 stands for Exchange IPv4 routes over IPv4 peer and IPv6 route over IPv6 peer. exchange-v6-over-v6 stands for Exchange IPv6 routes over IPv6 peering.", "enum": [ "exchange-v4-over-v4", "exchange-v4-v6-over-v4", "exchange-v4-over-v4-v6-over-v6", "exchange-v6-over-v6" ], "type": "string" }, "secret": { "type": "string" }, "summarize_mobile_user_routes": { "type": "boolean" } }, "type": "object" }, "ecmp-load-balancing": { "$ref": "#/$defs/EcmpLoadBalancing" }, "ipsec-termination-node": { "description": "ipsec termination node", "type": "string" }, "name": { "description": "Alphanumeric string begin with letter: [0-9a-zA-Z._-]", "maxLength": 63, "type": "string" }, "primary_tunnel": { "$ref": "#/$defs/IpsecTunnel" }, "region": { "minLength": 5, "type": "string" }, "secondary_tunnel": { "$ref": "#/$defs/IpsecTunnel" }, "subnets": { "items": { "type": "string" }, "type": "array" } }, "required": [ "name", "region" ], "type": "object" } } }