Exemples d’utilisation de l’AWS CLI avec CloudFormation
Les exemples de code suivants montrent comment réaliser des actions et mettre en œuvre des scénarios courants en utilisant l’AWS Command Line Interface avec CloudFormation.
Les actions sont des extraits de code de programmes plus larges et doivent être exécutées dans leur contexte. Alors que les actions vous indiquent comment appeler des fonctions de service individuelles, vous pouvez les voir en contexte dans leurs scénarios associés.
Chaque exemple inclut un lien vers le code source complet, où vous trouverez des instructions sur la configuration et l’exécution du code en contexte.
Rubriques
Actions
L’exemple de code suivant montre comment utiliser activate-type.
- AWS CLI
-
Pour activer un type
L’exemple
activate-typesuivant active une extension tierce publique, ce qui permet de l’utiliser dans des modèles de pile.aws cloudformation activate-type \ --regionus-west-2\ --typeRESOURCE\ --type-nameExample::Test::1234567890abcdef0\ --type-name-aliasExample::Test::AliasSortie :
{ "Arn": "arn:aws:cloudformation:us-west-2:123456789012:type/resource/Example-Test-Alias" }Pour plus d’informations, consultez Utilisation du registre AWS CloudFormation dans le Guide de l’utilisateur AWS CloudFormation.
-
Pour plus de détails sur l’API, consultez ActivateType
dans la Référence des commandes de l’AWS CLI.
-
L’exemple de code suivant montre comment utiliser batch-describe-type-configurations.
- AWS CLI
-
Pour décrire par lots une configuration de type
L’exemple
batch-describe-type-configurationssuivant configure les données pour le type.aws cloudformation batch-describe-type-configurations \ --regionus-west-2\ --type-configuration-identifiers TypeArn="arn:aws:cloudformation:us-west-2:123456789012:type/resource/Example-Test-Type,TypeConfigurationAlias=MyConfiguration"Sortie :
{ "Errors": [], "UnprocessedTypeConfigurations": [], "TypeConfigurations": [ { "Arn": "arn:aws:cloudformation:us-west-2:123456789012:type/resource/Example-Test-Type", "Alias": "MyConfiguration", "Configuration": "{\n \"Example\": {\n \"ApiKey\": \"examplekey\",\n \"ApplicationKey\": \"examplekey1\",\n \"ApiURL\": \"exampleurl\"\n }\n}", "LastUpdated": "2021-10-01T15:25:46.210000+00:00", "TypeArn": "arn:aws:cloudformation:us-east-1:123456789012:type/resource/Example-Test-Type" } ] }Pour plus d’informations, consultez Utilisation du registre AWS CloudFormation dans le Guide de l’utilisateur AWS CloudFormation.
-
Pour plus de détails sur l’API, consultez BatchDescribeTypeConfigurations
dans la Référence des commandes de l’AWS CLI.
-
L’exemple de code suivant montre comment utiliser cancel-update-stack.
- AWS CLI
-
Pour annuler une mise à jour de pile en cours
La commande
cancel-update-stacksuivante annule une mise à jour de la pilemyteststack:aws cloudformation cancel-update-stack --stack-namemyteststack-
Pour plus de détails sur l’API, consultez CancelUpdateStack
dans la Référence des commandes de l’AWS CLI.
-
L’exemple de code suivant montre comment utiliser continue-update-rollback.
- AWS CLI
-
Pour réessayer l’annulation d’une mise à jour
L’exemple
continue-update-rollbacksuivant reprend une opération de restauration suite à un échec antérieur de la mise à jour de la pile.aws cloudformation continue-update-rollback \ --stack-namemy-stackCette commande ne produit aucune sortie.
-
Pour plus de détails sur l’API, consultez ContinueUpdateRollback
dans la Référence des commandes de l’AWS CLI.
-
L’exemple de code suivant montre comment utiliser create-change-set.
- AWS CLI
-
Pour créer un ensemble de modifications
L’exemple
create-change-setsuivant crée un ensemble de modifications avec la fonctionnalitéCAPABILITY_IAM. Le fichiertemplate.yamlest un modèle AWS CloudFormation situé dans le dossier actuel qui définit une pile incluant des ressources IAM.aws cloudformation create-change-set \ --stack-namemy-application\ --change-set-namemy-change-set\ --template-bodyfile://template.yaml\ --capabilitiesCAPABILITY_IAMSortie :
{ "Id": "arn:aws:cloudformation:us-west-2:123456789012:changeSet/my-change-set/bc9555ba-a949-xmpl-bfb8-f41d04ec5784", "StackId": "arn:aws:cloudformation:us-west-2:123456789012:stack/my-application/d0a825a0-e4cd-xmpl-b9fb-061c69e99204" }-
Pour plus de détails sur l’API, consultez CreateChangeSet
dans la Référence des commandes de l’AWS CLI.
-
L’exemple de code suivant montre comment utiliser create-stack-instances.
- AWS CLI
-
Pour créer des instances de pile
L’exemple
create-stack-instancessuivant crée les instances d’un ensemble de piles dans deux comptes et quatre régions. Le paramètre de tolérance aux pannes garantit que la mise à jour est tentée dans tous les comptes et toutes les régions, même si certaines piles ne peuvent pas être créées.aws cloudformation create-stack-instances \ --stack-set-namemy-stack-set\ --accounts123456789012223456789012\ --regionsus-east-1us-east-2us-west-1us-west-2\ --operation-preferencesFailureToleranceCount=7Sortie :
{ "OperationId": "d7995c31-83c2-xmpl-a3d4-e9ca2811563f" }Pour créer un ensemble de piles, utilisez la commande
create-stack-set.-
Pour plus de détails sur l’API, consultez CreateStackInstances
dans la Référence des commandes de l’AWS CLI.
-
L’exemple de code suivant montre comment utiliser create-stack-set.
- AWS CLI
-
Pour créer un ensemble de piles
L’exemple
create-stack-setsuivant crée un ensemble de piles à l’aide du modèle de fichier YAML spécifié.template.yamlest un modèle AWS CloudFormation dans le dossier actuel qui définit une pile.aws cloudformation create-stack-set \ --stack-set-namemy-stack-set\ --template-bodyfile://template.yaml\ --description"SNS topic"Sortie :
{ "StackSetId": "my-stack-set:8d0f160b-d157-xmpl-a8e6-c0ce8e5d8cc1" }Pour ajouter des instances de piles à l’ensemble de piles, utilisez la commande
create-stack-instances.-
Pour plus de détails sur l’API, consultez CreateStackSet
dans la Référence des commandes de l’AWS CLI.
-
L’exemple de code suivant montre comment utiliser create-stack.
- AWS CLI
-
Pour créer une pile AWS CloudFormation
La commande
create-stackssuivante crée une pile portant le nommyteststackà l’aide du modèlesampletemplate.json:aws cloudformation create-stack --stack-namemyteststack--template-bodyfile://sampletemplate.json--parametersParameterKey=KeyPairName,ParameterValue=TestKeyParameterKey=SubnetIDs,ParameterValue=SubnetID1\\,SubnetID2Sortie :
{ "StackId": "arn:aws:cloudformation:us-east-1:123456789012:stack/myteststack/466df9e0-0dff-08e3-8e2f-5088487c4896" }Pour plus d’informations, consultez Piles dans le Guide de l’utilisateur AWS CloudFormation.
-
Pour plus de détails sur l’API, consultez CreateStack
dans la Référence des commandes de l’AWS CLI.
-
L’exemple de code suivant montre comment utiliser deactivate-type.
- AWS CLI
-
Pour désactiver un type
L’exemple
deactivate-typesuivant désactive une extension publique précédemment activée dans ce compte et cette région.aws cloudformation deactivate-type \ --regionus-west-2\ --typeMODULE\ --type-nameExample::Test::Type::MODULECette commande ne produit aucune sortie.
Pour plus d’informations, consultez Utilisation du registre AWS CloudFormation dans le Guide de l’utilisateur AWS CloudFormation.
-
Pour plus de détails sur l’API, consultez DeactivateType
dans la Référence des commandes de l’AWS CLI.
-
L’exemple de code suivant montre comment utiliser delete-change-set.
- AWS CLI
-
Pour supprimer un ensemble de modifications
L’exemple
delete-change-setsuivant supprime un ensemble de modifications en spécifiant son nom et le nom de la pile.aws cloudformation delete-change-set \ --stack-namemy-stack\ --change-set-namemy-change-setCette commande ne produit aucune sortie.
L’exemple
delete-change-setsuivant supprime un ensemble de modifications en spécifiant l’ARN complet de l’ensemble de modifications.aws cloudformation delete-change-set \ --change-set-namearn:aws:cloudformation:us-east-2:123456789012:changeSet/my-change-set/4eca1a01-e285-xmpl-8026-9a1967bfb4b0Cette commande ne produit aucune sortie.
-
Pour plus de détails sur l’API, consultez DeleteChangeSet
dans la Référence des commandes de l’AWS CLI.
-
L’exemple de code suivant montre comment utiliser delete-stack-instances.
- AWS CLI
-
Pour supprimer des instances de piles
L’exemple
delete-stack-instancessuivant supprime les instances d’un ensemble de piles dans deux comptes dans deux régions et résilie les piles.aws cloudformation delete-stack-instances \ --stack-set-namemy-stack-set\ --accounts123456789012567890123456\ --regionsus-east-1us-west-1\ --no-retain-stacksSortie :
{ "OperationId": "ad49f10c-fd1d-413f-a20a-8de6e2fa8f27" }Pour supprimer un ensemble de piles vide, utilisez la commande
delete-stack-set.-
Pour plus de détails sur l’API, consultez DeleteStackInstances
dans la Référence des commandes de l’AWS CLI.
-
L’exemple de code suivant montre comment utiliser delete-stack-set.
- AWS CLI
-
Pour supprimer un ensemble de piles
La commande suivante supprime l’ensemble de piles vide spécifié. L’ensemble de piles doit être vide.
aws cloudformation delete-stack-set \ --stack-set-namemy-stack-setCette commande ne produit aucune sortie.
Pour supprimer les instances de l’ensemble de piles, utilisez la commande
delete-stack-instances.-
Pour plus de détails sur l’API, consultez DeleteStackSet
dans la Référence des commandes de l’AWS CLI.
-
L’exemple de code suivant montre comment utiliser delete-stack.
- AWS CLI
-
Pour supprimer une pile
L’exemple
delete-stacksuivant supprime la pile spécifiée.aws cloudformation delete-stack \ --stack-namemy-stackCette commande ne produit aucune sortie.
-
Pour plus de détails sur l’API, consultez DeleteStack
dans la Référence des commandes de l’AWS CLI.
-
L’exemple de code suivant montre comment utiliser deploy.
- AWS CLI
-
La commande suivante déploie le modèle nommé
template.jsonsur une pile nomméemy-new-stack:aws cloudformation deploy --template-file/path_to_template/template.json--stack-namemy-new-stack--parameter-overridesKey1=Value1Key2=Value2--tagsKey1=Value1Key2=Value2-
Pour plus de détails sur l’API, consultez Deploy
dans la Référence des commandes de l’AWS CLI.
-
L’exemple de code suivant montre comment utiliser deregister-type.
- AWS CLI
-
Pour annuler l’enregistrement d’une version de type
L’exemple
deregister-typesuivant supprime la version de type spécifiée d’une utilisation active dans le registre CloudFormation, de sorte qu’elle ne puisse plus être utilisée dans les opérations CloudFormation.aws cloudformation deregister-type \ --typeRESOURCE\ --type-nameMy::Logs::LogGroup\ --version-id00000002Cette commande ne produit aucune sortie.
Pour plus d’informations, consultez Utilisation du registre CloudFormation dans le AWS Guide de l’utilisateur CloudFormation.
-
Pour plus de détails sur l’API, consultez DeregisterType
dans la Référence des commandes de l’AWS CLI.
-
L’exemple de code suivant montre comment utiliser describe-account-limits.
- AWS CLI
-
Pour obtenir les informations sur les limites de votre compte
La commande suivante récupère une liste des limites régionales pour le compte actuel.
aws cloudformation describe-account-limitsSortie :
{ "AccountLimits": [ { "Name": "StackLimit", "Value": 200 }, { "Name": "StackOutputsLimit", "Value": 60 }, { "Name": "ConcurrentResourcesLimit", "Value": 2500 } ] }-
Pour plus de détails sur l’API, consultez DescribeAccountLimits
dans la Référence des commandes de l’AWS CLI.
-
L’exemple de code suivant montre comment utiliser describe-change-set.
- AWS CLI
-
Pour obtenir les informations sur un ensemble de modifications
L’exemple
describe-change-setsuivant affiche les informations de l’ensemble de modifications spécifié par nom d’ensemble de modifications et nom de pile.aws cloudformation describe-change-set \ --change-set-namemy-change-set\ --stack-namemy-stackL’exemple
describe-change-setsuivant affiche les informations de l’ensemble de modifications spécifié par l’ARN complet de l’ensemble de modifications :aws cloudformation describe-change-set \ --change-set-namearn:aws:cloudformation:us-west-2:123456789012:changeSet/my-change-set/bc9555ba-a949-xmpl-bfb8-f41d04ec5784Sortie :
{ "Changes": [ { "Type": "Resource", "ResourceChange": { "Action": "Modify", "LogicalResourceId": "function", "PhysicalResourceId": "my-function-SEZV4XMPL4S5", "ResourceType": "AWS::Lambda::Function", "Replacement": "False", "Scope": [ "Properties" ], "Details": [ { "Target": { "Attribute": "Properties", "Name": "Timeout", "RequiresRecreation": "Never" }, "Evaluation": "Static", "ChangeSource": "DirectModification" } ] } } ], "ChangeSetName": "my-change-set", "ChangeSetId": "arn:aws:cloudformation:us-west-2:123456789012:changeSet/my-change-set/4eca1a01-e285-xmpl-8026-9a1967bfb4b0", "StackId": "arn:aws:cloudformation:us-west-2:123456789012:stack/my-stack/d0a825a0-e4cd-xmpl-b9fb-061c69e99204", "StackName": "my-stack", "Description": null, "Parameters": null, "CreationTime": "2019-10-02T05:20:56.651Z", "ExecutionStatus": "AVAILABLE", "Status": "CREATE_COMPLETE", "StatusReason": null, "NotificationARNs": [], "RollbackConfiguration": {}, "Capabilities": [ "CAPABILITY_IAM" ], "Tags": null }-
Pour plus de détails sur l’API, consultez DescribeChangeSet
dans la Référence des commandes de l’AWS CLI.
-
L’exemple de code suivant montre comment utiliser describe-publisher.
- AWS CLI
-
Pour décrire un diffuseur de publication
L’exemple
describe-publishersuivant configure les informations pour un diffuseur de publication.aws cloudformation describe-publisher \ --regionus-west-2\ --publisher-id000q6TfUovXsEMmgKowxDZLlwqr2QUshSortie :
{ "PublisherId": "000q6TfUovXsEMmgKowxDZLlwqr2QUshd2e75c8c", "PublisherStatus": "VERIFIED", "IdentityProvider": "AWS_Marketplace", "PublisherProfile": "https://aws.amazon.com/marketplace/seller-profile?id=2c5dc1f0-17cd-4259-8e46-822a83gdtegd" }Pour plus d’informations, consultez Utilisation du registre AWS CloudFormation dans le Guide de l’utilisateur AWS CloudFormation.
-
Pour plus de détails sur l’API, consultez DescribePublisher
dans la Référence des commandes de l’AWS CLI.
-
L’exemple de code suivant montre comment utiliser describe-stack-drift-detection-status.
- AWS CLI
-
Pour vérifier le statut d’une opération de détection des écarts
L’exemple
describe-stack-drift-detection-statussuivant montre le statut d’une opération de détection des écarts. Pour obtenir l’ID, exécutez la commandedetect-stack-drift.aws cloudformation describe-stack-drift-detection-status \ --stack-drift-detection-id1a229160-e4d9-xmpl-ab67-0a4f93df83d4Sortie :
{ "StackId": "arn:aws:cloudformation:us-west-2:123456789012:stack/my-stack/d0a825a0-e4cd-xmpl-b9fb-061c69e99204", "StackDriftDetectionId": "1a229160-e4d9-xmpl-ab67-0a4f93df83d4", "StackDriftStatus": "DRIFTED", "DetectionStatus": "DETECTION_COMPLETE", "DriftedStackResourceCount": 1, "Timestamp": "2019-10-02T05:54:30.902Z" }-
Pour plus de détails sur l’API, consultez DescribeStackDriftDetectionStatus
dans la Référence des commandes de l’AWS CLI.
-
L’exemple de code suivant montre comment utiliser describe-stack-events.
- AWS CLI
-
Pour décrire les événements d’une pile
L’exemple
describe-stack-eventssuivant affiche les deux événements les plus récents pour la pile spécifiée.aws cloudformation describe-stack-events \ --stack-namemy-stack\ --max-items2{"StackEvents":[{"StackId": "arn:aws:cloudformation:us-west-2:123456789012:stack/my-stack/d0a825a0-e4cd-xmpl-b9fb-061c69e99204", "EventId": "4e1516d0-e4d6-xmpl-b94f-0a51958a168c", "StackName": "my-stack", "LogicalResourceId": "my-stack", "PhysicalResourceId": "arn:aws:cloudformation:us-west-2:123456789012:stack/my-stack/d0a825a0-e4cd-xmpl-b9fb-061c69e99204", "ResourceType": "AWS::CloudFormation::Stack", "Timestamp": "2019-10-02T05:34:29.556Z", "ResourceStatus":"UPDATE_COMPLETE"},{"StackId": "arn:aws:cloudformation:us-west-2:123456789012:stack/my-stack/d0a825a0-e4cd-xmpl-b9fb-061c69e99204", "EventId": "4dd3c810-e4d6-xmpl-bade-0aaf8b31ab7a", "StackName": "my-stack", "LogicalResourceId": "my-stack", "PhysicalResourceId": "arn:aws:cloudformation:us-west-2:123456789012:stack/my-stack/d0a825a0-e4cd-xmpl-b9fb-061c69e99204", "ResourceType": "AWS::CloudFormation::Stack", "Timestamp": "2019-10-02T05:34:29.127Z", "ResourceStatus":"UPDATE_COMPLETE_CLEANUP_IN_PROGRESS"}],"NextToken":"eyJOZXh0VG9XMPLiOiBudWxsLCAiYm90b190cnVuY2F0ZV9hbW91bnQiOiAyfQ=="}-
Pour plus de détails sur l’API, consultez DescribeStackEvents
dans la Référence des commandes de l’AWS CLI.
-
L’exemple de code suivant montre comment utiliser describe-stack-instance.
- AWS CLI
-
Pour décrire une instance de pile
La commande suivante décrit une instance de l’ensemble de piles spécifié dans le compte et la région spécifiés. L’ensemble de piles se trouve dans la région et le compte actuels, et l’instance se trouve dans la région
us-west-2dans le compte123456789012:aws cloudformation describe-stack-instance \ --stack-set-namemy-stack-set\ --stack-instance-account123456789012\ --stack-instance-regionus-west-2Sortie :
{ "StackInstance": { "StackSetId": "enable-config:296a3360-xmpl-40af-be78-9341e95bf743", "Region": "us-west-2", "Account": "123456789012", "StackId": "arn:aws:cloudformation:us-west-2:123456789012:stack/StackSet-enable-config-e6cac20f-xmpl-46e9-8314-53e0d4591532/4287f9a0-e615-xmpl-894a-12b31d3117be", "ParameterOverrides": [], "Status": "OUTDATED", "StatusReason": "ResourceLogicalId:ConfigBucket, ResourceType:AWS::S3::Bucket, ResourceStatusReason:You have attempted to create more buckets than allowed (Service: Amazon S3; Status Code: 400; Error Code: TooManyBuckets; Request ID: F7F21CXMPL580224; S3 Extended Request ID: egd/Fdt89BXMPLyiqbMNljVk55Yqqvi3NYW2nKLUVWhUGEhNfCmZdyj967lhriaG/dWMobSO40o=)." } }-
Pour plus de détails sur l’API, consultez DescribeStackInstance
dans la Référence des commandes de l’AWS CLI.
-
L’exemple de code suivant montre comment utiliser describe-stack-resource-drifts.
- AWS CLI
-
Pour obtenir les informations sur les ressources dérivées de la définition de la pile
La commande suivante affiche les informations sur les ressources qui affichent un écart pour la pile spécifiée. Pour lancer la détection des écarts, utilisez la commande
detect-stack-drift:aws cloudformation describe-stack-resource-drifts \ --stack-namemy-stackLa sortie montre une fonction AWS Lambda qui a été modifiée hors bande :
{ "StackResourceDrifts": [ { "StackId": "arn:aws:cloudformation:us-west-2:123456789012:stack/my-stack/d0a825a0-e4cd-xmpl-b9fb-061c69e99204", "LogicalResourceId": "function", "PhysicalResourceId": "my-function-SEZV4XMPL4S5", "ResourceType": "AWS::Lambda::Function", "ExpectedProperties": "{\"Description\":\"Write a file to S3.\",\"Environment\":{\"Variables\":{\"bucket\":\"my-stack-bucket-1vc62xmplgguf\"}},\"Handler\":\"index.handler\",\"MemorySize\":128,\"Role\":\"arn:aws:iam::123456789012:role/my-functionRole-HIZXMPLEOM9E\",\"Runtime\":\"nodejs10.x\",\"Tags\":[{\"Key\":\"lambda:createdBy\",\"Value\":\"SAM\"}],\"Timeout\":900,\"TracingConfig\":{\"Mode\":\"Active\"}}", "ActualProperties": "{\"Description\":\"Write a file to S3.\",\"Environment\":{\"Variables\":{\"bucket\":\"my-stack-bucket-1vc62xmplgguf\"}},\"Handler\":\"index.handler\",\"MemorySize\":256,\"Role\":\"arn:aws:iam::123456789012:role/my-functionRole-HIZXMPLEOM9E\",\"Runtime\":\"nodejs10.x\",\"Tags\":[{\"Key\":\"lambda:createdBy\",\"Value\":\"SAM\"}],\"Timeout\":22,\"TracingConfig\":{\"Mode\":\"Active\"}}", "PropertyDifferences": [ { "PropertyPath": "/MemorySize", "ExpectedValue": "128", "ActualValue": "256", "DifferenceType": "NOT_EQUAL" }, { "PropertyPath": "/Timeout", "ExpectedValue": "900", "ActualValue": "22", "DifferenceType": "NOT_EQUAL" } ], "StackResourceDriftStatus": "MODIFIED", "Timestamp": "2019-10-02T05:54:44.064Z" } ] }-
Pour plus de détails sur l’API, consultez DescribeStackResourceDrifts
dans la Référence des commandes de l’AWS CLI.
-
L’exemple de code suivant montre comment utiliser describe-stack-resource.
- AWS CLI
-
Pour obtenir les informations sur une ressource de pile
L’exemple
describe-stack-resourcesuivant affiche les informations pour la ressource nomméeMyFunctiondans la pile spécifiée.aws cloudformation describe-stack-resource \ --stack-nameMyStack\ --logical-resource-idMyFunctionSortie :
{ "StackResourceDetail": { "StackName": "MyStack", "StackId": "arn:aws:cloudformation:us-east-2:123456789012:stack/MyStack/d0a825a0-e4cd-xmpl-b9fb-061c69e99204", "LogicalResourceId": "MyFunction", "PhysicalResourceId": "my-function-SEZV4XMPL4S5", "ResourceType": "AWS::Lambda::Function", "LastUpdatedTimestamp": "2019-10-02T05:34:27.989Z", "ResourceStatus": "UPDATE_COMPLETE", "Metadata": "{}", "DriftInformation": { "StackResourceDriftStatus": "IN_SYNC" } } }-
Pour plus de détails sur l’API, consultez DescribeStackResource
dans la Référence des commandes de l’AWS CLI.
-
L’exemple de code suivant montre comment utiliser describe-stack-resources.
- AWS CLI
-
Pour obtenir les informations sur une ressource de pile
L’exemple
describe-stack-resourcessuivant affiche les informations concernant les ressources de la pile spécifiée.aws cloudformation describe-stack-resources \ --stack-namemy-stackSortie :
{ "StackResources": [ { "StackName": "my-stack", "StackId": "arn:aws:cloudformation:us-west-2:123456789012:stack/my-stack/d0a825a0-e4cd-xmpl-b9fb-061c69e99204", "LogicalResourceId": "bucket", "PhysicalResourceId": "my-stack-bucket-1vc62xmplgguf", "ResourceType": "AWS::S3::Bucket", "Timestamp": "2019-10-02T04:34:11.345Z", "ResourceStatus": "CREATE_COMPLETE", "DriftInformation": { "StackResourceDriftStatus": "IN_SYNC" } }, { "StackName": "my-stack", "StackId": "arn:aws:cloudformation:us-west-2:123456789012:stack/my-stack/d0a825a0-e4cd-xmpl-b9fb-061c69e99204", "LogicalResourceId": "function", "PhysicalResourceId": "my-function-SEZV4XMPL4S5", "ResourceType": "AWS::Lambda::Function", "Timestamp": "2019-10-02T05:34:27.989Z", "ResourceStatus": "UPDATE_COMPLETE", "DriftInformation": { "StackResourceDriftStatus": "IN_SYNC" } }, { "StackName": "my-stack", "StackId": "arn:aws:cloudformation:us-west-2:123456789012:stack/my-stack/d0a825a0-e4cd-xmpl-b9fb-061c69e99204", "LogicalResourceId": "functionRole", "PhysicalResourceId": "my-functionRole-HIZXMPLEOM9E", "ResourceType": "AWS::IAM::Role", "Timestamp": "2019-10-02T04:34:06.350Z", "ResourceStatus": "CREATE_COMPLETE", "DriftInformation": { "StackResourceDriftStatus": "IN_SYNC" } } ] }-
Pour plus de détails sur l’API, consultez DescribeStackResources
dans la Référence des commandes de l’AWS CLI.
-
L’exemple de code suivant montre comment utiliser describe-stack-set-operation.
- AWS CLI
-
Pour obtenir les informations relatives à une opération sur un ensemble de piles
L’exemple describe-stack-set-operation` suivant affiche les informations sur une opération de mise à jour de l’ensemble de piles spécifié.
aws cloudformation describe-stack-set-operation \ --stack-set-nameenable-config\ --operation-id35d45ebc-ed88-xmpl-ab59-0197a1fc83a0Sortie :
{ "StackSetOperation": { "OperationId": "35d45ebc-ed88-xmpl-ab59-0197a1fc83a0", "StackSetId": "enable-config:296a3360-xmpl-40af-be78-9341e95bf743", "Action": "UPDATE", "Status": "SUCCEEDED", "OperationPreferences": { "RegionOrder": [ "us-east-1", "us-west-2", "eu-west-1", "us-west-1" ], "FailureToleranceCount": 7, "MaxConcurrentCount": 2 }, "AdministrationRoleARN": "arn:aws:iam::123456789012:role/AWSCloudFormationStackSetAdministrationRole", "ExecutionRoleName": "AWSCloudFormationStackSetExecutionRole", "CreationTimestamp": "2019-10-03T16:28:44.377Z", "EndTimestamp": "2019-10-03T16:42:08.607Z" } }-
Pour plus de détails sur l’API, consultez DescribeStackSetOperation
dans la Référence des commandes de l’AWS CLI.
-
L’exemple de code suivant montre comment utiliser describe-stack-set.
- AWS CLI
-
Pour obtenir les informations sur un ensemble de piles
L’exemple describe-stack-set` suivant affiche les informations sur l’ensemble de piles spécifié.
aws cloudformation describe-stack-set \ --stack-set-namemy-stack-setSortie :
{ "StackSet": { "StackSetName": "my-stack-set", "StackSetId": "my-stack-set:296a3360-xmpl-40af-be78-9341e95bf743", "Description": "Create an Amazon SNS topic", "Status": "ACTIVE", "TemplateBody": "AWSTemplateFormatVersion: '2010-09-09'\nDescription: An AWS SNS topic\nResources:\n topic:\n Type: AWS::SNS::Topic", "Parameters": [], "Capabilities": [], "Tags": [], "StackSetARN": "arn:aws:cloudformation:us-west-2:123456789012:stackset/enable-config:296a3360-xmpl-40af-be78-9341e95bf743", "AdministrationRoleARN": "arn:aws:iam::123456789012:role/AWSCloudFormationStackSetAdministrationRole", "ExecutionRoleName": "AWSCloudFormationStackSetExecutionRole" } }-
Pour plus de détails sur l’API, consultez DescribeStackSet
dans la Référence des commandes de l’AWS CLI.
-
L’exemple de code suivant montre comment utiliser describe-stacks.
- AWS CLI
-
Pour décrire les piles AWS CloudFormation
La commande
describe-stackssuivante affiche des informations récapitulatives pour la pilemyteststack:aws cloudformation describe-stacks --stack-namemyteststackSortie :
{ "Stacks": [ { "StackId": "arn:aws:cloudformation:us-east-1:123456789012:stack/myteststack/466df9e0-0dff-08e3-8e2f-5088487c4896", "Description": "AWS CloudFormation Sample Template S3_Bucket: Sample template showing how to create a publicly accessible S3 bucket. **WARNING** This template creates an S3 bucket. You will be billed for the AWS resources used if you create a stack from this template.", "Tags": [], "Outputs": [ { "Description": "Name of S3 bucket to hold website content", "OutputKey": "BucketName", "OutputValue": "myteststack-s3bucket-jssofi1zie2w" } ], "StackStatusReason": null, "CreationTime": "2013-08-23T01:02:15.422Z", "Capabilities": [], "StackName": "myteststack", "StackStatus": "CREATE_COMPLETE", "DisableRollback": false } ] }Pour plus d’informations, consultez Piles dans le Guide de l’utilisateur AWS CloudFormation.
-
Pour plus de détails sur l’API, consultez DescribeStacks
dans la Référence des commandes de l’AWS CLI.
-
L’exemple de code suivant montre comment utiliser describe-type-registration.
- AWS CLI
-
Pour afficher les informations d’un enregistrement de type
L’exemple
describe-type-registrationsuivant affiche les informations sur l’enregistrement du type spécifié, notamment le statut, le type et la version actuels du type.aws cloudformation describe-type-registration \ --registration-tokena1b2c3d4-5678-90ab-cdef-EXAMPLE11111Sortie :
{ "ProgressStatus": "COMPLETE", "TypeArn": "arn:aws:cloudformation:us-west-2:123456789012:type/resource/My-Logs-LogGroup", "Description": "Deployment is currently in DEPLOY_STAGE of status COMPLETED; ", "TypeVersionArn": "arn:aws:cloudformation:us-west-2:123456789012:type/resource/My-Logs-LogGroup/00000001" }Pour plus d’informations, consultez Utilisation du registre CloudFormation dans le AWS Guide de l’utilisateur CloudFormation.
-
Pour plus de détails sur l’API, consultez DescribeTypeRegistration
dans la Référence des commandes de l’AWS CLI.
-
L’exemple de code suivant montre comment utiliser describe-type.
- AWS CLI
-
Pour afficher les informations sur le type
L’exemple
describe-typesuivant affiche les informations concernant le type spécifié.aws cloudformation describe-type \ --type-nameMy::Logs::LogGroup\ --typeRESOURCESortie :
{ "SourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-logs.git", "Description": "Customized resource derived from AWS::Logs::LogGroup", "TimeCreated": "2019-12-03T23:29:33.321Z", "Visibility": "PRIVATE", "TypeName": "My::Logs::LogGroup", "LastUpdated": "2019-12-03T23:29:33.321Z", "DeprecatedStatus": "LIVE", "ProvisioningType": "FULLY_MUTABLE", "Type": "RESOURCE", "Arn": "arn:aws:cloudformation:us-west-2:123456789012:type/resource/My-Logs-LogGroup/00000001", "Schema": "[details omitted]" }Pour plus d’informations, consultez Utilisation du registre CloudFormation dans le AWS Guide de l’utilisateur CloudFormation.
-
Pour plus de détails sur l’API, consultez DescribeType
dans la Référence des commandes de l’AWS CLI.
-
L’exemple de code suivant montre comment utiliser detect-stack-drift.
- AWS CLI
-
Pour détecter les ressources ayant subi un écart
L’exemple
detect-stack-driftsuivant lance la détection des écarts pour la pile spécifiée.aws cloudformation detect-stack-drift \ --stack-namemy-stackSortie :
{ "StackDriftDetectionId": "1a229160-e4d9-xmpl-ab67-0a4f93df83d4" }Vous pouvez ensuite utiliser cet ID avec la commande
describe-stack-resource-driftspour décrire les ressources faisant l’objet d’un écart.-
Pour plus de détails sur l’API, consultez DetectStackDrift
dans la Référence des commandes de l’AWS CLI.
-
L’exemple de code suivant montre comment utiliser detect-stack-resource-drift.
- AWS CLI
-
Pour détecter un écart pour une ressource
L’exemple
detect-stack-resource-driftsuivant vérifie si la ressourceMyFunctiondans la pile nomméeMyStackfait l’objet d’un écart :aws cloudformation detect-stack-resource-drift \ --stack-nameMyStack\ --logical-resource-idMyFunctionLa sortie montre une fonction AWS Lambda qui a été modifiée hors bande :
{ "StackResourceDrift": { "StackId": "arn:aws:cloudformation:us-west-2:123456789012:stack/MyStack/d0a825a0-e4cd-xmpl-b9fb-061c69e99204", "LogicalResourceId": "MyFunction", "PhysicalResourceId": "my-function-SEZV4XMPL4S5", "ResourceType": "AWS::Lambda::Function", "ExpectedProperties": "{\"Description\":\"Write a file to S3.\",\"Environment\":{\"Variables\":{\"bucket\":\"my-stack-bucket-1vc62xmplgguf\"}},\"Handler\":\"index.handler\",\"MemorySize\":128,\"Role\":\"arn:aws:iam::123456789012:role/my-functionRole-HIZXMPLEOM9E\",\"Runtime\":\"nodejs10.x\",\"Tags\":[{\"Key\":\"lambda:createdBy\",\"Value\":\"SAM\"}],\"Timeout\":900,\"TracingConfig\":{\"Mode\":\"Active\"}}", "ActualProperties": "{\"Description\":\"Write a file to S3.\",\"Environment\":{\"Variables\":{\"bucket\":\"my-stack-bucket-1vc62xmplgguf\"}},\"Handler\":\"index.handler\",\"MemorySize\":256,\"Role\":\"arn:aws:iam::123456789012:role/my-functionRole-HIZXMPLEOM9E\",\"Runtime\":\"nodejs10.x\",\"Tags\":[{\"Key\":\"lambda:createdBy\",\"Value\":\"SAM\"}],\"Timeout\":22,\"TracingConfig\":{\"Mode\":\"Active\"}}", "PropertyDifferences": [ { "PropertyPath": "/MemorySize", "ExpectedValue": "128", "ActualValue": "256", "DifferenceType": "NOT_EQUAL" }, { "PropertyPath": "/Timeout", "ExpectedValue": "900", "ActualValue": "22", "DifferenceType": "NOT_EQUAL" } ], "StackResourceDriftStatus": "MODIFIED", "Timestamp": "2019-10-02T05:58:47.433Z" } }-
Pour plus de détails sur l’API, consultez DetectStackResourceDrift
dans la Référence des commandes de l’AWS CLI.
-
L’exemple de code suivant montre comment utiliser detect-stack-set-drift.
- AWS CLI
-
Pour détecter un écart sur un ensemble de piles et toutes les instances qui lui sont associées
L’exemple
detect-stack-set-driftsuivant lance des opérations de détection des écarts sur l’ensemble de piles spécifié, y compris toutes les instances associées à cet ensemble de piles, et renvoie un ID d’opération qui pourra être utilisé pour suivre le statut de l’opération d’écart.aws cloudformation detect-stack-set-drift \ --stack-set-namestack-set-drift-exampleSortie :
{ "OperationId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111" }Pour plus d’informations, consultez Détection des modifications de configuration non gérées dans les ensembles de pile dans le Guide de l’utilisateur AWS CloudFormation.
-
Pour plus de détails sur l’API, consultez DetectStackSetDrift
dans la Référence des commandes de l’AWS CLI.
-
L’exemple de code suivant montre comment utiliser estimate-template-cost.
- AWS CLI
-
Pour estimer le coût d’un modèle
L’exemple
estimate-template-costsuivant génère une estimation du coût d’un modèle nommétemplate.yamldans le dossier actuel.aws cloudformation estimate-template-cost \ --template-bodyfile://template.yamlSortie :
{ "Url": "http://calculator.s3.amazonaws.com/calc5.html?key=cloudformation/7870825a-xmpl-4def-92e7-c4f8dd360cca" }-
Pour plus de détails sur l’API, consultez EstimateTemplateCost
dans la Référence des commandes de l’AWS CLI.
-
L’exemple de code suivant montre comment utiliser execute-change-set.
- AWS CLI
-
Pour exécuter un ensemble de modifications
L’exemple
execute-change-setsuivant exécute un ensemble de modifications spécifié par son nom et le nom de la pile.aws cloudformation execute-change-set \ --change-set-namemy-change-set\ --stack-namemy-stackL’exemple
execute-change-setsuivant exécute un ensemble de modifications spécifié par son ARN complet.aws cloudformation execute-change-set \ --change-set-namearn:aws:cloudformation:us-west-2:123456789012:changeSet/my-change-set/bc9555ba-a949-xmpl-bfb8-f41d04ec5784-
Pour plus de détails sur l’API, consultez ExecuteChangeSet
dans la Référence des commandes de l’AWS CLI.
-
L’exemple de code suivant montre comment utiliser get-stack-policy.
- AWS CLI
-
Pour afficher une politique de pile
L’exemple
get-stack-policysuivant affiche la politique de la pile spécifiée. Pour attacher une politique à une pile, utilisez la commandeset-stack-policy.aws cloudformation get-stack-policy \ --stack-namemy-stackSortie :
{ "StackPolicyBody": "{\n \"Statement\" : [\n {\n \"Effect\" : \"Allow\",\n \"Action\" : \"Update:*\",\n \"Principal\": \"*\",\n \"Resource\" : \"*\"\n },\n {\n \"Effect\" : \"Deny\",\n \"Action\" : \"Update:*\",\n \"Principal\": \"*\",\n \"Resource\" : \"LogicalResourceId/bucket\"\n }\n ]\n}\n" }-
Pour plus de détails sur l’API, consultez GetStackPolicy
dans la Référence des commandes de l’AWS CLI.
-
L’exemple de code suivant montre comment utiliser get-template-summary.
- AWS CLI
-
Pour afficher le résumé d’un modèle
La commande suivante affiche les informations récapitulatives sur les ressources et les métadonnées du fichier modèle spécifié.
aws cloudformation get-template-summary \ --template-bodyfile://template.yamlSortie :
{ "Parameters": [], "Description": "A VPC and subnets.", "ResourceTypes": [ "AWS::EC2::VPC", "AWS::EC2::Subnet", "AWS::EC2::Subnet", "AWS::EC2::RouteTable", "AWS::EC2::VPCEndpoint", "AWS::EC2::SubnetRouteTableAssociation", "AWS::EC2::SubnetRouteTableAssociation", "AWS::EC2::VPCEndpoint" ], "Version": "2010-09-09" }-
Pour plus de détails sur l’API, consultez GetTemplateSummary
dans la Référence des commandes de l’AWS CLI.
-
L’exemple de code suivant montre comment utiliser get-template.
- AWS CLI
-
Pour afficher le corps du modèle d’une pile AWS CloudFormation
La commande
get-templatesuivante affiche le modèle de la pilemyteststack:aws cloudformation get-template --stack-namemyteststackSortie :
{ "TemplateBody": { "AWSTemplateFormatVersion": "2010-09-09", "Outputs": { "BucketName": { "Description": "Name of S3 bucket to hold website content", "Value": { "Ref": "S3Bucket" } } }, "Description": "AWS CloudFormation Sample Template S3_Bucket: Sample template showing how to create a publicly accessible S3 bucket. **WARNING** This template creates an S3 bucket. You will be billed for the AWS resources used if you create a stack from this template.", "Resources": { "S3Bucket": { "Type": "AWS::S3::Bucket", "Properties": { "AccessControl": "PublicRead" } } } } }-
Pour plus de détails sur l’API, consultez GetTemplate
dans la Référence des commandes de l’AWS CLI.
-
L’exemple de code suivant montre comment utiliser list-change-sets.
- AWS CLI
-
Pour répertorier les ensembles de modifications
L’exemple
list-change-setssuivant affiche une liste des ensembles de modifications en attente pour la pile spécifiée.aws cloudformation list-change-sets \ --stack-namemy-stackSortie :
{ "Summaries": [ { "StackId": "arn:aws:cloudformation:us-west-2:123456789012:stack/my-stack/d0a825a0-e4cd-xmpl-b9fb-061c69e99204", "StackName": "my-stack", "ChangeSetId": "arn:aws:cloudformation:us-west-2:123456789012:changeSet/my-change-set/70160340-7914-xmpl-bcbf-128a1fa78b5d", "ChangeSetName": "my-change-set", "ExecutionStatus": "AVAILABLE", "Status": "CREATE_COMPLETE", "CreationTime": "2019-10-02T05:38:54.297Z" } ] }-
Pour plus de détails sur l’API, consultez ListChangeSets
dans la Référence des commandes de l’AWS CLI.
-
L’exemple de code suivant montre comment utiliser list-exports.
- AWS CLI
-
Pour répertorier les exportations
L’exemple
list-exportssuivant affiche une liste des exportations à partir des piles dans la région actuelle.aws cloudformation list-exportsSortie :
{ "Exports": [ { "ExportingStackId": "arn:aws:cloudformation:us-west-2:123456789012:stack/private-vpc/99764070-b56c-xmpl-bee8-062a88d1d800", "Name": "private-vpc-subnet-a", "Value": "subnet-07b410xmplddcfa03" }, { "ExportingStackId": "arn:aws:cloudformation:us-west-2:123456789012:stack/private-vpc/99764070-b56c-xmpl-bee8-062a88d1d800", "Name": "private-vpc-subnet-b", "Value": "subnet-075ed3xmplebd2fb1" }, { "ExportingStackId": "arn:aws:cloudformation:us-west-2:123456789012:stack/private-vpc/99764070-b56c-xmpl-bee8-062a88d1d800", "Name": "private-vpc-vpcid", "Value": "vpc-011d7xmpl100e9841" } ] }-
Pour plus de détails sur l’API, consultez ListExports
dans la Référence des commandes de l’AWS CLI.
-
L’exemple de code suivant montre comment utiliser list-imports.
- AWS CLI
-
Pour répertorier les importations
L’exemple
list-importssuivant répertorie les piles qui importent l’exportation spécifiée. Pour obtenir la liste des exportations disponibles, utilisez la commandelist-exports.aws cloudformation list-imports \ --export-nameprivate-vpc-vpcidSortie :
{ "Imports": [ "my-database-stack" ] }-
Pour plus de détails sur l’API, consultez ListImports
dans la Référence des commandes de l’AWS CLI.
-
L’exemple de code suivant montre comment utiliser list-stack-instances.
- AWS CLI
-
Pour répertorier les instances d’une pile
L’exemple
list-stack-instancessuivant répertorie les instances créées à partir de l’ensemble de piles spécifié.aws cloudformation list-stack-instances \ --stack-set-nameenable-configL’exemple de sortie inclut les informations sur une pile qui n’a pas pu être mise à jour en raison d’une erreur :
{ "Summaries": [ { "StackSetId": "enable-config:296a3360-xmpl-40af-be78-9341e95bf743", "Region": "us-west-2", "Account": "123456789012", "StackId": "arn:aws:cloudformation:ap-northeast-1:123456789012:stack/StackSet-enable-config-35a6ac50-d9f8-4084-86e4-7da34d5de4c4/a1631cd0-e5fb-xmpl-b474-0aa20f14f06e", "Status": "CURRENT" }, { "StackSetId": "enable-config:296a3360-xmpl-40af-be78-9341e95bf743", "Region": "us-west-2", "Account": "123456789012", "StackId": "arn:aws:cloudformation:us-west-2:123456789012:stack/StackSet-enable-config-e6cac20f-xmpl-46e9-8314-53e0d4591532/eab53680-e5fa-xmpl-ba14-0a522351f81e", "Status": "OUTDATED", "StatusReason": "ResourceLogicalId:ConfigDeliveryChannel, ResourceType:AWS::Config::DeliveryChannel, ResourceStatusReason:Failed to put delivery channel 'StackSet-enable-config-e6cac20f-xmpl-46e9-8314-53e0d4591532-ConfigDeliveryChannel-1OJWJ7XD59WR0' because the maximum number of delivery channels: 1 is reached. (Service: AmazonConfig; Status Code: 400; Error Code: MaxNumberOfDeliveryChannelsExceededException; Request ID: d14b34a0-ef7c-xmpl-acf8-8a864370ae56)." } ] }-
Pour plus de détails sur l’API, consultez ListStackInstances
dans la Référence des commandes de l’AWS CLI.
-
L’exemple de code suivant montre comment utiliser list-stack-resources.
- AWS CLI
-
Pour répertorier les ressources d’une pile
La commande suivante affiche la liste des ressources de la pile spécifiée.
aws cloudformation list-stack-resources \ --stack-namemy-stackSortie :
{ "StackResourceSummaries": [ { "LogicalResourceId": "bucket", "PhysicalResourceId": "my-stack-bucket-1vc62xmplgguf", "ResourceType": "AWS::S3::Bucket", "LastUpdatedTimestamp": "2019-10-02T04:34:11.345Z", "ResourceStatus": "CREATE_COMPLETE", "DriftInformation": { "StackResourceDriftStatus": "IN_SYNC" } }, { "LogicalResourceId": "function", "PhysicalResourceId": "my-function-SEZV4XMPL4S5", "ResourceType": "AWS::Lambda::Function", "LastUpdatedTimestamp": "2019-10-02T05:34:27.989Z", "ResourceStatus": "UPDATE_COMPLETE", "DriftInformation": { "StackResourceDriftStatus": "IN_SYNC" } }, { "LogicalResourceId": "functionRole", "PhysicalResourceId": "my-functionRole-HIZXMPLEOM9E", "ResourceType": "AWS::IAM::Role", "LastUpdatedTimestamp": "2019-10-02T04:34:06.350Z", "ResourceStatus": "CREATE_COMPLETE", "DriftInformation": { "StackResourceDriftStatus": "IN_SYNC" } } ] }-
Pour plus de détails sur l’API, consultez ListStackResources
dans la Référence des commandes de l’AWS CLI.
-
L’exemple de code suivant montre comment utiliser list-stack-set-operation-results.
- AWS CLI
-
Pour répertorier les résultats d’une opération sur un ensemble de piles
La commande suivante affiche les résultats d’une opération de mise à jour des instances dans l’ensemble de piles spécifié.
aws cloudformation list-stack-set-operation-results \ --stack-set-nameenable-config\ --operation-id35d45ebc-ed88-xmpl-ab59-0197a1fc83a0Sortie :
{ "Summaries": [ { "Account": "223456789012", "Region": "us-west-2", "Status": "SUCCEEDED", "AccountGateResult": { "Status": "SKIPPED", "StatusReason": "Function not found: arn:aws:lambda:eu-west-1:223456789012:function:AWSCloudFormationStackSetAccountGate" } }, { "Account": "223456789012", "Region": "ap-south-1", "Status": "CANCELLED", "StatusReason": "Cancelled since failure tolerance has exceeded" } ] }Remarque : le statut
SKIPPEDpourAccountGateResultest attendu pour les opérations réussies, sauf si vous créez une fonction de portail de compte.-
Pour plus de détails sur l’API, consultez ListStackSetOperationResults
dans la Référence des commandes de l’AWS CLI.
-
L’exemple de code suivant montre comment utiliser list-stack-set-operations.
- AWS CLI
-
Pour répertorier les opérations effectuées sur un ensemble de piles
L’exemple
list-stack-set-operationssuivant affiche la liste des opérations les plus récentes effectuées sur l’ensemble de piles spécifié.aws cloudformation list-stack-set-operations \ --stack-set-namemy-stack-setSortie :
{ "Summaries": [ { "OperationId": "35d45ebc-ed88-xmpl-ab59-0197a1fc83a0", "Action": "UPDATE", "Status": "SUCCEEDED", "CreationTimestamp": "2019-10-03T16:28:44.377Z", "EndTimestamp": "2019-10-03T16:42:08.607Z" }, { "OperationId": "891aa98f-7118-xmpl-00b2-00954d1dd0d6", "Action": "UPDATE", "Status": "FAILED", "CreationTimestamp": "2019-10-03T15:43:53.916Z", "EndTimestamp": "2019-10-03T15:45:58.925Z" } ] }-
Pour plus de détails sur l’API, consultez ListStackSetOperations
dans la Référence des commandes de l’AWS CLI.
-
L’exemple de code suivant montre comment utiliser list-stack-sets.
- AWS CLI
-
Pour répertorier les ensembles de piles
L’exemple
list-stack-setssuivant affiche la liste des ensembles de piles dans la région et le compte actuels.aws cloudformation list-stack-setsSortie :
{ "Summaries": [ { "StackSetName": "enable-config", "StackSetId": "enable-config:296a3360-xmpl-40af-be78-9341e95bf743", "Description": "Enable AWS Config", "Status": "ACTIVE" } ] }-
Pour plus de détails sur l’API, consultez ListStackSets
dans la Référence des commandes de l’AWS CLI.
-
L’exemple de code suivant montre comment utiliser list-stacks.
- AWS CLI
-
Pour répertorier les piles AWS CloudFormation
La commande
list-stackssuivante affiche un résumé de toutes les piles ayant le statutCREATE_COMPLETE:aws cloudformation list-stacks --stack-status-filterCREATE_COMPLETESortie :
[ { "StackId": "arn:aws:cloudformation:us-east-1:123456789012:stack/myteststack/466df9e0-0dff-08e3-8e2f-5088487c4896", "TemplateDescription": "AWS CloudFormation Sample Template S3_Bucket: Sample template showing how to create a publicly accessible S3 bucket. **WARNING** This template creates an S3 bucket. You will be billed for the AWS resources used if you create a stack from this template.", "StackStatusReason": null, "CreationTime": "2013-08-26T03:27:10.190Z", "StackName": "myteststack", "StackStatus": "CREATE_COMPLETE" } ]-
Pour plus de détails sur l’API, consultez ListStacks
dans la Référence des commandes de l’AWS CLI.
-
L’exemple de code suivant montre comment utiliser list-type-registrations.
- AWS CLI
-
Pour répertorier les enregistrements terminés d’un type
L’exemple
list-type-registrationssuivant affiche une liste des enregistrements terminés pour le type spécifié.aws cloudformation list-type-registrations \ --typeRESOURCE\ --type-nameMy::Logs::LogGroup\ --registration-status-filterCOMPLETESortie :
{ "RegistrationTokenList": [ "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", "a1b2c3d4-5678-90ab-cdef-EXAMPLE22222", "a1b2c3d4-5678-90ab-cdef-EXAMPLE33333" ] }Pour plus d’informations, consultez Utilisation du registre CloudFormation dans le AWS Guide de l’utilisateur CloudFormation.
-
Pour plus de détails sur l’API, consultez ListTypeRegistrations
dans la Référence des commandes de l’AWS CLI.
-
L’exemple de code suivant montre comment utiliser list-type-versions.
- AWS CLI
-
Pour répertorier la version d’une extension
L’exemple
list-type-versionssuivant renvoie les informations récapitulatives sur les versions d’une extension.aws cloudformation list-type-versions \ --endpointhttps://example.com\ --regionus-west-2\ --typeRESOURCE\ --type-nameMy::Resource::Example\ --publisher-id123456789012Cette commande ne produit aucune sortie.
Pour plus d’informations, consultez Utilisation du registre AWS CloudFormation dans le Guide de l’utilisateur AWS CloudFormation.
-
Pour plus de détails sur l’API, consultez ListTypeVersions
dans la Référence des commandes de l’AWS CLI.
-
L’exemple de code suivant montre comment utiliser list-types.
- AWS CLI
-
Pour répertorier les types de ressources privées d’un compte
L’exemple
list-typessuivant affiche une liste des types de ressources privées actuellement enregistrés dans le compte AWS actuel.aws cloudformation list-typesSortie :
{ "TypeSummaries": [ { "Description": "WordPress blog resource for internal use", "LastUpdated": "2019-12-04T18:28:15.059Z", "TypeName": "My::WordPress::BlogExample", "TypeArn": "arn:aws:cloudformation:us-west-2:123456789012:type/resource/My-WordPress-BlogExample", "DefaultVersionId": "00000005", "Type": "RESOURCE" }, { "Description": "Customized resource derived from AWS::Logs::LogGroup", "LastUpdated": "2019-12-04T18:28:15.059Z", "TypeName": "My::Logs::LogGroup", "TypeArn": "arn:aws:cloudformation:us-west-2:123456789012:type/resource/My-Logs-LogGroup", "DefaultVersionId": "00000003", "Type": "RESOURCE" } ] }Pour plus d’informations, consultez Utilisation du registre CloudFormation dans le AWS Guide de l’utilisateur CloudFormation.
-
Pour plus de détails sur l’API, consultez ListTypes
dans la Référence des commandes de l’AWS CLI.
-
L’exemple de code suivant montre comment utiliser package.
- AWS CLI
-
La commande suivante exporte un modèle nommé
template.jsonen chargeant des artefacts locaux dans le compartiment S3bucket-nameet écrit le modèle exporté surpackaged-template.json:aws cloudformation package --template-file/path_to_template/template.json--s3-bucketbucket-name--output-template-filepackaged-template.json--use-json-
Pour plus de détails sur l’API, consultez Package
dans la Référence des commandes de l’AWS CLI.
-
L’exemple de code suivant montre comment utiliser publish-type.
- AWS CLI
-
Pour publier une extension
L’exemple
publish-typesuivant publie l’extension spécifiée dans le registre CloudFormation en tant qu’extension publique dans cette région.aws cloudformation publish-type \ --regionus-west-2\ --typeRESOURCE\ --type-nameExample::Test::1234567890abcdef0Sortie :
{ "PublicTypeArn":"arn:aws:cloudformation:us-west-2::type/resource/000q6TfUovXsEMmgKowxDZLlwqr2QUshd2e75c8c/Example-Test-1234567890abcdef0/1.0.0" }Pour plus d’informations, consultez Utilisation du registre AWS CloudFormation dans le Guide de l’utilisateur AWS CloudFormation.
-
Pour plus de détails sur l’API, consultez PublishType
dans la Référence des commandes de l’AWS CLI.
-
L’exemple de code suivant montre comment utiliser register-publisher.
- AWS CLI
-
Pour enregistrer un diffuseur de publication
L’exemple
register-publishersuivant enregistre un diffuseur de publication et accepte le paramètre des conditions d’utilisation.aws cloudformation register-publisher \ --regionus-west-2\ --accept-terms-and-conditionsSortie :
{ "PublisherId": "000q6TfUovXsEMmgKowxDZLlwqr2QUshd2e75c8c" }Pour plus d’informations, consultez Utilisation du registre AWS CloudFormation dans le Guide de l’utilisateur AWS CloudFormation.
-
Pour plus de détails sur l’API, consultez RegisterPublisher
dans la Référence des commandes de l’AWS CLI.
-
L’exemple de code suivant montre comment utiliser register-type.
- AWS CLI
-
Pour enregistrer un type de ressource
L’exemple
register-typesuivant enregistre le type de ressource spécifié en tant que type de ressource privée dans le compte de l’utilisateur.aws cloudformation register-type \ --type-nameMy::Organization::ResourceName\ --schema-handler-packages3://bucket_name/my-organization-resource_name.zip\ --typeRESOURCESortie :
{ "RegistrationToken": "f5525280-104e-4d35-bef5-8f1f1example" }Pour plus d’informations, consultez Enregistrements de fournisseurs de ressources dans le Guide de l’utilisateur de l’interface de ligne de commande CloudFormation.
-
Pour plus de détails sur l’API, consultez RegisterType
dans la Référence des commandes de l’AWS CLI.
-
L’exemple de code suivant montre comment utiliser set-stack-policy.
- AWS CLI
-
Pour appliquer une politique de pile
L’exemple
set-stack-policysuivant désactive les mises à jour pour la ressource spécifiée dans la pile spécifiée.stack-policy.jsonest un document JSON qui définit les opérations autorisées sur les ressources de la pile.aws cloudformation set-stack-policy \ --stack-namemy-stack\ --stack-policy-bodyfile://stack-policy.jsonSortie :
{ "Statement" : [ { "Effect" : "Allow", "Action" : "Update:*", "Principal": "*", "Resource" : "*" }, { "Effect" : "Deny", "Action" : "Update:*", "Principal": "*", "Resource" : "LogicalResourceId/bucket" } ] }-
Pour plus de détails sur l’API, consultez SetStackPolicy
dans la Référence des commandes de l’AWS CLI.
-
L’exemple de code suivant montre comment utiliser set-type-configuration.
- AWS CLI
-
Pour configurer des données
L’exemple
set-type-configurationsuivant indique les données de configuration d’une extension CloudFormation enregistrée, dans le compte et la région donnés.aws cloudformation set-type-configuration \ --regionus-west-2\ --typeRESOURCE\ --type-nameExample::Test::Type\ --configuration-aliasdefault\ --configuration "{\"CredentialKey\": \"testUserCredential\"}"Sortie :
{ "ConfigurationArn": "arn:aws:cloudformation:us-west-2:123456789012:type-configuration/resource/Example-Test-Type/default" }Pour plus d’informations, consultez Utilisation du registre AWS CloudFormation dans le Guide de l’utilisateur AWS CloudFormation.
-
Pour plus de détails sur l’API, consultez SetTypeConfiguration
dans la Référence des commandes de l’AWS CLI.
-
L’exemple de code suivant montre comment utiliser set-type-default-version.
- AWS CLI
-
Pour définir la version par défaut d’un type
L’exemple
set-type-default-versionsuivant définit la version spécifiée à utiliser par défaut pour ce type.aws cloudformation set-type-default-version \ --typeRESOURCE\ --type-nameMy::Logs::LogGroup\ --version-id00000003Cette commande ne produit aucune sortie.
Pour plus d’informations, consultez Utilisation du registre CloudFormation dans le AWS Guide de l’utilisateur CloudFormation.
-
Pour plus de détails sur l’API, consultez SetTypeDefaultVersion
dans la Référence des commandes de l’AWS CLI.
-
L’exemple de code suivant montre comment utiliser signal-resource.
- AWS CLI
-
Pour signaler une ressource
L’exemple
signal-resourcesuivant indique parsuccessque la condition d’attente nomméeMyWaitConditiondans la pile nomméemy-stacka été remplie.aws cloudformation signal-resource \ --stack-namemy-stack\ --logical-resource-idMyWaitCondition\ --unique-id1234\ --statusSUCCESSCette commande ne produit aucune sortie.
-
Pour plus de détails sur l’API, consultez SignalResource
dans la Référence des commandes de l’AWS CLI.
-
L’exemple de code suivant montre comment utiliser stop-stack-set-operation.
- AWS CLI
-
Pour arrêter une opération effectuée sur un ensemble de piles
L’exemple
stop-stack-set-operationsuivant arrête une opération de mise à jour en cours sur l’ensemble de piles spécifié.aws cloudformation stop-stack-set-operation \ --stack-set-namemy-stack-set\ --operation-id1261cd27-490b-xmpl-ab42-793a896c69e6Cette commande ne produit aucune sortie.
-
Pour plus de détails sur l’API, consultez StopStackSetOperation
dans la Référence des commandes de l’AWS CLI.
-
L’exemple de code suivant montre comment utiliser test-type.
- AWS CLI
-
Pour tester une extension
L’exemple
test-typesuivant teste une extension enregistrée afin de s’assurer qu’elle répond à toutes les exigences nécessaires à sa publication dans le registre CloudFormation.aws cloudformation test-type \ --arnarn:aws:cloudformation:us-west-2:123456789012:type/resource/Sample-Test-Resource123/00000001Sortie :
{ "TypeVersionArn": "arn:aws:cloudformation:us-west-2:123456789012:type/resource/Sample-Test-Resource123/00000001" }Pour plus d’informations, consultez Utilisation du registre AWS CloudFormation dans le Guide de l’utilisateur AWS CloudFormation.
-
Pour plus de détails sur l’API, consultez TestType
dans la Référence des commandes de l’AWS CLI.
-
L’exemple de code suivant montre comment utiliser update-stack-instances.
- AWS CLI
-
Pour mettre à jour des instances de pile
L’exemple
update-stack-instancessuivant tente à nouveau une mise à jour des instances de pile de deux comptes dans deux régions avec les paramètres les plus récents. Le paramètre de tolérance aux pannes spécifié garantit que la mise à jour est tentée dans tous les comptes et régions, même si certaines piles ne peuvent pas être mises à jour.aws cloudformation update-stack-instances \ --stack-set-namemy-stack-set\ --accounts123456789012567890123456\ --regionsus-east-1us-west-2\ --operation-preferencesFailureToleranceCount=3Sortie :
{ "OperationId": "103ebdf2-21ea-xmpl-8892-de5e30733132" }-
Pour plus de détails sur l’API, consultez UpdateStackInstances
dans la Référence des commandes de l’AWS CLI.
-
L’exemple de code suivant montre comment utiliser update-stack-set.
- AWS CLI
-
Pour mettre à jour un ensemble de piles
L’exemple
update-stack-setsuivant ajoute une balise avec le nom de cléOwneret la valeurITaux instances de l’ensemble de piles spécifié.aws cloudformation update-stack-set \ --stack-set-namemy-stack-set\ --use-previous-template \ --tagsKey=Owner,Value=ITSortie :
{ "OperationId": "e2b60321-6cab-xmpl-bde7-530c6f47950e" }-
Pour plus de détails sur l’API, consultez UpdateStackSet
dans la Référence des commandes de l’AWS CLI.
-
L’exemple de code suivant montre comment utiliser update-stack.
- AWS CLI
-
Pour mettre à jour des piles AWS CloudFormation
La commande
update-stacksuivante met à jour le modèle et les paramètres d’entrée de la pilemystack:aws cloudformation update-stack --stack-namemystack--template-urlhttps://s3.amazonaws.com/sample/updated.template--parametersParameterKey=KeyPairName,ParameterValue=SampleKeyPairParameterKey=SubnetIDs,ParameterValue=SampleSubnetID1\\,SampleSubnetID2La commande
update-stacksuivante met uniquement à jour la valeur de paramètreSubnetIDsde la pilemystack. 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-namemystack--template-urlhttps://s3.amazonaws.com/sample/updated.template--parametersParameterKey=KeyPairName,UsePreviousValue=trueParameterKey=SubnetIDs,ParameterValue=SampleSubnetID1\\,UpdatedSampleSubnetID2La commande
update-stacksuivante ajoute deux rubriques de notification de pile à la pilemystack:aws cloudformation update-stack --stack-namemystack--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.
-
L’exemple de code suivant montre comment utiliser update-termination-protection.
- AWS CLI
-
Pour activer la protection contre la résiliation
L’exemple
update-termination-protectionsuivant active la protection contre la résiliation sur la pile spécifiée.aws cloudformation update-termination-protection \ --stack-namemy-stack\ --enable-termination-protectionSortie :
{ "StackId": "arn:aws:cloudformation:us-west-2:123456789012:stack/my-stack/d0a825a0-e4cd-xmpl-b9fb-061c69e99204" }-
Pour plus de détails sur l’API, consultez UpdateTerminationProtection
dans la Référence des commandes de l’AWS CLI.
-
L’exemple de code suivant montre comment utiliser validate-template.
- AWS CLI
-
Pour valider un modèle AWS CloudFormation
La commande
validate-templatesuivante valide le modèlesampletemplate.json:aws cloudformation validate-template --template-bodyfile://sampletemplate.jsonSortie :
{ "Description": "AWS CloudFormation Sample Template S3_Bucket: Sample template showing how to create a publicly accessible S3 bucket. **WARNING** This template creates an S3 bucket. You will be billed for the AWS resources used if you create a stack from this template.", "Parameters": [], "Capabilities": [] }Pour plus d’informations, consultez Utilisation des modèles AWS CloudFormation dans le Guide de l’utilisateur AWS CloudFormation.
-
Pour plus de détails sur l’API, consultez ValidateTemplate
dans la Référence des commandes de l’AWS CLI.
-