

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

# 步驟 1：Terraform 組態檔案下載
<a name="getstarted-template-Terraform"></a>

 您可以使用 Terraform 組態檔案來建立和佈建 HashiCorp Terraform 產品。這些組態是純文字檔案，並說明您要佈建的資源。您可以使用您選擇的文字編輯器來建立、更新和儲存組態。若要建立產品，您必須將 Terraform 組態上傳為 **tar.gz 檔案。**在本教學課程中， AWS Service Catalog 提供簡單的組態檔案，讓您可以開始使用。組態會建立 Amazon S3 儲存貯體。

## 組態檔案下載
<a name="template-download"></a>

AWS Service Catalog 提供範例[https://github.com/aws-samples/service-catalog-engine-for-terraform-os/blob/main/sample-provisioning-artifacts/s3bucket.tar.gz?raw=true](https://github.com/aws-samples/service-catalog-engine-for-terraform-os/blob/main/sample-provisioning-artifacts/s3bucket.tar.gz?raw=true)組態檔案，供您在本教學課程中使用。

## 組態檔案概觀
<a name="template-overview"></a>

範例組態檔案的文字如下：

```
variable "bucket_name" {
  type = string
}
provider "aws" {
}
resource "aws_s3_bucket" "bucket" {
  bucket = var.bucket_name
}
output regional_domain_name {
  value = aws_s3_bucket.bucket.bucket_regional_domain_name
}
```

**組態資源**

組態檔案會在 AWS Service Catalog 佈建產品時宣告要建立的資源。它由下列各部分組成：
+ **變數** （選用） – 管理員使用者 （中樞帳戶管理員） 可指派以自訂組態的值定義。變數提供一致的界面，以變更指定組態的行為。變數關鍵字後面的標籤是變數的名稱，在相同模組中的所有變數中必須是唯一的。此名稱用於將外部值指派給變數，並從模組中參考變數的值。
+ **提供者** （選用） – 資源佈建的雲端服務提供者，僅支援 `AWS`. AWS Service Catalog only `AWS`作為提供者。因此，Terraform 佈建引擎會將任何其他列出的提供者覆寫為 `AWS`。
+ **資源** （必要） – 佈建的 AWS 基礎設施資源。在本教學課程中，Terraform 組態檔案會指定 Amazon S3。
+ **輸出** （選用） – 傳回的資訊或值，類似於程式設計語言傳回的值。您可以使用輸出資料，透過自動化工具設定基礎設施工作流程。