

Doc AWS SDK 예제 GitHub 리포지토리에서 더 많은 SDK 예제를 사용할 수 있습니다. [AWS](https://github.com/awsdocs/aws-doc-sdk-examples) 

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# CloudFormation Tools for PowerShell V5를 사용한 예제
<a name="powershell_5_cloudformation_code_examples"></a>

다음 코드 예제에서는 AWS Tools for PowerShell V5를와 함께 사용하여 작업을 수행하고 일반적인 시나리오를 구현하는 방법을 보여줍니다 CloudFormation.

*작업*은 대규모 프로그램에서 발췌한 코드이며 컨텍스트에 맞춰 실행해야 합니다. 작업은 개별 서비스 함수를 직접적으로 호출하는 방법을 보여주며 관련 시나리오의 컨텍스트에 맞는 작업을 볼 수 있습니다.

각 예시에는 전체 소스 코드에 대한 링크가 포함되어 있으며, 여기에서 컨텍스트에 맞춰 코드를 설정하고 실행하는 방법에 대한 지침을 찾을 수 있습니다.

**Topics**
+ [작업](#actions)

## 작업
<a name="actions"></a>

### `Get-CFNStack`
<a name="cloudformation_DescribeStacks_powershell_5_topic"></a>

다음 코드 예시는 `Get-CFNStack`의 사용 방법을 보여줍니다.

**Tools for PowerShell V5**  
**예 1: 모든 사용자 스택을 설명하는 스택 인스턴스 컬렉션을 반환합니다.**  

```
Get-CFNStack
```
**예 2: 지정된 스택을 설명하는 스택 인스턴스를 반환합니다.**  

```
Get-CFNStack -StackName "myStack"
```
+  API 세부 정보는 *AWS Tools for PowerShell Cmdlet 참조(V5)*의 [DescribeStacks](https://docs.aws.amazon.com/powershell/v5/reference)를 참조하세요.

### `Get-CFNStackEvent`
<a name="cloudformation_DescribeStackEvents_powershell_5_topic"></a>

다음 코드 예시는 `Get-CFNStackEvent`의 사용 방법을 보여줍니다.

**Tools for PowerShell V5**  
**예 1: 지정된 스택에 대한 모든 스택 관련 이벤트를 반환합니다.**  

```
Get-CFNStackEvent -StackName "myStack"
```
+  API 세부 정보는 *AWS Tools for PowerShell Cmdlet 참조(V5)*의 [DescribeStackEvents](https://docs.aws.amazon.com/powershell/v5/reference)를 참조하세요.

### `Get-CFNStackResource`
<a name="cloudformation_DescribeStackResource_powershell_5_topic"></a>

다음 코드 예시는 `Get-CFNStackResource`의 사용 방법을 보여줍니다.

**Tools for PowerShell V5**  
**예 1: 논리적 ID "MyDBInstance"로 지정된 스택과 연결된 템플릿에서 식별된 리소스의 설명을 반환합니다.**  

```
Get-CFNStackResource -StackName "myStack" -LogicalResourceId "MyDBInstance"
```
+  API 세부 정보는 *AWS Tools for PowerShell Cmdlet 참조(V5)*의 [DescribeStackResource](https://docs.aws.amazon.com/powershell/v5/reference)를 참조하세요.

### `Get-CFNStackResourceList`
<a name="cloudformation_DescribeStackResources_powershell_5_topic"></a>

다음 코드 예시는 `Get-CFNStackResourceList`의 사용 방법을 보여줍니다.

**Tools for PowerShell V5**  
**예제 1: 지정된 스택과 연결된 최대 100개의 AWS 리소스에 대한 리소스 설명을 반환합니다. 스택과 연결된 모든 리소스의 세부 정보를 얻으려면 결과의 수동 페이징도 지원하는 Get-CFNStackResourceSummary를 사용하세요.**  

```
Get-CFNStackResourceList -StackName "myStack"
```
**예 2: 논리적 ID "Ec2Instance"로 지정된 스택과 연결된 템플릿에서 식별된 Amazon EC2 인스턴스의 설명을 반환합니다.**  

```
Get-CFNStackResourceList -StackName "myStack" -LogicalResourceId "Ec2Instance"
```
**예 3: 인스턴스 ID "i-123456"으로 식별되는 Amazon EC2 인스턴스를 포함하는 스택과 연결된 최대 100개의 리소스에 대한 설명을 반환합니다. 스택과 연결된 모든 리소스의 세부 정보를 얻으려면 결과의 수동 페이징도 지원하는 Get-CFNStackResourceSummary를 사용하세요.**  

```
Get-CFNStackResourceList -PhysicalResourceId "i-123456"
```
**예 4: 논리적 ID "Ec2Instance"로 지정된 스택의 템플릿에서 식별된 Amazon EC2 인스턴스의 설명을 반환합니다. 스택은 포함된 리소스의 물리적 리소스 ID를 사용하여 식별됩니다. 이 경우에는 인스턴스 ID가 "i-123456"인 Amazon EC2 인스턴스입니다. 템플릿 콘텐츠에 따라 다른 물리적 리소스를 사용하여 스택을 식별할 수도 있습니다(예: Amazon S3 버킷).**  

```
Get-CFNStackResourceList -PhysicalResourceId "i-123456" -LogicalResourceId "Ec2Instance"
```
+  API 세부 정보는 *AWS Tools for PowerShell Cmdlet 참조(V5)*의 [DescribeStackResources](https://docs.aws.amazon.com/powershell/v5/reference)를 참조하세요.

### `Get-CFNStackResourceSummary`
<a name="cloudformation_ListStackResources_powershell_5_topic"></a>

다음 코드 예시는 `Get-CFNStackResourceSummary`의 사용 방법을 보여줍니다.

**Tools for PowerShell V5**  
**예 1: 지정된 스택과 연결된 모든 리소스에 대한 설명을 반환합니다.**  

```
Get-CFNStackResourceSummary -StackName "myStack"
```
+  API 세부 정보는 **AWS Tools for PowerShell Cmdlet 참조(V5)의 [ListStackResources](https://docs.aws.amazon.com/powershell/v5/reference)를 참조하세요.

### `Get-CFNStackSummary`
<a name="cloudformation_ListStacks_powershell_5_topic"></a>

다음 코드 예시는 `Get-CFNStackSummary`의 사용 방법을 보여줍니다.

**Tools for PowerShell V5**  
**예 1: 모든 스택에 대한 요약 정보를 반환합니다.**  

```
Get-CFNStackSummary
```
**예 2: 현재 생성 중인 모든 스택에 대한 요약 정보를 반환합니다.**  

```
Get-CFNStackSummary -StackStatusFilter "CREATE_IN_PROGRESS"
```
**예 3: 현재 생성 중이거나 업데이트 중인 모든 스택에 대한 요약 정보를 반환합니다.**  

```
Get-CFNStackSummary -StackStatusFilter @("CREATE_IN_PROGRESS", "UPDATE_IN_PROGRESS")
```
+  API 세부 정보는 *AWS Tools for PowerShell Cmdlet 참조(V5)*의 [ListStacks](https://docs.aws.amazon.com/powershell/v5/reference)를 참조하세요.

### `Get-CFNTemplate`
<a name="cloudformation_GetTemplate_powershell_5_topic"></a>

다음 코드 예시는 `Get-CFNTemplate`의 사용 방법을 보여줍니다.

**Tools for PowerShell V5**  
**예 1: 지정된 스택과 연결된 템플릿을 반환합니다.**  

```
Get-CFNTemplate -StackName "myStack"
```
+  API 세부 정보는 *AWS Tools for PowerShell Cmdlet 참조(V5)*의 [GetTemplate](https://docs.aws.amazon.com/powershell/v5/reference)을 참조하세요.

### `Measure-CFNTemplateCost`
<a name="cloudformation_EstimateTemplateCost_powershell_5_topic"></a>

다음 코드 예시는 `Measure-CFNTemplateCost`의 사용 방법을 보여줍니다.

**Tools for PowerShell V5**  
**예제 1: 템플릿을 실행하는 데 필요한 리소스를 설명하는 쿼리 문자열과 함께 AWS 월별 단순 계산기 URL을 반환합니다. 템플릿은 지정된 Amazon S3 URL에서 가져오고 단일 사용자 지정 파라미터가 적용됩니다. 파라미터는 'ParameterKey' 및 'ParameterValue' 대신 'Key' 및 'Value'를 사용하여 지정할 수도 있습니다.**  

```
Measure-CFNTemplateCost -TemplateURL https://s3.amazonaws.com/amzn-s3-demo-bucket/templatefile.template `
                        -Region us-west-1 `
                        -Parameter @{ ParameterKey="KeyName"; ParameterValue="myKeyPairName" }
```
**예제 2: 템플릿을 실행하는 데 필요한 리소스를 설명하는 쿼리 문자열과 함께 AWS 월별 단순 계산기 URL을 반환합니다. 템플릿은 제공된 콘텐츠에서 구문 분석되고 사용자 지정 매개 변수가 적용됩니다. 이 예에서는 템플릿 콘텐츠가 두 개의 파라미터 'KeyName'과 'InstanceType'을 선언했다고 가정합니다. 사용자 지정 파라미터는 'ParameterKey' 및 'ParameterValue' 대신 'Key' 및 'Value'를 사용하여 지정할 수도 있습니다.**  

```
Measure-CFNTemplateCost -TemplateBody "{TEMPLATE CONTENT HERE}" `
                        -Parameter @( @{ ParameterKey="KeyName"; ParameterValue="myKeyPairName" },`
                                      @{ ParameterKey="InstanceType"; ParameterValue="m1.large" })
```
**예제 3: New-Object를 사용하여 템플릿 파라미터 세트를 빌드하고 템플릿을 실행하는 데 필요한 리소스를 설명하는 쿼리 문자열과 함께 AWS Simple Monthly Calculator URL을 반환합니다. 템플릿은 제공된 콘텐츠에서 구문 분석되고 사용자 지정 매개 변수를 포함합니다. 이 예에서는 템플릿 콘텐츠가 두 개의 파라미터 'KeyName'과 'InstanceType'을 선언했다고 가정합니다.**  

```
$p1 = New-Object -Type Amazon.CloudFormation.Model.Parameter
$p1.ParameterKey = "KeyName"
$p1.ParameterValue = "myKeyPairName"

$p2 = New-Object -Type Amazon.CloudFormation.Model.Parameter
$p2.ParameterKey = "InstanceType"
$p2.ParameterValue = "m1.large"

Measure-CFNTemplateCost -TemplateBody "{TEMPLATE CONTENT HERE}" -Parameter @( $p1, $p2 )
```
+  API 세부 정보는 *AWS Tools for PowerShell Cmdlet 참조(V5)*의 [EstimateTemplateCost](https://docs.aws.amazon.com/powershell/v5/reference)를 참조하세요.

### `New-CFNStack`
<a name="cloudformation_CreateStack_powershell_5_topic"></a>

다음 코드 예시는 `New-CFNStack`의 사용 방법을 보여줍니다.

**Tools for PowerShell V5**  
**예 1: 지정된 이름으로 새 스택을 생성합니다. 템플릿은 사용자 지정 파라미터를 사용하여 제공된 콘텐츠에서 구문 분석됩니다. 여기서, 'PK1' 및 'PK2'는 템플릿 콘텐츠에 선언된 파라미터의 이름을 나타내고, 'PV1' 및 'PV2'는 해당 파라미터의 값을 나타냅니다. 사용자 지정 파라미터는 'ParameterKey' 및 'ParameterValue' 대신 'Key' 및 'Value'를 사용하여 지정할 수도 있습니다. 스택 생성이 실패하면 롤백되지 않습니다.**  

```
New-CFNStack -StackName "myStack" `
             -TemplateBody "{TEMPLATE CONTENT HERE}" `
             -Parameter @( @{ ParameterKey="PK1"; ParameterValue="PV1" }, @{ ParameterKey="PK2"; ParameterValue="PV2" }) `
             -DisableRollback $true
```
**예 2: 지정된 이름으로 새 스택을 생성합니다. 템플릿은 사용자 지정 파라미터를 사용하여 제공된 콘텐츠에서 구문 분석됩니다. 여기서, 'PK1' 및 'PK2'는 템플릿 콘텐츠에 선언된 파라미터의 이름을 나타내고, 'PV1' 및 'PV2'는 해당 파라미터의 값을 나타냅니다. 사용자 지정 파라미터는 'ParameterKey' 및 'ParameterValue' 대신 'Key' 및 'Value'를 사용하여 지정할 수도 있습니다. 스택 생성이 실패하면 롤백됩니다.**  

```
$p1 = New-Object -Type Amazon.CloudFormation.Model.Parameter
$p1.ParameterKey = "PK1"
$p1.ParameterValue = "PV1"

$p2 = New-Object -Type Amazon.CloudFormation.Model.Parameter
$p2.ParameterKey = "PK2"
$p2.ParameterValue = "PV2"

New-CFNStack -StackName "myStack" `
             -TemplateBody "{TEMPLATE CONTENT HERE}" `
             -Parameter @( $p1, $p2 ) `
             -OnFailure "ROLLBACK"
```
**예 3: 지정된 이름으로 새 스택을 생성합니다. 템플릿은 사용자 지정 파라미터를 사용하여 Amazon S3 URL에서 가져옵니다. 여기서, 'PK1'은 템플릿 콘텐츠에 선언된 파라미터의 이름을 나타내고, 'PV1'은 해당 파라미터의 값을 나타냅니다. 사용자 지정 파라미터는 'ParameterKey' 및 'ParameterValue' 대신 'Key' 및 'Value'를 사용하여 지정할 수도 있습니다. 스택 생성이 실패하면 롤백됩니다(-DisableRollback \$1false를 지정하는 것과 동일).**  

```
New-CFNStack -StackName "myStack" `
             -TemplateURL https://s3.amazonaws.com/amzn-s3-demo-bucket/templatefile.template `
             -Parameter @{ ParameterKey="PK1"; ParameterValue="PV1" }
```
**예 4: 지정된 이름으로 새 스택을 생성합니다. 템플릿은 사용자 지정 파라미터를 사용하여 Amazon S3 URL에서 가져옵니다. 여기서, 'PK1'은 템플릿 콘텐츠에 선언된 파라미터의 이름을 나타내고, 'PV1'은 해당 파라미터의 값을 나타냅니다. 사용자 지정 파라미터는 'ParameterKey' 및 'ParameterValue' 대신 'Key' 및 'Value'를 사용하여 지정할 수도 있습니다. 스택 생성이 실패하면 롤백됩니다(-DisableRollback \$1false를 지정하는 것과 동일). 지정된 알림 AEN은 게시된 스택 관련 이벤트를 수신합니다.**  

```
New-CFNStack -StackName "myStack" `
             -TemplateURL https://s3.amazonaws.com/amzn-s3-demo-bucket/templatefile.template `
             -Parameter @{ ParameterKey="PK1"; ParameterValue="PV1" } `
             -NotificationARN @( "arn1", "arn2" )
```
+  API 세부 정보는 *AWS Tools for PowerShell Cmdlet 참조(V5)*의 [CreateStack](https://docs.aws.amazon.com/powershell/v5/reference)을 참조하세요.

### `Remove-CFNStack`
<a name="cloudformation_DeleteStack_powershell_5_topic"></a>

다음 코드 예시는 `Remove-CFNStack`의 사용 방법을 보여줍니다.

**Tools for PowerShell V5**  
**예 1: 지정된 스택을 삭제합니다.**  

```
Remove-CFNStack -StackName "myStack"
```
+  API 세부 정보는 *AWS Tools for PowerShell Cmdlet 참조(V5)*의 [DeleteStack](https://docs.aws.amazon.com/powershell/v5/reference)을 참조하세요.

### `Resume-CFNUpdateRollback`
<a name="cloudformation_ContinueUpdateRollback_powershell_5_topic"></a>

다음 코드 예시는 `Resume-CFNUpdateRollback`의 사용 방법을 보여줍니다.

**Tools for PowerShell V5**  
**예 1: 이름이 지정된 스택의 롤백을 계속합니다. 스택은 'UPDATE\$1ROLLBACK\$1FAILED' 상태여야 합니다. 계속된 롤백이 성공하면 스택은 'UPDATE\$1ROLLBACK\$1COMPLETE' 상태가 됩니다.**  

```
Resume-CFNUpdateRollback -StackName "myStack"
```
+  API 세부 정보는 *AWS Tools for PowerShell Cmdlet 참조(V5)*의 [ContinueUpdateRollback](https://docs.aws.amazon.com/powershell/v5/reference)을 참조하세요.

### `Stop-CFNUpdateStack`
<a name="cloudformation_CancelUpdateStack_powershell_5_topic"></a>

다음 코드 예시는 `Stop-CFNUpdateStack`의 사용 방법을 보여줍니다.

**Tools for PowerShell V5**  
**예 1: 지정된 스택에 대한 업데이트를 취소합니다.**  

```
Stop-CFNUpdateStack -StackName "myStack"
```
+  API 세부 정보는 *AWS Tools for PowerShell Cmdlet 참조(V5)*의 [CancelUpdateStack](https://docs.aws.amazon.com/powershell/v5/reference)을 참조하세요.

### `Test-CFNStack`
<a name="cloudformation_Test-CFNStack_powershell_5_topic"></a>

다음 코드 예시는 `Test-CFNStack`의 사용 방법을 보여줍니다.

**Tools for PowerShell V5**  
**예제 1: 스택이 UPDATE\$1ROLLBACK\$1COMPLETE, CREATE\$1COMPLETE, ROLLBACK\$1COMPLETE 또는 UPDATE\$1COMPLETE 상태 중 하나에 도달했는지 테스트합니다.**  

```
Test-CFNStack -StackName MyStack
```
**출력:**  

```
False
```
**예제 2: 스택이 UPDATE\$1COMPLETE 또는 UPDATE\$1ROLLBACK\$1COMPLETE 상태에 도달했는지 테스트합니다.**  

```
Test-CFNStack -StackName MyStack -Status UPDATE_COMPLETE,UPDATE_ROLLBACK_COMPLETE
```
**출력:**  

```
True
```
+  API 세부 정보는 *AWS Tools for PowerShell Cmdlet 참조(V5)*의 [Test-CFNStack](https://docs.aws.amazon.com/powershell/v5/reference)을 참조하세요.

### `Test-CFNTemplate`
<a name="cloudformation_ValidateTemplate_powershell_5_topic"></a>

다음 코드 예시는 `Test-CFNTemplate`의 사용 방법을 보여줍니다.

**Tools for PowerShell V5**  
**예 1: 지정된 템플릿 콘텐츠의 유효성을 확인합니다. 출력에는 템플릿의 기능, 설명 및 파라미터가 자세히 설명되어 있습니다.**  

```
Test-CFNTemplate -TemplateBody "{TEMPLATE CONTENT HERE}"
```
**예 2: Amazon S3 URL을 통해 액세스한 지정된 템플릿의 유효성을 확인합니다. 출력에는 템플릿의 기능, 설명 및 파라미터가 자세히 설명되어 있습니다.**  

```
Test-CFNTemplate -TemplateURL https://s3.amazonaws.com/amzn-s3-demo-bucket/templatefile.template
```
+  API 세부 정보는 *AWS Tools for PowerShell Cmdlet 참조(V5)*의 [ValidateTemplate](https://docs.aws.amazon.com/powershell/v5/reference)을 참조하세요.

### `Update-CFNStack`
<a name="cloudformation_UpdateStack_powershell_5_topic"></a>

다음 코드 예시는 `Update-CFNStack`의 사용 방법을 보여줍니다.

**Tools for PowerShell V5**  
**예 1: 지정된 템플릿 및 사용자 지정 파라미터를 사용하여 'myStack' 스택을 업데이트합니다. 'PK1'은 템플릿에 선언된 파라미터의 이름을 나타내고 'PV1'은 해당 값을 나타냅니다. 사용자 지정 파라미터는 'ParameterKey' 및 'ParameterValue' 대신 'Key' 및 'Value'를 사용하여 지정할 수도 있습니다.**  

```
Update-CFNStack -StackName "myStack" `
                -TemplateBody "{Template Content Here}" `
                -Parameter @{ ParameterKey="PK1"; ParameterValue="PV1" }
```
**예 2: 지정된 템플릿 및 사용자 지정 파라미터를 사용하여 'myStack' 스택을 업데이트합니다. 'PK1' 및 'PK2'는 템플릿에 선언된 파라미터의 이름을 나타내고, 'PV1' 및 'PV2'는 요청된 값을 나타냅니다. 사용자 지정 파라미터는 'ParameterKey' 및 'ParameterValue' 대신 'Key' 및 'Value'를 사용하여 지정할 수도 있습니다.**  

```
Update-CFNStack -StackName "myStack" `
                -TemplateBody "{Template Content Here}" `
                -Parameter @( @{ ParameterKey="PK1"; ParameterValue="PV1" }, @{ ParameterKey="PK2"; ParameterValue="PV2" } )
```
**예 3: 지정된 템플릿 및 사용자 지정 파라미터를 사용하여 'myStack' 스택을 업데이트합니다. 'PK1'은 템플릿에 선언된 파라미터의 이름을 나타내고 'PV2'는 해당 값을 나타냅니다. 사용자 지정 파라미터는 'ParameterKey' 및 'ParameterValue' 대신 'Key' 및 'Value'를 사용하여 지정할 수도 있습니다.**  

```
Update-CFNStack -StackName "myStack" -TemplateBody "{Template Content Here}" -Parameters @{ ParameterKey="PK1"; ParameterValue="PV1" }
```
**예 4: Amazon S3에서 가져온 지정된 템플릿 및 사용자 지정 파라미터를 사용하여 'myStack' 스택을 업데이트합니다. 'PK1' 및 'PK2'는 템플릿에 선언된 파라미터의 이름을 나타내고, 'PV1' 및 'PV2'는 요청된 값을 나타냅니다. 사용자 지정 파라미터는 'ParameterKey' 및 'ParameterValue' 대신 'Key' 및 'Value'를 사용하여 지정할 수도 있습니다.**  

```
Update-CFNStack -StackName "myStack" `
                -TemplateURL https://s3.amazonaws.com/amzn-s3-demo-bucket/templatefile.template `
                -Parameter @( @{ ParameterKey="PK1"; ParameterValue="PV1" }, @{ ParameterKey="PK2"; ParameterValue="PV2" } )
```
**예 5: Amazon S3에서 가져온 지정된 템플릿 및 사용자 지정 파라미터를 사용하여 이 예제에서 IAM 리소스를 포함하는 것으로 가정되는 'myStack' 스택을 업데이트합니다. 'PK1' 및 'PK2'는 템플릿에 선언된 파라미터의 이름을 나타내고, 'PV1' 및 'PV2'는 요청된 값을 나타냅니다. 사용자 지정 파라미터는 'ParameterKey' 및 'ParameterValue' 대신 'Key' 및 'Value'를 사용하여 지정할 수도 있습니다. IAM 리소스가 포함된 스택에서는 -Capabilities "CAPABILITY\$1IAM" 파라미터를 지정해야 합니다. 그렇지 않으면 업데이트가 실패하고 'InsufficientCapabilities' 오류가 발생합니다.**  

```
Update-CFNStack -StackName "myStack" `
                -TemplateURL https://s3.amazonaws.com/amzn-s3-demo-bucket/templatefile.template `
                -Parameter @( @{ ParameterKey="PK1"; ParameterValue="PV1" }, @{ ParameterKey="PK2"; ParameterValue="PV2" } ) `
                -Capabilities "CAPABILITY_IAM"
```
+  API 세부 정보는 *AWS Tools for PowerShell Cmdlet 참조(V5)*의 [UpdateStack](https://docs.aws.amazon.com/powershell/v5/reference)을 참조하세요.

### `Wait-CFNStack`
<a name="cloudformation_Wait-CFNStack_powershell_5_topic"></a>

다음 코드 예시는 `Wait-CFNStack`의 사용 방법을 보여줍니다.

**Tools for PowerShell V5**  
**예제 1: 스택이 UPDATE\$1ROLLBACK\$1COMPLETE, CREATE\$1COMPLETE, ROLLBACK\$1COMPLETE 또는 UPDATE\$1COMPLETE 상태 중 하나에 도달했는지 테스트합니다. 스택이 해당 상태 중 하나가 아닌 경우 상태를 다시 테스트하기 전에 명령이 2초 동안 대기합니다. 스택이 요청된 상태 중 하나에 도달하거나 기본 제한 시간인 60초가 경과할 때까지 이 작업이 반복됩니다. 제한 시간이 초과되면 예외가 발생합니다. 스택이 제한 시간 내에 요청된 상태 중 하나에 도달하면 파이프라인으로 반환됩니다.**  

```
$stack = Wait-CFNStack -StackName MyStack
```
**예제 2: 이 예제에서는 스택이 지정된 상태 중 하나에 도달할 때까지 총 5분(300초) 동안 대기합니다. 여기에서는 제한 시간 전에 해당 상태에 도달하므로 스택 객체가 파이프라인으로 반환됩니다.**  

```
Wait-CFNStack -StackName MyStack -Timeout 300 -Status CREATE_COMPLETE,ROLLBACK_COMPLETE
```
**출력:**  

```
Capabilities      : {CAPABILITY_IAM}
ChangeSetId       :
CreationTime      : 6/1/2017 9:29:33 AM
Description       : AWS CloudFormation Sample Template ec2_instance_with_instance_profile: Create an EC2 instance with an associated instance profile. **WARNING** This template creates one or more Amazon EC2
                    instances and an Amazon SQS queue. You will be billed for the AWS resources used if you create a stack from this template.
DisableRollback   : False
LastUpdatedTime   : 1/1/0001 12:00:00 AM
NotificationARNs  : {}
Outputs           : {}
Parameters        : {}
RoleARN           :
StackId           : arn:aws:cloudformation:us-west-2:123456789012:stack/MyStack/7ea87b50-46e7-11e7-9c9b-503a90a9c4d1
StackName         : MyStack
StackStatus       : CREATE_COMPLETE
StackStatusReason :
Tags              : {}
TimeoutInMinutes  : 0
```
**예제 3: 이 예제에서는 스택이 제한 시간(이 경우 기본값인 60초) 내에 요청된 상태 중 하나에 도달하지 않을 때의 오류 출력을 보여줍니다.**  

```
Wait-CFNStack -StackName MyStack -Status CREATE_COMPLETE,ROLLBACK_COMPLETE
```
**출력:**  

```
Wait-CFNStack : Timed out after 60 seconds waiting for CloudFormation stack MyStack in region us-west-2 to reach one of state(s): UPDATE_ROLLBACK_COMPLETE,CREATE_COMPLETE,ROLLBACK_COMPLETE,UPDATE_COMPLETE
At line:1 char:1
+ Wait-CFNStack -StackName MyStack -State CREATE_COMPLETE,ROLLBACK_COMPLETE
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidOperation: (Amazon.PowerShe...tCFNStackCmdlet:WaitCFNStackCmdlet) [Wait-CFNStack], InvalidOperationException
    + FullyQualifiedErrorId : InvalidOperationException,Amazon.PowerShell.Cmdlets.CFN.WaitCFNStackCmdlet
```
+  API 세부 정보는 *AWS Tools for PowerShell Cmdlet 참조(V5)*의 [Wait-CFNStack](https://docs.aws.amazon.com/powershell/v5/reference)을 참조하세요.