Revision: 67555
Initial Code
Initial URL
Initial Description
Initial Title
Initial Tags
Initial Language
at October 6, 2014 23:09 by tonyjameshart
Initial Code
##
# api.sh
#
# Public API port
address="https://"
# API key
api_key="<apikey>"
# Secret key
secret_key="<secretkey>"
# API entry point
api_path="/client/api"
# DATE
date=$(date '+%Y%m%d-%H%M')
# OUTPUT file
output="${HOME}/reports/capacity_${date}.csv"
echo '"Zone","Resource","Used","Available","Percent","Allocated Used","Available(Oversub)","Percent"' > ${output}
# Management Server
dbserver="<server>"
###
### create signature
###
generate_string(){
local strings=$(echo -n $@ | tr " " "&")
local pre_encoded_request=$(python -c "import urllib; print urllib.quote('''${strings}''','''=& ''').replace('''+''','''%20''')")
local sorted_request=$(echo -n ${pre_encoded_request[@]} | tr "&" "\n" | \
sort -fd -t'=' | tr "\n" "&" | sed -e 's/\&$//' )
encoded_query=$(python -c "import urllib; print urllib.quote('''${sorted_request}''','''=&:+-^''').replace('''''','''''').lower()")
}
generate_signature(){
signature=$(echo -n $@ | \
openssl sha1 -binary -hmac ${secret_key} | \
openssl base64 )
signature=$(python -c "import urllib; print urllib.quote('''${signature}''').replace('''/''','''%2F''')")
}
Initial URL
Initial Description
CloudStack create API signature
Initial Title
CloudStack create API signature
Initial Tags
Initial Language
Bash