

Amazon CodeCatalyst 不再向新客戶開放。現有客戶可以繼續正常使用該服務。如需詳細資訊，請參閱[如何從 CodeCatalyst 遷移](migration.md)。

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 「部署 CloudFormation 堆疊」動作 YAML
<a name="deploy-action-ref-cfn"></a>

以下是**部署 CloudFormation 堆疊**動作的 YAML 定義。若要了解如何使用此動作，請參閱 [部署 CloudFormation 堆疊](deploy-action-cfn.md)。

此動作定義以區段的形式存在於更廣泛的工作流程定義檔案中。如需有關此檔案的詳細資訊，請參閱[工作流程 YAML 定義](workflow-reference.md)。

**注意**  
下列大多數 YAML 屬性在視覺化編輯器中都有對應的 UI 元素。若要查詢 UI 元素，請使用 **Ctrl\$1F**。 元素會與其相關聯的 YAML 屬性一起列出。

```
# The workflow definition starts here.
# See 最上層屬性 for details.
        
Name: MyWorkflow
SchemaVersion: 1.0 
Actions:

# The action definition starts here.    
  DeployCloudFormationStack:  
    Identifier: aws/cfn-deploy@v1
    DependsOn:
      - build-action
    Compute:  
      Type: EC2 | Lambda
      Fleet: fleet-name
    Timeout: timeout-minutes
    Environment:
      Name: environment-name
      Connections:
        - Name: account-connection-name
          Role: DeployRole
    Inputs:
      Sources:
        - source-name-1
      Artifacts:
        - CloudFormation-artifact
    Configuration:
      name: stack-name
      region: us-west-2
      template: template-path
      role-arn: arn:aws:iam::123456789012:role/StackRole        
      capabilities: CAPABILITY_IAM,CAPABILITY_NAMED_IAM,CAPABILITY_AUTO_EXPAND
      parameter-overrides: KeyOne=ValueOne,KeyTwo=ValueTwo | path-to-JSON-file
      no-execute-changeset: 1|0
      fail-on-empty-changeset: 1|0
      disable-rollback: 1|0
      termination-protection: 1|0
      timeout-in-minutes: minutes
      notification-arns: arn:aws:sns:us-east-1:123456789012:MyTopic,arn:aws:sns:us-east-1:123456789012:MyOtherTopic
      monitor-alarm-arns: arn:aws:cloudwatch::123456789012:alarm/MyAlarm,arn:aws:cloudwatch::123456789012:alarm/MyOtherAlarm
      monitor-timeout-in-minutes: minutes       
      tags: '[{"Key":"MyKey1","Value":"MyValue1"},{"Key":"MyKey2","Value":"MyValue2"}]'
```

## DeployCloudFormationStack
<a name="deploy.action.cfn.deploycloudformationstack"></a>

(必要)

指定動作的名稱。工作流程中的所有動作名稱都必須是唯一的。動作名稱僅限於英數字元 (a-z、A-Z、0-9)、連字號 (-) 和底線 (\$1)。不允許空格。您不能使用引號在動作名稱中啟用特殊字元和空格。

預設：`DeployCloudFormationStack_nn`。

對應的 UI：組態索引標籤/**動作顯示名稱**

## Identifier
<a name="deploy.action.cfn.identifier"></a>

(*DeployCloudFormationStack*/**Identifier**)

(必要)

識別 動作。除非您想要變更版本，否則請勿變更此屬性。如需詳細資訊，請參閱[指定要使用的動作版本](workflows-action-versions.md)。

預設：`aws/cfn-deploy@v1`。

對應的 UI：工作流程圖表/DeployCloudFormationStack\$1nn/**aws/cfn-deploy@v1** 標籤

## DependsOn
<a name="deploy.action.cfn.dependson"></a>

(*DeployCloudFormationStack*/**DependsOn**)

(選用)

指定必須成功執行的動作、動作群組或閘道，才能執行此動作。

如需 'depends on' 功能的詳細資訊，請參閱 [定序動作](workflows-depends-on.md)。

