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.
J'ai essayé une autre variante et ça a marché!
Configuration:
..
Capabilities: CAPABILITY_IAM,CAPABILITY_AUTO_EXPAND
...
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.