関数値を事前定義する最良の方法は何ですか?

関数値を事前定義する最良の方法は何ですか?

AWS にサービスをデプロイするのに役立つスクリプトを作成しました。私のプロジェクトでは複数のAWSアカウントと複数のサービスを使用しているため、使いやすさをより明確にするためにいくつかの値を事前定義したいと思います。これが私がする方法です:

#!/bin/bash

declare -A environments
environments["sandbox"]="aws_sandbox_account_id"
environments["staging"]="aws_staging_account_id"
environments["prod"]="aws_production_account_id"

declare -A services
services["service1"]="api-service-1-ecs-id"
services["service2"]="api-service-2-ecs-id"
services["service3"]="api-service-3-ecs-id"

aws_role=${ASSUMED_ROLE}
service="${services[$1]}"
environment="${environments[$aws_role]}"

echo "deploying ${service} on ${aws_role} with account id ${environment}"
echo "aws ecs update-service --cluster \"arn:aws:ecs:eu-west-2:${environment}:cluster/my-cluster\" --service \"arn:aws:ecs:eu-west-2:${environment}:service/my-cluster/${service}\" --force-new-deployment"
aws ecs update-service --cluster "arn:aws:ecs:eu-west-2:${environment}:cluster/my-cluster" --service "arn:aws:ecs:eu-west-2:${environment}:service/my-cluster/${service}" --force-new-deployment

次に、次の関数を定義しました。

deploy_service () {
  bash /path/to/file/script.sh $1
}

しかし、これを行うより良い方法があるのか​​、それとも少なくとももっと慣用的な方法があるのか​​疑問に思います。

ベストアンサー1

おすすめ記事