#!/bin/bash
|
|
|
|
CreateGroup()
|
|
{
|
|
echo Creating resource group $resource_group in '$location'
|
|
az group create --name $resource_group --location $location
|
|
} # end of CreateGroup()
|
|
|
|
|
|
|
|
deployresources()
|
|
{
|
|
echo Deploying ARM template '$path_and_filename.json' in resource group $resource_group
|
|
az group deployment create --resource-group $resource_group --parameters @$path_and_filename.parameters.json --template-file $path_and_filename.json
|
|
} # end of deployresources
|
|
|
|
Error_Usage()
|
|
{
|
|
echo ""
|
|
echo Usage:
|
|
echo create-resources arm-file resource-group-name [-c location]
|
|
echo arm-file: Path to ARM template WITHOUT .json extension. An parameter file with same name plus '.parameters' MUST exist in same folder
|
|
echo resource-grop-name: Name of the resource group to use or create
|
|
echo -c: If appears means that resource group must be created. If -c is specified, must use enter location
|
|
echo ""
|
|
echo Examples:
|
|
echo "1 create-resources path_and_filename testgroup (Deploys path_and_filename.json with parameters specified in path_and_filename.parameters.json file)."
|
|
echo "2 create-resources path_and_filename newgroup -c westus (Deploys path_and_filename.json (with parameters specified in path_and_filename.parameters.json file) in a NEW resource group named newgroup in the westus location)"
|
|
}
|
|
|
|
|
|
|
|
if [ $# -le 1 ]; then
|
|
Error_Usage
|
|
exit 1
|
|
fi
|
|
if [ "$1" == "" ]; then
|
|
echo "path_and_filename is empty"
|
|
Error_Usage
|
|
exit 1
|
|
fi
|
|
|
|
if [ "$2" == "" ]; then
|
|
echo "Resource Group is empty"
|
|
Error_Usage
|
|
exit 1
|
|
fi
|
|
|
|
if [ ! -f "$1.json" ]; then
|
|
echo "$1.json doesn't exist"
|
|
exit 1
|
|
fi
|
|
|
|
if [ ! -f "$2.parameters.json" ]; then
|
|
echo "$2.parameters.json doesn't exist"
|
|
exit 1
|
|
fi
|
|
|
|
|
|
path_and_filename=$1
|
|
resource_group=$2
|
|
|
|
|
|
if [ "$3" == "-c" ]; then
|
|
echo "Resource Group needs to be created"
|
|
if [ "$4" == "" ]; then
|
|
echo "but Resource Group name is missing"
|
|
Error_Usage
|
|
exit 1
|
|
else
|
|
location=$4
|
|
CreateGroup
|
|
fi
|
|
|
|
fi
|
|
deployresources
|
|
|
|
echo "all resources finished successfully"
|