Exemples d’utilisation de l’AWS CLI avec CloudFormation - AWS Command Line Interface

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-type suivant active une extension tierce publique, ce qui permet de l’utiliser dans des modèles de pile.

aws cloudformation activate-type \ --region us-west-2 \ --type RESOURCE \ --type-name Example::Test::1234567890abcdef0 \ --type-name-alias Example::Test::Alias

Sortie :

{ "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-configurations suivant configure les données pour le type.

aws cloudformation batch-describe-type-configurations \ --region us-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.

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-stack suivante annule une mise à jour de la pile myteststack :

aws cloudformation cancel-update-stack --stack-name myteststack
  • 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-rollback suivant reprend une opération de restauration suite à un échec antérieur de la mise à jour de la pile.

aws cloudformation continue-update-rollback \ --stack-name my-stack

Cette 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-set suivant crée un ensemble de modifications avec la fonctionnalité CAPABILITY_IAM. Le fichier template.yaml est 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-name my-application \ --change-set-name my-change-set \ --template-body file://template.yaml \ --capabilities CAPABILITY_IAM

Sortie :

{ "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-instances suivant 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-name my-stack-set \ --accounts 123456789012 223456789012 \ --regions us-east-1 us-east-2 us-west-1 us-west-2 \ --operation-preferences FailureToleranceCount=7

Sortie :

{ "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-set suivant crée un ensemble de piles à l’aide du modèle de fichier YAML spécifié. template.yaml est un modèle AWS CloudFormation dans le dossier actuel qui définit une pile.

aws cloudformation create-stack-set \ --stack-set-name my-stack-set \ --template-body file://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-stacks suivante crée une pile portant le nom myteststack à l’aide du modèle sampletemplate.json :

aws cloudformation create-stack --stack-name myteststack --template-body file://sampletemplate.json --parameters ParameterKey=KeyPairName,ParameterValue=TestKey ParameterKey=SubnetIDs,ParameterValue=SubnetID1\\,SubnetID2

Sortie :

{ "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-type suivant désactive une extension publique précédemment activée dans ce compte et cette région.

aws cloudformation deactivate-type \ --region us-west-2 \ --type MODULE \ --type-name Example::Test::Type::MODULE

Cette 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-set suivant supprime un ensemble de modifications en spécifiant son nom et le nom de la pile.

aws cloudformation delete-change-set \ --stack-name my-stack \ --change-set-name my-change-set

Cette commande ne produit aucune sortie.

L’exemple delete-change-set suivant supprime un ensemble de modifications en spécifiant l’ARN complet de l’ensemble de modifications.

aws cloudformation delete-change-set \ --change-set-name arn:aws:cloudformation:us-east-2:123456789012:changeSet/my-change-set/4eca1a01-e285-xmpl-8026-9a1967bfb4b0

Cette 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-instances suivant 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-name my-stack-set \ --accounts 123456789012 567890123456 \ --regions us-east-1 us-west-1 \ --no-retain-stacks

Sortie :

{ "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-name my-stack-set

Cette 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-stack suivant supprime la pile spécifiée.

aws cloudformation delete-stack \ --stack-name my-stack

Cette 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.json sur une pile nommée my-new-stack :

aws cloudformation deploy --template-file /path_to_template/template.json --stack-name my-new-stack --parameter-overrides Key1=Value1 Key2=Value2 --tags Key1=Value1 Key2=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-type suivant 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 \ --type RESOURCE \ --type-name My::Logs::LogGroup \ --version-id 00000002

Cette 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-limits

Sortie :

{ "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-set suivant 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-name my-change-set \ --stack-name my-stack

L’exemple describe-change-set suivant 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-name arn:aws:cloudformation:us-west-2:123456789012:changeSet/my-change-set/bc9555ba-a949-xmpl-bfb8-f41d04ec5784

Sortie :

{ "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-publisher suivant configure les informations pour un diffuseur de publication.

aws cloudformation describe-publisher \ --region us-west-2 \ --publisher-id 000q6TfUovXsEMmgKowxDZLlwqr2QUsh

Sortie :

{ "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-status suivant montre le statut d’une opération de détection des écarts. Pour obtenir l’ID, exécutez la commande detect-stack-drift.

aws cloudformation describe-stack-drift-detection-status \ --stack-drift-detection-id 1a229160-e4d9-xmpl-ab67-0a4f93df83d4

Sortie :

{ "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" }

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-events suivant affiche les deux événements les plus récents pour la pile spécifiée.

aws cloudformation describe-stack-events \ --stack-name my-stack \ --max-items 2 { "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-2 dans le compte 123456789012 :

aws cloudformation describe-stack-instance \ --stack-set-name my-stack-set \ --stack-instance-account 123456789012 \ --stack-instance-region us-west-2

Sortie :

{ "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-name my-stack

La 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" } ] }

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-resource suivant affiche les informations pour la ressource nommée MyFunction dans la pile spécifiée.

aws cloudformation describe-stack-resource \ --stack-name MyStack \ --logical-resource-id MyFunction

Sortie :

{ "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-resources suivant affiche les informations concernant les ressources de la pile spécifiée.

aws cloudformation describe-stack-resources \ --stack-name my-stack

Sortie :

{ "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-name enable-config \ --operation-id 35d45ebc-ed88-xmpl-ab59-0197a1fc83a0

Sortie :

{ "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" } }

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-name my-stack-set

Sortie :

{ "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-stacks suivante affiche des informations récapitulatives pour la pile myteststack :

aws cloudformation describe-stacks --stack-name myteststack

Sortie :

{ "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-registration suivant 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-token a1b2c3d4-5678-90ab-cdef-EXAMPLE11111

Sortie :

{ "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-type suivant affiche les informations concernant le type spécifié.

aws cloudformation describe-type \ --type-name My::Logs::LogGroup \ --type RESOURCE

Sortie :

{ "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-drift suivant lance la détection des écarts pour la pile spécifiée.

aws cloudformation detect-stack-drift \ --stack-name my-stack

Sortie :

{ "StackDriftDetectionId": "1a229160-e4d9-xmpl-ab67-0a4f93df83d4" }

Vous pouvez ensuite utiliser cet ID avec la commande describe-stack-resource-drifts pour 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-drift suivant vérifie si la ressource MyFunction dans la pile nommée MyStack fait l’objet d’un écart :

aws cloudformation detect-stack-resource-drift \ --stack-name MyStack \ --logical-resource-id MyFunction

La 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-drift suivant 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-name stack-set-drift-example

Sortie :

{ "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-cost suivant génère une estimation du coût d’un modèle nommé template.yaml dans le dossier actuel.

aws cloudformation estimate-template-cost \ --template-body file://template.yaml

Sortie :

{ "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-set suivant exécute un ensemble de modifications spécifié par son nom et le nom de la pile.

aws cloudformation execute-change-set \ --change-set-name my-change-set \ --stack-name my-stack

L’exemple execute-change-set suivant exécute un ensemble de modifications spécifié par son ARN complet.

aws cloudformation execute-change-set \ --change-set-name arn: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-policy suivant affiche la politique de la pile spécifiée. Pour attacher une politique à une pile, utilisez la commande set-stack-policy.

aws cloudformation get-stack-policy \ --stack-name my-stack

Sortie :

{ "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-body file://template.yaml

Sortie :

{ "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-template suivante affiche le modèle de la pile myteststack :

aws cloudformation get-template --stack-name myteststack

Sortie :

{ "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-sets suivant affiche une liste des ensembles de modifications en attente pour la pile spécifiée.

aws cloudformation list-change-sets \ --stack-name my-stack

Sortie :

{ "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-exports suivant affiche une liste des exportations à partir des piles dans la région actuelle.

aws cloudformation list-exports

Sortie :

{ "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-imports suivant répertorie les piles qui importent l’exportation spécifiée. Pour obtenir la liste des exportations disponibles, utilisez la commande list-exports.

aws cloudformation list-imports \ --export-name private-vpc-vpcid

Sortie :

{ "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-instances suivant répertorie les instances créées à partir de l’ensemble de piles spécifié.

aws cloudformation list-stack-instances \ --stack-set-name enable-config

L’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-name my-stack

Sortie :

{ "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-name enable-config \ --operation-id 35d45ebc-ed88-xmpl-ab59-0197a1fc83a0

Sortie :

{ "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 SKIPPED pour AccountGateResult est attendu pour les opérations réussies, sauf si vous créez une fonction de portail de compte.

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-operations suivant 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-name my-stack-set

Sortie :

{ "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-sets suivant affiche la liste des ensembles de piles dans la région et le compte actuels.

aws cloudformation list-stack-sets

Sortie :

{ "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-stacks suivante affiche un résumé de toutes les piles ayant le statut CREATE_COMPLETE :

aws cloudformation list-stacks --stack-status-filter CREATE_COMPLETE

Sortie :

[ { "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-registrations suivant affiche une liste des enregistrements terminés pour le type spécifié.

aws cloudformation list-type-registrations \ --type RESOURCE \ --type-name My::Logs::LogGroup \ --registration-status-filter COMPLETE

Sortie :

{ "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-versions suivant renvoie les informations récapitulatives sur les versions d’une extension.

aws cloudformation list-type-versions \ --endpoint https://example.com \ --region us-west-2 \ --type RESOURCE \ --type-name My::Resource::Example \ --publisher-id 123456789012

Cette 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-types suivant affiche une liste des types de ressources privées actuellement enregistrés dans le compte AWS actuel.

aws cloudformation list-types

Sortie :

{ "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.json en chargeant des artefacts locaux dans le compartiment S3 bucket-name et écrit le modèle exporté sur packaged-template.json :

aws cloudformation package --template-file /path_to_template/template.json --s3-bucket bucket-name --output-template-file packaged-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-type suivant publie l’extension spécifiée dans le registre CloudFormation en tant qu’extension publique dans cette région.

aws cloudformation publish-type \ --region us-west-2 \ --type RESOURCE \ --type-name Example::Test::1234567890abcdef0

Sortie :

{ "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-publisher suivant enregistre un diffuseur de publication et accepte le paramètre des conditions d’utilisation.

aws cloudformation register-publisher \ --region us-west-2 \ --accept-terms-and-conditions

Sortie :

{ "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-type suivant 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-name My::Organization::ResourceName \ --schema-handler-package s3://bucket_name/my-organization-resource_name.zip \ --type RESOURCE

Sortie :

{ "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-policy suivant désactive les mises à jour pour la ressource spécifiée dans la pile spécifiée. stack-policy.json est un document JSON qui définit les opérations autorisées sur les ressources de la pile.

aws cloudformation set-stack-policy \ --stack-name my-stack \ --stack-policy-body file://stack-policy.json

Sortie :

{ "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-configuration suivant 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 \ --region us-west-2 \ --type RESOURCE \ --type-name Example::Test::Type \ --configuration-alias default \ --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-version suivant définit la version spécifiée à utiliser par défaut pour ce type.

aws cloudformation set-type-default-version \ --type RESOURCE \ --type-name My::Logs::LogGroup \ --version-id 00000003

Cette 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-resource suivant indique par success que la condition d’attente nommée MyWaitCondition dans la pile nommée my-stack a été remplie.

aws cloudformation signal-resource \ --stack-name my-stack \ --logical-resource-id MyWaitCondition \ --unique-id 1234 \ --status SUCCESS

Cette 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-operation suivant 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-name my-stack-set \ --operation-id 1261cd27-490b-xmpl-ab42-793a896c69e6

Cette 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-type suivant 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 \ --arn arn:aws:cloudformation:us-west-2:123456789012:type/resource/Sample-Test-Resource123/00000001

Sortie :

{ "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-instances suivant 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-name my-stack-set \ --accounts 123456789012 567890123456 \ --regions us-east-1 us-west-2 \ --operation-preferences FailureToleranceCount=3

Sortie :

{ "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-set suivant ajoute une balise avec le nom de clé Owner et la valeur IT aux instances de l’ensemble de piles spécifié.

aws cloudformation update-stack-set \ --stack-set-name my-stack-set \ --use-previous-template \ --tags Key=Owner,Value=IT

Sortie :

{ "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-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.

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-protection suivant active la protection contre la résiliation sur la pile spécifiée.

aws cloudformation update-termination-protection \ --stack-name my-stack \ --enable-termination-protection

Sortie :

{ "StackId": "arn:aws:cloudformation:us-west-2:123456789012:stack/my-stack/d0a825a0-e4cd-xmpl-b9fb-061c69e99204" }

L’exemple de code suivant montre comment utiliser validate-template.

AWS CLI

Pour valider un modèle AWS CloudFormation

La commande validate-template suivante valide le modèle sampletemplate.json :

aws cloudformation validate-template --template-body file://sampletemplate.json

Sortie :

{ "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.