Привет, команда, мне нужна помощь в замене текущей версии определения задачи ecs в файле json. Я могу успешно заменить значения для awsNetworkSubnet в variable.json.
Но изо всех сил пытается создать соответствующую команду sed для версии № (которая равна 7 в примере переменных.json ниже)
Баш-скрипт:
#!/бин/баш
Input_file=$1
ENV=$2
Commit_id = $ 3
subnet_id=$(aws ec2 description-subnets --filter "Name=tag:use,Values=data" --query "Subnets[*].SubnetId" --output json | jq -r '.[0]')
echo "Идентификатор подсети: ${subnet_id}"
airflow_ecs_task_definition_revision=$( aws ecs description-task-definition --task-definition airflow_ecs-small --output json | jq '.taskDefinition.revision')
echo "Редакция определения задачи ECS: ${airflow_ecs_task_definition_revision}"
sed -i $1 \
-e "/\"awsNetworkSubnet\":/ s/\"awsNetworkSubnet\":[^,]*/\"awsNetworkSubnet\":\"${subnet_id}\"/"
Пример файла Json (переменные, json)
"awsCluster": "airflow_ecs-dev",
"awsContainerName": "воздушный поток_ecs",
"awsNetworkSubnet": "подсеть-1234",
"awsRegionName": "США-восток-1",
"awsSecurityGroup": "sg-1234",
"awsTaskDefinition": "airflow_ecs-small:7"
},
Используемый интерфейс командной строки AWS:
./subnet-cicd.sh, переменные.json, тест cmt1234