

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Contoh perintah operasi CloudFormation tumpukan untuk AWS CLI dan PowerShell
<a name="service_code_examples"></a>

Contoh baris perintah berikut menunjukkan bagaimana melakukan CloudFormation tindakan individu dengan AWS CLI dan PowerShell. Contoh-contoh ini hanya mencakup tindakan yang paling umum digunakan. Untuk daftar lengkap, lihat [https://docs.aws.amazon.com/cli/latest/reference/cloudformation/](https://docs.aws.amazon.com/cli/latest/reference/cloudformation/)di *AWS CLI Command Reference*.

Contoh dalam panduan ini menggunakan konvensi garis miring terbalik (\$1) untuk menunjukkan bahwa baris perintah panjang berlanjut pada baris berikutnya. 

**Topics**
+ [Batalkan pembaruan tumpukan](#cancel-update-stack-sdk)
+ [Terus mengembalikan pembaruan](#continue-update-rollback-sdk)
+ [Buat tumpukan](#create-stack-sdk)
+ [Buat tumpukan yang mencakup transformasi](#deploy-sdk)
+ [Hapus tumpukan](#delete-stack-sdk)
+ [Jelaskan peristiwa tumpukan](#describe-stack-events-sdk)
+ [Jelaskan sumber daya tumpukan](#describe-stack-resource-sdk)
+ [Jelaskan sumber daya tumpukan](#describe-stack-resources-sdk)
+ [Jelaskan tumpukan](#describe-stacks-sdk)
+ [Dapatkan template](#get-template-sdk)
+ [Daftar sumber daya tumpukan](#list-stack-resources-sdk)
+ [Daftar tumpukan](#list-stacks-sdk)
+ [Perbarui tumpukan](#update-stack-sdk)
+ [Validasi template Anda](#validate-template-sdk)
+ [Unggah artefak lokal ke bucket S3 dengan AWS CLI](using-cfn-cli-package.md)

## Batalkan pembaruan tumpukan
<a name="cancel-update-stack-sdk"></a>

Gunakan perintah [https://docs.aws.amazon.com/cli/latest/reference/cloudformation/cancel-update-stack.html](https://docs.aws.amazon.com/cli/latest/reference/cloudformation/cancel-update-stack.html)perintah untuk membatalkan pembaruan tumpukan. Untuk informasi selengkapnya, lihat [Batalkan pembaruan tumpukan](using-cfn-stack-update-cancel.md).

------
#### [ CLI ]

**AWS CLI**  
**Untuk membatalkan pembaruan tumpukan yang sedang berlangsung**  
`cancel-update-stack`Perintah berikut membatalkan pembaruan tumpukan pada `myteststack` tumpukan:  

```
aws cloudformation cancel-update-stack --stack-name myteststack
```
+  Untuk detail API, lihat [CancelUpdateStack](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/cloudformation/cancel-update-stack.html)di *Referensi AWS CLI Perintah*. 

------
#### [ PowerShell ]

**Alat untuk PowerShell V4**  
**Contoh 1: Membatalkan pembaruan pada tumpukan yang ditentukan.**  

```
Stop-CFNUpdateStack -StackName "myStack"
```
+  Untuk detail API, lihat [CancelUpdateStack](https://docs.aws.amazon.com/powershell/v4/reference)di *Referensi Alat AWS untuk PowerShell Cmdlet (V4)*. 

**Alat untuk PowerShell V5**  
**Contoh 1: Membatalkan pembaruan pada tumpukan yang ditentukan.**  

```
Stop-CFNUpdateStack -StackName "myStack"
```
+  Untuk detail API, lihat [CancelUpdateStack](https://docs.aws.amazon.com/powershell/v5/reference)di *Referensi Alat AWS untuk PowerShell Cmdlet (V5)*. 

------

## Terus mengembalikan pembaruan
<a name="continue-update-rollback-sdk"></a>

Gunakan [https://docs.aws.amazon.com/cli/latest/reference/cloudformation/continue-update-rollback.html](https://docs.aws.amazon.com/cli/latest/reference/cloudformation/continue-update-rollback.html)perintah untuk melanjutkan memutar kembali pembaruan. Untuk informasi selengkapnya, lihat [Terus mengembalikan pembaruan](using-cfn-updating-stacks-continueupdaterollback.md).

------
#### [ CLI ]

**AWS CLI**  
**Untuk mencoba kembali rollback pembaruan**  
`continue-update-rollback`Contoh berikut melanjutkan operasi rollback dari pembaruan tumpukan yang sebelumnya gagal.  

```
aws cloudformation continue-update-rollback \
    --stack-name my-stack
```
Perintah ini tidak menghasilkan output.  
+  Untuk detail API, lihat [ContinueUpdateRollback](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/cloudformation/continue-update-rollback.html)di *Referensi AWS CLI Perintah*. 

------
#### [ PowerShell ]

**Alat untuk PowerShell V4**  
**Contoh 1: Melanjutkan rollback dari tumpukan bernama, yang seharusnya dalam status 'UPDATE\$1ROLLBACK\$1FAILED'. Jika rollback lanjutan berhasil, tumpukan akan memasukkan status 'UPDATE\$1ROLLBACK\$1COMPLETE'.**  

```
Resume-CFNUpdateRollback -StackName "myStack"
```
+  Untuk detail API, lihat [ContinueUpdateRollback](https://docs.aws.amazon.com/powershell/v4/reference)di *Referensi Alat AWS untuk PowerShell Cmdlet (V4)*. 

**Alat untuk PowerShell V5**  
**Contoh 1: Melanjutkan rollback dari tumpukan bernama, yang seharusnya dalam status 'UPDATE\$1ROLLBACK\$1FAILED'. Jika rollback lanjutan berhasil, tumpukan akan memasukkan status 'UPDATE\$1ROLLBACK\$1COMPLETE'.**  

```
Resume-CFNUpdateRollback -StackName "myStack"
```
+  Untuk detail API, lihat [ContinueUpdateRollback](https://docs.aws.amazon.com/powershell/v5/reference)di *Referensi Alat AWS untuk PowerShell Cmdlet (V5)*. 

------

## Buat tumpukan
<a name="create-stack-sdk"></a>

Gunakan [https://docs.aws.amazon.com/cli/latest/reference/cloudformation/create-stack.html](https://docs.aws.amazon.com/cli/latest/reference/cloudformation/create-stack.html)perintah untuk membuat tumpukan. Anda harus memberikan nama tumpukan, lokasi templat yang valid, dan parameter masukan apa pun. Nama kunci parameter peka huruf besar/kecil. Jika Anda salah mengetik nama kunci parameter, CloudFormation tidak membuat tumpukan dan melaporkan bahwa template tidak berisi parameter itu.

Contoh berikut menunjukkan cara membuat tumpukan baru dengan nama, template, dan parameter input yang ditentukan. 

------
#### [ CLI ]

**AWS CLI**  
**Untuk membuat AWS CloudFormation tumpukan**  
`create-stacks`Perintah berikut membuat tumpukan dengan nama `myteststack` menggunakan `sampletemplate.json` template:  

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

```
{
    "StackId": "arn:aws:cloudformation:us-east-1:123456789012:stack/myteststack/466df9e0-0dff-08e3-8e2f-5088487c4896"
}
```
Untuk informasi selengkapnya, lihat Tumpukan di *Panduan AWS CloudFormation Pengguna*.  
+  Untuk detail API, lihat [CreateStack](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/cloudformation/create-stack.html)di *Referensi AWS CLI Perintah*. 

------
#### [ PowerShell ]

**Alat untuk PowerShell V4**  
**Contoh 1: Membuat tumpukan baru dengan nama yang ditentukan. Template diurai dari konten yang disediakan dengan parameter kustomisasi ('PK1' dan 'PK2' mewakili nama parameter yang dideklarasikan dalam konten template, 'PV1' dan 'PV2' mewakili nilai untuk parameter tersebut. Parameter kustomisasi juga dapat ditentukan menggunakan 'Kunci' dan 'Nilai' alih-alih 'ParameterKey' dan 'ParameterValue'. Jika pembuatan tumpukan gagal, itu tidak akan digulung kembali.**  

```
New-CFNStack -StackName "myStack" `
             -TemplateBody "{TEMPLATE CONTENT HERE}" `
             -Parameter @( @{ ParameterKey="PK1"; ParameterValue="PV1" }, @{ ParameterKey="PK2"; ParameterValue="PV2" }) `
             -DisableRollback $true
```
**Contoh 2: Membuat tumpukan baru dengan nama yang ditentukan. Template diurai dari konten yang disediakan dengan parameter kustomisasi ('PK1' dan 'PK2' mewakili nama parameter yang dideklarasikan dalam konten template, 'PV1' dan 'PV2' mewakili nilai untuk parameter tersebut. Parameter kustomisasi juga dapat ditentukan menggunakan 'Kunci' dan 'Nilai' alih-alih 'ParameterKey' dan 'ParameterValue'. Jika pembuatan tumpukan gagal, itu akan digulung kembali.**  

```
$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"
```
**Contoh 3: Membuat tumpukan baru dengan nama yang ditentukan. Template diperoleh dari URL Amazon S3 dengan parameter kustomisasi ('PK1' mewakili nama parameter yang dideklarasikan dalam konten template, 'PV1' mewakili nilai untuk parameter. Parameter kustomisasi juga dapat ditentukan menggunakan 'Kunci' dan 'Nilai' alih-alih 'ParameterKey' dan 'ParameterValue'. Jika pembuatan tumpukan gagal, itu akan digulung kembali (sama seperti menentukan - DisableRollback \$1false**).  

```
New-CFNStack -StackName "myStack" `
             -TemplateURL https://s3.amazonaws.com/amzn-s3-demo-bucket/templatefile.template `
             -Parameter @{ ParameterKey="PK1"; ParameterValue="PV1" }
```
**Contoh 4: Membuat tumpukan baru dengan nama yang ditentukan. Template diperoleh dari URL Amazon S3 dengan parameter kustomisasi ('PK1' mewakili nama parameter yang dideklarasikan dalam konten template, 'PV1' mewakili nilai untuk parameter. Parameter kustomisasi juga dapat ditentukan menggunakan 'Kunci' dan 'Nilai' alih-alih 'ParameterKey' dan 'ParameterValue'. Jika pembuatan tumpukan gagal, itu akan digulung kembali (sama seperti menentukan - DisableRollback \$1false). Pemberitahuan yang ditentukan AENs akan menerima acara terkait tumpukan yang dipublikasikan.**  

```
New-CFNStack -StackName "myStack" `
             -TemplateURL https://s3.amazonaws.com/amzn-s3-demo-bucket/templatefile.template `
             -Parameter @{ ParameterKey="PK1"; ParameterValue="PV1" } `
             -NotificationARN @( "arn1", "arn2" )
```
+  Untuk detail API, lihat [CreateStack](https://docs.aws.amazon.com/powershell/v4/reference)di *Referensi Alat AWS untuk PowerShell Cmdlet (V4)*. 

**Alat untuk PowerShell V5**  
**Contoh 1: Membuat tumpukan baru dengan nama yang ditentukan. Template diurai dari konten yang disediakan dengan parameter kustomisasi ('PK1' dan 'PK2' mewakili nama parameter yang dideklarasikan dalam konten template, 'PV1' dan 'PV2' mewakili nilai untuk parameter tersebut. Parameter kustomisasi juga dapat ditentukan menggunakan 'Kunci' dan 'Nilai' alih-alih 'ParameterKey' dan 'ParameterValue'. Jika pembuatan tumpukan gagal, itu tidak akan digulung kembali.**  

```
New-CFNStack -StackName "myStack" `
             -TemplateBody "{TEMPLATE CONTENT HERE}" `
             -Parameter @( @{ ParameterKey="PK1"; ParameterValue="PV1" }, @{ ParameterKey="PK2"; ParameterValue="PV2" }) `
             -DisableRollback $true
```
**Contoh 2: Membuat tumpukan baru dengan nama yang ditentukan. Template diurai dari konten yang disediakan dengan parameter kustomisasi ('PK1' dan 'PK2' mewakili nama parameter yang dideklarasikan dalam konten template, 'PV1' dan 'PV2' mewakili nilai untuk parameter tersebut. Parameter kustomisasi juga dapat ditentukan menggunakan 'Kunci' dan 'Nilai' alih-alih 'ParameterKey' dan 'ParameterValue'. Jika pembuatan tumpukan gagal, itu akan digulung kembali.**  

```
$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"
```
**Contoh 3: Membuat tumpukan baru dengan nama yang ditentukan. Template diperoleh dari URL Amazon S3 dengan parameter kustomisasi ('PK1' mewakili nama parameter yang dideklarasikan dalam konten template, 'PV1' mewakili nilai untuk parameter. Parameter kustomisasi juga dapat ditentukan menggunakan 'Kunci' dan 'Nilai' alih-alih 'ParameterKey' dan 'ParameterValue'. Jika pembuatan tumpukan gagal, itu akan digulung kembali (sama seperti menentukan - DisableRollback \$1false**).  

```
New-CFNStack -StackName "myStack" `
             -TemplateURL https://s3.amazonaws.com/amzn-s3-demo-bucket/templatefile.template `
             -Parameter @{ ParameterKey="PK1"; ParameterValue="PV1" }
```
**Contoh 4: Membuat tumpukan baru dengan nama yang ditentukan. Template diperoleh dari URL Amazon S3 dengan parameter kustomisasi ('PK1' mewakili nama parameter yang dideklarasikan dalam konten template, 'PV1' mewakili nilai untuk parameter. Parameter kustomisasi juga dapat ditentukan menggunakan 'Kunci' dan 'Nilai' alih-alih 'ParameterKey' dan 'ParameterValue'. Jika pembuatan tumpukan gagal, itu akan digulung kembali (sama seperti menentukan - DisableRollback \$1false). Pemberitahuan yang ditentukan AENs akan menerima acara terkait tumpukan yang dipublikasikan.**  

```
New-CFNStack -StackName "myStack" `
             -TemplateURL https://s3.amazonaws.com/amzn-s3-demo-bucket/templatefile.template `
             -Parameter @{ ParameterKey="PK1"; ParameterValue="PV1" } `
             -NotificationARN @( "arn1", "arn2" )
```
+  Untuk detail API, lihat [CreateStack](https://docs.aws.amazon.com/powershell/v5/reference)di *Referensi Alat AWS untuk PowerShell Cmdlet (V5)*. 

------

**catatan**  
Anda dapat menggunakan AWS CLI `--template-url` opsi untuk menentukan lokasi file template di Amazon S3 atau. AWS Systems Manager  
Untuk Amazon S3, URL harus dimulai dengan. `https://` Situs web statis S3 URLs tidak didukung.  

```
--template-url https://s3.region-code.amazonaws.com/bucket-name/template-name
```
Untuk AWS Systems Manager, gunakan format berikut:  

```
--template-url "ssm-doc://arn:aws:ssm:region-code:account-id:document/document-name"
```

## Buat tumpukan yang mencakup transformasi
<a name="deploy-sdk"></a>

Gunakan [https://docs.aws.amazon.com/cli/latest/reference/cloudformation/deploy/](https://docs.aws.amazon.com/cli/latest/reference/cloudformation/deploy/)perintah untuk membuat tumpukan yang mencakup transformasi. Saat Anda membuat tumpukan dari template yang menyertakan transformasi, Anda harus menggunakan set perubahan. `deploy`Perintah menggabungkan dua langkah (membuat set perubahan dan menjalankannya) menjadi satu perintah.

------
#### [ AWS CLI ]

`deploy`Perintah berikut membuat tumpukan dengan nama, template, dan parameter input yang ditentukan.

```
aws cloudformation deploy --stack-name myteststack \
  --template /path_to_template/my-template.json \
  --parameter-overrides Key1=Value1 Key2=Value2
```

------

## Hapus tumpukan
<a name="delete-stack-sdk"></a>

Gunakan [https://docs.aws.amazon.com/cli/latest/reference/cloudformation/delete-stack.html](https://docs.aws.amazon.com/cli/latest/reference/cloudformation/delete-stack.html)perintah untuk menghapus tumpukan. Untuk informasi selengkapnya, lihat [Hapus tumpukan](cfn-console-delete-stack.md).

------
#### [ CLI ]

**AWS CLI**  
**Untuk menghapus tumpukan**  
`delete-stack`Contoh berikut menghapus tumpukan yang ditentukan.  

```
aws cloudformation delete-stack \
    --stack-name my-stack
```
Perintah ini tidak menghasilkan output.  
+  Untuk detail API, lihat [DeleteStack](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/cloudformation/delete-stack.html)di *Referensi AWS CLI Perintah*. 

------
#### [ PowerShell ]

**Alat untuk PowerShell V4**  
**Contoh 1: Menghapus tumpukan yang ditentukan.**  

```
Remove-CFNStack -StackName "myStack"
```
+  Untuk detail API, lihat [DeleteStack](https://docs.aws.amazon.com/powershell/v4/reference)di *Referensi Alat AWS untuk PowerShell Cmdlet (V4)*. 

**Alat untuk PowerShell V5**  
**Contoh 1: Menghapus tumpukan yang ditentukan.**  

```
Remove-CFNStack -StackName "myStack"
```
+  Untuk detail API, lihat [DeleteStack](https://docs.aws.amazon.com/powershell/v5/reference)di *Referensi Alat AWS untuk PowerShell Cmdlet (V5)*. 

------

Jika penghapusan gagal dan mengembalikan `DELETE_FAILED` status, Anda dapat memilih untuk menghapus tumpukan dengan paksa menggunakan opsi. `--deletion-mode` Ini adalah nilai-nilai berikut yang dapat digunakan dengan`deletion-mode`:
+ `STANDARD`: Menghapus tumpukan secara normal. Ini adalah mode penghapusan default.
+ `FORCE_DELETE_STACK`: Menghapus tumpukan dan melewatkan semua sumber daya yang gagal dihapus.

------
#### [ AWS CLI ]

`delete-stack`Command force berikut menghapus `myteststack` tumpukan menggunakan `FORCE_DELETE_STACK` nilai dengan `deletion-mode` parameter:

```
aws cloudformation delete-stack --stack-name myteststack \
    --deletion-mode FORCE_DELETE_STACK
```

Perintah ini tidak menghasilkan output.

------

Setelah menggunakan`FORCE_DELETE_STACK`, Anda dapat menggunakan `list-stack-resources` perintah untuk membuat daftar sumber daya yang dilewati selama proses penghapusan tumpukan. Sumber daya yang disimpan akan menampilkan status DELETE\$1SKIPPED. Untuk informasi selengkapnya, lihat [Daftar sumber daya tumpukan](#list-stack-resources-sdk).

## Jelaskan peristiwa tumpukan
<a name="describe-stack-events-sdk"></a>

Gunakan [https://docs.aws.amazon.com/cli/latest/reference/cloudformation/describe-stack-events.html](https://docs.aws.amazon.com/cli/latest/reference/cloudformation/describe-stack-events.html)perintah untuk menggambarkan peristiwa tumpukan. Untuk informasi selengkapnya, lihat [Pantau kemajuan tumpukan](monitor-stack-progress.md).

------
#### [ CLI ]

**AWS CLI**  
**Untuk menggambarkan peristiwa tumpukan**  
`describe-stack-events`Contoh berikut menampilkan 2 peristiwa terbaru untuk tumpukan tertentu.  

```
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=="
}
```
+  Untuk detail API, lihat [DescribeStackEvents](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/cloudformation/describe-stack-events.html)di *Referensi AWS CLI Perintah*. 

------
#### [ PowerShell ]

**Alat untuk PowerShell V4**  
**Contoh 1: Mengembalikan semua peristiwa terkait tumpukan untuk tumpukan tertentu.**  

```
Get-CFNStackEvent -StackName "myStack"
```
+  Untuk detail API, lihat [DescribeStackEvents](https://docs.aws.amazon.com/powershell/v4/reference)di *Referensi Alat AWS untuk PowerShell Cmdlet (V4)*. 

**Alat untuk PowerShell V5**  
**Contoh 1: Mengembalikan semua peristiwa terkait tumpukan untuk tumpukan tertentu.**  

```
Get-CFNStackEvent -StackName "myStack"
```
+  Untuk detail API, lihat [DescribeStackEvents](https://docs.aws.amazon.com/powershell/v5/reference)di *Referensi Alat AWS untuk PowerShell Cmdlet (V5)*. 

------

## Jelaskan sumber daya tumpukan
<a name="describe-stack-resource-sdk"></a>

------
#### [ CLI ]

**AWS CLI**  
**Untuk mendapatkan informasi tentang sumber daya tumpukan**  
`describe-stack-resource`Contoh berikut menampilkan rincian untuk sumber daya yang dinamai `MyFunction` dalam tumpukan tertentu.  

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

```
{
    "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"
        }
    }
}
```
+  Untuk detail API, lihat [DescribeStackResource](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/cloudformation/describe-stack-resource.html)di *Referensi AWS CLI Perintah*. 

------
#### [ PowerShell ]

**Alat untuk PowerShell V4**  
**Contoh 1: Mengembalikan deskripsi sumber daya yang diidentifikasi dalam template yang terkait dengan tumpukan yang ditentukan oleh ID logis DBInstance “Saya”.**  

```
Get-CFNStackResource -StackName "myStack" -LogicalResourceId "MyDBInstance"
```
+  Untuk detail API, lihat [DescribeStackResource](https://docs.aws.amazon.com/powershell/v4/reference)di *Referensi Alat AWS untuk PowerShell Cmdlet (V4)*. 

**Alat untuk PowerShell V5**  
**Contoh 1: Mengembalikan deskripsi sumber daya yang diidentifikasi dalam template yang terkait dengan tumpukan yang ditentukan oleh ID logis DBInstance “Saya”.**  

```
Get-CFNStackResource -StackName "myStack" -LogicalResourceId "MyDBInstance"
```
+  Untuk detail API, lihat [DescribeStackResource](https://docs.aws.amazon.com/powershell/v5/reference)di *Referensi Alat AWS untuk PowerShell Cmdlet (V5)*. 

------

## Jelaskan sumber daya tumpukan
<a name="describe-stack-resources-sdk"></a>

------
#### [ CLI ]

**AWS CLI**  
**Untuk mendapatkan informasi tentang sumber daya tumpukan**  
`describe-stack-resources`Contoh berikut menampilkan rincian untuk sumber daya dalam tumpukan tertentu.  

```
aws cloudformation describe-stack-resources \
    --stack-name my-stack
```
Output:  

```
{
    "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"
            }
        }
    ]
}
```
+  Untuk detail API, lihat [DescribeStackResources](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/cloudformation/describe-stack-resources.html)di *Referensi AWS CLI Perintah*. 

------
#### [ PowerShell ]

**Alat untuk PowerShell V4**  
**Contoh 1: Mengembalikan deskripsi AWS sumber daya hingga 100 sumber daya yang terkait dengan tumpukan yang ditentukan. Untuk mendapatkan rincian semua sumber daya yang terkait dengan tumpukan gunakan Get- CFNStackResourceSummary, yang juga mendukung paging manual hasil.**  

```
Get-CFNStackResourceList -StackName "myStack"
```
**Contoh 2: Mengembalikan deskripsi instans Amazon EC2 yang diidentifikasi dalam template yang terkait dengan tumpukan yang ditentukan oleh ID logis “Ec2Instance”.**  

```
Get-CFNStackResourceList -StackName "myStack" -LogicalResourceId "Ec2Instance"
```
**Contoh 3: Mengembalikan deskripsi hingga 100 sumber daya yang terkait dengan tumpukan yang berisi instans Amazon EC2 yang diidentifikasi oleh ID instans “i-123456". Untuk mendapatkan rincian semua sumber daya yang terkait dengan tumpukan gunakan Get- CFNStackResourceSummary, yang juga mendukung paging manual hasil.**  

```
Get-CFNStackResourceList -PhysicalResourceId "i-123456"
```
**Contoh 4: Mengembalikan deskripsi instans Amazon EC2 yang diidentifikasi oleh ID logis “Ec2Instance” dalam template untuk tumpukan. Tumpukan diidentifikasi menggunakan ID sumber daya fisik dari sumber daya yang dikandungnya, dalam hal ini juga instance Amazon EC2 dengan ID instans “i-123456". Sumber daya fisik yang berbeda juga dapat digunakan untuk mengidentifikasi tumpukan tergantung pada konten template, misalnya bucket Amazon S3.**  

```
Get-CFNStackResourceList -PhysicalResourceId "i-123456" -LogicalResourceId "Ec2Instance"
```
+  Untuk detail API, lihat [DescribeStackResources](https://docs.aws.amazon.com/powershell/v4/reference)di *Referensi Alat AWS untuk PowerShell Cmdlet (V4)*. 

**Alat untuk PowerShell V5**  
**Contoh 1: Mengembalikan deskripsi AWS sumber daya hingga 100 sumber daya yang terkait dengan tumpukan yang ditentukan. Untuk mendapatkan rincian semua sumber daya yang terkait dengan tumpukan gunakan Get- CFNStackResourceSummary, yang juga mendukung paging manual hasil.**  

```
Get-CFNStackResourceList -StackName "myStack"
```
**Contoh 2: Mengembalikan deskripsi instans Amazon EC2 yang diidentifikasi dalam template yang terkait dengan tumpukan yang ditentukan oleh ID logis “Ec2Instance”.**  

```
Get-CFNStackResourceList -StackName "myStack" -LogicalResourceId "Ec2Instance"
```
**Contoh 3: Mengembalikan deskripsi hingga 100 sumber daya yang terkait dengan tumpukan yang berisi instans Amazon EC2 yang diidentifikasi oleh ID instans “i-123456". Untuk mendapatkan rincian semua sumber daya yang terkait dengan tumpukan gunakan Get- CFNStackResourceSummary, yang juga mendukung paging manual hasil.**  

```
Get-CFNStackResourceList -PhysicalResourceId "i-123456"
```
**Contoh 4: Mengembalikan deskripsi instans Amazon EC2 yang diidentifikasi oleh ID logis “Ec2Instance” dalam template untuk tumpukan. Tumpukan diidentifikasi menggunakan ID sumber daya fisik dari sumber daya yang dikandungnya, dalam hal ini juga instance Amazon EC2 dengan ID instans “i-123456". Sumber daya fisik yang berbeda juga dapat digunakan untuk mengidentifikasi tumpukan tergantung pada konten template, misalnya bucket Amazon S3.**  

```
Get-CFNStackResourceList -PhysicalResourceId "i-123456" -LogicalResourceId "Ec2Instance"
```
+  Untuk detail API, lihat [DescribeStackResources](https://docs.aws.amazon.com/powershell/v5/reference)di *Referensi Alat AWS untuk PowerShell Cmdlet (V5)*. 

------

## Jelaskan tumpukan
<a name="describe-stacks-sdk"></a>

------
#### [ CLI ]

**AWS CLI**  
**Untuk menggambarkan AWS CloudFormation tumpukan**  
`describe-stacks`Perintah berikut menunjukkan informasi ringkasan untuk `myteststack` tumpukan:  

```
aws cloudformation describe-stacks --stack-name myteststack
```
Output:  

```
{
    "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
        }
    ]
}
```
Untuk informasi selengkapnya, lihat Tumpukan di *Panduan AWS CloudFormation Pengguna*.  
+  Untuk detail API, lihat [DescribeStacks](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/cloudformation/describe-stacks.html)di *Referensi AWS CLI Perintah*. 

------
#### [ Go ]

**SDK untuk Go V2**  
 Ada lebih banyak tentang GitHub. Temukan contoh lengkapnya dan pelajari cara mengatur dan menjalankannya di [Repositori Contoh Kode AWS](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/gov2/workflows/user_pools_and_lambda_triggers#code-examples). 

```
import (
	"context"
	"log"

	"github.com/aws/aws-sdk-go-v2/aws"
	"github.com/aws/aws-sdk-go-v2/service/cloudformation"
)

// StackOutputs defines a map of outputs from a specific stack.
type StackOutputs map[string]string

type CloudFormationActions struct {
	CfnClient *cloudformation.Client
}

// GetOutputs gets the outputs from a CloudFormation stack and puts them into a structured format.
func (actor CloudFormationActions) GetOutputs(ctx context.Context, stackName string) StackOutputs {
	output, err := actor.CfnClient.DescribeStacks(ctx, &cloudformation.DescribeStacksInput{
		StackName: aws.String(stackName),
	})
	if err != nil || len(output.Stacks) == 0 {
		log.Panicf("Couldn't find a CloudFormation stack named %v. Here's why: %v\n", stackName, err)
	}
	stackOutputs := StackOutputs{}
	for _, out := range output.Stacks[0].Outputs {
		stackOutputs[*out.OutputKey] = *out.OutputValue
	}
	return stackOutputs
}
```
+  Untuk detail API, lihat [DescribeStacks](https://pkg.go.dev/github.com/aws/aws-sdk-go-v2/service/cloudformation#Client.DescribeStacks)di *Referensi AWS SDK untuk Go API*. 

------
#### [ PowerShell ]

**Alat untuk PowerShell V4**  
**Contoh 1: Mengembalikan koleksi instance Stack yang menjelaskan semua tumpukan pengguna.**  

```
Get-CFNStack
```
**Contoh 2: Mengembalikan instance Stack yang menjelaskan tumpukan yang ditentukan**  

```
Get-CFNStack -StackName "myStack"
```
+  Untuk detail API, lihat [DescribeStacks](https://docs.aws.amazon.com/powershell/v4/reference)di *Referensi Alat AWS untuk PowerShell Cmdlet (V4)*. 

**Alat untuk PowerShell V5**  
**Contoh 1: Mengembalikan koleksi instance Stack yang menjelaskan semua tumpukan pengguna.**  

```
Get-CFNStack
```
**Contoh 2: Mengembalikan instance Stack yang menjelaskan tumpukan yang ditentukan**  

```
Get-CFNStack -StackName "myStack"
```
+  Untuk detail API, lihat [DescribeStacks](https://docs.aws.amazon.com/powershell/v5/reference)di *Referensi Alat AWS untuk PowerShell Cmdlet (V5)*. 

------

Secara default, `describe-stacks` perintah mengembalikan nilai parameter. Untuk mencegah nilai parameter sensitif seperti kata sandi dikembalikan, sertakan `NoEcho` properti yang disetel ke `TRUE` dalam CloudFormation templat Anda.

**penting**  
Menggunakan `NoEcho` atribut tidak menutupi informasi apa pun yang disimpan sebagai berikut:  
Bagian `Metadata` template. CloudFormation tidak mengubah, memodifikasi, atau menyunting informasi apa pun yang Anda sertakan di `Metadata` bagian ini. Untuk informasi selengkapnya, lihat [Metadata](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html).
Bagian `Outputs` template. Untuk informasi selengkapnya, lihat [Output](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/outputs-section-structure.html).
`Metadata`Atribut definisi sumber daya. Untuk informasi lebih lanjut, lihat [Atribut `Metadata`](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-attribute-metadata.html).
Kami sangat menyarankan Anda untuk tidak menggunakan mekanisme ini untuk memasukkan informasi sensitif, seperti kata sandi atau rahasia.

**penting**  
Daripada menyematkan informasi sensitif secara langsung di CloudFormation template Anda, kami sarankan Anda menggunakan parameter dinamis dalam template tumpukan untuk mereferensikan informasi sensitif yang disimpan dan dikelola di luar CloudFormation, seperti di AWS Systems Manager Parameter Store atau AWS Secrets Manager.  
Untuk informasi selengkapnya, lihat Do [not embed credentials dalam praktik terbaik template Anda](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/security-best-practices.html#creds).

## Dapatkan template
<a name="get-template-sdk"></a>

------
#### [ CLI ]

**AWS CLI**  
**Untuk melihat badan template untuk AWS CloudFormation tumpukan**  
`get-template`Perintah berikut menunjukkan template untuk `myteststack` tumpukan:  

```
aws cloudformation get-template --stack-name myteststack
```
Output:  

```
{
    "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"
                }
            }
        }
    }
}
```
+  Untuk detail API, lihat [GetTemplate](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/cloudformation/get-template.html)di *Referensi AWS CLI Perintah*. 

------
#### [ PowerShell ]

**Alat untuk PowerShell V4**  
**Contoh 1: Mengembalikan template yang terkait dengan tumpukan tertentu.**  

```
Get-CFNTemplate -StackName "myStack"
```
+  Untuk detail API, lihat [GetTemplate](https://docs.aws.amazon.com/powershell/v4/reference)di *Referensi Alat AWS untuk PowerShell Cmdlet (V4)*. 

**Alat untuk PowerShell V5**  
**Contoh 1: Mengembalikan template yang terkait dengan tumpukan tertentu.**  

```
Get-CFNTemplate -StackName "myStack"
```
+  Untuk detail API, lihat [GetTemplate](https://docs.aws.amazon.com/powershell/v5/reference)di *Referensi Alat AWS untuk PowerShell Cmdlet (V5)*. 

------

## Daftar sumber daya tumpukan
<a name="list-stack-resources-sdk"></a>

------
#### [ CLI ]

**AWS CLI**  
**Untuk membuat daftar sumber daya dalam tumpukan**  
Perintah berikut menampilkan daftar sumber daya dalam tumpukan yang ditentukan.  

```
aws cloudformation list-stack-resources \
    --stack-name my-stack
```
Output:  

```
{
    "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"
            }
        }
    ]
}
```
+  Untuk detail API, lihat [ListStackResources](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/cloudformation/list-stack-resources.html)di *Referensi AWS CLI Perintah*. 

------
#### [ PowerShell ]

**Alat untuk PowerShell V4**  
**Contoh 1: Mengembalikan deskripsi dari semua sumber daya yang terkait dengan tumpukan tertentu.**  

```
Get-CFNStackResourceSummary -StackName "myStack"
```
+  Untuk detail API, lihat [ListStackResources](https://docs.aws.amazon.com/powershell/v4/reference)di *Referensi Alat AWS untuk PowerShell Cmdlet (V4)*. 

**Alat untuk PowerShell V5**  
**Contoh 1: Mengembalikan deskripsi dari semua sumber daya yang terkait dengan tumpukan tertentu.**  

```
Get-CFNStackResourceSummary -StackName "myStack"
```
+  Untuk detail API, lihat [ListStackResources](https://docs.aws.amazon.com/powershell/v5/reference)di *Referensi Alat AWS untuk PowerShell Cmdlet (V5)*. 

------

## Daftar tumpukan
<a name="list-stacks-sdk"></a>

Gunakan [https://docs.aws.amazon.com/cli/latest/reference/cloudformation/list-stacks.html](https://docs.aws.amazon.com/cli/latest/reference/cloudformation/list-stacks.html)perintah untuk membuat daftar tumpukan. Untuk daftar hanya tumpukan dengan kode status yang ditentukan, sertakan `--stack-status-filter` opsi. Anda dapat menentukan satu atau lebih kode status tumpukan untuk `--stack-status-filter` opsi tersebut. Untuk informasi selengkapnya, lihat [Kode status tumpukan](view-stack-events.md#cfn-console-view-stack-data-resources-status-codes).

------
#### [ CLI ]

**AWS CLI**  
**Untuk daftar AWS CloudFormation tumpukan**  
`list-stacks`Perintah berikut menunjukkan ringkasan semua tumpukan yang memiliki status`CREATE_COMPLETE`:  

```
aws cloudformation list-stacks --stack-status-filter CREATE_COMPLETE
```
Output:  

```
[
    {
        "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"
    }
]
```
+  Untuk detail API, lihat [ListStacks](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/cloudformation/list-stacks.html)di *Referensi AWS CLI Perintah*. 

------
#### [ PowerShell ]

**Alat untuk PowerShell V4**  
**Contoh 1: Mengembalikan informasi ringkasan untuk semua tumpukan.**  

```
Get-CFNStackSummary
```
**Contoh 2: Mengembalikan informasi ringkasan untuk semua tumpukan yang sedang dibuat.**  

```
Get-CFNStackSummary -StackStatusFilter "CREATE_IN_PROGRESS"
```
**Contoh 3: Mengembalikan informasi ringkasan untuk semua tumpukan yang sedang dibuat atau diperbarui.**  

```
Get-CFNStackSummary -StackStatusFilter @("CREATE_IN_PROGRESS", "UPDATE_IN_PROGRESS")
```
+  Untuk detail API, lihat [ListStacks](https://docs.aws.amazon.com/powershell/v4/reference)di *Referensi Alat AWS untuk PowerShell Cmdlet (V4)*. 

**Alat untuk PowerShell V5**  
**Contoh 1: Mengembalikan informasi ringkasan untuk semua tumpukan.**  

```
Get-CFNStackSummary
```
**Contoh 2: Mengembalikan informasi ringkasan untuk semua tumpukan yang sedang dibuat.**  

```
Get-CFNStackSummary -StackStatusFilter "CREATE_IN_PROGRESS"
```
**Contoh 3: Mengembalikan informasi ringkasan untuk semua tumpukan yang sedang dibuat atau diperbarui.**  

```
Get-CFNStackSummary -StackStatusFilter @("CREATE_IN_PROGRESS", "UPDATE_IN_PROGRESS")
```
+  Untuk detail API, lihat [ListStacks](https://docs.aws.amazon.com/powershell/v5/reference)di *Referensi Alat AWS untuk PowerShell Cmdlet (V5)*. 

------

## Perbarui tumpukan
<a name="update-stack-sdk"></a>

Gunakan perintah [https://docs.aws.amazon.com/cli/latest/reference/cloudformation/update-stack.html](https://docs.aws.amazon.com/cli/latest/reference/cloudformation/update-stack.html) untuk memperbarui tumpukan secara langsung. Anda menentukan tumpukan, dan parameter nilai dan kemampuan yang akan diperbarui, dan, jika Anda ingin menggunakan templat yang diperbarui, nama templat. Untuk informasi selengkapnya, lihat [Perbarui tumpukan secara langsung](using-cfn-updating-stacks-direct.md).

------
#### [ CLI ]

**AWS CLI**  
**Untuk memperbarui AWS CloudFormation tumpukan**  
`update-stack`Perintah berikut memperbarui template dan parameter input untuk `mystack` tumpukan:  

```
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`Perintah berikut memperbarui hanya nilai `SubnetIDs` parameter untuk `mystack` tumpukan. Jika Anda tidak menentukan nilai parameter, nilai default yang ditentukan dalam template digunakan:  

```
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`Perintah berikut menambahkan dua topik notifikasi `mystack` tumpukan ke tumpukan:  

```
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"
```
Untuk informasi selengkapnya, lihat [AWS CloudFormation tumpukan pembaruan](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks.html) di *Panduan AWS CloudFormation Pengguna*.  
+  Untuk detail API, lihat [UpdateStack](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/cloudformation/update-stack.html)di *Referensi AWS CLI Perintah*. 

------
#### [ PowerShell ]

**Alat untuk PowerShell V4**  
**Contoh 1: Memperbarui tumpukan 'MyStack' dengan template dan parameter kustomisasi yang ditentukan. 'PK1' mewakili nama parameter yang dideklarasikan dalam template dan 'PV1' mewakili nilainya. Parameter kustomisasi juga dapat ditentukan menggunakan 'Kunci' dan 'Nilai' alih-alih 'ParameterKey' dan 'ParameterValue'.**  

```
Update-CFNStack -StackName "myStack" `
                -TemplateBody "{Template Content Here}" `
                -Parameter @{ ParameterKey="PK1"; ParameterValue="PV1" }
```
**Contoh 2: Memperbarui tumpukan 'MyStack' dengan template dan parameter kustomisasi yang ditentukan. 'PK1' dan 'PK2' mewakili nama parameter yang dideklarasikan dalam templat, 'PV1' dan 'PV2' mewakili nilai yang diminta. Parameter kustomisasi juga dapat ditentukan menggunakan 'Kunci' dan 'Nilai' alih-alih 'ParameterKey' dan 'ParameterValue'.**  

```
Update-CFNStack -StackName "myStack" `
                -TemplateBody "{Template Content Here}" `
                -Parameter @( @{ ParameterKey="PK1"; ParameterValue="PV1" }, @{ ParameterKey="PK2"; ParameterValue="PV2" } )
```
**Contoh 3: Memperbarui tumpukan 'MyStack' dengan template dan parameter kustomisasi yang ditentukan. 'PK1' mewakili nama parameter yang dideklarasikan dalam template dan 'PV2' mewakili nilainya. Parameter kustomisasi juga dapat ditentukan menggunakan 'Kunci' dan 'Nilai' alih-alih 'ParameterKey' dan 'ParameterValue'.**  

```
Update-CFNStack -StackName "myStack" -TemplateBody "{Template Content Here}" -Parameters @{ ParameterKey="PK1"; ParameterValue="PV1" }
```
**Contoh 4: Memperbarui tumpukan 'MyStack' dengan templat yang ditentukan, diperoleh dari Amazon S3, dan parameter penyesuaian. 'PK1' dan 'PK2' mewakili nama parameter yang dideklarasikan dalam templat, 'PV1' dan 'PV2' mewakili nilai yang diminta. Parameter kustomisasi juga dapat ditentukan menggunakan 'Kunci' dan 'Nilai' alih-alih 'ParameterKey' dan 'ParameterValue'.**  

```
Update-CFNStack -StackName "myStack" `
                -TemplateURL https://s3.amazonaws.com/amzn-s3-demo-bucket/templatefile.template `
                -Parameter @( @{ ParameterKey="PK1"; ParameterValue="PV1" }, @{ ParameterKey="PK2"; ParameterValue="PV2" } )
```
**Contoh 5: Memperbarui tumpukan 'MyStack', yang diasumsikan dalam contoh ini berisi sumber daya IAM, dengan templat yang ditentukan, diperoleh dari Amazon S3, dan parameter penyesuaian. 'PK1' dan 'PK2' mewakili nama parameter yang dideklarasikan dalam templat, 'PV1' dan 'PV2' mewakili nilai yang diminta. Parameter kustomisasi juga dapat ditentukan menggunakan 'Kunci' dan 'Nilai' alih-alih 'ParameterKey' dan 'ParameterValue'. Tumpukan yang berisi sumber daya IAM mengharuskan Anda untuk menentukan parameter -Capabilities “CAPABILITY\$1IAM” jika tidak pembaruan akan gagal dengan kesalahan ''. 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"
```
+  Untuk detail API, lihat [UpdateStack](https://docs.aws.amazon.com/powershell/v4/reference)di *Referensi Alat AWS untuk PowerShell Cmdlet (V4)*. 

**Alat untuk PowerShell V5**  
**Contoh 1: Memperbarui tumpukan 'MyStack' dengan template dan parameter kustomisasi yang ditentukan. 'PK1' mewakili nama parameter yang dideklarasikan dalam template dan 'PV1' mewakili nilainya. Parameter kustomisasi juga dapat ditentukan menggunakan 'Kunci' dan 'Nilai' alih-alih 'ParameterKey' dan 'ParameterValue'.**  

```
Update-CFNStack -StackName "myStack" `
                -TemplateBody "{Template Content Here}" `
                -Parameter @{ ParameterKey="PK1"; ParameterValue="PV1" }
```
**Contoh 2: Memperbarui tumpukan 'MyStack' dengan template dan parameter kustomisasi yang ditentukan. 'PK1' dan 'PK2' mewakili nama parameter yang dideklarasikan dalam templat, 'PV1' dan 'PV2' mewakili nilai yang diminta. Parameter kustomisasi juga dapat ditentukan menggunakan 'Kunci' dan 'Nilai' alih-alih 'ParameterKey' dan 'ParameterValue'.**  

```
Update-CFNStack -StackName "myStack" `
                -TemplateBody "{Template Content Here}" `
                -Parameter @( @{ ParameterKey="PK1"; ParameterValue="PV1" }, @{ ParameterKey="PK2"; ParameterValue="PV2" } )
```
**Contoh 3: Memperbarui tumpukan 'MyStack' dengan template dan parameter kustomisasi yang ditentukan. 'PK1' mewakili nama parameter yang dideklarasikan dalam template dan 'PV2' mewakili nilainya. Parameter kustomisasi juga dapat ditentukan menggunakan 'Kunci' dan 'Nilai' alih-alih 'ParameterKey' dan 'ParameterValue'.**  

```
Update-CFNStack -StackName "myStack" -TemplateBody "{Template Content Here}" -Parameters @{ ParameterKey="PK1"; ParameterValue="PV1" }
```
**Contoh 4: Memperbarui tumpukan 'MyStack' dengan templat yang ditentukan, diperoleh dari Amazon S3, dan parameter penyesuaian. 'PK1' dan 'PK2' mewakili nama parameter yang dideklarasikan dalam templat, 'PV1' dan 'PV2' mewakili nilai yang diminta. Parameter kustomisasi juga dapat ditentukan menggunakan 'Kunci' dan 'Nilai' alih-alih 'ParameterKey' dan 'ParameterValue'.**  

```
Update-CFNStack -StackName "myStack" `
                -TemplateURL https://s3.amazonaws.com/amzn-s3-demo-bucket/templatefile.template `
                -Parameter @( @{ ParameterKey="PK1"; ParameterValue="PV1" }, @{ ParameterKey="PK2"; ParameterValue="PV2" } )
```
**Contoh 5: Memperbarui tumpukan 'MyStack', yang diasumsikan dalam contoh ini berisi sumber daya IAM, dengan templat yang ditentukan, diperoleh dari Amazon S3, dan parameter penyesuaian. 'PK1' dan 'PK2' mewakili nama parameter yang dideklarasikan dalam templat, 'PV1' dan 'PV2' mewakili nilai yang diminta. Parameter kustomisasi juga dapat ditentukan menggunakan 'Kunci' dan 'Nilai' alih-alih 'ParameterKey' dan 'ParameterValue'. Tumpukan yang berisi sumber daya IAM mengharuskan Anda untuk menentukan parameter -Capabilities “CAPABILITY\$1IAM” jika tidak pembaruan akan gagal dengan kesalahan ''. 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"
```
+  Untuk detail API, lihat [UpdateStack](https://docs.aws.amazon.com/powershell/v5/reference)di *Referensi Alat AWS untuk PowerShell Cmdlet (V5)*. 

------

**catatan**  
Untuk menghapus semua notifikasi, tentukan `[]` untuk `--notification-arns` opsi tersebut.

## Validasi template Anda
<a name="validate-template-sdk"></a>

Gunakan [https://docs.aws.amazon.com/cli/latest/reference/cloudformation/validate-template.html](https://docs.aws.amazon.com/cli/latest/reference/cloudformation/validate-template.html)perintah untuk memeriksa file template Anda untuk kesalahan sintaks.

Selama validasi, periksa CloudFormation terlebih dahulu apakah template adalah JSON yang valid. Jika bukan, CloudFormation memeriksa apakah templat YAML valid. Jika kedua pemeriksaan gagal, CloudFormation mengembalikan kesalahan validasi template.

------
#### [ CLI ]

**AWS CLI**  
**Untuk memvalidasi template AWS CloudFormation **  
`validate-template`Perintah berikut memvalidasi `sampletemplate.json` template:  

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

```
{
    "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": []
}
```
Untuk informasi selengkapnya, lihat Bekerja dengan AWS CloudFormation Template di *Panduan AWS CloudFormation Pengguna*.  
+  Untuk detail API, lihat [ValidateTemplate](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/cloudformation/validate-template.html)di *Referensi AWS CLI Perintah*. 

------
#### [ PowerShell ]

**Alat untuk PowerShell V4**  
**Contoh 1: Memvalidasi konten template yang ditentukan. Output merinci kemampuan, deskripsi, dan parameter template.**  

```
Test-CFNTemplate -TemplateBody "{TEMPLATE CONTENT HERE}"
```
**Contoh 2: Memvalidasi template tertentu yang diakses melalui URL Amazon S3. Output merinci kemampuan, deskripsi, dan parameter template.**  

```
Test-CFNTemplate -TemplateURL https://s3.amazonaws.com/amzn-s3-demo-bucket/templatefile.template
```
+  Untuk detail API, lihat [ValidateTemplate](https://docs.aws.amazon.com/powershell/v4/reference)di *Referensi Alat AWS untuk PowerShell Cmdlet (V4)*. 

**Alat untuk PowerShell V5**  
**Contoh 1: Memvalidasi konten template yang ditentukan. Output merinci kemampuan, deskripsi, dan parameter template.**  

```
Test-CFNTemplate -TemplateBody "{TEMPLATE CONTENT HERE}"
```
**Contoh 2: Memvalidasi template tertentu yang diakses melalui URL Amazon S3. Output merinci kemampuan, deskripsi, dan parameter template.**  

```
Test-CFNTemplate -TemplateURL https://s3.amazonaws.com/amzn-s3-demo-bucket/templatefile.template
```
+  Untuk detail API, lihat [ValidateTemplate](https://docs.aws.amazon.com/powershell/v5/reference)di *Referensi Alat AWS untuk PowerShell Cmdlet (V5)*. 

------

Berikut ini adalah contoh respon yang menghasilkan kesalahan validasi.

```
{
    "ResponseMetadata": {
        "RequestId": "4ae33ec0-1988-11e3-818b-e15a6df955cd"
    },
    "Errors": [
        {
            "Message": "Template format error: JSON not well-formed. (line 11, column 8)",
            "Code": "ValidationError",
            "Type": "Sender"
        }
    ],
    "Capabilities": [],
    "Parameters": []
}
A client error (ValidationError) occurred: Template format error: JSON not well-formed. (line 11, column 8)
```

**catatan**  
`validate-template`Perintah ini dirancang untuk memeriksa hanya sintaks template Anda. Itu tidak memastikan bahwa nilai properti yang telah Anda tentukan untuk sumber daya valid untuk sumber daya tersebut. Juga tidak menentukan jumlah sumber daya yang akan ada saat tumpukan dibuat.  
Untuk memeriksa validitas operasional, Anda perlu mencoba membuat tumpukan. Tidak ada kotak pasir atau area pengujian untuk CloudFormation tumpukan, jadi Anda dikenakan biaya untuk sumber daya yang Anda buat selama pengujian.

**Ketersediaan contoh**  
Tidak dapat menemukan apa yang Anda butuhkan? Minta contoh baru dengan menggunakan tautan **Berikan umpan balik** di bagian bawah halaman ini.

# Unggah artefak lokal ke bucket S3 dengan AWS CLI
<a name="using-cfn-cli-package"></a>

Anda dapat menggunakan AWS CLI untuk mengunggah artefak lokal yang direferensikan oleh CloudFormation template ke bucket Amazon S3. Artefak lokal adalah file yang Anda referensi dalam template Anda. Alih-alih mengunggah file secara manual ke bucket S3 dan kemudian menambahkan lokasinya ke template Anda, Anda dapat menentukan artefak lokal di template Anda dan menggunakan [https://docs.aws.amazon.com/cli/latest/reference/cloudformation/package.html](https://docs.aws.amazon.com/cli/latest/reference/cloudformation/package.html)perintah untuk mengunggahnya dengan cepat. 

Artefak lokal adalah jalur ke file atau folder yang diunggah **package** perintah ke Amazon S3. Misalnya, artefak dapat berupa jalur lokal ke kode sumber AWS Lambda fungsi Anda atau OpenAPI file Amazon API Gateway REST API. 

Saat menggunakan **package** perintah:
+ Jika Anda menentukan file, perintah secara langsung mengunggahnya ke bucket S3. 
+ Jika Anda menentukan folder, perintah membuat `.zip` file untuk folder, dan kemudian mengunggah `.zip` file. 
+ Jika Anda tidak menentukan jalur, perintah akan membuat `.zip` file untuk direktori kerja dan mengunggahnya. 

Anda dapat menentukan jalur absolut atau relatif, dimana jalur relatif bersifat relatif untuk lokasi templat Anda.

Setelah mengunggah artifact, perintah menampilkan salinan templat Anda, mengganti referensi ke artifact lokal dengan lokasi S3 tempat perintah mengunggah artifact. Anda kemudian dapat menggunakan template yang dikembalikan untuk membuat atau memperbarui tumpukan.

**catatan**  
Anda dapat menggunakan artifact lokal untuk atribut sumber daya yang didukung perintah **package** saja. Untuk informasi selengkapnya tentang perintah ini dan daftar properti sumber daya yang didukung, lihat [https://docs.aws.amazon.com/cli/latest/reference/cloudformation/package.html](https://docs.aws.amazon.com/cli/latest/reference/cloudformation/package.html)dokumentasi di [Referensi AWS CLI Perintah](https://docs.aws.amazon.com/cli/latest/reference/cloudformation/index.html).



## Prasyarat
<a name="using-cfn-cli-package-prerequisites"></a>

Sebelum memulai, Anda harus memiliki bucket Amazon S3 yang ada. 

## Package dan deploy template dengan artefak lokal
<a name="package-and-deploy-a-template-with-local-artifacts"></a>

Templat berikut menentukan artifact lokal untuk kode sumber fungsi Lambda. Kode sumber disimpan di `/home/user/code/lambdafunction` folder.

**Template asli**

```
{
  "AWSTemplateFormatVersion": "2010-09-09",
  "Transform": "AWS::Serverless-2016-10-31",
  "Resources": {
    "MyFunction": {
      "Type": "AWS::Serverless::Function",
      "Properties": {
        "Handler": "index.handler",
        "Runtime": "nodejs18.x",
        "CodeUri": "/home/user/code/lambdafunction"
      }
    }
  }
}
```

[https://docs.aws.amazon.com/cli/latest/reference/cloudformation/package.html](https://docs.aws.amazon.com/cli/latest/reference/cloudformation/package.html)Perintah berikut membuat dan mengunggah `.zip` file folder kode sumber fungsi ke root bucket yang ditentukan.

```
aws cloudformation package \
  --s3-bucket amzn-s3-demo-bucket \
  --template /path_to_template/template.json \
  --output-template-file packaged-template.json \
  --output json
```

Perintah menghasilkan template baru di jalur yang ditentukan oleh`--output-template-file`. Ini menggantikan referensi artefak dengan lokasi Amazon S3, seperti yang ditunjukkan di bawah ini. `.zip`File diberi nama menggunakan MD5 checksum dari isi folder, daripada menggunakan nama folder itu sendiri.

**Template yang dihasilkan**

```
{
  "AWSTemplateFormatVersion": "2010-09-09",
  "Transform": "AWS::Serverless-2016-10-31",
  "Resources": {
    "MyFunction": {
      "Type": "AWS::Serverless::Function",
      "Properties": {
        "Handler": "index.handler",
        "Runtime": "nodejs18.x",
        "CodeUri": "s3://amzn-s3-demo-bucket/md5 checksum"
      }
    }
  }
}
```

Setelah Anda mengemas artefak template Anda, gunakan template yang diproses menggunakan perintah. [https://docs.aws.amazon.com/cli/latest/reference/cloudformation/deploy/](https://docs.aws.amazon.com/cli/latest/reference/cloudformation/deploy/)

```
aws cloudformation deploy \
  --template-file packaged-template.json \
  --stack-name stack-name
```

Saat menerapkan template yang lebih besar dari 51.200 byte, gunakan **deploy** perintah dengan `--s3-bucket` opsi untuk mengunggah template Anda ke S3, seperti pada contoh berikut.

```
aws cloudformation deploy \
  --template-file packaged-template.json \
  --stack-name stack-name \
  --s3-bucket amzn-s3-demo-bucket
```

**catatan**  
Untuk contoh lain menggunakan **package** perintah untuk mengunggah artefak lokal, lihat[Pisahkan template menjadi potongan-potongan yang dapat digunakan kembali menggunakan tumpukan bersarang](using-cfn-nested-stacks.md).