Utilisation de UpdateStack avec une CLI - Exemples de code de kit AWS SDK

D’autres exemples de kits AWS SDK sont disponibles dans le référentiel GitHub AWS Doc SDK Examples.

Utilisation de UpdateStack avec une CLI

Les exemples de code suivants illustrent comment utiliser UpdateStack.

CLI
AWS CLI

Pour mettre à jour des piles AWS CloudFormation

La commande update-stack suivante met à jour le modèle et les paramètres d’entrée de la pile mystack :

aws cloudformation update-stack --stack-name mystack --template-url https://s3.amazonaws.com/sample/updated.template --parameters ParameterKey=KeyPairName,ParameterValue=SampleKeyPair ParameterKey=SubnetIDs,ParameterValue=SampleSubnetID1\\,SampleSubnetID2

La commande update-stack suivante met uniquement à jour la valeur de paramètre SubnetIDs de la pile mystack. Si vous ne spécifiez aucune valeur de paramètre, la valeur par défaut spécifiée dans le modèle est utilisée :

aws cloudformation update-stack --stack-name mystack --template-url https://s3.amazonaws.com/sample/updated.template --parameters ParameterKey=KeyPairName,UsePreviousValue=true ParameterKey=SubnetIDs,ParameterValue=SampleSubnetID1\\,UpdatedSampleSubnetID2

La commande update-stack suivante ajoute deux rubriques de notification de pile à la pile mystack :

aws cloudformation update-stack --stack-name mystack --use-previous-template --notification-arns "arn:aws:sns:use-east-1:123456789012:mytopic1" "arn:aws:sns:us-east-1:123456789012:mytopic2"

Pour plus d’informations, consultez Mises à jour des piles AWS CloudFormation dans le Guide de l’utilisateur AWS CloudFormation.

  • Pour plus de détails sur l’API, consultez UpdateStack dans la Référence des commandes de l’AWS CLI.

PowerShell
Outils pour PowerShell V4

Exemple 1 : met à jour la pile « myStack » avec le modèle et les paramètres de personnalisation spécifiés. « PK1 » représente le nom d’un paramètre déclaré dans le modèle et « PV1 » représente sa valeur. Les paramètres de personnalisation peuvent également être spécifiés en utilisant « Key » et « Value » au lieu de « ParameterKey » et « ParameterValue ».

Update-CFNStack -StackName "myStack" ` -TemplateBody "{Template Content Here}" ` -Parameter @{ ParameterKey="PK1"; ParameterValue="PV1" }

Exemple 2 : met à jour la pile « myStack » avec le modèle et les paramètres de personnalisation spécifiés. « PK1 » et « PK2 » représentent les noms des paramètres déclarés dans le modèle, « PV1 » et « PV2 » représentent les valeurs demandées. Les paramètres de personnalisation peuvent également être spécifiés en utilisant « Key » et « Value » au lieu de « ParameterKey » et « ParameterValue ».

Update-CFNStack -StackName "myStack" ` -TemplateBody "{Template Content Here}" ` -Parameter @( @{ ParameterKey="PK1"; ParameterValue="PV1" }, @{ ParameterKey="PK2"; ParameterValue="PV2" } )

Exemple 3 : met à jour la pile « myStack » avec le modèle et les paramètres de personnalisation spécifiés. « PK1 » représente le nom d’un paramètre déclaré dans le modèle et « PV2 » représente sa valeur. Les paramètres de personnalisation peuvent également être spécifiés en utilisant « Key » et « Value » au lieu de « ParameterKey » et « ParameterValue ».

Update-CFNStack -StackName "myStack" -TemplateBody "{Template Content Here}" -Parameters @{ ParameterKey="PK1"; ParameterValue="PV1" }

Exemple 4 : met à jour la pile « myStack » avec le modèle obtenu à partir d’Amazon S3 et les paramètres de personnalisation spécifiés. « PK1 » et « PK2 » représentent les noms des paramètres déclarés dans le modèle, « PV1 » et « PV2 » représentent les valeurs demandées. Les paramètres de personnalisation peuvent également être spécifiés en utilisant « Key » et « Value » au lieu de « ParameterKey » et « ParameterValue ».

Update-CFNStack -StackName "myStack" ` -TemplateURL https://s3.amazonaws.com/amzn-s3-demo-bucket/templatefile.template ` -Parameter @( @{ ParameterKey="PK1"; ParameterValue="PV1" }, @{ ParameterKey="PK2"; ParameterValue="PV2" } )

