diff --git a/oem/azure/unreplicate-image.sh b/oem/azure/unreplicate-image.sh new file mode 100755 index 0000000000..3c96f5bf07 --- /dev/null +++ b/oem/azure/unreplicate-image.sh @@ -0,0 +1,51 @@ +#!/bin/bash + +# This script will un-replicate the given image. It needs to be run in an +# environment where the azure-xplat-cli has been installed and configured with +# the production credentials and (optionally) SUBSCRIPTION_ID is defined, +# containing the subscription GUID. + +DIR=$(dirname $0) +. $DIR/common.sh + +set -e + +GROUP="${1^}" +VERSION=$2 + +if [[ -z $GROUP || -z $VERSION ]]; then + echo "Usage: $0 " + exit 2 +fi + +image_name="CoreOS-${GROUP}-${VERSION}" + +subscription_id=$SUBSCRIPTION_ID +if [ -z $subscription_id ]; then + subscription_id=$(getSubscriptionId) +fi + +url="$(getManagementEndpoint)/${subscription_id}/services/images/${image_name}/unreplicate" + +workdir=$(mktemp --directory) +trap "rm --force --recursive ${workdir}" SIGINT SIGTERM EXIT + +azure account cert export \ + --file="${workdir}/cert" \ + --subscription="${subscription_id}" > /dev/null + +result=$(curl \ + --silent \ + --request PUT \ + --header "x-ms-version: 2014-10-01" \ + --header "Content-Type: application/xml" \ + --header "Content-Length: 0" \ + --cert "${workdir}/cert" \ + --url "${url}" \ + --write-out "%{http_code}" \ + --output "${workdir}/out") + +if [[ $result != 200 ]]; then + echo "${result} - $(< ${workdir}/out)" + exit 1 +fi