文件 AWS SDK AWS 範例 SDK 儲存庫中有更多可用的
本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
AWS CloudFormation 使用 的範例 AWS CLI
下列程式碼範例示範如何使用 AWS Command Line Interface 搭配 來執行動作和實作常見案例 AWS CloudFormation。
Actions 是大型程式的程式碼摘錄,必須在內容中執行。雖然 動作會示範如何呼叫個別服務函數,但您可以在其相關案例中查看內容中的動作。
每個範例都包含完整原始程式碼的連結,您可以在其中找到如何在內容中設定和執行程式碼的指示。
主題
動作
下列程式碼範例示範如何使用 activate-type
。
- AWS CLI
-
啟用類型
下列
activate-type
範例會啟用公有第三方延伸模組,使其可用於堆疊範本。aws cloudformation activate-type \ --region
us-west-2
\ --typeRESOURCE
\ --type-nameExample::Test::1234567890abcdef0
\ --type-name-aliasExample::Test::Alias
輸出:
{ "Arn": "arn:aws:cloudformation:us-west-2:123456789012:type/resource/Example-Test-Alias" }
如需詳細資訊,請參閱 AWS CloudFormation 使用者指南中的使用 Word 登錄檔。 AWS CloudFormation
-
如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 ActivateType
。
-
下列程式碼範例示範如何使用 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 使用者指南中的使用 Word 登錄檔。 AWS CloudFormation
-
如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 BatchDescribeTypeConfigurations
。
-
下列程式碼範例示範如何使用 cancel-update-stack
。
- AWS CLI
-
若要取消正在進行的堆疊更新
下列
cancel-update-stack
命令會取消堆疊上的myteststack
堆疊更新:aws cloudformation cancel-update-stack --stack-name
myteststack
-
如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 CancelUpdateStack
。
-
下列程式碼範例示範如何使用 continue-update-rollback
。
- AWS CLI
-
若要重試更新復原
下列
continue-update-rollback
範例會從先前失敗的堆疊更新繼續復原操作。aws cloudformation continue-update-rollback \ --stack-name
my-stack
此命令不會產生輸出。
-
如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 ContinueUpdateRollback
。
-
下列程式碼範例示範如何使用 create-change-set
。
- AWS CLI
-
若要建立變更集
下列
create-change-set
範例會建立具有CAPABILITY_IAM
功能的變更集。檔案template.yaml
是目前資料夾中的 AWS CloudFormation 範本,定義包含 IAM 資源的堆疊。aws cloudformation create-change-set \ --stack-name
my-application
\ --change-set-namemy-change-set
\ --template-bodyfile://template.yaml
\ --capabilitiesCAPABILITY_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 詳細資訊,請參閱 AWS CLI 命令參考中的 CreateChangeSet
。
-
下列程式碼範例示範如何使用 create-stack-instances
。
- AWS CLI
-
若要建立堆疊執行個體
下列
create-stack-instances
範例會在兩個帳戶和四個區域中建立堆疊集的執行個體。容錯能力設定可確保在所有帳戶和區域中嘗試更新,即使無法建立某些堆疊。aws cloudformation create-stack-instances \ --stack-set-name
my-stack-set
\ --accounts123456789012
223456789012
\ --regionsus-east-1
us-east-2
us-west-1
us-west-2
\ --operation-preferencesFailureToleranceCount=7
輸出:
{ "OperationId": "d7995c31-83c2-xmpl-a3d4-e9ca2811563f" }
若要建立堆疊集,請使用
create-stack-set
命令。-
如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 CreateStackInstances
。
-
下列程式碼範例示範如何使用 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-bodyfile://template.yaml
\ --description"SNS topic"
輸出:
{ "StackSetId": "my-stack-set:8d0f160b-d157-xmpl-a8e6-c0ce8e5d8cc1" }
若要將堆疊執行個體新增至堆疊集,請使用
create-stack-instances
命令。-
如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 CreateStackSet
。
-
下列程式碼範例示範如何使用 create-stack
。
- AWS CLI
-
若要建立 AWS CloudFormation 堆疊
下列
create-stacks
命令myteststack
會使用sampletemplate.json
範本建立名稱為 的堆疊:aws cloudformation create-stack --stack-name
myteststack
--template-bodyfile://sampletemplate.json
--parametersParameterKey=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 詳細資訊,請參閱 AWS CLI 命令參考中的 CreateStack
。
-
下列程式碼範例示範如何使用 deactivate-type
。
- AWS CLI
-
若要停用類型
下列
deactivate-type
範例會停用此帳戶和區域中先前啟用的公有延伸模組。aws cloudformation deactivate-type \ --region
us-west-2
\ --typeMODULE
\ --type-nameExample::Test::Type::MODULE
此命令不會產生輸出。
如需詳細資訊,請參閱 AWS CloudFormation 使用者指南中的使用 Word 登錄檔。 AWS CloudFormation
-
如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 DeactivateType
。
-
下列程式碼範例示範如何使用 delete-change-set
。
- AWS CLI
-
若要刪除變更集
下列
delete-change-set
範例會指定變更集名稱和堆疊名稱,以刪除變更集。aws cloudformation delete-change-set \ --stack-name
my-stack
\ --change-set-namemy-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 詳細資訊,請參閱 AWS CLI 命令參考中的 DeleteChangeSet
。
-
下列程式碼範例示範如何使用 delete-stack-instances
。
- AWS CLI
-
若要刪除堆疊執行個體
下列
delete-stack-instances
範例會刪除兩個區域中兩個帳戶中設定的堆疊執行個體,並終止堆疊。aws cloudformation delete-stack-instances \ --stack-set-name
my-stack-set
\ --accounts123456789012
567890123456
\ --regionsus-east-1
us-west-1
\ --no-retain-stacks輸出:
{ "OperationId": "ad49f10c-fd1d-413f-a20a-8de6e2fa8f27" }
若要刪除空堆疊集,請使用
delete-stack-set
命令。-
如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 DeleteStackInstances
。
-
下列程式碼範例示範如何使用 delete-stack-set
。
- AWS CLI
-
若要刪除堆疊集
下列命令會刪除指定的空堆疊集。堆疊集必須是空的。
aws cloudformation delete-stack-set \ --stack-set-name
my-stack-set
此命令不會產生輸出。
若要從堆疊集刪除執行個體,請使用
delete-stack-instances
命令。-
如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 DeleteStackSet
。
-
下列程式碼範例示範如何使用 delete-stack
。
- AWS CLI
-
若要刪除堆疊
下列
delete-stack
範例會刪除指定的堆疊。aws cloudformation delete-stack \ --stack-name
my-stack
此命令不會產生輸出。
-
如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 DeleteStack
。
-
下列程式碼範例示範如何使用 deploy
。
- AWS CLI
-
下列命令會將名為 的範本部署
template.json
到名為 的堆疊my-new-stack
:aws cloudformation deploy --template-file
/path_to_template/template.json
--stack-namemy-new-stack
--parameter-overridesKey1=Value1
Key2=Value2
--tagsKey1=Value1
Key2=Value2
-
如需 API 詳細資訊,請參閱在AWS CLI 命令參考中部署
。
-
下列程式碼範例示範如何使用 deregister-type
。
- AWS CLI
-
若要取消註冊類型版本
下列
deregister-type
範例會將指定的類型版本從 CloudFormation 登錄檔中的作用中使用中移除,使其無法再用於 in CloudFormation 操作。aws cloudformation deregister-type \ --type
RESOURCE
\ --type-nameMy::Logs::LogGroup
\ --version-id00000002
此命令不會產生輸出。
如需詳細資訊,請參閱 CloudFormation 使用者指南中的使用 Word 登錄檔。 AWS CloudFormation
-
如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 DeregisterType
。
-
下列程式碼範例示範如何使用 describe-account-limits
。
- AWS CLI
-
取得帳戶限制的相關資訊
下列命令會擷取目前帳戶的區域限制清單。
aws cloudformation describe-account-limits
輸出:
{ "AccountLimits": [ { "Name": "StackLimit", "Value": 200 }, { "Name": "StackOutputsLimit", "Value": 60 }, { "Name": "ConcurrentResourcesLimit", "Value": 2500 } ] }
-
如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 DescribeAccountLimits
。
-
下列程式碼範例示範如何使用 describe-change-set
。
- AWS CLI
-
若要取得變更集的相關資訊
下列
describe-change-set
範例顯示變更集名稱和堆疊名稱所指定的變更集詳細資訊。aws cloudformation describe-change-set \ --change-set-name
my-change-set
\ --stack-namemy-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 詳細資訊,請參閱 AWS CLI 命令參考中的 DescribeChangeSet
。
-
下列程式碼範例示範如何使用 describe-publisher
。
- AWS CLI
-
描述發佈者
下列
describe-publisher
範例會設定發佈者的資訊。aws cloudformation describe-publisher \ --region
us-west-2
\ --publisher-id000q6TfUovXsEMmgKowxDZLlwqr2QUsh
輸出:
{ "PublisherId": "000q6TfUovXsEMmgKowxDZLlwqr2QUshd2e75c8c", "PublisherStatus": "VERIFIED", "IdentityProvider": "AWS_Marketplace", "PublisherProfile": "https://aws.amazon.com/marketplace/seller-profile?id=2c5dc1f0-17cd-4259-8e46-822a83gdtegd" }
如需詳細資訊,請參閱 AWS CloudFormation 使用者指南中的使用 Word 登錄檔。 AWS CloudFormation
-
如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 DescribePublisher
。
-
下列程式碼範例示範如何使用 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" }
-
如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 DescribeStackDriftDetectionStatus
。
-
下列程式碼範例示範如何使用 describe-stack-events
。
- AWS CLI
-
描述堆疊事件
下列
describe-stack-events
範例顯示指定堆疊的 2 個最近事件。aws cloudformation describe-stack-events \ --stack-name
my-stack
\ --max-items2
{
"StackEvents":[
{
"StackId": "arn:aws:cloudformation:us-west-2:123456789012:stack/my-stack/d0a825a0-e4cd-xmpl-b9fb-061c69e99204", "EventId": "4e1516d0-e4d6-xmpl-b94f-0a51958a168c", "StackName": "my-stack", "LogicalResourceId": "my-stack", "PhysicalResourceId": "arn:aws:cloudformation:us-west-2:123456789012:stack/my-stack/d0a825a0-e4cd-xmpl-b9fb-061c69e99204", "ResourceType": "AWS::CloudFormation::Stack", "Timestamp": "2019-10-02T05:34:29.556Z", "ResourceStatus":"UPDATE_COMPLETE"
},
{
"StackId": "arn:aws:cloudformation:us-west-2:123456789012:stack/my-stack/d0a825a0-e4cd-xmpl-b9fb-061c69e99204", "EventId": "4dd3c810-e4d6-xmpl-bade-0aaf8b31ab7a", "StackName": "my-stack", "LogicalResourceId": "my-stack", "PhysicalResourceId": "arn:aws:cloudformation:us-west-2:123456789012:stack/my-stack/d0a825a0-e4cd-xmpl-b9fb-061c69e99204", "ResourceType": "AWS::CloudFormation::Stack", "Timestamp": "2019-10-02T05:34:29.127Z", "ResourceStatus":"UPDATE_COMPLETE_CLEANUP_IN_PROGRESS"
}
],
"NextToken":"eyJOZXh0VG9XMPLiOiBudWxsLCAiYm90b190cnVuY2F0ZV9hbW91bnQiOiAyfQ=="
}
-
如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 DescribeStackEvents
。
-
下列程式碼範例示範如何使用 describe-stack-instance
。
- AWS CLI
-
描述堆疊執行個體
下列命令描述指定帳戶和區域中設定的指定堆疊執行個體。堆疊集位於目前 區域和 帳戶,而執行個體位於 帳戶中的
us-west-2
區域123456789012
。:aws cloudformation describe-stack-instance \ --stack-set-name
my-stack-set
\ --stack-instance-account123456789012
\ --stack-instance-regionus-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 詳細資訊,請參閱 AWS CLI 命令參考中的 DescribeStackInstance
。
-
下列程式碼範例示範如何使用 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 詳細資訊,請參閱 AWS CLI 命令參考中的 DescribeStackResourceDrifts
。
-
下列程式碼範例示範如何使用 describe-stack-resource
。
- AWS CLI
-
取得堆疊資源的相關資訊
下列
describe-stack-resource
範例顯示指定堆疊MyFunction
中名為 之資源的詳細資訊。aws cloudformation describe-stack-resource \ --stack-name
MyStack
\ --logical-resource-idMyFunction
輸出:
{ "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 詳細資訊,請參閱 AWS CLI 命令參考中的 DescribeStackResource
。
-
下列程式碼範例示範如何使用 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 詳細資訊,請參閱 AWS CLI 命令參考中的 DescribeStackResources
。
-
下列程式碼範例示範如何使用 describe-stack-set-operation
。
- AWS CLI
-
取得堆疊集操作的相關資訊
下列 describe-stack-set-operation` 範例顯示指定堆疊集上更新操作的詳細資訊。
aws cloudformation describe-stack-set-operation \ --stack-set-name
enable-config
\ --operation-id35d45ebc-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 詳細資訊,請參閱 AWS CLI 命令參考中的 DescribeStackSetOperation
。
-
下列程式碼範例示範如何使用 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 詳細資訊,請參閱 AWS CLI 命令參考中的 DescribeStackSet
。
-
下列程式碼範例示範如何使用 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 詳細資訊,請參閱 AWS CLI 命令參考中的 DescribeStacks
。
-
下列程式碼範例示範如何使用 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 使用者指南中的使用 Word 登錄檔。 AWS CloudFormation
-
如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 DescribeTypeRegistration
。
-
下列程式碼範例示範如何使用 describe-type
。
- AWS CLI
-
顯示類型資訊
下列
describe-type
範例顯示指定類型的資訊。aws cloudformation describe-type \ --type-name
My::Logs::LogGroup
\ --typeRESOURCE
輸出:
{ "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 使用者指南中的使用 Word 登錄檔。 AWS CloudFormation
-
如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 DescribeType
。
-
下列程式碼範例示範如何使用 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 詳細資訊,請參閱 AWS CLI 命令參考中的 DetectStackDrift
。
-
下列程式碼範例示範如何使用 detect-stack-resource-drift
。
- AWS CLI
-
偵測資源的偏離
下列
detect-stack-resource-drift
範例會檢查名為 的堆疊MyFunction
中名為 的資源,MyStack
該堆疊名為 的 漂移:aws cloudformation detect-stack-resource-drift \ --stack-name
MyStack
\ --logical-resource-idMyFunction
輸出顯示已修改的 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 詳細資訊,請參閱 AWS CLI 命令參考中的 DetectStackResourceDrift
。
-
下列程式碼範例示範如何使用 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 詳細資訊,請參閱 AWS CLI 命令參考中的 DetectStackSetDrift
。
-
下列程式碼範例示範如何使用 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 詳細資訊,請參閱 AWS CLI 命令參考中的 EstimateTemplateCost
。
-
下列程式碼範例示範如何使用 execute-change-set
。
- AWS CLI
-
執行變更集
下列
execute-change-set
範例會執行由變更集名稱和堆疊名稱指定的變更集。aws cloudformation execute-change-set \ --change-set-name
my-change-set
\ --stack-namemy-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 詳細資訊,請參閱 AWS CLI 命令參考中的 ExecuteChangeSet
。
-
下列程式碼範例示範如何使用 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 詳細資訊,請參閱 AWS CLI 命令參考中的 GetStackPolicy
。
-
下列程式碼範例示範如何使用 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 詳細資訊,請參閱 AWS CLI 命令參考中的 GetTemplateSummary
。
-
下列程式碼範例示範如何使用 get-template
。
- AWS CLI
-
檢視 a 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 詳細資訊,請參閱 AWS CLI 命令參考中的 GetTemplate
。
-
下列程式碼範例示範如何使用 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 詳細資訊,請參閱 AWS CLI 命令參考中的 ListChangeSets
。
-
下列程式碼範例示範如何使用 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 詳細資訊,請參閱 AWS CLI 命令參考中的 ListExports
。
-
下列程式碼範例示範如何使用 list-imports
。
- AWS CLI
-
列出匯入
下列
list-imports
範例列出匯入指定匯出的堆疊。若要取得可用匯出的清單,請使用list-exports
命令。aws cloudformation list-imports \ --export-name
private-vpc-vpcid
輸出:
{ "Imports": [ "my-database-stack" ] }
-
如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 ListImports
。
-
下列程式碼範例示範如何使用 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 詳細資訊,請參閱 AWS CLI 命令參考中的 ListStackInstances
。
-
下列程式碼範例示範如何使用 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 詳細資訊,請參閱 AWS CLI 命令參考中的 ListStackResources
。
-
下列程式碼範例示範如何使用 list-stack-set-operation-results
。
- AWS CLI
-
若要列出堆疊集操作結果
下列命令會顯示指定堆疊集中執行個體的更新操作結果。
aws cloudformation list-stack-set-operation-results \ --stack-set-name
enable-config
\ --operation-id35d45ebc-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 詳細資訊,請參閱 AWS CLI 命令參考中的 ListStackSetOperationResults
。
-
下列程式碼範例示範如何使用 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 詳細資訊,請參閱 AWS CLI 命令參考中的 ListStackSetOperations
。
-
下列程式碼範例示範如何使用 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 詳細資訊,請參閱 AWS CLI 命令參考中的 ListStackSets
。
-
下列程式碼範例示範如何使用 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 詳細資訊,請參閱 AWS CLI 命令參考中的 ListStacks
。
-
下列程式碼範例示範如何使用 list-type-registrations
。
- AWS CLI
-
若要列出已完成的 類型註冊
下列
list-type-registrations
範例顯示指定類型已完成類型註冊的清單。aws cloudformation list-type-registrations \ --type
RESOURCE
\ --type-nameMy::Logs::LogGroup
\ --registration-status-filterCOMPLETE
輸出:
{ "RegistrationTokenList": [ "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", "a1b2c3d4-5678-90ab-cdef-EXAMPLE22222", "a1b2c3d4-5678-90ab-cdef-EXAMPLE33333" ] }
如需詳細資訊,請參閱 CloudFormation 使用者指南中的使用 Word 登錄檔。 AWS CloudFormation
-
如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 ListTypeRegistrations
。
-
下列程式碼範例示範如何使用 list-type-versions
。
- AWS CLI
-
若要列出延伸模組的版本
下列
list-type-versions
範例會傳回有關擴充功能的版本摘要資訊。aws cloudformation list-type-versions \ --endpoint
https://example.com
\ --regionus-west-2
\ --typeRESOURCE
\ --type-nameMy::Resource::Example
\ --publisher-id123456789012
此命令不會產生輸出。
如需詳細資訊,請參閱 AWS CloudFormation 使用者指南中的使用 Word 登錄檔。 AWS CloudFormation
-
如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 ListTypeVersions
。
-
下列程式碼範例示範如何使用 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 使用者指南中的使用 Word 登錄檔。 AWS CloudFormation
-
如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 ListTypes
。
-
下列程式碼範例示範如何使用 package
。
- AWS CLI
-
下列命令會將名為
template.json
的範本匯出至 S3 儲存貯體,bucket-name
並將匯出的範本寫入packaged-template.json
:aws cloudformation package --template-file
/path_to_template/template.json
--s3-bucketbucket-name
--output-template-filepackaged-template.json
--use-json-
如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的封裝
。
-
下列程式碼範例示範如何使用 publish-type
。
- AWS CLI
-
若要發佈延伸模組
下列
publish-type
範例會將指定的延伸項目發佈至 CloudFormation 登錄檔,作為此區域中的公有延伸項目。aws cloudformation publish-type \ --region
us-west-2
\ --typeRESOURCE
\ --type-nameExample::Test::1234567890abcdef0
輸出:
{ "PublicTypeArn":"arn:aws:cloudformation:us-west-2::type/resource/000q6TfUovXsEMmgKowxDZLlwqr2QUshd2e75c8c/Example-Test-1234567890abcdef0/1.0.0" }
如需詳細資訊,請參閱 AWS CloudFormation 使用者指南中的使用 Word 登錄檔。 AWS CloudFormation
-
如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 PublishType
。
-
下列程式碼範例示範如何使用 register-publisher
。
- AWS CLI
-
註冊發佈者
下列
register-publisher
範例會註冊發佈者並接受 條款與條件參數。aws cloudformation register-publisher \ --region
us-west-2
\ --accept-terms-and-conditions輸出:
{ "PublisherId": "000q6TfUovXsEMmgKowxDZLlwqr2QUshd2e75c8c" }
如需詳細資訊,請參閱 AWS CloudFormation 使用者指南中的使用 Word 登錄檔。 AWS CloudFormation
-
如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 RegisterPublisher
。
-
下列程式碼範例示範如何使用 register-type
。
- AWS CLI
-
註冊資源類型
下列
register-type
範例會將指定的資源類型註冊為使用者帳戶中的私有資源類型。aws cloudformation register-type \ --type-name
My::Organization::ResourceName
\ --schema-handler-packages3://bucket_name/my-organization-resource_name.zip
\ --typeRESOURCE
輸出:
{ "RegistrationToken": "f5525280-104e-4d35-bef5-8f1f1example" }
如需詳細資訊,請參閱 CloudFormation Command Line Interface 類型開發使用者指南中的註冊資源提供者。
-
如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 RegisterType
。
-
下列程式碼範例示範如何使用 set-stack-policy
。
- AWS CLI
-
若要套用堆疊政策
下列
set-stack-policy
範例會停用指定堆疊中指定資源的更新。stack-policy.json
是 JSON 文件,用於定義堆疊中資源允許的操作。aws cloudformation set-stack-policy \ --stack-name
my-stack
\ --stack-policy-bodyfile://stack-policy.json
輸出:
{ "Statement" : [ { "Effect" : "Allow", "Action" : "Update:*", "Principal": "*", "Resource" : "*" }, { "Effect" : "Deny", "Action" : "Update:*", "Principal": "*", "Resource" : "LogicalResourceId/bucket" } ] }
-
如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 SetStackPolicy
。
-
下列程式碼範例示範如何使用 set-type-configuration
。
- AWS CLI
-
設定資料
下列
set-type-configuration
範例指定指定指定帳戶和區域中已註冊 CloudFormation 延伸模組的組態資料。aws cloudformation set-type-configuration \ --region
us-west-2
\ --typeRESOURCE
\ --type-nameExample::Test::Type
\ --configuration-aliasdefault
\ --configuration "{\"CredentialKey\": \"testUserCredential\"}"輸出:
{ "ConfigurationArn": "arn:aws:cloudformation:us-west-2:123456789012:type-configuration/resource/Example-Test-Type/default" }
如需詳細資訊,請參閱 AWS CloudFormation 使用者指南中的使用 Word 登錄檔。 AWS CloudFormation
-
如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 SetTypeConfiguration
。
-
下列程式碼範例示範如何使用 set-type-default-version
。
- AWS CLI
-
設定類型的預設版本
下列
set-type-default-version
範例會將指定的類型版本設定為此類型的預設值。aws cloudformation set-type-default-version \ --type
RESOURCE
\ --type-nameMy::Logs::LogGroup
\ --version-id00000003
此命令不會產生輸出。
如需詳細資訊,請參閱 CloudFormation 使用者指南中的使用 Word 登錄檔。 AWS CloudFormation
-
如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 SetTypeDefaultVersion
。
-
下列程式碼範例示範如何使用 signal-resource
。
- AWS CLI
-
發出資源訊號
下列
signal-resource
範例會發出訊號,success
以完成名為 的堆疊MyWaitCondition
中名為 的等待條件my-stack
。aws cloudformation signal-resource \ --stack-name
my-stack
\ --logical-resource-idMyWaitCondition
\ --unique-id1234
\ --statusSUCCESS
此命令不會產生輸出。
-
如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 SignalResource
。
-
下列程式碼範例示範如何使用 stop-stack-set-operation
。
- AWS CLI
-
停止堆疊集操作
下列
stop-stack-set-operation
範例會停止指定堆疊集的進行中更新操作。aws cloudformation stop-stack-set-operation \ --stack-set-name
my-stack-set
\ --operation-id1261cd27-490b-xmpl-ab42-793a896c69e6
此命令不會產生輸出。
-
如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 StopStackSetOperation
。
-
下列程式碼範例示範如何使用 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 使用者指南中的使用 Word 登錄檔。 AWS CloudFormation
-
如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 TestType
。
-
下列程式碼範例示範如何使用 update-stack-instances
。
- AWS CLI
-
更新堆疊執行個體
下列
update-stack-instances
範例會使用最新的設定,重試兩個區域中兩個帳戶中堆疊執行個體的更新。指定的容錯能力設定可確保在所有帳戶和區域中嘗試更新,即使無法更新某些堆疊。aws cloudformation update-stack-instances \ --stack-set-name
my-stack-set
\ --accounts123456789012
567890123456
\ --regionsus-east-1
us-west-2
\ --operation-preferencesFailureToleranceCount=3
輸出:
{ "OperationId": "103ebdf2-21ea-xmpl-8892-de5e30733132" }
-
如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 UpdateStackInstances
。
-
下列程式碼範例示範如何使用 update-stack-set
。
- AWS CLI
-
若要更新堆疊集
下列
update-stack-set
範例會將具有金鑰名稱Owner
和 值的標籤新增至指定IT
堆疊集中的堆疊執行個體。aws cloudformation update-stack-set \ --stack-set-name
my-stack-set
\ --use-previous-template \ --tagsKey=Owner,Value=IT
輸出:
{ "OperationId": "e2b60321-6cab-xmpl-bde7-530c6f47950e" }
-
如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 UpdateStackSet
。
-
下列程式碼範例示範如何使用 update-stack
。
- AWS CLI
-
更新 AWS CloudFormation 堆疊
下列
update-stack
命令會更新mystack
堆疊的範本和輸入參數:aws cloudformation update-stack --stack-name
mystack
--template-urlhttps://s3.amazonaws.com/sample/updated.template
--parametersParameterKey=KeyPairName,ParameterValue=SampleKeyPair
ParameterKey=SubnetIDs,ParameterValue=SampleSubnetID1\\,SampleSubnetID2下列
update-stack
命令只會更新mystack
堆疊的SubnetIDs
參數值。如果您未指定參數值,則會使用範本中指定的預設值:aws cloudformation update-stack --stack-name
mystack
--template-urlhttps://s3.amazonaws.com/sample/updated.template
--parametersParameterKey=KeyPairName,UsePreviousValue=true
ParameterKey=SubnetIDs,ParameterValue=SampleSubnetID1\\,UpdatedSampleSubnetID2下列
update-stack
命令會將兩個堆疊通知主題新增至mystack
堆疊:aws cloudformation update-stack --stack-name
mystack
--use-previous-template --notification-arns"arn:aws:sns:use-east-1:123456789012:mytopic1"
"arn:aws:sns:us-east-1:123456789012:mytopic2"
如需詳細資訊,請參閱 AWS CloudFormation 使用者指南中的 Word 堆疊更新。 AWS CloudFormation
-
如需 API 詳細資訊,請參閱 AWS CLI 命令參考中的 UpdateStack
。
-
下列程式碼範例示範如何使用 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 詳細資訊,請參閱 AWS CLI 命令參考中的 UpdateTerminationProtection
。
-
下列程式碼範例示範如何使用 validate-template
。
- AWS CLI
-
驗證 a 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 詳細資訊,請參閱 AWS CLI 命令參考中的 ValidateTemplate
。
-