AWS CloudFormation exemples utilisant AWS CLI - Exemples de code de l'AWS SDK

D'autres AWS SDK exemples sont disponibles dans le GitHub dépôt AWS Doc SDK Examples.

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

AWS CloudFormation exemples utilisant AWS CLI

Les exemples de code suivants vous montrent comment effectuer des actions et implémenter des scénarios courants à l'aide du AWS Command Line Interface with AWS 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 façon de configurer et d'exécuter le code en contexte.

Rubriques

Actions

L'exemple de code suivant montre comment utiliseractivate-type.

AWS CLI

Pour activer un type

L'activate-typeexemple suivant active une extension tierce publique, la rendant disponible pour une utilisation dans les 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 la section Utilisation du AWS CloudFormation registre dans le guide de AWS CloudFormation l'utilisateur.

  • Pour API plus de détails, voir ActivateTypela section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserbatch-describe-type-configurations.

AWS CLI

Pour décrire par lots une configuration de type

L'batch-describe-type-configurationsexemple 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 la section Utilisation du AWS CloudFormation registre dans le guide de AWS CloudFormation l'utilisateur.

L'exemple de code suivant montre comment utilisercancel-update-stack.

AWS CLI

Pour annuler une mise à jour de la pile en cours

La cancel-update-stack commande suivante annule une mise à jour de la pile sur la myteststack pile :

aws cloudformation cancel-update-stack --stack-name myteststack
  • Pour API plus de détails, voir CancelUpdateStackla section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utilisercontinue-update-rollback.

AWS CLI

Pour réessayer d'annuler une mise à jour

L'continue-update-rollbackexemple 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 aucun résultat.

L'exemple de code suivant montre comment utilisercreate-change-set.

AWS CLI

Pour créer un ensemble de modifications

L'create-change-setexemple suivant crée un ensemble de modifications doté de CAPABILITY_IAM cette fonctionnalité. Le fichier template.yaml est un AWS CloudFormation modèle dans le dossier actuel qui définit une pile contenant des IAM ressources.

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 API plus de détails, voir CreateChangeSetla section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utilisercreate-stack-instances.

AWS CLI

Pour créer des instances de pile

L'create-stack-instancesexemple suivant crée des instances d'un ensemble de piles dans deux comptes et dans quatre régions. Le paramètre de tolérance aux pannes garantit que la mise à jour est tentée dans tous les comptes et 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 create-stack-set commande.

L'exemple de code suivant montre comment utilisercreate-stack-set.

AWS CLI

Pour créer un ensemble de piles

L'create-stack-setexemple suivant crée un ensemble de piles à l'aide du modèle de YAML fichier spécifié. template.yamlest un AWS CloudFormation modèle 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 pile à l'ensemble de piles, utilisez la create-stack-instances commande.

  • Pour API plus de détails, voir CreateStackSetla section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utilisercreate-stack.

AWS CLI

Pour créer une AWS CloudFormation pile

La create-stacks commande suivante crée une pile portant le nom myteststack à l'aide du sampletemplate.json modèle :

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 Stacks dans le guide de l'AWS CloudFormation utilisateur.

  • Pour API plus de détails, voir CreateStackla section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserdeactivate-type.

AWS CLI

Pour désactiver un type

L'deactivate-typeexemple 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 aucun résultat.

Pour plus d'informations, consultez la section Utilisation du AWS CloudFormation registre dans le guide de AWS CloudFormation l'utilisateur.

  • Pour API plus de détails, voir DeactivateTypela section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserdelete-change-set.

AWS CLI

Pour supprimer un ensemble de modifications

L'delete-change-setexemple suivant supprime un ensemble de modifications en spécifiant le nom de l'ensemble de modifications 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 aucun résultat.

L'delete-change-setexemple suivant supprime un ensemble de modifications en spécifiant l'intégralité ARN du jeu 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 aucun résultat.

  • Pour API plus de détails, voir DeleteChangeSetla section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserdelete-stack-instances.

AWS CLI

Pour supprimer des instances de pile

