aws ssm parameterをドット区切りからスラッシュ区切りへ
code:shell
readonly PROFILE=aaa
readonly KEY=〇〇.staging
aws --profile ${PROFILE} ssm describe-parameters --filters "Key=Name,Values=${KEY}" | jq -rc '.Parameters[] | .Name, .KeyId | @tsv' list.tsvに格納
code:shell
readonly PROFILE=hoge
while IFS=$'\t' read -r original_name keyid; do
renamed=$(echo ".$original_name" | tr '.' '/')
echo "v=\$(aws --profile ${PROFILE} ssm get-parameter --name \"${original_name}\" --query 'Parameter.Value' --output text)"
echo "aws --profile ${PROFILE} ssm put-parameter --name \"${renamed}\" --value \"\${v}\" --type 'String' --overwrite"
echo "v2=\$(aws --profile ${PROFILE} ssm get-parameter --name \"${renamed}\" --query 'Parameter.Value' --output text)"
else
echo "v=\$(aws --profile ${PROFILE} ssm get-parameter --name \"${original_name}\" --query 'Parameter.Value' --output text --with-decryption)"
echo "aws --profile ${PROFILE} ssm put-parameter --name \"${renamed}\" --value \"\${v}\" --type 'SecureString' --key-id '${keyid}' --overwrite"
echo "v2=\$(aws --profile ${PROFILE} ssm get-parameter --name \"${renamed}\" --query 'Parameter.Value' --output text --with-decryption)"
fi
echo ''
done < <(cat list.tsv)