AWS CloudFormation を使用した の例 AWS CLI - AWS SDK コード例

Doc AWS SDK Examples リポジトリには、他にも SDK の例があります。 AWS GitHub

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

AWS CloudFormation を使用した の例 AWS CLI

次のコード例は、 AWS Command Line Interface で を使用してアクションを実行し、一般的なシナリオを実装する方法を示しています AWS CloudFormation。

アクションはより大きなプログラムからのコードの抜粋であり、コンテキスト内で実行する必要があります。アクションは個々のサービス機能を呼び出す方法を示していますが、関連するシナリオやサービス間の例ではアクションのコンテキストが確認できます。

「シナリオ」は、同じサービス内で複数の関数を呼び出して、特定のタスクを実行する方法を示すコード例です。

各例には、 へのリンクが含まれています。このリンクには GitHub、コンテキスト内でコードをセットアップして実行する方法の手順が記載されています。

トピック

アクション

次の例は、activate-type を使用する方法を説明しています。

AWS CLI

タイプをアクティブ化するには

次のactivate-type例では、パブリックサードパーティー拡張をアクティブ化し、スタックテンプレートで使用できるようにします。

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

出力:

{ "Arn": "arn:aws:cloudformation:us-west-2:123456789012:type/resource/Example-Test-Alias" }

詳細については、「 ユーザーガイド」の「 AWS CloudFormation レジストリの使用AWS CloudFormation 」を参照してください。

  • API の詳細については、「 コマンドリファレンスActivateType」の「」を参照してください。 AWS CLI

次の例は、batch-describe-type-configurations を使用する方法を説明しています。

AWS CLI

タイプ設定をバッチで記述するには

次のbatch-describe-type-configurations例では、 タイプのデータを設定します。

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"

出力:

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

詳細については、「 ユーザーガイド」の「 AWS CloudFormation レジストリの使用AWS CloudFormation 」を参照してください。

次の例は、cancel-update-stack を使用する方法を説明しています。

AWS CLI

進行中のスタック更新をキャンセルする

以下の cancel-update-stack コマンドは、myteststack スタックで行われているスタック更新をキャンセルします。

aws cloudformation cancel-update-stack --stack-name myteststack
  • API の詳細については、「 コマンドリファレンスCancelUpdateStack」の「」を参照してください。 AWS CLI

次の例は、continue-update-rollback を使用する方法を説明しています。

AWS CLI

更新のロールバックを再試行する

以下の continue-update-rollback 例は、前回失敗したスタック更新からのロールバック操作を再開します。

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

このコマンドでは何も出力されません。

  • API の詳細については、「 コマンドリファレンスContinueUpdateRollback」の「」を参照してください。 AWS CLI

次の例は、create-change-set を使用する方法を説明しています。

AWS CLI

変更セットを作成するには

次のcreate-change-set例では、 CAPABILITY_IAM機能を使用して変更セットを作成します。ファイルは、IAM リソースを含むスタックを定義する現在のフォルダ内の AWS CloudFormation テンプレートtemplate.yamlです。

aws cloudformation create-change-set \ --stack-name my-application \ --change-set-name my-change-set \ --template-body file://template.yaml \ --capabilities CAPABILITY_IAM

出力:

{ "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" }
  • API の詳細については、「 コマンドリファレンスCreateChangeSet」の「」を参照してください。 AWS CLI

次の例は、create-stack-instances を使用する方法を説明しています。

AWS CLI

スタックインスタンスを作成するには

次のcreate-stack-instances例では、2 つの アカウントと 4 つのリージョンにスタックセットのインスタンスを作成します。耐障害性設定により、一部のスタックを作成できない場合でも、すべてのアカウントとリージョンで更新が試行されます。

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

出力:

{ "OperationId": "d7995c31-83c2-xmpl-a3d4-e9ca2811563f" }

スタックセットを作成するには、 create-stack-set コマンドを使用します。

  • API の詳細については、「 コマンドリファレンスCreateStackInstances」の「」を参照してください。 AWS CLI

次の例は、create-stack-set を使用する方法を説明しています。

AWS CLI

スタックセットを作成するには

次のcreate-stack-set例では、指定された YAML ファイル temlplate を使用してスタックセットを作成します。 template.yamlは、スタックを定義する現在のフォルダ内の AWS CloudFormation テンプレートです。

aws cloudformation create-stack-set \ --stack-set-name my-stack-set \ --template-body file://template.yaml \ --description "SNS topic"