Exemple 5 : met à jour la pile « myStack », qui est supposée dans cet exemple contenir des ressources IAM, avec le modèle spécifié, obtenu auprès d’Amazon S3, et les paramètres de personnalisation. « PK1 » et « PK2 » représentent les noms des paramètres déclarés dans le modèle, « PV1 » et « PV2 » représentent les valeurs demandées. Les paramètres de personnalisation peuvent également être spécifiés en utilisant « Key » et « Value » au lieu de « ParameterKey » et « ParameterValue ». Les piles contenant des ressources IAM nécessitent que vous spécifiiez le paramètre -Capabilities « CAPABILITY_IAM », sinon la mise à jour échouera avec une erreur « InsufficientCapabilities.

Update-CFNStack -StackName "myStack" ` -TemplateURL https://s3.amazonaws.com/amzn-s3-demo-bucket/templatefile.template ` -Parameter @( @{ ParameterKey="PK1"; ParameterValue="PV1" }, @{ ParameterKey="PK2"; ParameterValue="PV2" } ) ` -Capabilities "CAPABILITY_IAM"
  • Pour plus de détails sur l’API, consultez UpdateStack dans la Référence des cmdlets Outils AWS pour PowerShell (V4).

Outils pour PowerShell V5

Exemple 1 : met à jour la pile « myStack » avec le modèle et les paramètres de personnalisation spécifiés. « PK1 » représente le nom d’un paramètre déclaré dans le modèle et « PV1 » représente sa valeur. Les paramètres de personnalisation peuvent également être spécifiés en utilisant « Key » et « Value » au lieu de « ParameterKey » et « ParameterValue ».

Update-CFNStack -StackName "myStack" ` -TemplateBody "{Template Content Here}" ` -Parameter @{ ParameterKey="PK1"; ParameterValue="PV1" }

Exemple 2 : met à jour la pile « myStack » avec le modèle et les paramètres de personnalisation spécifiés. « PK1 » et « PK2 » représentent les noms des paramètres déclarés dans le modèle, « PV1 » et « PV2 » représentent les valeurs demandées. Les paramètres de personnalisation peuvent également être spécifiés en utilisant « Key » et « Value » au lieu de « ParameterKey » et « ParameterValue ».

Update-CFNStack -StackName "myStack" ` -TemplateBody "{Template Content Here}" ` -Parameter @( @{ ParameterKey="PK1"; ParameterValue="PV1" }, @{ ParameterKey="PK2"; ParameterValue="PV2" } )

Exemple 3 : met à jour la pile « myStack » avec le modèle et les paramètres de personnalisation spécifiés. « PK1 » représente le nom d’un paramètre déclaré dans le modèle et « PV2 » représente sa valeur. Les paramètres de personnalisation peuvent également être spécifiés en utilisant « Key » et « Value » au lieu de « ParameterKey » et « ParameterValue ».

Update-CFNStack -StackName "myStack" -TemplateBody "{Template Content Here}" -Parameters @{ ParameterKey="PK1"; ParameterValue="PV1" }

Exemple 4 : met à jour la pile « myStack » avec le modèle obtenu à partir d’Amazon S3 et les paramètres de personnalisation spécifiés. « PK1 » et « PK2 » représentent les noms des paramètres déclarés dans le modèle, « PV1 » et « PV2 » représentent les valeurs demandées. Les paramètres de personnalisation peuvent également être spécifiés en utilisant « Key » et « Value » au lieu de « ParameterKey » et « ParameterValue ».

Update-CFNStack -StackName "myStack" ` -TemplateURL https://s3.amazonaws.com/amzn-s3-demo-bucket/templatefile.template ` -Parameter @( @{ ParameterKey="PK1"; ParameterValue="PV1" }, @{ ParameterKey="PK2"; ParameterValue="PV2" } )

Exemple 5 : met à jour la pile « myStack », qui est supposée dans cet exemple contenir des ressources IAM, avec le modèle spécifié, obtenu auprès d’Amazon S3, et les paramètres de personnalisation. « PK1 » et « PK2 » représentent les noms des paramètres déclarés dans le modèle, « PV1 » et « PV2 » représentent les valeurs demandées. Les paramètres de personnalisation peuvent également être spécifiés en utilisant « Key » et « Value » au lieu de « ParameterKey » et « ParameterValue ». Les piles contenant des ressources IAM nécessitent que vous spécifiiez le paramètre -Capabilities « CAPABILITY_IAM », sinon la mise à jour échouera avec une erreur « InsufficientCapabilities.

Update-CFNStack -StackName "myStack" ` -TemplateURL https://s3.amazonaws.com/amzn-s3-demo-bucket/templatefile.template ` -Parameter @( @{ ParameterKey="PK1"; ParameterValue="PV1" }, @{ ParameterKey="PK2"; ParameterValue="PV2" } ) ` -Capabilities "CAPABILITY_IAM"
  • Pour plus de détails sur l’API, consultez UpdateStack dans la Référence des cmdlets Outils AWS pour PowerShell (V5).