L'delete-stack-instancesexemple suivant supprime les instances d'une pile définie dans deux comptes dans deux régions et met fin aux 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 delete-stack-set commande.

L'exemple de code suivant montre comment utiliserdelete-stack-set.

AWS CLI

Pour supprimer un ensemble de piles

La commande suivante supprime le jeu de piles vides spécifié. L'ensemble de piles doit être vide.

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

Cette commande ne produit aucun résultat.

Pour supprimer des instances de l'ensemble de piles, utilisez la delete-stack-instances commande.

  • Pour API plus de détails, voir DeleteStackSetla section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserdelete-stack.

AWS CLI

Pour supprimer une pile

L'delete-stackexemple suivant supprime la pile spécifiée.

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

Cette commande ne produit aucun résultat.

  • Pour API plus de détails, voir DeleteStackla section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserdeploy.

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 API plus de détails, voir Déployer dans AWS CLI la référence des commandes.

L'exemple de code suivant montre comment utiliserderegister-type.

AWS CLI

Pour annuler l'enregistrement d'une version de type

L'deregister-typeexemple suivant supprime la version de type spécifiée de l'utilisation active dans le CloudFormation registre, de sorte qu'elle ne puisse plus être utilisée dans les CloudFormation opérations.

aws cloudformation deregister-type \ --type RESOURCE \ --type-name My::Logs::LogGroup \ --version-id 00000002

Cette commande ne produit aucun résultat.

Pour plus d'informations, consultez la section Utilisation du CloudFormation registre dans le guide de l'AWS CloudFormation utilisateur.

  • Pour API plus de détails, voir DeregisterTypela section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserdescribe-account-limits.

AWS CLI

Pour obtenir des informations sur les limites de votre compte

La commande suivante permet de récupérer une liste des limites régionales pour le compte courant.

aws cloudformation describe-account-limits

Sortie :

{ "AccountLimits": [ { "Name": "StackLimit", "Value": 200 }, { "Name": "StackOutputsLimit", "Value": 60 }, { "Name": "ConcurrentResourcesLimit", "Value": 2500 } ] }

L'exemple de code suivant montre comment utiliserdescribe-change-set.

AWS CLI

Pour obtenir des informations sur un ensemble de modifications

L'describe-change-setexemple suivant affiche les détails de l'ensemble de modifications spécifié par le nom de l'ensemble de modifications et le nom de la pile.

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

L'describe-change-setexemple suivant affiche les détails de l'ensemble de modifications spécifié par l'ensemble ARN de modifications complet :

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 API plus de détails, voir DescribeChangeSetla section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserdescribe-publisher.

AWS CLI

Pour décrire un éditeur

L'describe-publisherexemple suivant configure les informations pour un éditeur.

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 la section Utilisation du AWS CloudFormation registre dans le guide de AWS CloudFormation l'utilisateur.

  • Pour API plus de détails, voir DescribePublisherla section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserdescribe-stack-drift-detection-status.

AWS CLI

Pour vérifier l'état d'une opération de détection de dérive

L'describe-stack-drift-detection-statusexemple suivant montre l'état d'une opération de détection de dérive. Obtenez le numéro d'identification lors de l'exécution de la detect-stack-drift commande.

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 utiliserdescribe-stack-events.

AWS CLI

Pour décrire les événements de la pile

L'describe-stack-eventsexemple suivant affiche les 2 é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 API plus de détails, voir DescribeStackEventsla section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserdescribe-stack-instance.

AWS CLI

Pour décrire une instance de stack

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 us-west-2 région en compte123456789012. :

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=)." } }

L'exemple de code suivant montre comment utiliserdescribe-stack-resource-drifts.

AWS CLI

Pour obtenir des informations sur les ressources dérivées de la définition de la pile

La commande suivante affiche des informations sur les ressources dérivées pour la pile spécifiée. Pour lancer la détection de dérive, utilisez la detect-stack-drift commande. :

aws cloudformation describe-stack-resource-drifts \ --stack-name my-stack

La sortie montre une fonction AWS Lambda qui a été modifiée : out-of-band

