переопределить параметры в файле параметров для облачной информации - PullRequest
3 голосов
/ 26 марта 2019

Допустим, у меня есть все параметры, необходимые для создания стека облачной информации в файле json, но я хочу переопределить некоторые параметры из файла параметров ... это возможно?

aws cloudformation create-stack \
 --stack-name sample-stack \
 --template-body file://sample-stack.yaml \
 --parameters file://sample-stack.json \
 --capabilities CAPABILITY_IAM \
 --disable-rollback \
 --region us-east-1 \
 --output json && \
aws cloudformation wait stack-create-complete \
 --stack-name sample-stack

, поэтому предположим, что есть10 параметров в sample-stack.json файле, НО у меня как 2 параметра, которые я хочу переопределить из этого файла.

Возможно ли это?

Спасибо

Ответы [ 2 ]

1 голос
/ 26 марта 2019

Сейчас это недоступно в CLI AWS, но на GitHub есть запрос о функции . Сейчас вам нужно что-то написать для генерации переопределений перед созданием стека. Другой потенциальный вариант - хранить ваши значения в чем-то, на что вы можете динамически ссылаться, например, в хранилище параметров, и обновлять их через API перед созданием стека.

0 голосов
/ 29 марта 2019

Если вы хотите обновить стек и указать только список параметров, которые изменились, вы можете взглянуть на этот сценарий оболочки, который я написал.

Использование:

▶ bash update_stack.sh -h
Usage: update_stack.sh [-h] STACK_NAME KEY1=VAL1 [KEY2=VAL2 ...]
Updates CloudFormation stacks based on parameters passed here as key=value pairs. All
  other parameters are based on existing values.

Чтобы решить вашу проблему, вы можете позаимствовать функцию edit():

PARAMS='sample-stack.json'

edit() {
  local key value pair

  for pair in "$@" ; do
    IFS='=' read -r key value <<< "$pair"
    jq --arg key "$key" \
       --arg value "$value" \
      '(.[] | select(.ParameterKey==$key)
      | .ParameterValue) |= $value' \
      "$PARAMS" > x ; mv x "$PARAMS"
  done
}

cp $PARAMS $PARAMS.bak
edit param1=newval1 param2=newval2

А затем создайте свой стек как обычно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...