出力:

{ "StackSetId": "my-stack-set:8d0f160b-d157-xmpl-a8e6-c0ce8e5d8cc1" }

スタックセットにスタックインスタンスを追加するには、 create-stack-instances コマンドを使用します。

  • API の詳細については、「 コマンドリファレンスCreateStackSet」の「」を参照してください。 AWS CLI

次の例は、create-stack を使用する方法を説明しています。

AWS CLI

AWS CloudFormation スタックを作成するには

以下の create-stacks コマンドは、sampletemplate.json テンプレートを使用して myteststack という名前のスタックを作成します。

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

出力:

{ "StackId": "arn:aws:cloudformation:us-east-1:123456789012:stack/myteststack/466df9e0-0dff-08e3-8e2f-5088487c4896" }

詳細については、「 AWS CloudFormation ユーザーガイド」の「 スタック」を参照してください。

  • API の詳細については、「 コマンドリファレンスCreateStack」の「」を参照してください。 AWS CLI

次の例は、deactivate-type を使用する方法を説明しています。

AWS CLI

タイプを非アクティブ化するには

次のdeactivate-type例では、このアカウントとリージョンで以前にアクティブ化されたパブリック拡張を非アクティブ化します。

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

このコマンドでは何も出力されません。

詳細については、「 ユーザーガイド」の「 AWS CloudFormation レジストリの使用AWS CloudFormation 」を参照してください。

  • API の詳細については、「 コマンドリファレンスDeactivateType」の「」を参照してください。 AWS CLI

次の例は、delete-change-set を使用する方法を説明しています。

AWS CLI

変更セットを削除するには

次のdelete-change-set例では、変更セット名とスタック名を指定して変更セットを削除します。

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

このコマンドでは何も出力されません。

次のdelete-change-set例では、変更セットの完全な ARN を指定して変更セットを削除します。

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

このコマンドでは何も出力されません。

  • API の詳細については、「 コマンドリファレンスDeleteChangeSet」の「」を参照してください。 AWS CLI

次の例は、delete-stack-instances を使用する方法を説明しています。

AWS CLI

スタックインスタンスを削除するには

次のdelete-stack-instances例では、2 つのリージョンの 2 つのアカウントのスタックセットのインスタンスを削除し、スタックを終了します。

aws cloudformation delete-stack-instances \ --stack-set-name my-stack-set \ --accounts 123456789012 567890123456 \ --regions us-east-1 us-west-1 \ --no-retain-stacks

出力:

{ "OperationId": "ad49f10c-fd1d-413f-a20a-8de6e2fa8f27" }

空のスタックセットを削除するには、 delete-stack-set コマンドを使用します。

  • API の詳細については、「 コマンドリファレンスDeleteStackInstances」の「」を参照してください。 AWS CLI

次の例は、delete-stack-set を使用する方法を説明しています。

AWS CLI

スタックセットを削除するには

次のコマンドは、指定された空のスタックセットを削除します。スタックセットは空である必要があります。

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

このコマンドでは何も出力されません。

スタックセットからインスタンスを削除するには、 delete-stack-instances コマンドを使用します。

  • API の詳細については、「 コマンドリファレンスDeleteStackSet」の「」を参照してください。 AWS CLI

次の例は、delete-stack を使用する方法を説明しています。

AWS CLI

スタックを削除する

以下の delete-stack 例は、指定されたスタックを削除します。

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

このコマンドでは何も出力されません。

  • API の詳細については、「 コマンドリファレンスDeleteStack」の「」を参照してください。 AWS CLI

次の例は、deploy を使用する方法を説明しています。

AWS CLI

次のコマンドは、 という名前のスタックtemplate.jsonに という名前のテンプレートをデプロイします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
  • API の詳細については、AWS CLI 「 コマンドリファレンス」の「デプロイ」を参照してください。

次の例は、deregister-type を使用する方法を説明しています。

AWS CLI

タイプバージョンの登録を解除するには

次のderegister-type例では、指定されたタイプバージョンを CloudFormation レジストリでのアクティブな使用から削除し、 CloudFormation オペレーションで使用できなくなります。

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

このコマンドでは何も出力されません。

詳細については、「 ユーザーガイド」の CloudFormation 「レジストリの使用AWS CloudFormation 」を参照してください。

  • API の詳細については、「 コマンドリファレンスDeregisterType」の「」を参照してください。 AWS CLI

