<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Create a new Zone Protection Profile using XPath? in Automation/API Discussions</title>
    <link>https://live.paloaltonetworks.com/t5/automation-api-discussions/create-a-new-zone-protection-profile-using-xpath/m-p/523179#M3270</link>
    <description>&lt;P&gt;I am trying to add a Zone Protection Profile from an XML document to a firewall using the XPath API.&amp;nbsp; I don't want to have to iterate through each element and add it to the profile.&amp;nbsp; Is there a way to add it from an XML file or block?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;def add_dos_profile(self):&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; ret = True&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; with open("DOS.xml") as f:&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; element = f.read()&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; api_url = "https://" + self.host + "/api/?&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;type=config&amp;amp;action=set&amp;amp;xpath=/config/devices/entry[@name='localhost.localdomain']/network/dns-proxy&amp;amp;element=" + element&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;try:&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; response = requests.get(api_url, params=self.location, verify=False, headers=self.api_headers)&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; print("response")&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; print(response)&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if response.status_code == 200:&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if ret != False:&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ret = True&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; else:&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;ret = False&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; except:&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; print("ERROR add_dos_profile : connetcting to host. ")&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; sys.exit(0)&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; return ret&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Here is the XML file:&lt;/P&gt;&lt;P&gt;&amp;lt;entry name="ZPP-3"&amp;gt;&lt;BR /&gt;&amp;lt;flood&amp;gt;&lt;BR /&gt;&amp;lt;tcp-syn&amp;gt;&lt;BR /&gt;&amp;lt;red&amp;gt;&lt;BR /&gt;&amp;lt;alarm-rate&amp;gt;10000&amp;lt;/alarm-rate&amp;gt;&lt;BR /&gt;&amp;lt;activate-rate&amp;gt;10000&amp;lt;/activate-rate&amp;gt;&lt;BR /&gt;&amp;lt;maximal-rate&amp;gt;40000&amp;lt;/maximal-rate&amp;gt;&lt;BR /&gt;&amp;lt;/red&amp;gt;&lt;BR /&gt;&amp;lt;enable&amp;gt;yes&amp;lt;/enable&amp;gt;&lt;BR /&gt;&amp;lt;/tcp-syn&amp;gt;&lt;BR /&gt;&amp;lt;udp&amp;gt;&lt;BR /&gt;&amp;lt;red&amp;gt;&lt;BR /&gt;&amp;lt;alarm-rate&amp;gt;10000&amp;lt;/alarm-rate&amp;gt;&lt;BR /&gt;&amp;lt;activate-rate&amp;gt;10000&amp;lt;/activate-rate&amp;gt;&lt;BR /&gt;&amp;lt;maximal-rate&amp;gt;40000&amp;lt;/maximal-rate&amp;gt;&lt;BR /&gt;&amp;lt;/red&amp;gt;&lt;BR /&gt;&amp;lt;enable&amp;gt;yes&amp;lt;/enable&amp;gt;&lt;BR /&gt;&amp;lt;/udp&amp;gt;&lt;BR /&gt;&amp;lt;icmp&amp;gt;&lt;BR /&gt;&amp;lt;red&amp;gt;&lt;BR /&gt;&amp;lt;alarm-rate&amp;gt;10000&amp;lt;/alarm-rate&amp;gt;&lt;BR /&gt;&amp;lt;activate-rate&amp;gt;10000&amp;lt;/activate-rate&amp;gt;&lt;BR /&gt;&amp;lt;maximal-rate&amp;gt;40000&amp;lt;/maximal-rate&amp;gt;&lt;BR /&gt;&amp;lt;/red&amp;gt;&lt;BR /&gt;&amp;lt;enable&amp;gt;yes&amp;lt;/enable&amp;gt;&lt;BR /&gt;&amp;lt;/icmp&amp;gt;&lt;BR /&gt;&amp;lt;icmpv6&amp;gt;&lt;BR /&gt;&amp;lt;red&amp;gt;&lt;BR /&gt;&amp;lt;alarm-rate&amp;gt;10000&amp;lt;/alarm-rate&amp;gt;&lt;BR /&gt;&amp;lt;activate-rate&amp;gt;10000&amp;lt;/activate-rate&amp;gt;&lt;BR /&gt;&amp;lt;maximal-rate&amp;gt;40000&amp;lt;/maximal-rate&amp;gt;&lt;BR /&gt;&amp;lt;/red&amp;gt;&lt;BR /&gt;&amp;lt;enable&amp;gt;yes&amp;lt;/enable&amp;gt;&lt;BR /&gt;&amp;lt;/icmpv6&amp;gt;&lt;BR /&gt;&amp;lt;other-ip&amp;gt;&lt;BR /&gt;&amp;lt;red&amp;gt;&lt;BR /&gt;&amp;lt;alarm-rate&amp;gt;10000&amp;lt;/alarm-rate&amp;gt;&lt;BR /&gt;&amp;lt;activate-rate&amp;gt;10000&amp;lt;/activate-rate&amp;gt;&lt;BR /&gt;&amp;lt;maximal-rate&amp;gt;40000&amp;lt;/maximal-rate&amp;gt;&lt;BR /&gt;&amp;lt;/red&amp;gt;&lt;BR /&gt;&amp;lt;enable&amp;gt;yes&amp;lt;/enable&amp;gt;&lt;BR /&gt;&amp;lt;/other-ip&amp;gt;&lt;BR /&gt;&amp;lt;/flood&amp;gt;&lt;BR /&gt;&amp;lt;ipv6&amp;gt;&lt;BR /&gt;&amp;lt;filter-ext-hdr&amp;gt;&lt;BR /&gt;&amp;lt;hop-by-hop-hdr&amp;gt;yes&amp;lt;/hop-by-hop-hdr&amp;gt;&lt;BR /&gt;&amp;lt;routing-hdr&amp;gt;yes&amp;lt;/routing-hdr&amp;gt;&lt;BR /&gt;&amp;lt;dest-option-hdr&amp;gt;yes&amp;lt;/dest-option-hdr&amp;gt;&lt;BR /&gt;&amp;lt;/filter-ext-hdr&amp;gt;&lt;BR /&gt;&amp;lt;ignore-inv-pkt&amp;gt;&lt;BR /&gt;&amp;lt;dest-unreach&amp;gt;yes&amp;lt;/dest-unreach&amp;gt;&lt;BR /&gt;&amp;lt;pkt-too-big&amp;gt;yes&amp;lt;/pkt-too-big&amp;gt;&lt;BR /&gt;&amp;lt;time-exceeded&amp;gt;yes&amp;lt;/time-exceeded&amp;gt;&lt;BR /&gt;&amp;lt;param-problem&amp;gt;yes&amp;lt;/param-problem&amp;gt;&lt;BR /&gt;&amp;lt;redirect&amp;gt;yes&amp;lt;/redirect&amp;gt;&lt;BR /&gt;&amp;lt;/ignore-inv-pkt&amp;gt;&lt;BR /&gt;&amp;lt;ipv4-compatible-address&amp;gt;yes&amp;lt;/ipv4-compatible-address&amp;gt;&lt;BR /&gt;&amp;lt;anycast-source&amp;gt;yes&amp;lt;/anycast-source&amp;gt;&lt;BR /&gt;&amp;lt;icmpv6-too-big-small-mtu-discard&amp;gt;yes&amp;lt;/icmpv6-too-big-small-mtu-discard&amp;gt;&lt;BR /&gt;&amp;lt;options-invalid-ipv6-discard&amp;gt;yes&amp;lt;/options-invalid-ipv6-discard&amp;gt;&lt;BR /&gt;&amp;lt;reserved-field-set-discard&amp;gt;yes&amp;lt;/reserved-field-set-discard&amp;gt;&lt;BR /&gt;&amp;lt;/ipv6&amp;gt;&lt;BR /&gt;&amp;lt;scan&amp;gt;&lt;BR /&gt;&amp;lt;entry name="8001"&amp;gt;&lt;BR /&gt;&amp;lt;action&amp;gt;&lt;BR /&gt;&amp;lt;block/&amp;gt;&lt;BR /&gt;&amp;lt;/action&amp;gt;&lt;BR /&gt;&amp;lt;interval&amp;gt;2&amp;lt;/interval&amp;gt;&lt;BR /&gt;&amp;lt;threshold&amp;gt;100&amp;lt;/threshold&amp;gt;&lt;BR /&gt;&amp;lt;/entry&amp;gt;&lt;BR /&gt;&amp;lt;entry name="8002"&amp;gt;&lt;BR /&gt;&amp;lt;action&amp;gt;&lt;BR /&gt;&amp;lt;block/&amp;gt;&lt;BR /&gt;&amp;lt;/action&amp;gt;&lt;BR /&gt;&amp;lt;interval&amp;gt;10&amp;lt;/interval&amp;gt;&lt;BR /&gt;&amp;lt;threshold&amp;gt;100&amp;lt;/threshold&amp;gt;&lt;BR /&gt;&amp;lt;/entry&amp;gt;&lt;BR /&gt;&amp;lt;entry name="8003"&amp;gt;&lt;BR /&gt;&amp;lt;action&amp;gt;&lt;BR /&gt;&amp;lt;block/&amp;gt;&lt;BR /&gt;&amp;lt;/action&amp;gt;&lt;BR /&gt;&amp;lt;interval&amp;gt;2&amp;lt;/interval&amp;gt;&lt;BR /&gt;&amp;lt;threshold&amp;gt;100&amp;lt;/threshold&amp;gt;&lt;BR /&gt;&amp;lt;/entry&amp;gt;&lt;BR /&gt;&amp;lt;/scan&amp;gt;&lt;BR /&gt;&amp;lt;discard-ip-spoof&amp;gt;yes&amp;lt;/discard-ip-spoof&amp;gt;&lt;BR /&gt;&amp;lt;discard-strict-source-routing&amp;gt;yes&amp;lt;/discard-strict-source-routing&amp;gt;&lt;BR /&gt;&amp;lt;discard-loose-source-routing&amp;gt;yes&amp;lt;/discard-loose-source-routing&amp;gt;&lt;BR /&gt;&amp;lt;discard-timestamp&amp;gt;yes&amp;lt;/discard-timestamp&amp;gt;&lt;BR /&gt;&amp;lt;discard-unknown-option&amp;gt;yes&amp;lt;/discard-unknown-option&amp;gt;&lt;BR /&gt;&amp;lt;discard-malformed-option&amp;gt;yes&amp;lt;/discard-malformed-option&amp;gt;&lt;BR /&gt;&amp;lt;discard-overlapping-tcp-segment-mismatch&amp;gt;yes&amp;lt;/discard-overlapping-tcp-segment-mismatch&amp;gt;&lt;BR /&gt;&amp;lt;tcp-reject-non-syn&amp;gt;yes&amp;lt;/tcp-reject-non-syn&amp;gt;&lt;BR /&gt;&amp;lt;remove-tcp-timestamp&amp;gt;yes&amp;lt;/remove-tcp-timestamp&amp;gt;&lt;BR /&gt;&amp;lt;discard-icmp-ping-zero-id&amp;gt;yes&amp;lt;/discard-icmp-ping-zero-id&amp;gt;&lt;BR /&gt;&amp;lt;discard-icmp-frag&amp;gt;yes&amp;lt;/discard-icmp-frag&amp;gt;&lt;BR /&gt;&amp;lt;discard-icmp-large-packet&amp;gt;yes&amp;lt;/discard-icmp-large-packet&amp;gt;&lt;BR /&gt;&amp;lt;suppress-icmp-timeexceeded&amp;gt;yes&amp;lt;/suppress-icmp-timeexceeded&amp;gt;&lt;BR /&gt;&amp;lt;suppress-icmp-needfrag&amp;gt;yes&amp;lt;/suppress-icmp-needfrag&amp;gt;&lt;BR /&gt;&amp;lt;description&amp;gt;Created by Scrip&amp;lt;/description&amp;gt;&lt;BR /&gt;&amp;lt;asymmetric-path&amp;gt;bypass&amp;lt;/asymmetric-path&amp;gt;&lt;BR /&gt;&amp;lt;discard-icmp-error&amp;gt;yes&amp;lt;/discard-icmp-error&amp;gt;&lt;BR /&gt;&amp;lt;/entry&amp;gt;&lt;/P&gt;</description>
    <pubDate>Fri, 02 Dec 2022 20:52:25 GMT</pubDate>
    <dc:creator>JBishop</dc:creator>
    <dc:date>2022-12-02T20:52:25Z</dc:date>
    <item>
      <title>Create a new Zone Protection Profile using XPath?</title>
      <link>https://live.paloaltonetworks.com/t5/automation-api-discussions/create-a-new-zone-protection-profile-using-xpath/m-p/523179#M3270</link>
      <description>&lt;P&gt;I am trying to add a Zone Protection Profile from an XML document to a firewall using the XPath API.&amp;nbsp; I don't want to have to iterate through each element and add it to the profile.&amp;nbsp; Is there a way to add it from an XML file or block?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;def add_dos_profile(self):&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; ret = True&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; with open("DOS.xml") as f:&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; element = f.read()&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; api_url = "https://" + self.host + "/api/?&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;type=config&amp;amp;action=set&amp;amp;xpath=/config/devices/entry[@name='localhost.localdomain']/network/dns-proxy&amp;amp;element=" + element&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;try:&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; response = requests.get(api_url, params=self.location, verify=False, headers=self.api_headers)&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; print("response")&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; print(response)&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if response.status_code == 200:&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if ret != False:&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ret = True&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; else:&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;ret = False&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; except:&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; print("ERROR add_dos_profile : connetcting to host. ")&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; sys.exit(0)&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; return ret&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Here is the XML file:&lt;/P&gt;&lt;P&gt;&amp;lt;entry name="ZPP-3"&amp;gt;&lt;BR /&gt;&amp;lt;flood&amp;gt;&lt;BR /&gt;&amp;lt;tcp-syn&amp;gt;&lt;BR /&gt;&amp;lt;red&amp;gt;&lt;BR /&gt;&amp;lt;alarm-rate&amp;gt;10000&amp;lt;/alarm-rate&amp;gt;&lt;BR /&gt;&amp;lt;activate-rate&amp;gt;10000&amp;lt;/activate-rate&amp;gt;&lt;BR /&gt;&amp;lt;maximal-rate&amp;gt;40000&amp;lt;/maximal-rate&amp;gt;&lt;BR /&gt;&amp;lt;/red&amp;gt;&lt;BR /&gt;&amp;lt;enable&amp;gt;yes&amp;lt;/enable&amp;gt;&lt;BR /&gt;&amp;lt;/tcp-syn&amp;gt;&lt;BR /&gt;&amp;lt;udp&amp;gt;&lt;BR /&gt;&amp;lt;red&amp;gt;&lt;BR /&gt;&amp;lt;alarm-rate&amp;gt;10000&amp;lt;/alarm-rate&amp;gt;&lt;BR /&gt;&amp;lt;activate-rate&amp;gt;10000&amp;lt;/activate-rate&amp;gt;&lt;BR /&gt;&amp;lt;maximal-rate&amp;gt;40000&amp;lt;/maximal-rate&amp;gt;&lt;BR /&gt;&amp;lt;/red&amp;gt;&lt;BR /&gt;&amp;lt;enable&amp;gt;yes&amp;lt;/enable&amp;gt;&lt;BR /&gt;&amp;lt;/udp&amp;gt;&lt;BR /&gt;&amp;lt;icmp&amp;gt;&lt;BR /&gt;&amp;lt;red&amp;gt;&lt;BR /&gt;&amp;lt;alarm-rate&amp;gt;10000&amp;lt;/alarm-rate&amp;gt;&lt;BR /&gt;&amp;lt;activate-rate&amp;gt;10000&amp;lt;/activate-rate&amp;gt;&lt;BR /&gt;&amp;lt;maximal-rate&amp;gt;40000&amp;lt;/maximal-rate&amp;gt;&lt;BR /&gt;&amp;lt;/red&amp;gt;&lt;BR /&gt;&amp;lt;enable&amp;gt;yes&amp;lt;/enable&amp;gt;&lt;BR /&gt;&amp;lt;/icmp&amp;gt;&lt;BR /&gt;&amp;lt;icmpv6&amp;gt;&lt;BR /&gt;&amp;lt;red&amp;gt;&lt;BR /&gt;&amp;lt;alarm-rate&amp;gt;10000&amp;lt;/alarm-rate&amp;gt;&lt;BR /&gt;&amp;lt;activate-rate&amp;gt;10000&amp;lt;/activate-rate&amp;gt;&lt;BR /&gt;&amp;lt;maximal-rate&amp;gt;40000&amp;lt;/maximal-rate&amp;gt;&lt;BR /&gt;&amp;lt;/red&amp;gt;&lt;BR /&gt;&amp;lt;enable&amp;gt;yes&amp;lt;/enable&amp;gt;&lt;BR /&gt;&amp;lt;/icmpv6&amp;gt;&lt;BR /&gt;&amp;lt;other-ip&amp;gt;&lt;BR /&gt;&amp;lt;red&amp;gt;&lt;BR /&gt;&amp;lt;alarm-rate&amp;gt;10000&amp;lt;/alarm-rate&amp;gt;&lt;BR /&gt;&amp;lt;activate-rate&amp;gt;10000&amp;lt;/activate-rate&amp;gt;&lt;BR /&gt;&amp;lt;maximal-rate&amp;gt;40000&amp;lt;/maximal-rate&amp;gt;&lt;BR /&gt;&amp;lt;/red&amp;gt;&lt;BR /&gt;&amp;lt;enable&amp;gt;yes&amp;lt;/enable&amp;gt;&lt;BR /&gt;&amp;lt;/other-ip&amp;gt;&lt;BR /&gt;&amp;lt;/flood&amp;gt;&lt;BR /&gt;&amp;lt;ipv6&amp;gt;&lt;BR /&gt;&amp;lt;filter-ext-hdr&amp;gt;&lt;BR /&gt;&amp;lt;hop-by-hop-hdr&amp;gt;yes&amp;lt;/hop-by-hop-hdr&amp;gt;&lt;BR /&gt;&amp;lt;routing-hdr&amp;gt;yes&amp;lt;/routing-hdr&amp;gt;&lt;BR /&gt;&amp;lt;dest-option-hdr&amp;gt;yes&amp;lt;/dest-option-hdr&amp;gt;&lt;BR /&gt;&amp;lt;/filter-ext-hdr&amp;gt;&lt;BR /&gt;&amp;lt;ignore-inv-pkt&amp;gt;&lt;BR /&gt;&amp;lt;dest-unreach&amp;gt;yes&amp;lt;/dest-unreach&amp;gt;&lt;BR /&gt;&amp;lt;pkt-too-big&amp;gt;yes&amp;lt;/pkt-too-big&amp;gt;&lt;BR /&gt;&amp;lt;time-exceeded&amp;gt;yes&amp;lt;/time-exceeded&amp;gt;&lt;BR /&gt;&amp;lt;param-problem&amp;gt;yes&amp;lt;/param-problem&amp;gt;&lt;BR /&gt;&amp;lt;redirect&amp;gt;yes&amp;lt;/redirect&amp;gt;&lt;BR /&gt;&amp;lt;/ignore-inv-pkt&amp;gt;&lt;BR /&gt;&amp;lt;ipv4-compatible-address&amp;gt;yes&amp;lt;/ipv4-compatible-address&amp;gt;&lt;BR /&gt;&amp;lt;anycast-source&amp;gt;yes&amp;lt;/anycast-source&amp;gt;&lt;BR /&gt;&amp;lt;icmpv6-too-big-small-mtu-discard&amp;gt;yes&amp;lt;/icmpv6-too-big-small-mtu-discard&amp;gt;&lt;BR /&gt;&amp;lt;options-invalid-ipv6-discard&amp;gt;yes&amp;lt;/options-invalid-ipv6-discard&amp;gt;&lt;BR /&gt;&amp;lt;reserved-field-set-discard&amp;gt;yes&amp;lt;/reserved-field-set-discard&amp;gt;&lt;BR /&gt;&amp;lt;/ipv6&amp;gt;&lt;BR /&gt;&amp;lt;scan&amp;gt;&lt;BR /&gt;&amp;lt;entry name="8001"&amp;gt;&lt;BR /&gt;&amp;lt;action&amp;gt;&lt;BR /&gt;&amp;lt;block/&amp;gt;&lt;BR /&gt;&amp;lt;/action&amp;gt;&lt;BR /&gt;&amp;lt;interval&amp;gt;2&amp;lt;/interval&amp;gt;&lt;BR /&gt;&amp;lt;threshold&amp;gt;100&amp;lt;/threshold&amp;gt;&lt;BR /&gt;&amp;lt;/entry&amp;gt;&lt;BR /&gt;&amp;lt;entry name="8002"&amp;gt;&lt;BR /&gt;&amp;lt;action&amp;gt;&lt;BR /&gt;&amp;lt;block/&amp;gt;&lt;BR /&gt;&amp;lt;/action&amp;gt;&lt;BR /&gt;&amp;lt;interval&amp;gt;10&amp;lt;/interval&amp;gt;&lt;BR /&gt;&amp;lt;threshold&amp;gt;100&amp;lt;/threshold&amp;gt;&lt;BR /&gt;&amp;lt;/entry&amp;gt;&lt;BR /&gt;&amp;lt;entry name="8003"&amp;gt;&lt;BR /&gt;&amp;lt;action&amp;gt;&lt;BR /&gt;&amp;lt;block/&amp;gt;&lt;BR /&gt;&amp;lt;/action&amp;gt;&lt;BR /&gt;&amp;lt;interval&amp;gt;2&amp;lt;/interval&amp;gt;&lt;BR /&gt;&amp;lt;threshold&amp;gt;100&amp;lt;/threshold&amp;gt;&lt;BR /&gt;&amp;lt;/entry&amp;gt;&lt;BR /&gt;&amp;lt;/scan&amp;gt;&lt;BR /&gt;&amp;lt;discard-ip-spoof&amp;gt;yes&amp;lt;/discard-ip-spoof&amp;gt;&lt;BR /&gt;&amp;lt;discard-strict-source-routing&amp;gt;yes&amp;lt;/discard-strict-source-routing&amp;gt;&lt;BR /&gt;&amp;lt;discard-loose-source-routing&amp;gt;yes&amp;lt;/discard-loose-source-routing&amp;gt;&lt;BR /&gt;&amp;lt;discard-timestamp&amp;gt;yes&amp;lt;/discard-timestamp&amp;gt;&lt;BR /&gt;&amp;lt;discard-unknown-option&amp;gt;yes&amp;lt;/discard-unknown-option&amp;gt;&lt;BR /&gt;&amp;lt;discard-malformed-option&amp;gt;yes&amp;lt;/discard-malformed-option&amp;gt;&lt;BR /&gt;&amp;lt;discard-overlapping-tcp-segment-mismatch&amp;gt;yes&amp;lt;/discard-overlapping-tcp-segment-mismatch&amp;gt;&lt;BR /&gt;&amp;lt;tcp-reject-non-syn&amp;gt;yes&amp;lt;/tcp-reject-non-syn&amp;gt;&lt;BR /&gt;&amp;lt;remove-tcp-timestamp&amp;gt;yes&amp;lt;/remove-tcp-timestamp&amp;gt;&lt;BR /&gt;&amp;lt;discard-icmp-ping-zero-id&amp;gt;yes&amp;lt;/discard-icmp-ping-zero-id&amp;gt;&lt;BR /&gt;&amp;lt;discard-icmp-frag&amp;gt;yes&amp;lt;/discard-icmp-frag&amp;gt;&lt;BR /&gt;&amp;lt;discard-icmp-large-packet&amp;gt;yes&amp;lt;/discard-icmp-large-packet&amp;gt;&lt;BR /&gt;&amp;lt;suppress-icmp-timeexceeded&amp;gt;yes&amp;lt;/suppress-icmp-timeexceeded&amp;gt;&lt;BR /&gt;&amp;lt;suppress-icmp-needfrag&amp;gt;yes&amp;lt;/suppress-icmp-needfrag&amp;gt;&lt;BR /&gt;&amp;lt;description&amp;gt;Created by Scrip&amp;lt;/description&amp;gt;&lt;BR /&gt;&amp;lt;asymmetric-path&amp;gt;bypass&amp;lt;/asymmetric-path&amp;gt;&lt;BR /&gt;&amp;lt;discard-icmp-error&amp;gt;yes&amp;lt;/discard-icmp-error&amp;gt;&lt;BR /&gt;&amp;lt;/entry&amp;gt;&lt;/P&gt;</description>
      <pubDate>Fri, 02 Dec 2022 20:52:25 GMT</pubDate>
      <guid>https://live.paloaltonetworks.com/t5/automation-api-discussions/create-a-new-zone-protection-profile-using-xpath/m-p/523179#M3270</guid>
      <dc:creator>JBishop</dc:creator>
      <dc:date>2022-12-02T20:52:25Z</dc:date>
    </item>
    <item>
      <title>Re: Create a new Zone Protection Profile using XPath?</title>
      <link>https://live.paloaltonetworks.com/t5/automation-api-discussions/create-a-new-zone-protection-profile-using-xpath/m-p/526353#M3292</link>
      <description>&lt;P&gt;You could use "load config partial" via the API?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN data-offset-key="7bq1i-0-0"&gt;First upload the XML snippet file (DOS.xml): &lt;/SPAN&gt;&lt;FONT face="courier new,courier"&gt;https://{{host}}/api?key={{key}}&amp;amp;type=import&amp;amp;category=configuration&lt;/FONT&gt;&lt;SPAN data-offset-key="7bq1i-4-0"&gt;, passing in the XML file as form-data&lt;BR /&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN data-offset-key="7bq1i-4-0"&gt;Second, load the XML as "partial config":&amp;nbsp;&lt;/SPAN&gt;&lt;FONT face="courier new,courier"&gt;&lt;SPAN data-offset-key="7bq1i-4-0"&gt;https://&lt;SPAN class="resolvedVariable" data-testid="resolvedVariable"&gt;{{host}}&lt;/SPAN&gt;/api?key=&lt;SPAN class="resolvedVariable" data-testid="resolvedVariable"&gt;{{key}}&lt;/SPAN&gt;&amp;amp;type=op&amp;amp;cmd=&amp;lt;load&amp;gt;&amp;lt;config&amp;gt;&amp;lt;partial&amp;gt;&amp;lt;mode&amp;gt;append&amp;lt;/mode&amp;gt;&amp;lt;from-xpath&amp;gt;entry&amp;lt;/from-xpath&amp;gt;&amp;lt;to-xpath&amp;gt;/config/devices/entry[@name="localhost.localdomain"]/network/profiles/zone-protection-profile&amp;lt;/to-xpath&amp;gt;&amp;lt;from&amp;gt;DOS.xml&amp;lt;/from&amp;gt;&amp;lt;/partial&amp;gt;&amp;lt;/config&amp;gt;&amp;lt;/load&amp;gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Hope that helps&lt;/P&gt;</description>
      <pubDate>Mon, 09 Jan 2023 16:17:57 GMT</pubDate>
      <guid>https://live.paloaltonetworks.com/t5/automation-api-discussions/create-a-new-zone-protection-profile-using-xpath/m-p/526353#M3292</guid>
      <dc:creator>JimmyHolland</dc:creator>
      <dc:date>2023-01-09T16:17:57Z</dc:date>
    </item>
  </channel>
</rss>

