AWS CLI Cloudformation OperationInProgressException при вызове операции CreateStackInstances - PullRequest
0 голосов
/ 19 ноября 2018

Я использую aws cli для создания набора стеков облачной информации

эхо "создание набора стеков ..."

some_stackset_id=$(aws cloudformation create-stack-set \
  --stack-set-name $StacksetName \
  --template-url $TemplateURL \
  --capabilities '["CAPABILITY_NAMED_IAM"]' \
  --administration-role-arn "arn:aws:iam::000000000009:role/AWSCloudFormationStackSetAdministrationRole" \
  --execution-role-name "AWSCloudFormationStackSetExecutionRole" \
  --parameters '[
  {"ParameterKey":"env","ParameterValue":"DEV","UsePreviousValue": false, "ResolvedValue": "DEV"}

  ]' \
  | jq '.StackSetId')

эхо "Ожиданиедля создания экземпляра стека ... "

aws cloudformation wait stack-create-complete \
  --region $region \
  --stack-name $some_stackset_id

echo" Создание экземпляров стека ... "

some_id=$(aws cloudformation create-stack-instances \
  --stack-set-name myStackset\
  --accounts '["0000030000"]' \
  --regions '["us-east-1"]' 
  --operation-preferences='
  {
  "RegionOrder": ["us-east-1"],
  "FailureToleranceCount": 0,
  "MaxConcurrentCount": 3
}' | jq '.OperationId')

echo«Завершено создание экземпляров стека»

Когда я жду, пока завершится создание набора стеков, прежде чем смогу создавать экземпляры стека в этом наборе стеков, cli должен

Подождите, покастатус стека - CREATE_COMPLETE.Он будет опрашивать каждые 30 секунд, пока не будет достигнуто успешное состояние.Это завершится с кодом возврата 255 после 120 неудачных проверок.https://docs.aws.amazon.com/cli/latest/reference/cloudformation/wait/stack-create-complete.html

Однако это не то поведение, которое я наблюдаю.Как только cli достигает этого aws cloudformation wait stack-create-complete..., он не ждет там в течение 30 секунд, как это должно быть в соответствии с документом cli, вместо этого он просто переходит к следующей команде (create-stack-экземпляры) , что не удается с OperationInProgressException Есть идеи, почему?

1 Ответ

0 голосов
/ 25 ноября 2018

Набор данных Cloudformation отличается от стека. Официант, которого вы используете aws cloudformation wait stack-create-complete, предназначен для стеков, а не для стековых наборов. К сожалению, в настоящее время для стека наборов нет официанта, хотя с помощью циклов bash не сложно создать собственного официанта.

...