Lors de la création d'une pile avec CloudFormation, j'obtiens cette erreur:
Stack update error: Requires capabilities : [CAPABILITY_IAM]
Je ne trouve pas de modèle pour ajouter CAPABILITIES_IAM
à la configuration CloudFormation.
Quelles sont les options pour résoudre les erreurs CAPABILITIES_IAM
Il s'avère que vous devez cocher une case sur le dernier écran de la création de la pile.
Dans CodePipeline CloudFormation, vous pouvez l'ajouter comme ceci pour permettre l'exécution du change_set créé dans l'action de déploiement:
Configuration:
StackName: !Ref GitHubRepository
ActionMode: CHANGE_SET_REPLACE
Capabilities: CAPABILITY_NAMED_IAM
RoleArn: arn:aws:iam::818272543125:role/events-list-codepiplinerole
ChangeSetName: !Join ["",[!Ref GitHubRepository, "-changeset"]]
TemplatePath: MyAppBuild::sam_post.yaml
Dans les aws cli append
--capabilities CAPABILITY_IAM
ou
--capabilities CAPABILITY_NAMED_IAM
Pour votre commande comme ceci:
aws cloudformation create-stack --stack-name message-store --template-body file://bucket_with_keys.yaml --parameters file://cfg_bucket_with_keys.json --capabilities CAPABILITY_NAMED_IAM
Ceci ne s'applique pas à cloudformation --validate-template car il ne crée pas les ressources.
Si vous utilisez l'AWS CLI, vous pouvez ajouter un paramètre supplémentaire à l'interface aws cloudformation create-stack
commande qui indique explicitement que vous souhaitez que ces fonctionnalités soient fournies.
(C’est l’équivalent CLI de cocher la case dans l’autre réponse ici).
Le paramètre est --capabilities CAPABILITY_IAM
, votre commande ressemblerait à ceci:
aws cloudformation create-stack --stack-name $STACK_NAME --capabilities CAPABILITY_IAM
J'espère que ça t'as aidé