次の例は、describe-account-limits を使用する方法を説明しています。

AWS CLI

アカウントの制限に関する情報を取得するには

次のコマンドは、現在のアカウントのリージョン制限のリストを取得します。

aws cloudformation describe-account-limits

出力:

{ "AccountLimits": [ { "Name": "StackLimit", "Value": 200 }, { "Name": "StackOutputsLimit", "Value": 60 }, { "Name": "ConcurrentResourcesLimit", "Value": 2500 } ] }
  • API の詳細については、「 コマンドリファレンスDescribeAccountLimits」の「」を参照してください。 AWS CLI

次の例は、describe-change-set を使用する方法を説明しています。

AWS CLI

変更セットに関する情報を取得するには

次のdescribe-change-set例では、変更セット名とスタック名で指定された変更セットの詳細を表示します。

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

次のdescribe-change-set例では、変更セットの完全な ARN で指定された変更セットの詳細を表示します。

aws cloudformation describe-change-set \ --change-set-name arn:aws:cloudformation:us-west-2:123456789012:changeSet/my-change-set/bc9555ba-a949-xmpl-bfb8-f41d04ec5784

出力:

{ "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 }
  • API の詳細については、「 コマンドリファレンスDescribeChangeSet」の「」を参照してください。 AWS CLI

次の例は、describe-publisher を使用する方法を説明しています。

AWS CLI

パブリッシャーを記述するには

次のdescribe-publisher例では、パブリッシャーの情報を設定します。

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

出力:

{ "PublisherId": "000q6TfUovXsEMmgKowxDZLlwqr2QUshd2e75c8c", "PublisherStatus": "VERIFIED", "IdentityProvider": "AWS_Marketplace", "PublisherProfile": "https://aws.amazon.com/marketplace/seller-profile?id=2c5dc1f0-17cd-4259-8e46-822a83gdtegd" }

詳細については、「 ユーザーガイド」の「 AWS CloudFormation レジストリの使用AWS CloudFormation 」を参照してください。

  • API の詳細については、「 コマンドリファレンスDescribePublisher」の「」を参照してください。 AWS CLI

次の例は、describe-stack-drift-detection-status を使用する方法を説明しています。

AWS CLI

ドリフト検出オペレーションのステータスを確認するには

次のdescribe-stack-drift-detection-status例では、ドリフト検出オペレーションのステータスを表示します。detect-stack-drift コマンドを実行する ID で を取得します。

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

出力:

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

次の例は、describe-stack-events を使用する方法を説明しています。

AWS CLI

スタックイベントを記述する

以下の describe-stack-events 例は、指定されたスタックの最新イベントを 2 件表示します。

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==" }
  • API の詳細については、「 コマンドリファレンスDescribeStackEvents」の「」を参照してください。 AWS CLI

次の例は、describe-stack-instance を使用する方法を説明しています。

AWS CLI

スタックインスタンスを記述するには

次のコマンドは、指定されたアカウントおよびリージョン内の指定されたスタックセットのインスタンスを記述します。スタックセットは現在のリージョンとアカウントにあり、インスタンスはアカウント のus-west-2リージョンにあります123456789012

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

出力:

{ "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=)." } }
  • API の詳細については、「 コマンドリファレンスDescribeStackInstance」の「」を参照してください。 AWS CLI

次の例は、describe-stack-resource-drifts を使用する方法を説明しています。

AWS CLI

スタック定義からドリフトしたリソースに関する情報を取得するには

次のコマンドは、指定されたスタックのドリフトされたリソースに関する情報を表示します。ドリフト検出を開始するには、 detect-stack-drift コマンドを使用します。

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

出力には、変更された AWS Lambda 関数が表示されます 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" } ] }
  • API の詳細については、「 コマンドリファレンスDescribeStackResourceDrifts」の「」を参照してください。 AWS CLI

次の例は、describe-stack-resource を使用する方法を説明しています。

AWS CLI

リソースに関する情報を取得する

以下の describe-stack-resource 例は、指定されたスタック内にある MyFunction という名前のリソースに関する詳細情報を表示します。

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

出力:

{ "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" } } }
  • API の詳細については、「 コマンドリファレンスDescribeStackResource」の「」を参照してください。 AWS CLI

次の例は、describe-stack-resources を使用する方法を説明しています。

AWS CLI

リソースに関する情報を取得する

