次のような bash スクリプトがあり、スペースを含む az cli にタグを正しく渡します。
RESOURCE_GROUP_NAME=$1
LOCATION=$2
TAGS_INPUT_ARGUMENT=$3 # This TAGS_INPUT_ARGUMENT needs to finally look like the TAGS below.
echo 'TAGS_INPUT_ARGUMENT:' $TAGS_INPUT_ARGUMENT
# HARD CODED TAGS that Work
TAGS=("owner=Firstname Lastname" "application=cool-name")
echo 'TAGS:' "${TAGS[@]}"
az group create \
--name $RESOURCE_GROUP_NAME \
--location $LOCATION \
--tags "${TAGS[@]}"
TAGS をスクリプトに渡す際に問題が発生しています。
すなわち
export TAGS='["owner=Firstname Lastname","application=cool-name"]'
bash ./entrypoint.sh rg-lionking eastus2 "${TAGS}"
出力:
TAGS_INPUT_ARGUMENT: ["owner=Firstname Lastname","application=cool-name"]
TAGS: owner=Firstname Lastname application=cool-name
{
"id": "/subscriptions/**REDACTED**/resourceGroups/rg-lionking",
"location": "eastus2",
"managedBy": null,
"name": "rg-lionking",
"properties": {
"provisioningState": "Succeeded"
},
"tags": {
"application": "cool-name",
"owner": "Firstname Lastname"
},
"type": "Microsoft.Resources/resourceGroups"
}
TAGS を良好な状態で取得できる場合、同じものを json 形式で渡し、それを az group create cli の最後の引数として機能させるにはどうすればよいですか?
私のjp知識はほぼゼロなので、答えはどこかにあると思います。