對應的 UI：輸入索引標籤/**取決於 - 選用**

## Compute
<a name="deploy.action.cfn.computename"></a>

(*DeployCloudFormationStack*/**Compute**)

(選用)

用來執行工作流程動作的運算引擎。您可以在工作流程層級或動作層級指定運算，但不能同時指定兩者。在工作流程層級指定時，運算組態會套用至工作流程中定義的所有動作。在工作流程層級，您也可以在同一個執行個體上執行多個動作。如需詳細資訊，請參閱[跨動作共用運算](compute-sharing.md)。

對應的 UI：*無*

## Type
<a name="deploy.action.cfn.computetype"></a>

(*DeployCloudFormationStack*/Compute/**Type**)

（如果[Compute](#deploy.action.cfn.computename)包含 則為必要）

運算引擎的類型。您可以使用下列其中一個值：
+ **EC2** （視覺化編輯器） 或 `EC2`(YAML 編輯器）

  最佳化動作執行期間的彈性。
+ **Lambda** （視覺化編輯器） 或 `Lambda`(YAML 編輯器）

  最佳化動作啟動速度。

如需運算類型的更多相關資訊，請參閱[運算類型](workflows-working-compute.md#compute.types)。

對應的 UI：組態索引標籤/進階 - 選用/**運算類型**

## Fleet
<a name="deploy.action.cfn.computefleet"></a>

(*DeployCloudFormationStack*/Compute/**Fleet**)

(選用)

指定將執行工作流程或工作流程動作的機器或機群。使用隨需機群時，當動作開始時，工作流程會佈建所需的資源，並在動作完成時銷毀機器。隨需機群的範例：`Linux.x86-64.Large`、`Linux.x86-64.XLarge`。如需隨需機群的詳細資訊，請參閱 [隨需機群屬性](workflows-working-compute.md#compute.on-demand)。

使用佈建機群，您可以設定一組專用機器來執行工作流程動作。這些機器保持閒置狀態，準備好立即處理動作。如需佈建機群的詳細資訊，請參閱 [佈建的機群屬性](workflows-working-compute.md#compute.provisioned-fleets)。

如果省略 `Fleet` ，則預設值為 `Linux.x86-64.Large`。

對應的 UI：組態索引標籤/進階 - 選用/**運算機群**

## Timeout
<a name="deploy.action.cfn.timeout"></a>

(*DeployCloudFormationStack*/**Timeout**)

(選用)