次の describe-stack-resources 例は、指定されたスタック内にあるリソースの詳細情報を表示します。

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

出力:

{ "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" } } ] }
  • API の詳細については、「 コマンドリファレンスDescribeStackResources」の「」を参照してください。 AWS CLI

次の例は、describe-stack-set-operation を使用する方法を説明しています。

AWS CLI

スタックセットオペレーションに関する情報を取得するには

次の describe-stack-set-operation「」の例では、指定したスタックセットの更新オペレーションの詳細を表示します。

aws cloudformation describe-stack-set-operation \ --stack-set-name enable-config \ --operation-id 35d45ebc-ed88-xmpl-ab59-0197a1fc83a0

出力:

{ "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" } }
  • API の詳細については、「 コマンドリファレンスDescribeStackSetOperation」の「」を参照してください。 AWS CLI

次の例は、describe-stack-set を使用する方法を説明しています。

AWS CLI

スタックセットに関する情報を取得するには

次の describe-stack-set` の例は、指定されたスタックセットの詳細を表示します。

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

出力:

{ "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" } }
  • API の詳細については、「 コマンドリファレンスDescribeStackSet」の「」を参照してください。 AWS CLI

次の例は、describe-stacks を使用する方法を説明しています。

AWS CLI

AWS CloudFormation スタックを記述するには

以下の describe-stacks 例は、myteststack スタックの概要情報を表示します。

aws cloudformation describe-stacks --stack-name myteststack

出力:

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

詳細については、「 AWS CloudFormation ユーザーガイド」の「 スタック」を参照してください。

  • API の詳細については、「 コマンドリファレンスDescribeStacks」の「」を参照してください。 AWS CLI

次の例は、describe-type-registration を使用する方法を説明しています。

AWS CLI

タイプ登録情報を表示するには

次のdescribe-type-registration例では、指定されたタイプ登録に関する情報として、タイプの現在のステータス、タイプ、バージョンが表示されます。

aws cloudformation describe-type-registration \ --registration-token a1b2c3d4-5678-90ab-cdef-EXAMPLE11111

出力:

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

詳細については、「 ユーザーガイド」の CloudFormation 「レジストリの使用AWS CloudFormation 」を参照してください。

  • API の詳細については、「 コマンドリファレンスDescribeTypeRegistration」の「」を参照してください。 AWS CLI

次の例は、describe-type を使用する方法を説明しています。

AWS CLI

タイプ情報を表示するには

次のdescribe-type例では、指定したタイプの情報を表示します。

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

出力:

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

詳細については、「 ユーザーガイド」の CloudFormation 「レジストリの使用AWS CloudFormation 」を参照してください。

  • API の詳細については、「 コマンドリファレンスDescribeType」の「」を参照してください。 AWS CLI

次の例は、detect-stack-drift を使用する方法を説明しています。

AWS CLI

ドリフトしたリソースを検出するには

次のdetect-stack-drift例では、指定されたスタックのドリフト検出を開始します。

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

出力:

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

その後、この ID を describe-stack-resource-drifts コマンドで使用して、ドリフトしたリソースを記述できます。

  • API の詳細については、「 コマンドリファレンスDetectStackDrift」の「」を参照してください。 AWS CLI

次の例は、detect-stack-resource-drift を使用する方法を説明しています。

AWS CLI

リソースのドリフトを検出するには

次のdetect-stack-resource-drift例では、ドリフトMyStack用の という名前のスタックMyFunction内の という名前のリソースをチェックします。

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

出力には、変更された AWS Lambda 関数が表示されます 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" } }
  • API の詳細については、「 コマンドリファレンスDetectStackResourceDrift」の「」を参照してください。 AWS CLI

次の例は、detect-stack-set-drift を使用する方法を説明しています。

AWS CLI

スタックセットおよび関連するすべてのスタックインスタンスのドリフトを検出するには

次のdetect-stack-set-drift例では、指定されたスタックセットに対して、そのスタックセットに関連付けられているすべてのスタックインスタンスを含むドリフト検出オペレーションを開始し、ドリフトオペレーションのステータスを追跡するために使用できるオペレーション ID を返します。

aws cloudformation detect-stack-set-drift \ --stack-set-name stack-set-drift-example

出力:

{ "OperationId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111" }

詳細については、「 AWS CloudFormation ユーザーガイド」の「スタックセットのアンマネージド型設定変更の検出」を参照してください。

  • API の詳細については、「 コマンドリファレンスDetectStackSetDrift」の「」を参照してください。 AWS CLI

次の例は、estimate-template-cost を使用する方法を説明しています。

AWS CLI

テンプレートコストを見積もる

以下の estimate-template-cost 例は、現在のフォルダ内にある template.yaml という名前のテンプレートに関するコスト見積もりを生成します。

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

出力:

{ "Url": "http://calculator.s3.amazonaws.com/calc5.html?key=cloudformation/7870825a-xmpl-4def-92e7-c4f8dd360cca" }
  • API の詳細については、「 コマンドリファレンスEstimateTemplateCost」の「」を参照してください。 AWS CLI

次の例は、execute-change-set を使用する方法を説明しています。

AWS CLI

変更セットを実行するには

次のexecute-change-set例では、変更セット名とスタック名で指定された変更セットを実行します。

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

次のexecute-change-set例では、変更セットの完全な ARN で指定された変更セットを実行します。

aws cloudformation execute-change-set \ --change-set-name arn:aws:cloudformation:us-west-2:123456789012:changeSet/my-change-set/bc9555ba-a949-xmpl-bfb8-f41d04ec5784
  • API の詳細については、「 コマンドリファレンスExecuteChangeSet」の「」を参照してください。 AWS CLI

次の例は、get-stack-policy を使用する方法を説明しています。

AWS CLI

スタックポリシーを表示するには

次のget-stack-policy例では、指定されたスタックのスタックポリシーを表示します。ポリシーをスタックにアタッチするには、 set-stack-policy コマンドを使用します。

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

出力:

{ "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" }
  • API の詳細については、「 コマンドリファレンスGetStackPolicy」の「」を参照してください。 AWS CLI

次の例は、get-template-summary を使用する方法を説明しています。

AWS CLI

テンプレートの概要を表示するには

次のコマンドは、指定したテンプレートファイルのリソースとメタデータに関する概要情報を表示します。

aws cloudformation get-template-summary \ --template-body file://template.yaml

出力:

{ "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" }
  • API の詳細については、「 コマンドリファレンスGetTemplateSummary」の「」を参照してください。 AWS CLI

次の例は、get-template を使用する方法を説明しています。

AWS CLI

AWS CloudFormation スタックのテンプレート本文を表示するには

以下の get-template 例は、myteststack スタックのテンプレートを表示します。

aws cloudformation get-template --stack-name myteststack

出力:

{ "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" } } } } }
  • API の詳細については、「 コマンドリファレンスGetTemplate」の「」を参照してください。 AWS CLI

次の例は、list-change-sets を使用する方法を説明しています。

AWS CLI

変更セットを一覧表示するには

次のlist-change-sets例では、指定されたスタックの保留中の変更セットのリストを表示します。

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

出力:

{ "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" } ] }
  • API の詳細については、「 コマンドリファレンスListChangeSets」の「」を参照してください。 AWS CLI

次の例は、list-exports を使用する方法を説明しています。

AWS CLI

エクスポートを一覧表示するには

次のlist-exports例では、現在のリージョンのスタックからのエクスポートのリストを表示します。

aws cloudformation list-exports

出力:

{ "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" } ] }
  • API の詳細については、「 コマンドリファレンスListExports」の「」を参照してください。 AWS CLI

次の例は、list-imports を使用する方法を説明しています。

AWS CLI

インポートを一覧表示するには

次のlist-imports例では、指定したエクスポートをインポートするスタックを一覧表示します。使用可能なエクスポートのリストを取得するには、 list-exports コマンドを使用します。

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

出力:

{ "Imports": [ "my-database-stack" ] }
  • API の詳細については、「 コマンドリファレンスListImports」の「」を参照してください。 AWS CLI

次の例は、list-stack-instances を使用する方法を説明しています。

AWS CLI

スタックのインスタンスを一覧表示するには

次のlist-stack-instances例では、指定されたスタックセットから作成されたインスタンスを一覧表示します。

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

出力例には、エラーのために更新に失敗したスタックに関する詳細が含まれています。

{ "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)." } ] }
  • API の詳細については、「 コマンドリファレンスListStackInstances」の「」を参照してください。 AWS CLI

次の例は、list-stack-resources を使用する方法を説明しています。

AWS CLI

スタック内のリソースを一覧表示する

以下のコマンドは、指定されたスタック内にあるリソースのリストを表示します。

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

出力:

{ "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" } } ] }
  • API の詳細については、「 コマンドリファレンスListStackResources」の「」を参照してください。 AWS CLI

次の例は、list-stack-set-operation-results を使用する方法を説明しています。

AWS CLI

スタックセットオペレーションの結果を一覧表示するには

次のコマンドは、指定されたスタックセット内のインスタンスに対する更新オペレーションの結果を表示します。

aws cloudformation list-stack-set-operation-results \ --stack-set-name enable-config \ --operation-id 35d45ebc-ed88-xmpl-ab59-0197a1fc83a0

出力:

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

注: アカウントゲート関数を作成しない限り、 SKIPPEDのステータスAccountGateResultは成功したオペレーションで期待されます。

  • API の詳細については、「 コマンドリファレンスListStackSetOperationResults」の「」を参照してください。 AWS CLI

次の例は、list-stack-set-operations を使用する方法を説明しています。

AWS CLI

スタックセットオペレーションを一覧表示するには

次のlist-stack-set-operations例では、指定したスタックセットの最新のオペレーションのリストを表示します。

aws cloudformation list-stack-set-operations \ --stack-set-name my-stack-set

出力:

{ "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" } ] }
  • API の詳細については、「 コマンドリファレンスListStackSetOperations」の「」を参照してください。 AWS CLI

次の例は、list-stack-sets を使用する方法を説明しています。

AWS CLI

スタックセットを一覧表示するには

次のlist-stack-sets例では、現在のリージョンとアカウントのスタックセットのリストを表示します。

aws cloudformation list-stack-sets

出力:

{ "Summaries": [ { "StackSetName": "enable-config", "StackSetId": "enable-config:296a3360-xmpl-40af-be78-9341e95bf743", "Description": "Enable AWS Config", "Status": "ACTIVE" } ] }
  • API の詳細については、「 コマンドリファレンスListStackSets」の「」を参照してください。 AWS CLI

次の例は、list-stacks を使用する方法を説明しています。

AWS CLI

AWS CloudFormation スタックを一覧表示するには

以下の list-stacks コマンドは、ステータスが CREATE_COMPLETE になっているすべてのスタックの概要を表示します。

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

出力:

[ { "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" } ]
  • API の詳細については、「 コマンドリファレンスListStacks」の「」を参照してください。 AWS CLI

次の例は、list-type-registrations を使用する方法を説明しています。

AWS CLI

タイプの完了した登録を一覧表示するには

次のlist-type-registrations例では、指定されたタイプの完了したタイプ登録のリストを表示します。

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

出力:

{ "RegistrationTokenList": [ "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", "a1b2c3d4-5678-90ab-cdef-EXAMPLE22222", "a1b2c3d4-5678-90ab-cdef-EXAMPLE33333" ] }

詳細については、「 ユーザーガイド」の CloudFormation 「レジストリの使用AWS CloudFormation 」を参照してください。

  • API の詳細については、「 コマンドリファレンスListTypeRegistrations」の「」を参照してください。 AWS CLI

次の例は、list-type-versions を使用する方法を説明しています。

AWS CLI

拡張機能のバージョンを一覧表示するには

次のlist-type-versions例では、拡張機能のバージョンに関する概要情報を返します。

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

このコマンドでは何も出力されません。

詳細については、「 ユーザーガイド」の「 AWS CloudFormation レジストリの使用AWS CloudFormation 」を参照してください。

  • API の詳細については、「 コマンドリファレンスListTypeVersions」の「」を参照してください。 AWS CLI

次の例は、list-types を使用する方法を説明しています。

AWS CLI

アカウントのプライベートリソースタイプを一覧表示するには

次のlist-types例では、現在の AWS アカウントで現在登録されているプライベートリソースタイプのリストを表示します。

aws cloudformation list-types

出力:

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

詳細については、「 ユーザーガイド」の CloudFormation 「レジストリの使用AWS CloudFormation 」を参照してください。

  • API の詳細については、「 コマンドリファレンスListTypes」の「」を参照してください。 AWS CLI

次の例は、package を使用する方法を説明しています。

AWS CLI

次のコマンドは、ローカルアーティファクトを S3 バケットにアップロードtemplate.jsonして という名前のテンプレートをエクスポートbucket-nameし、エクスポートされたテンプレートを に書き込みます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
  • API の詳細については、「 コマンドリファレンス」の「パッケージ」を参照してください。 AWS CLI

次の例は、publish-type を使用する方法を説明しています。

AWS CLI

拡張機能を公開するには

次のpublish-type例では、指定された拡張機能を、このリージョンのパブリック拡張機能として CloudFormation レジストリに発行します。

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

出力:

{ "PublicTypeArn":"arn:aws:cloudformation:us-west-2::type/resource/000q6TfUovXsEMmgKowxDZLlwqr2QUshd2e75c8c/Example-Test-1234567890abcdef0/1.0.0" }

詳細については、「 ユーザーガイド」の「 AWS CloudFormation レジストリの使用AWS CloudFormation 」を参照してください。

  • API の詳細については、「 コマンドリファレンスPublishType」の「」を参照してください。 AWS CLI

次の例は、register-publisher を使用する方法を説明しています。

AWS CLI

パブリッシャーを登録するには

次のregister-publisher例では、パブリッシャーを登録し、用語と条件パラメータを受け入れます。

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

出力:

{ "PublisherId": "000q6TfUovXsEMmgKowxDZLlwqr2QUshd2e75c8c" }

詳細については、「 ユーザーガイド」の「 AWS CloudFormation レジストリの使用AWS CloudFormation 」を参照してください。

  • API の詳細については、「 コマンドリファレンスRegisterPublisher」の「」を参照してください。 AWS CLI

次の例は、register-type を使用する方法を説明しています。

AWS CLI

リソースタイプを登録するには

次のregister-type例では、指定されたリソースタイプをユーザーのアカウントにプライベートリソースタイプとして登録します。

aws cloudformation register-type \ --type-name My::Organization::ResourceName \ --schema-handler-package s3://bucket_name/my-organization-resource_name.zip \ --type RESOURCE

出力:

{ "RegistrationToken": "f5525280-104e-4d35-bef5-8f1f1example" }

詳細については、CloudFormation 「タイプ開発用 コマンドラインインターフェイスユーザーガイド」の「リソースプロバイダーの登録」を参照してください。

  • API の詳細については、「 コマンドリファレンスRegisterType」の「」を参照してください。 AWS CLI

次の例は、set-stack-policy を使用する方法を説明しています。

AWS CLI

スタックポリシーを適用するには

次のset-stack-policy例では、指定されたスタック内の指定されたリソースの更新を無効にします。 stack-policy.jsonは、スタック内のリソースで許可されるオペレーションを定義する JSON ドキュメントです。

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

出力:

{ "Statement" : [ { "Effect" : "Allow", "Action" : "Update:*", "Principal": "*", "Resource" : "*" }, { "Effect" : "Deny", "Action" : "Update:*", "Principal": "*", "Resource" : "LogicalResourceId/bucket" } ] }
  • API の詳細については、「 コマンドリファレンスSetStackPolicy」の「」を参照してください。 AWS CLI

次の例は、set-type-configuration を使用する方法を説明しています。

AWS CLI

データを設定するには

次のset-type-configuration例では、特定のアカウントとリージョンに登録された CloudFormation 拡張機能の設定データを指定します。

aws cloudformation set-type-configuration \ --region us-west-2 \ --type RESOURCE \ --type-name Example::Test::Type \ --configuration-alias default \ --configuration "{\"CredentialKey\": \"testUserCredential\"}"

出力:

{ "ConfigurationArn": "arn:aws:cloudformation:us-west-2:123456789012:type-configuration/resource/Example-Test-Type/default" }

詳細については、「 ユーザーガイド」の「 AWS CloudFormation レジストリの使用AWS CloudFormation 」を参照してください。

  • API の詳細については、「 コマンドリファレンスSetTypeConfiguration」の「」を参照してください。 AWS CLI

次の例は、set-type-default-version を使用する方法を説明しています。

AWS CLI

タイプのデフォルトバージョンを設定するには

次のset-type-default-version例では、このタイプのデフォルトとして使用する指定されたタイプバージョンを設定します。

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

このコマンドでは何も出力されません。

詳細については、「 ユーザーガイド」の CloudFormation 「レジストリの使用AWS CloudFormation 」を参照してください。

  • API の詳細については、「 コマンドリファレンスSetTypeDefaultVersion」の「」を参照してください。 AWS CLI

次の例は、signal-resource を使用する方法を説明しています。

AWS CLI

リソースにシグナルを送信するには

次のsignal-resource例では、 という名前のスタックMyWaitConditionで という名前の待機条件を満たすsuccessシグナルを送信しますmy-stack

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

このコマンドでは何も出力されません。

  • API の詳細については、「 コマンドリファレンスSignalResource」の「」を参照してください。 AWS CLI

次の例は、stop-stack-set-operation を使用する方法を説明しています。

AWS CLI

スタックセットオペレーションを停止するには

次のstop-stack-set-operation例では、指定されたスタックセットに対する進行中の更新オペレーションを停止します。

aws cloudformation stop-stack-set-operation \ --stack-set-name my-stack-set \ --operation-id 1261cd27-490b-xmpl-ab42-793a896c69e6

このコマンドでは何も出力されません。

  • API の詳細については、「 コマンドリファレンスStopStackSetOperation」の「」を参照してください。 AWS CLI

次の例は、test-type を使用する方法を説明しています。

AWS CLI

拡張機能をテストするには

次のtest-type例では、登録された拡張機能をテストして、 CloudFormation レジストリで公開するために必要なすべての要件を満たしていることを確認します。

aws cloudformation test-type \ --arn arn:aws:cloudformation:us-west-2:123456789012:type/resource/Sample-Test-Resource123/00000001

出力:

{ "TypeVersionArn": "arn:aws:cloudformation:us-west-2:123456789012:type/resource/Sample-Test-Resource123/00000001" }

詳細については、「 ユーザーガイド」の「 AWS CloudFormation レジストリの使用AWS CloudFormation 」を参照してください。

  • API の詳細については、「 コマンドリファレンスTestType」の「」を参照してください。 AWS CLI

次の例は、update-stack-instances を使用する方法を説明しています。

AWS CLI

スタックインスタンスを更新するには

次のupdate-stack-instances例では、最新の設定で 2 つのリージョンの 2 つのアカウントのスタックインスタンスの更新を再試行します。指定された耐障害性設定により、一部のスタックを更新できない場合でも、すべてのアカウントとリージョンで更新が試行されます。

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

出力:

{ "OperationId": "103ebdf2-21ea-xmpl-8892-de5e30733132" }
  • API の詳細については、「 コマンドリファレンスUpdateStackInstances」の「」を参照してください。 AWS CLI

次の例は、update-stack-set を使用する方法を説明しています。

AWS CLI

スタックセットを更新するには

次のupdate-stack-set例では、指定したスタックセットのスタックインスタンスITに、キー名 Owner と値 のタグを追加します。

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

出力:

{ "OperationId": "e2b60321-6cab-xmpl-bde7-530c6f47950e" }
  • API の詳細については、「 コマンドリファレンスUpdateStackSet」の「」を参照してください。 AWS CLI

次の例は、update-stack を使用する方法を説明しています。

AWS CLI

AWS CloudFormation スタックを更新するには

以下の update-stack コマンドは、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

以下の update-stack コマンドは、mystack スタックの SubnetIDs パラメータ値のみを更新します。パラメータ値を指定しない場合は、テンプレートで指定されているデフォルト値が使用されます。

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

以下の update-stack コマンドは、mystack スタックに 2 つのスタック通知トピックを追加します。

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"

詳細については、「 ユーザーガイド」の「 AWS CloudFormation スタックの更新」を参照してください。 AWS CloudFormation

  • API の詳細については、「 コマンドリファレンスUpdateStack」の「」を参照してください。 AWS CLI

次の例は、update-termination-protection を使用する方法を説明しています。

AWS CLI

終了保護を有効にするには

次のupdate-termination-protection例では、指定されたスタックで終了保護を有効にします。

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

出力:

{ "StackId": "arn:aws:cloudformation:us-west-2:123456789012:stack/my-stack/d0a825a0-e4cd-xmpl-b9fb-061c69e99204" }
  • API の詳細については、「 コマンドリファレンスUpdateTerminationProtection」の「」を参照してください。 AWS CLI

次の例は、validate-template を使用する方法を説明しています。

AWS CLI

AWS CloudFormation テンプレートを検証するには

以下の validate-template コマンドは、sampletemplate.json テンプレートを検証します。

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

出力:

{ "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": [] }

詳細については、「 AWS CloudFormation ユーザーガイド」の AWS CloudFormation 「テンプレートの使用」を参照してください。

  • API の詳細については、「 コマンドリファレンスValidateTemplate」の「」を参照してください。 AWS CLI