Commit Configuration¶
The panxapi.py -C cmd option performs the
type=commit
API request to commit the candidate configuration.
The commit options are specified with the cmd argument, which is an
XML document (the default is <commit/>
).
The commit operation is performed asynchronously (as a management server job). To simulate a synchronous commit by waiting for job completion use the –sync option.
Example: Perform Synchronous commit¶
Warning
Don’t execute the commit right now; you will perform a commit in the lab below.
$ panxapi.py -C '' --sync
commit: success: "Configuration committed successfully"
Note
When no cmd argument is used you must specify a null string.
Lab 9¶
Compare the output of the get and show requests for
group1
to confirm candidate and active configuration are different.Use panxapi.py to commit the candidate configuration with the changes from the previous labs.
Compare the output of the get and show requests to confirm candidate and active configuration are the same.
Attempt to commit again.
Solution
$ XPATH="/config/devices/entry[@name='localhost.localdomain']/vsys/entry[@name='vsys1']/address-group/entry[@name='group1']"
$ panxapi.py -sr $XPATH
show: success
<entry name="group1">
<static>
<member>addr1</member>
<member>addr2</member>
<member>addr3</member>
</static>
</entry>
$ panxapi.py -gr $XPATH
get: success [code="19"]
<entry admin="admin" dirtyId="4" name="group1" time="2018/04/14 08:55:19">
<static admin="admin" dirtyId="4" time="2018/04/14 08:55:19">
<member admin="admin" dirtyId="4" time="2018/04/14 08:55:19">addr1</member>
<member admin="admin" dirtyId="4" time="2018/04/14 08:55:19">addr2</member>
<member admin="admin" dirtyId="4" time="2018/04/14 08:55:19">addr3</member>
<member admin="admin" dirtyId="4" time="2018/04/14 08:55:19">addr4</member>
<member admin="admin" dirtyId="4" time="2018/04/14 08:55:19">addr5</member>
</static>
</entry>
$ panxapi.py -C '' --sync
commit: success: "Configuration committed successfully"
$ panxapi.py -sr $XPATH
show: success
<entry name="group1">
<static>
<member>addr1</member>
<member>addr2</member>
<member>addr3</member>
<member>addr4</member>
<member>addr5</member>
</static>
</entry>
$ panxapi.py -gr $XPATH
get: success [code="19"]
<entry name="group1">
<static>
<member>addr1</member>
<member>addr2</member>
<member>addr3</member>
<member>addr4</member>
<member>addr5</member>
</static>
</entry>
$ panxapi.py -C '' --sync
commit: success [code="19"]: "There are no changes to commit."