|
|
|
@ -12,6 +12,9 @@
|
|
|
|
|
# export PANOS_USER="" #User *MUST* have Commit and Import Permissions in XML API for Admin Role |
|
|
|
|
# export PANOS_PASS="" |
|
|
|
|
# |
|
|
|
|
# OPTIONAL |
|
|
|
|
# export PANOS_TEMPLATE="" #Template Name of panorama managed devices |
|
|
|
|
# |
|
|
|
|
# The script will automatically generate a new API key if |
|
|
|
|
# no key is found, or if a saved key has expired or is invalid. |
|
|
|
|
|
|
|
|
@ -77,7 +80,10 @@ deployer() {
|
|
|
|
|
content="$content${nl}--$delim${nl}Content-Disposition: form-data; name=\"certificate-name\"\r\n\r\n$_cdomain" |
|
|
|
|
content="$content${nl}--$delim${nl}Content-Disposition: form-data; name=\"key\"\r\n\r\n$_panos_key" |
|
|
|
|
content="$content${nl}--$delim${nl}Content-Disposition: form-data; name=\"format\"\r\n\r\npem" |
|
|
|
|
content="$content${nl}--$delim${nl}Content-Disposition: form-data; name=\"file\"; filename=\"$(basename "$_cfullchain")\"${nl}Content-Type: application/octet-stream${nl}${nl}$(cat "$_cfullchain")" |
|
|
|
|
content="$content${nl}--$delim${nl}Content-Disposition: form-data; name=\"file\"; filename=\"$(basename "$_cfullchain")\"${nl}Content-Type: application/octet-stream${nl}${nl}$(cat "$_cfullchain")" |
|
|
|
|
if [ "$_panos_template" ]; then |
|
|
|
|
content="$content${nl}--$delim${nl}Content-Disposition: form-data; name=\"target-tpl\"\r\n\r\n$_panos_template" |
|
|
|
|
fi |
|
|
|
|
fi |
|
|
|
|
if [ "$type" = 'key' ]; then |
|
|
|
|
panos_url="${panos_url}?type=import" |
|
|
|
@ -87,6 +93,9 @@ deployer() {
|
|
|
|
|
content="$content${nl}--$delim${nl}Content-Disposition: form-data; name=\"format\"\r\n\r\npem" |
|
|
|
|
content="$content${nl}--$delim${nl}Content-Disposition: form-data; name=\"passphrase\"\r\n\r\n123456" |
|
|
|
|
content="$content${nl}--$delim${nl}Content-Disposition: form-data; name=\"file\"; filename=\"$(basename "$_cdomain.key")\"${nl}Content-Type: application/octet-stream${nl}${nl}$(cat "$_ckey")" |
|
|
|
|
if [ "$_panos_template" ]; then |
|
|
|
|
content="$content${nl}--$delim${nl}Content-Disposition: form-data; name=\"target-tpl\"\r\n\r\n$_panos_template" |
|
|
|
|
fi |
|
|
|
|
fi |
|
|
|
|
#Close multipart |
|
|
|
|
content="$content${nl}--$delim--${nl}${nl}" |
|
|
|
@ -173,10 +182,20 @@ panos_deploy() {
|
|
|
|
|
unset _panos_key |
|
|
|
|
fi |
|
|
|
|
|
|
|
|
|
# PANOS_TEMPLATE |
|
|
|
|
if [ "$PANOS_TEMPLATE" ]; then |
|
|
|
|
_debug "Detected ENV variable PANOS_TEMPLATE. Saving to file." |
|
|
|
|
_savedeployconf PANOS_TEMPLATE "$PANOS_TEMPLATE" 1 |
|
|
|
|
else |
|
|
|
|
_debug "Attempting to load variable PANOS_TEMPLATE from file." |
|
|
|
|
_getdeployconf PANOS_TEMPLATE |
|
|
|
|
fi |
|
|
|
|
|
|
|
|
|
#Store variables |
|
|
|
|
_panos_host=$PANOS_HOST |
|
|
|
|
_panos_user=$PANOS_USER |
|
|
|
|
_panos_pass=$PANOS_PASS |
|
|
|
|
_panos_template=$PANOS_TEMPLATE |
|
|
|
|
|
|
|
|
|
#Test API Key if found. If the key is invalid, the variable _panos_key will be unset. |
|
|
|
|
if [ "$_panos_host" ] && [ "$_panos_key" ]; then |
|
|
|
|