指定動作在 CodeCatalyst 結束動作之前可執行的時間，以分鐘為單位 (YAML 編輯器） 或小時和分鐘為單位。最小值為 5 分鐘，最大值如 中所述[CodeCatalyst 中工作流程的配額](workflows-quotas.md)。預設逾時與最大逾時相同。

對應的 UI：組態索引標籤/以**分鐘為單位的逾時 - 選用 **

## Environment
<a name="deploy.action.cfn.environment"></a>

(*DeployCloudFormationStack*/**Environment**)

(必要)

指定要與 動作搭配使用的 CodeCatalyst 環境。動作會連線至所選環境中指定的 AWS 帳戶 和選用 Amazon VPC。動作會使用環境中指定的預設 IAM 角色來連線至 AWS 帳戶，並使用 [Amazon VPC 連線](https://docs.aws.amazon.com/codecatalyst/latest/adminguide/managing-vpcs.add.html)中指定的 IAM 角色來連線至 Amazon VPC。

**注意**  
如果預設 IAM 角色沒有 動作所需的許可，您可以將 動作設定為使用不同的角色。如需詳細資訊，請參閱[變更 動作的 IAM 角色](deploy-environments-switch-role.md)。

如需環境的詳細資訊，請參閱 [部署至 AWS 帳戶 和 VPCs](deploy-environments.md)和 [建立環境](deploy-environments-creating-environment.md)。

對應的 UI：組態索引標籤/**環境**

## Name
<a name="deploy.action.cfn.environment.name"></a>

(*DeployCloudFormationStack*/Environment/**Name**)

（如果[Environment](#deploy.action.cfn.environment)包含 則為必要）

指定您要與動作建立關聯的現有環境名稱。

對應的 UI：組態索引標籤/**環境**

## Connections
<a name="deploy.action.cfn.environment.connections"></a>

(*DeployCloudFormationStack*/Environment/**Connections**)

（動作的較新版本為選用；較舊版本為必要）

指定要與動作建立關聯的帳戶連線。您可以在 下指定最多一個帳戶連線`Environment`。

如果您未指定帳戶連線：
+ 動作會使用 CodeCatalyst 主控台中環境指定的 AWS 帳戶 連線和預設 IAM 角色。如需將帳戶連線和預設 IAM 角色新增至環境的相關資訊，請參閱 [建立環境](deploy-environments-creating-environment.md)。
+ 預設 IAM 角色必須包含 動作所需的政策和許可。若要判斷這些政策和許可是什麼，請參閱動作 YAML 定義文件中**角色**屬性的描述。

如需帳戶連線的詳細資訊，請參閱 [允許存取已連線 AWS 的資源 AWS 帳戶](ipa-connect-account.md)。如需將帳戶連線新增至環境的相關資訊，請參閱 [建立環境](deploy-environments-creating-environment.md)。

對應的 UI：取決於動作版本，下列其中一項：
+ （較新版本） 組態tab/Environment/What是 *my-environment*？/三個點功能表/**切換角色**
+ （舊版本） 組態索引標籤/'Environment/account/role'/**AWS account connection**

## Name
<a name="deploy.action.cfn.environment.connections.name"></a>

(*DeployCloudFormationStack*/Environment/Connections/**Name**)

（如果[Connections](#deploy.action.cfn.environment.connections)包含 則為必要）

指定帳戶連線的名稱。

對應的 UI：取決於動作版本，下列其中一項：
+ （較新版本） 組態tab/Environment/What是 *my-environment*？/三個點功能表/**切換角色**
+ （舊版本） 組態索引標籤/'Environment/account/role'/**AWS account connection**

## Role
<a name="deploy.action.cfn.environment.connections.role"></a>

(*DeployCloudFormationStack*/Environment/Connections/**Role**)

（如果[Connections](#deploy.action.cfn.environment.connections)包含 則為必要）

指定**部署 CloudFormation 堆疊**動作用來存取 AWS 和 CloudFormation 服務的 IAM 角色名稱。請確定您已[將角色新增至 CodeCatalyst 空間](ipa-connect-account-addroles.md)，且該角色包含下列政策。

如果您未指定 IAM 角色，則動作會使用 CodeCatalyst 主控台中[環境中](deploy-environments.md)列出的預設 IAM 角色。如果您在環境中使用預設角色，請確定其具有下列政策。
+ 下列許可政策：
**警告**  
將許可限制為下列政策中顯示的許可。使用具有更廣泛許可的角色可能會帶來安全風險。
**注意**  
第一次使用角色時，請在資源政策陳述式中使用下列萬用字元，然後在可用的資源名稱縮小政策範圍。  

  ```
  "Resource": "*"
  ```
+ 下列自訂信任政策：

**注意**  
如有需要，您可以使用 `CodeCatalystWorkflowDevelopmentRole-spaceName`角色搭配此動作。如需有關此角色的詳細資訊，請參閱 [為您的帳戶和空間建立 **CodeCatalystWorkflowDevelopmentRole-*spaceName***角色](ipa-iam-roles.md#ipa-iam-roles-service-create)。了解該`CodeCatalystWorkflowDevelopmentRole-spaceName`角色具有可能造成安全風險的完整存取許可。我們建議您只在安全性較少的教學課程和案例中使用此角色。

對應的 UI：取決於動作版本，下列其中一項：
+ （較新版本） 組態tab/Environment/What是 *my-environment*？/三個點功能表/**切換角色**
+ （舊版本） 組態索引標籤/'Environment/account/role'/**Role**

## Inputs
<a name="deploy.action.cfn.inputs"></a>

(*DeployCloudFormationStack*/**Inputs**)

(選用)

`Inputs` 區段定義工作流程執行期間 `DeployCloudFormationStack`所需的資料。

**注意**  
每個**部署 CloudFormation 堆疊**動作最多允許四個輸入 （一個來源和三個成品）。

如果您需要參考位於不同輸入中的檔案 （例如來源和成品），則來源輸入是主要輸入，而成品是次要輸入。對次要輸入中檔案的參考需要特殊的字首，才能將其從主要輸入中消除。如需詳細資訊，請參閱[範例：參考多個成品中的檔案](workflows-working-artifacts-ex.md#workflows-working-artifacts-ex-ref-file)。

對應的 UI：**輸入**索引標籤

## Sources
<a name="deploy.action.cfn.inputs.sources"></a>

(*DeployCloudFormationStack*/Inputs/**Sources**)

（如果您的 CloudFormation 或 AWS SAM 範本存放在來源儲存庫中，則為必要項目）

如果您的 CloudFormation 或 AWS SAM 範本存放在來源儲存庫中，請指定該來源儲存庫的標籤。目前，唯一支援的標籤是 `WorkflowSource`。

如果您的 CloudFormation 或 AWS SAM 範本不包含在來源儲存庫中，則必須位於另一個動作所產生的成品中，或位於 Amazon S3 儲存貯體中。

如需來源的詳細資訊，請參閱 [將來源儲存庫連線至工作流程](workflows-sources.md)。

對應的 UI：輸入索引標籤/**來源 - 選用**

## Artifacts - input
<a name="deploy.action.cfn.inputs.artifacts"></a>

(*DeployCloudFormationStack*/Inputs/**Artifacts**)

（如果您的 CloudFormation 或 AWS SAM 範本存放在先前動作的[輸出成品](workflows-working-artifacts-output.md)中，則為必要項目）

如果您想要部署的 CloudFormation 或 AWS SAM 範本包含在先前動作產生的成品中，請在此處指定該成品。如果您的 CloudFormation 範本不包含在成品中，則必須位於來源儲存庫或 Amazon S3 儲存貯體中。

如需成品的詳細資訊，包括範例，請參閱 [在動作之間共用成品和檔案](workflows-working-artifacts.md)。

對應的 UI：組態索引標籤/**文章 - 選用**

## Configuration
<a name="deploy.action.cfn.configuration"></a>

(*DeployCloudFormationStack*/**Configuration**)

(必要)

您可以在此區段定義 動作的組態屬性。

對應的 UI：**組態**索引標籤

## name
<a name="deploy.action.cfn.stackname"></a>

(*DeployCloudFormationStack*/Configuration/**name**)

(必要)

指定部署堆疊動作建立或更新的 CloudFormation 堆疊名稱。 ** CloudFormation **

對應的 UI：組態索引標籤/**堆疊名稱**

## region
<a name="deploy.action.cfn.stackregion"></a>

(*DeployCloudFormationStack*/Configuration/**region**)

(必要)

指定要部署堆疊的 AWS 區域 。如需區域代碼清單，請參閱[區域端點](https://docs.aws.amazon.com/general/latest/gr/rande.html#region-names-codes)。

對應的 UI：組態索引標籤/**堆疊區域**

## template
<a name="deploy.action.cfn.templatepath"></a>

(*DeployCloudFormationStack*/Configuration/**template**)

(必要)

指定 CloudFormation 或 AWS SAM 範本檔案的名稱和路徑。範本可以是 JSON 或 YAML 格式，並且可以位於來源儲存庫、先前動作的成品或 Amazon S3 儲存貯體中。如果範本檔案位於來源儲存庫或成品中，則路徑會相對於來源或成品根目錄。如果範本位於 Amazon S3 儲存貯體中，則路徑是範本的**物件 URL** 值。

範例：

`./MyFolder/MyTemplate.json`

`MyFolder/MyTemplate.yml`

`https://MyBucket.s3.us-west-2.amazonaws.com/MyTemplate.yml`

**注意**  
您可能需要將字首新增至範本的檔案路徑，以指出要尋找的成品或來源。如需詳細資訊，請參閱[參考來源儲存庫檔案](workflows-sources-reference-files.md)及[參考成品中的檔案](workflows-working-artifacts-refer-files.md)。

對應的 UI：組態索引標籤/**範本**

## role-arn
<a name="deploy.action.cfn.stackrolearn"></a>

(*DeployCloudFormationStack*/Configuration/**role-arn**)

(必要)

指定堆疊角色的 Amazon Resource Name (ARN)。CloudFormation 使用此角色來存取和修改堆疊中的資源。例如：`arn:aws:iam::123456789012:role/StackRole`。

請確定堆疊角色包含：
+ 一或多個許可政策。這些政策取決於您在堆疊中擁有的資源。例如，如果您的堆疊包含 AWS Lambda 函數，您需要新增授予 Lambda 存取權的許可。如果您遵循 中所述的教學課程[教學課程：部署無伺服器應用程式](deploy-tut-lambda.md)，它包含標題為 的程序，[建立堆疊角色](deploy-tut-lambda.md#deploy-tut-lambda-cfn-roles-stack)其中列出當您部署典型的無伺服器應用程式堆疊時堆疊角色所需的許可。
**警告**  
將許可限制為 CloudFormation 服務存取堆疊中資源所需的許可。使用具有更廣泛許可的角色可能會帶來安全風險。
+ 下列信任政策：

------
#### [ JSON ]

****  

  ```
  {
      "Version":"2012-10-17",		 	 	 
      "Statement": [
          {
              "Sid": "",
              "Effect": "Allow",
              "Principal": {
                  "Service": "cloudformation.amazonaws.com"
              },
              "Action": "sts:AssumeRole"
          }
      ]
  }
  ```

------

或者，將此角色與您的帳戶連線建立關聯。若要進一步了解如何將 IAM 角色與帳戶連線建立關聯，請參閱 [新增 IAM 角色至帳戶連線](ipa-connect-account-addroles.md)。如果您未將堆疊角色與帳戶連線建立關聯，堆疊角色就不會出現在視覺化編輯器的**堆疊角色**下拉式清單中；不過，仍然可以使用 YAML 編輯器在 `role-arn` 欄位中指定角色 ARN。

**注意**  
如有需要，您可以使用 `CodeCatalystWorkflowDevelopmentRole-spaceName`角色搭配此動作。如需有關此角色的詳細資訊，請參閱 [為您的帳戶和空間建立 **CodeCatalystWorkflowDevelopmentRole-*spaceName***角色](ipa-iam-roles.md#ipa-iam-roles-service-create)。了解該`CodeCatalystWorkflowDevelopmentRole-spaceName`角色具有可能造成安全風險的完整存取許可。我們建議您只在安全性較少的教學課程和案例中使用此角色。

對應的 UI：組態索引標籤/**堆疊角色 - 選用**

## capabilities
<a name="deploy.action.cfn.capabilities"></a>

(*DeployCloudFormationStack*/Configuration/**capabilities**)

(必要)

指定允許 CloudFormation 建立特定堆疊所需的 IAM 功能清單。在大多數情況下，您可以使用預設值 `capabilities` 來離開 `CAPABILITY_IAM,CAPABILITY_NAMED_IAM,CAPABILITY_AUTO_EXPAND`。

如果您在**部署 CloudFormation 堆疊**動作的日誌`##[error] requires capabilities: [capability-name]`中看到 ，請參閱 以取得如何修正問題[如何修正 IAM 功能錯誤？](troubleshooting-workflows.md#troubleshooting-workflows-capabilities)的相關資訊。

如需 IAM 功能的詳細資訊，請參閱《[IAM 使用者指南》中的在 CloudFormation 範本中確認 IAM 資源](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-iam-template.html#using-iam-capabilities)。 **

對應的 UI：組態索引標籤/進階/**功能**

## parameter-overrides
<a name="deploy.action.cfn.parameter.overrides"></a>

(*DeployCloudFormationStack*/Configuration/**parameter-overrides**)

(選用)

在 CloudFormation 或 AWS SAM 範本中指定沒有預設值的參數，或您要為其指定非預設值的參數。如需參數的詳細資訊，請參閱* AWS CloudFormation 《 使用者指南*》中的[參數](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/parameters-section-structure.html)。

`parameter-overrides` 屬性接受：
+ 包含參數和值的 JSON 檔案。
+ 參數和值的逗號分隔清單。

**指定 JSON 檔案**

1. 請確定 JSON 檔案使用以下其中一個語法：

   ```
   {
     "Parameters": {
       "Param1": "Value1",
       "Param2": "Value2",
       ...
     }
   }
   ```

   或者...

   ```
   [
     {
        "ParameterKey": "Param1",
        "ParameterValue": "Value1"
     },
     ...
   ]
   ```

   （還有其他語法，但撰寫時 CodeCatalyst 不支援這些語法。) 如需在 JSON 檔案中指定 CloudFormation 參數的詳細資訊，請參閱《 *AWS CLI 命令參考*》中的[支援的 JSON 語法](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/cloudformation/deploy/index.html#supported-json-syntax)。

1. 使用下列其中一種格式指定 JSON 檔案的路徑：
   + 如果您的 JSON 檔案位於先前動作的輸出成品中，請使用：

     `file:///artifacts/current-action-name/output-artifact-name/path-to-json-file`

     如需詳細資訊，請參閱**範例 1**。
   + 如果您的 JSON 檔案位於來源儲存庫中，請使用：

     `file:///sources/WorkflowSource/path-to-json-file`

     如需詳細資訊，請參閱**範例 2**。

     **範例 1** – JSON 檔案位於輸出成品中

     ```
     ##My workflow YAML
     ...
     Actions:
       MyBuildAction:
         Identifier: aws/build@v1
         Outputs:
           Artifacts:
             - Name: ParamArtifact
               Files:
                 - params.json
         Configuration:
         ...
       MyDeployCFNStackAction:
         Identifier: aws/cfn-deploy@v1
         Configuration:
           parameter-overrides: file:///artifacts/MyDeployCFNStackAction/ParamArtifact/params.json
     ```

     **範例 2** – JSON 檔案位於名為 的資料夾中的來源儲存庫中 `my/folder`

     ```
     ##My workflow YAML
     ...
     Actions:
       MyDeployCloudFormationStack:
         Identifier: aws/cfn-deploy@v1
         Inputs:
           Sources:
             - WorkflowSource
         Configuration:
           parameter-overrides: file:///sources/WorkflowSource/my/folder/params.json
     ```

**使用逗號分隔的參數清單**
+ 使用下列格式在 `parameter-overrides` 屬性中新增參數名稱/值對：

  `param-1=value-1,param-2=value-2`

  例如，假設下列 CloudFormation 範本：

  ```
  ##My CloudFormation template
  
  Description: My CloudFormation template
  
  Parameters:
    InstanceType:
      Description: Defines the Amazon EC2 compute for the production server.
      Type: String
      Default: t2.micro
      AllowedValues:
        - t2.micro
        - t2.small
        - t3.medium
      
  Resources:
  ...
  ```

  ...您可以設定 `parameter-overrides` 屬性，如下所示：

  ```
  ##My workflow YAML
  ...
  Actions:
  ...
    DeployCloudFormationStack:
      Identifier: aws/cfn-deploy@v1
      Configuration:
        parameter-overrides: InstanceType=t3.medium,UseVPC=true
  ```
**注意**  
您可以使用 `undefined`做為值，指定沒有對應值的參數名稱。例如：  
`parameter-overrides: MyParameter=undefined`  
 效果是，在堆疊更新期間，CloudFormation 會使用指定參數名稱的現有參數值。

對應的 UI：
+ 組態索引標籤/進階/**參數覆寫**
+ 組態tab/Advanced/Parameter覆寫/**使用檔案指定覆寫**
+ 組態tab/Advanced/Parameter覆寫/**使用值集指定覆寫**

## no-execute-changeset
<a name="deploy.action.cfn.noexecutechangeset"></a>

(*DeployCloudFormationStack*/Configuration/**no-execute-changeset**)

(選用)

指定您是否希望 CodeCatalyst 建立 CloudFormation 變更集，然後在執行之前停止。這可讓您在 CloudFormation 主控台中檢閱變更集。如果您判斷變更集看起來不錯，請停用此選項，然後重新執行工作流程，讓 CodeCatalyst 可以在不停止的情況下建立和執行變更集。預設值是在不停止的情況下建立和執行變更集。如需詳細資訊，請參閱《 *AWS CLI 命令參考*》中的 CloudFormation [部署](https://docs.aws.amazon.com/cli/latest/reference/cloudformation/deploy/index.html)參數。如需檢視變更集的詳細資訊，請參閱*AWS CloudFormation 《 使用者指南*》中的[檢視變更集](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-changesets-view.html)。

對應的 UI：組態索引標籤/進階/**未執行變更集**

## fail-on-empty-changeset
<a name="deploy.action.cfn.failonemptychangeset"></a>

(*DeployCloudFormationStack*/Configuration/**fail-on-empty-changeset**)

(選用)

如果 CloudFormation 變更集為空，請指定您是否希望 CodeCatalyst 失敗**部署 CloudFormation 堆疊**動作。（如果變更集是空的，表示在最新的部署期間不會對堆疊進行任何變更。) 預設值是在變更集為空時允許動作繼續，即使堆疊未更新，也會傳回`UPDATE_COMPLETE`訊息。

如需此設定的詳細資訊，請參閱《 *AWS CLI 命令參考*》中的 CloudFormation [部署](https://docs.aws.amazon.com/cli/latest/reference/cloudformation/deploy/index.html)參數。如需變更集的詳細資訊，請參閱*AWS CloudFormation 《 使用者指南*》中的[使用變更集更新堆疊](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-changesets.html)。

對應的 UI：**空白變更集上的組態索引標籤/進階/失敗**

## disable-rollback
<a name="deploy.action.cfn.disablerollback"></a>

(*DeployCloudFormationStack*/Configuration/**disable-rollback**)

(選用)

指定您是否希望 CodeCatalyst 在堆疊部署失敗時復原堆疊部署。轉返會將堆疊傳回至上次已知的穩定狀態。預設為啟用轉返。如需此設定的詳細資訊，請參閱《 *AWS CLI 命令參考*》中的 CloudFormation [部署](https://docs.aws.amazon.com/cli/latest/reference/cloudformation/deploy/index.html)參數。

如需**部署 CloudFormation 堆疊**動作如何處理轉返的詳細資訊，請參閱 [設定轉返](deploy-consumption-enable-alarms.md)。

如需復原堆疊的詳細資訊，請參閱*AWS CloudFormation 《 使用者指南*》中的[堆疊失敗選項](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stack-failure-options.html)。

對應的 UI：組態索引標籤/進階/**停用復原**

## termination-protection
<a name="deploy.action.cfn.terminationprotection"></a>

(*DeployCloudFormationStack*/Configuration/**termination-protection**)

(選用)

指定您是否希望**部署 CloudFormation 堆疊**為其正在部署的堆疊新增終止保護。如果使用者嘗試刪除啟用終止保護的堆疊，則刪除會失敗，且堆疊及其狀態保持不變。預設為停用終止保護。如需詳細資訊，請參閱*AWS CloudFormation 《 使用者指南*》中的[防止堆疊遭到刪除](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-protect-stacks.html)。

對應的 UI：組態索引標籤/進階/**終止保護**

## timeout-in-minutes
<a name="deploy.action.cfn.timeoutinminutes"></a>

(*DeployCloudFormationStack*/Configuration/**timeout-in-minutes**)

(選用)

指定 CloudFormation 在逾時堆疊建立操作並將堆疊狀態設定為 之前應分配的時間量，以分鐘為單位`CREATE_FAILED`。如果 CloudFormation 無法在分配的時間內建立整個堆疊，操作便會因為逾時而失敗，並復原堆疊。

依預設，堆疊建立沒有逾時。不過，個別資源可能會因其實作的服務性質而有自己的逾時。例如，如果堆疊中的個別資源逾時，堆疊建立也會逾時，即使尚未達到您指定的堆疊建立逾時。

對應的 UI：組態索引標籤/進階/**CloudFormation 逾時**

## notification-arns
<a name="deploy.action.cfn.notificationarns"></a>

(*DeployCloudFormationStack*/Configuration/**notification-arns**)

(選用)

指定您希望 CodeCatalyst 傳送通知訊息的 Amazon SNS 主題 ARN。例如 `arn:aws:sns:us-east-1:111222333:MyTopic`。**部署 CloudFormation 堆疊**動作執行時，CodeCatalyst 會與 CloudFormation 協調，針對堆疊建立或更新程序期間發生的每個 CloudFormation 事件傳送一個通知。（事件會顯示在 CloudFormation 主控台的堆疊**事件**索引標籤中。) 您最多可以指定五個主題。如需詳細資訊，請參閱[什麼是 Amazon SNS？](https://docs.aws.amazon.com/sns/latest/dg/welcome.html)。

對應的 UI：組態索引標籤/進階/**通知 ARNs**

## monitor-alarm-arns
<a name="deploy.action.cfn.monitoralarmarns"></a>

(*DeployCloudFormationStack*/Configuration/**monitor-alarm-arns**)

(選用)

指定 Amazon CloudWatch 警示的 Amazon Resource Name (ARN)，以用作轉返觸發。例如 `arn:aws:cloudwatch::123456789012:alarm/MyAlarm`。您最多可以有五個轉返觸發。

**注意**  
如果您指定 CloudWatch 警示 ARN，您還需要設定其他許可，以啟用 動作來存取 CloudWatch。如需詳細資訊，請參閱[設定轉返](deploy-consumption-enable-alarms.md)。

對應的 UI：組態索引標籤/進階/**監控警示 ARNs **

## monitor-timeout-in-minutes
<a name="deploy.action.cfn.monitortimeinminutes"></a>

(*DeployCloudFormationStack*/Configuration/**monitor-timeout-in-minutes**)

(選用)

指定時間量，從 0 到 180 分鐘，在此期間CloudFormation 會監控指定的警示。部署所有堆疊資源*之後*，監控就會開始。如果警示在指定的監控時間內發生，則部署會失敗，CloudFormation 會復原整個堆疊操作。

預設：0. CloudFormation 只會在部署堆疊資源時監控警示，而不是在部署之後。

對應的 UI：組態索引標籤/進階/**監控時間**

## tags
<a name="deploy.action.cfn.tags"></a>

(*DeployCloudFormationStack*/Configuration/**tags**)

(選用)

指定要連接到 CloudFormation 堆疊的標籤。標籤是任意索引鍵/值組，可用於識別堆疊，例如成本分配。如需有關標籤定義及標籤使用方式的詳細資訊，請參閱《Amazon EC2 使用者指南》中的[標記您的資源](https://docs.aws.amazon.com/)。如需在 CloudFormation 中標記的詳細資訊，請參閱*AWS CloudFormation 《 使用者指南*》中的[設定 CloudFormation 堆疊選項](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cfn-console-add-tags.html)。

金鑰可以有英數字元或空格，且最多可有 127 個字元。值可以有英數字元或空格，且最多可有 255 個字元。

您最多可以為每個堆疊新增 50 個唯一的標籤。

對應的 UI：組態索引標籤/進階/**標籤**