web-dev-qa-db-fra.com

Utilisez CAPABILITY_AUTO_EXPAND pour les piles imbriquées sur CloudFormation

J'essaie d'utiliser la pile imbriquée et lorsque mon ChangeSet est en cours d'exécution, j'ai obtenu cette erreur:

Requires capabilities : [CAPABILITY_AUTO_EXPAND]

Je suis allé créer un pipeline avec cloudformation.

Cela peut être utilisé pour créer un pipeline:

Configuration:
  ActionMode: CHANGE_SET_REPLACE
  ChangeSetName: changeset
  RoleArn: ??
  Capabilities: CAPABILITY_IAM
  StackName: appsync-graphql
  TemplatePath: BuildArtifact::output.yaml

Cela ne peut pas:

Configuration:
  ActionMode: CHANGE_SET_REPLACE
  ChangeSetName: changeset
  RoleArn: ??
  Capabilities: 
    - CAPABILITY_IAM
    - CAPABILITY_AUTO_EXPAND
  StackName: appsync-graphql
  TemplatePath: BuildArtifact::output.yaml

L'erreur était: "La valeur de la propriété La configuration doit être un objet avec des propriétés String (ou type simple)"

Ce sont les documents les plus proches que je trouve: https://docs.aws.Amazon.com/AWSCloudFormation/latest/APIReference/API_UpdateStack.html

Ça disait: Type: Array of strings pour les capacités, et les documents aws cli docs disent de même, mais ne donnent pas d'exemple.

J'ai donc manqué d'idées sur quoi d'autre pour essayer d'avoir la capacité CAPABILITY_AUTO_EXPAND.

10
Tan Duong

J'ai essayé une autre variante et ça a marché!

Configuration:
  ..
  Capabilities: CAPABILITY_IAM,CAPABILITY_AUTO_EXPAND
  ...
16
jbasko

J'ai reçu la réponse de Keeton Hodgson, cette commande cli fonctionne:

sam deploy --template-file output.yaml --stack-name <AppName> --capabilities CAPABILITY_IAM CAPABILITY_AUTO_EXPAND

Notez qu'il n'y a pas de virgule.

Je ne sais toujours pas comment changer le modèle de pipeline pour qu'il fonctionne.

7
Tan Duong