{ "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 utiliserdescribe-stack-resource.

AWS CLI

Pour obtenir des informations sur une ressource de pile

L'describe-stack-resourceexemple suivant affiche les détails de 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" } } }

L'exemple de code suivant montre comment utiliserdescribe-stack-resources.

AWS CLI

Pour obtenir des informations sur une ressource de pile

L'describe-stack-resourcesexemple suivant affiche les détails des 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" } } ] }

L'exemple de code suivant montre comment utiliserdescribe-stack-set-operation.

AWS CLI

Pour obtenir des informations sur une opération de stack set

L'exemple describe-stack-set-operation `suivant affiche les détails d'une opération de mise à jour sur le stack set 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 utiliserdescribe-stack-set.

AWS CLI

Pour obtenir des informations sur un ensemble de piles

L'exemple describe-stack-set `suivant affiche des détails 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 API plus de détails, voir DescribeStackSetla section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserdescribe-stacks.

AWS CLI

Pour décrire les AWS CloudFormation piles

La describe-stacks commande suivante affiche des informations récapitulatives pour la myteststack pile :

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 Stacks dans le guide de l'AWS CloudFormation utilisateur.

  • Pour API plus de détails, voir DescribeStacksla section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserdescribe-type-registration.

AWS CLI

Pour afficher les informations d'enregistrement du type

L'describe-type-registrationexemple suivant affiche des 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 la section Utilisation du CloudFormation registre dans le guide de l'AWS CloudFormation utilisateur.

L'exemple de code suivant montre comment utiliserdescribe-type.

AWS CLI

Pour afficher les informations de type

L'describe-typeexemple suivant affiche les informations relatives au 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 la section Utilisation du CloudFormation registre dans le guide de l'AWS CloudFormation utilisateur.

  • Pour API plus de détails, voir DescribeTypela section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserdetect-stack-drift.

AWS CLI

Pour détecter les ressources dérivées

L'detect-stack-driftexemple suivant lance la détection de dérive 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 identifiant avec la describe-stack-resource-drifts commande pour décrire les ressources dérivées.

  • Pour API plus de détails, voir DetectStackDriftla section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserdetect-stack-resource-drift.

AWS CLI

Pour détecter la dérive d'une ressource

L'detect-stack-resource-driftexemple suivant vérifie une ressource nommée MyFunction dans une pile nommée MyStack d'après drift :

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 : out-of-band

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

L'exemple de code suivant montre comment utiliserdetect-stack-set-drift.

AWS CLI

Pour détecter la dérive sur un ensemble de piles et toutes les instances de pile associées

L'detect-stack-set-driftexemple suivant lance des opérations de détection de dérive sur l'ensemble de piles spécifié, y compris toutes les instances de pile associées à cet ensemble de piles, et renvoie un ID d'opération qui peut être utilisé pour suivre l'état de l'opération de dérive.

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 la section Détection des modifications de configuration non gérées dans les Stack Sets dans le Guide de l'AWS CloudFormation utilisateur.

  • Pour API plus de détails, voir DetectStackSetDriftla section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserestimate-template-cost.

AWS CLI

Pour estimer le coût du modèle

L'estimate-template-costexemple suivant génère une estimation des coûts pour 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" }

L'exemple de code suivant montre comment utiliserexecute-change-set.

AWS CLI

Pour exécuter un ensemble de modifications

L'execute-change-setexemple suivant exécute un ensemble de modifications spécifié par le nom de l'ensemble de modifications et le nom de la pile.

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

L'execute-change-setexemple suivant exécute un ensemble de modifications spécifié par l'intégralité ARN du jeu de modifications.

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 API plus de détails, voir ExecuteChangeSetla section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserget-stack-policy.

AWS CLI

Pour consulter une politique de stack

L'get-stack-policyexemple suivant affiche la politique de pile pour la pile spécifiée. Pour associer une politique à une pile, utilisez la set-stack-policy commande.

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 API plus de détails, voir GetStackPolicyla section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserget-template-summary.

AWS CLI

Pour afficher le résumé d'un modèle

La commande suivante affiche des 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 API plus de détails, voir GetTemplateSummaryla section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserget-template.

AWS CLI

Pour afficher le corps du modèle d'une AWS CloudFormation pile

La get-template commande suivante montre le modèle de la myteststack pile :

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 API plus de détails, voir GetTemplatela section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserlist-change-sets.

AWS CLI

Pour répertorier les ensembles de modifications

L'list-change-setsexemple 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 API plus de détails, voir ListChangeSetsla section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserlist-exports.

AWS CLI

Pour répertorier les exportations

L'list-exportsexemple suivant affiche une liste des exportations à partir des piles de 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 API plus de détails, voir ListExportsla section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserlist-imports.

AWS CLI

Pour répertorier les importations

L'list-importsexemple suivant répertorie les piles qui importent l'exportation spécifiée. Pour obtenir la liste des exportations disponibles, utilisez la list-exports commande.

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

Sortie :

{ "Imports": [ "my-database-stack" ] }
  • Pour API plus de détails, voir ListImportsla section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserlist-stack-instances.

AWS CLI

Pour répertorier les instances d'une pile

L'list-stack-instancesexemple suivant répertorie les instances créées à partir du stack set spécifié.

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

L'exemple de sortie inclut des détails 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 API plus de détails, voir ListStackInstancesla section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserlist-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 API plus de détails, voir ListStackResourcesla section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserlist-stack-set-operation-results.

AWS CLI

Pour répertorier les résultats des opérations d'un ensemble de piles

La commande suivante affiche les résultats d'une opération de mise à jour sur les instances du stack set 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 SKIPPED statut de 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 utiliserlist-stack-set-operations.

AWS CLI

Pour répertorier les opérations relatives aux ensembles de piles

L'list-stack-set-operationsexemple suivant affiche la liste des opérations les plus récentes 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" } ] }

L'exemple de code suivant montre comment utiliserlist-stack-sets.

AWS CLI

Pour répertorier les ensembles de piles

L'list-stack-setsexemple 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 API plus de détails, voir ListStackSetsla section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserlist-stacks.

AWS CLI

Pour répertorier les AWS CloudFormation piles

La list-stacks commande suivante affiche un résumé de toutes les piles dont le statut est : 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 API plus de détails, voir ListStacksla section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserlist-type-registrations.

AWS CLI

Pour répertorier les enregistrements terminés d'un type

L'list-type-registrationsexemple suivant affiche une liste des enregistrements de type 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 la section Utilisation du CloudFormation registre dans le guide de l'AWS CloudFormation utilisateur.

L'exemple de code suivant montre comment utiliserlist-type-versions.

AWS CLI

Pour répertorier la version d'une extension

L'list-type-versionsexemple suivant renvoie des 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 aucun résultat.

Pour plus d'informations, consultez la section Utilisation du AWS CloudFormation registre dans le guide de AWS CloudFormation l'utilisateur.

  • Pour API plus de détails, voir ListTypeVersionsla section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserlist-types.

AWS CLI

Pour répertorier les types de ressources privées d'un compte

L'list-typesexemple suivant affiche une liste des types de ressources privées actuellement enregistrés dans le AWS compte courant.

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 la section Utilisation du CloudFormation registre dans le guide de l'AWS CloudFormation utilisateur.

  • Pour API plus de détails, voir ListTypesla section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserpackage.

AWS CLI

La commande suivante exporte un modèle nommé template.json en téléchargeant des artefacts locaux dans le compartiment S3 bucket-name et écrit le modèle exporté dans : 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 API plus de détails, voir Package dans AWS CLI Command Reference.

L'exemple de code suivant montre comment utiliserpublish-type.

AWS CLI

Pour publier une extension

L'publish-typeexemple suivant publie l'extension spécifiée dans le CloudFormation registre 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 la section Utilisation du AWS CloudFormation registre dans le guide de AWS CloudFormation l'utilisateur.

  • Pour API plus de détails, voir PublishTypela section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserregister-publisher.

AWS CLI

Pour enregistrer un éditeur

L'register-publisherexemple suivant enregistre un éditeur et accepte le paramètre terms and condition.

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

Sortie :

{ "PublisherId": "000q6TfUovXsEMmgKowxDZLlwqr2QUshd2e75c8c" }

Pour plus d'informations, consultez la section Utilisation du AWS CloudFormation registre dans le guide de AWS CloudFormation l'utilisateur.

  • Pour API plus de détails, voir RegisterPublisherla section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserregister-type.

AWS CLI

Pour enregistrer un type de ressource

L'register-typeexemple 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 la section Enregistrement des fournisseurs de ressources dans le guide de l'utilisateur de l'interface de ligne de CloudFormation commande pour le développement de types.

  • Pour API plus de détails, voir RegisterTypela section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserset-stack-policy.

AWS CLI

Pour appliquer une politique de stack

L'set-stack-policyexemple suivant désactive les mises à jour pour la ressource spécifiée dans la pile spécifiée. stack-policy.jsonest un JSON document 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 API plus de détails, voir SetStackPolicyla section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserset-type-configuration.

AWS CLI

Pour configurer les données

L'set-type-configurationexemple suivant indique les données de configuration pour une CloudFormation extension 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 la section Utilisation du AWS CloudFormation registre dans le guide de AWS CloudFormation l'utilisateur.

L'exemple de code suivant montre comment utiliserset-type-default-version.

AWS CLI

Pour définir la version par défaut d'un type

L'set-type-default-versionexemple suivant définit la version du type spécifié à 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 aucun résultat.

Pour plus d'informations, consultez la section Utilisation du CloudFormation registre dans le guide de l'AWS CloudFormation utilisateur.

L'exemple de code suivant montre comment utilisersignal-resource.

AWS CLI

Pour signaler une ressource

L'signal-resourceexemple suivant indique que success la condition d'attente spécifiée MyWaitCondition dans la pile nommée doit être rempliemy-stack.

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

Cette commande ne produit aucun résultat.

  • Pour API plus de détails, voir SignalResourcela section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserstop-stack-set-operation.

AWS CLI

Pour arrêter une opération de stack set

L'stop-stack-set-operationexemple suivant arrête une opération de mise à jour en cours sur le stack set 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 aucun résultat.

L'exemple de code suivant montre comment utilisertest-type.

AWS CLI

Pour tester une extension

L'test-typeexemple suivant teste une extension enregistrée pour s'assurer qu'elle répond à toutes les exigences nécessaires pour être publiée dans le CloudFormation registre.

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 la section Utilisation du AWS CloudFormation registre dans le guide de AWS CloudFormation l'utilisateur.

  • Pour API plus de détails, voir TestTypela section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserupdate-stack-instances.

AWS CLI

Pour mettre à jour les instances de stack

L'update-stack-instancesexemple suivant tente à nouveau une mise à jour sur les instances de pile de deux comptes situés 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" }

L'exemple de code suivant montre comment utiliserupdate-stack-set.

AWS CLI

Pour mettre à jour un ensemble de piles

L'update-stack-setexemple suivant ajoute une balise avec le nom de la clé Owner et une valeur de IT aux instances de pile 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 API plus de détails, voir UpdateStackSetla section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserupdate-stack.

AWS CLI

Pour mettre à jour les AWS CloudFormation piles

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

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 update-stack commande suivante met à jour uniquement la valeur du SubnetIDs paramètre de la mystack pile. 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 update-stack commande suivante ajoute deux sujets de notification de pile à la mystack pile :

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 la section AWS CloudFormation Stack Updates dans le guide de AWS CloudFormation l'utilisateur.

  • Pour API plus de détails, voir UpdateStackla section Référence des AWS CLI commandes.

L'exemple de code suivant montre comment utiliserupdate-termination-protection.

AWS CLI

Pour activer la protection contre les licenciements

L'update-termination-protectionexemple suivant active la protection des terminaisons 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 utiliservalidate-template.

AWS CLI

Pour valider un AWS CloudFormation modèle

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

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 la section Utilisation des AWS CloudFormation modèles dans le guide de AWS CloudFormation l'utilisateur.

  • Pour API plus de détails, voir ValidateTemplatela section Référence des AWS CLI commandes.