> ## Documentation Index
> Fetch the complete documentation index at: https://docs.cloudthinker.io/llms.txt
> Use this file to discover all available pages before exploring further.

# HCP Terraform

> Kết nối một tổ chức HCP Terraform để xem xét workspace và trạng thái các run gần đây, với các thay đổi workspace đi qua Approvals của bạn

Kết nối HCP Terraform để [CloudThinker](https://docs.cloudthinker.io/vi/guide/agents/overview.md) có thể liệt kê workspace, báo cáo trạng thái các run gần đây, và thực hiện các thay đổi workspace đã được phê duyệt như khóa hoặc đổi tên. Kết nối dùng một tên tổ chức và API token của tổ chức đó.

## Điều kiện tiên quyết

* Một tổ chức HCP Terraform trên app.terraform.io. Terraform Enterprise không được hỗ trợ.
* Bạn, hoặc người hỗ trợ bạn, phải là owner của tổ chức đó, vì chỉ owner mới tạo hoặc thu hồi được organization token.
* Vai trò **Admin** trong workspace CloudThinker, cần để thêm kết nối. Xem [Vai trò](https://docs.cloudthinker.io/vi/guide/security/roles.md).

> [!NOTE]
>
> Organization token có quyền trên toàn bộ tổ chức. CloudThinker tự giới hạn ở các hành động trên trang này, nhưng hãy coi token là một secret cấp toàn tổ chức.

## Thiết lập

**1. Sao chép tên tổ chức**

Đăng nhập [HCP Terraform](https://app.terraform.io/), chọn tổ chức và sao chép chính xác tên như hiển thị, ví dụ `platform-team`.

**2. Tạo organization token**

Mở **Organization settings → API Tokens → Organization Tokens**, đặt thời hạn (ngắn nhất mà chính sách của bạn cho phép, và ghi lại ngày), tạo token và sao chép ngay. HCP Terraform chỉ hiển thị token một lần.

**3. Thêm kết nối trong CloudThinker**

Mở **More → Workspace settings → Connections**, chọn **HCP Terraform**, nhập **Organization name** và **Organization token**, và nhấn **Connect**. CloudThinker kiểm tra token có thuộc về tổ chức đó hay không.

**Trạng thái thành công:** kết nối hiển thị trạng thái **Connected**.

> [!WARNING]
>
> Mỗi tổ chức chỉ có một organization token tại một thời điểm. Tạo token mới có thể làm hỏng các automation khác đang dùng token hiện tại, vì vậy hãy trao đổi với các owner của tổ chức trước.

## Chi tiết kết nối

| Trường | Mô tả | Ví dụ |
| - | - | - |
| **Organization name** | Tên hiển thị trong app.terraform.io. Không phải URL hay HCP organization ID | `platform-team` |
| **Organization token** | Từ **Organization settings → API Tokens → Organization Tokens** | Ẩn |

Mỗi workspace CloudThinker chỉ có một kết nối HCP Terraform, nên chỉ bao phủ được một tổ chức. Để bao phủ tổ chức thứ hai, hãy kết nối tổ chức đó trong một workspace CloudThinker khác.

## Quyền yêu cầu

Dùng **organization token**, không phải user token hay team token. Organization token của HCP Terraform có thể quản lý workspace nhưng không thể bắt đầu run hoặc tải lên configuration version, đúng với những gì kết nối này làm.

> [!TIP]
>
> Nếu một tích hợp khác đã dùng organization token, tạo token mới sẽ làm hỏng tích hợp đó. Bạn chỉ có thể dùng lại token hiện tại nếu sao chép được giá trị của nó từ kho secret, vì HCP Terraform không bao giờ hiển thị lại. Đổi lại, thu hồi token sau này sẽ làm hỏng mọi tích hợp dùng chung token đó.

## Khả năng của agent

| Khả năng | CloudThinker làm gì | Phê duyệt |
| - | - | - |
| **Kiểm kê workspace** | Liệt kê workspace kèm trạng thái khóa, execution mode, auto-apply và các cài đặt khác. Đọc 100 workspace đầu tiên, theo thứ tự API của HCP Terraform trả về | Không |
| **Trạng thái run gần đây** | Đếm trạng thái run và liệt kê các run gần đây. Đọc 100 run đầu tiên trong tổ chức | Không |
| **Thay đổi workspace** | Tạo, đổi tên, khóa, mở khóa hoặc xóa an toàn một workspace | Có |

CloudThinker nêu phạm vi đã đọc trong mọi câu trả lời. Các thay đổi xác định workspace theo tên, nên bạn có thể khóa hoặc đổi tên một workspace nằm ngoài 100 workspace đầu tiên bằng cách nêu tên nó. Trạng thái run mô tả các run của Terraform, không phải tình trạng hạ tầng của bạn.

### Kết nối này không làm được gì

Kết nối không thể bắt đầu plan, apply hay run. Kết nối cũng không thể tải lên hoặc tải xuống cấu hình hay state, thay đổi biến, hiển thị output nhạy cảm, force-unlock hoặc force-delete một workspace, xóa tổ chức, quản lý team hoặc token, hay kết nối với endpoint Terraform Enterprise. Nếu bạn yêu cầu một run, CloudThinker sẽ báo cáo trạng thái run hiện tại, cho biết không thay đổi gì, rồi dừng lại.

### Xác minh kết nối

```text theme={null}
List my HCP Terraform workspaces with their lock state and execution mode
```

Kết quả mong đợi là một bảng workspace kèm dòng như `Scope: first 100 workspaces`.

### Ví dụ prompt

```text theme={null}
Summarize recent HCP Terraform run statuses and list the runs that errored
Which HCP Terraform workspaces are locked right now?
Lock the HCP Terraform workspace named prod-network
```

## Quyền ghi

Trước mọi thay đổi workspace, CloudThinker nêu tên tổ chức, workspace, hành động và tác động dự kiến trong yêu cầu phê duyệt. Yêu cầu thay đổi trong prompt không được tính là phê duyệt.

Mọi thay đổi do agent thực hiện đều đi qua [Approvals](https://docs.cloudthinker.io/vi/guide/approvals/overview.md) của workspace trước. Ở chế độ mặc định **Auto · Rules + AI · Ask me**, AI judgment có thể cho một thay đổi an toàn chạy mà không cần hỏi. Allow Rule cũng vậy, sau khi CloudThinker bật [Rule enforcement](https://docs.cloudthinker.io/vi/guide/approvals/rules.md#khắc-phục-sự-cố) cho workspace của bạn. Chọn **Manual** nếu bạn muốn tự phê duyệt mọi thay đổi.

HCP Terraform ghi lại mỗi thay đổi dưới organization token, không gắn với một người cụ thể. Mỗi lần khóa đều kèm lý do `CloudThinker approved workspace lock`.

Xóa an toàn dùng hành động safe-delete của chính HCP Terraform, hành động này từ chối workspace vẫn còn quản lý tài nguyên. CloudThinker không bao giờ force-delete.

## Khắc phục sự cố

> **"Invalid HCP Terraform organization name"**
>
> Nhập chính xác tên như hiển thị trong HCP Terraform. Đừng dán URL tổ chức hoặc HCP organization ID.

> **"HCP Terraform organization token is invalid or expired"**
>
> Tạo organization token thay thế, cập nhật **Organization token** và kết nối lại. Trao đổi với các owner trước, vì token cũ sẽ ngừng hoạt động.

> **"HCP Terraform organization was not found or the token cannot access it"**
>
> **Organization name** và **Organization token** phải đến từ cùng một tổ chức. Sửa mục bị sai và kết nối lại.

> **"HCP Terraform token resolved a different organization"**
>
> Token thuộc về một tổ chức khác. Nhập tên của tổ chức đó, hoặc dùng token từ tổ chức bạn đã nhập.

> **"HCP Terraform API rate limit reached. Retry later"**
>
> Chờ vài phút, rồi kết nối lại một lần. Thử lại liên tục sẽ khiến bạn tiếp tục bị giới hạn tốc độ.

> **"HCP Terraform API is temporarily unavailable. Retry later"**
>
> HCP Terraform không thể hoàn tất bước kiểm tra. Thử lại sau. CloudThinker không coi đây là kiểm tra thành công.

> **Xóa an toàn từ chối một workspace**
>
> Workspace vẫn còn quản lý tài nguyên. Hãy gỡ hạ tầng đó qua quy trình Terraform thông thường của bạn trước, rồi yêu cầu lại.

## Bảo mật

* **Quyền tối thiểu** — chỉ cấp các quyền mà agent cần cho trường hợp sử dụng của bạn; bắt đầu với quyền chỉ đọc và mở rộng sau.
* **Chỉ đọc theo mặc định** — sử dụng thông tin xác thực chỉ đọc trừ khi bạn muốn agent thực hiện thay đổi qua kết nối này.
* **Xoay vòng thông tin xác thực** — xoay vòng khóa và token theo lịch trình thông thường của bạn; CloudThinker sẽ lấy giá trị mới khi bạn cập nhật kết nối.
* **Thu hồi khi bàn giao** — xóa thông tin xác thực tại nhà cung cấp khi bạn xóa một kết nối hoặc khi đồng nghiệp rời nhóm.

- **Theo dõi thời hạn.** Thay token trước ngày hết hạn bạn đặt khi thiết lập.
- **Phối hợp khi xoay vòng.** Chỉ một organization token có hiệu lực tại một thời điểm. Xác nhận những tích hợp nào đang dùng token trước khi tạo hoặc thu hồi token.

## Liên quan

> **[Approvals](https://docs.cloudthinker.io/vi/guide/approvals/overview.md)**
>
> Kiểm soát cách CloudThinker hỏi trước khi thay đổi workspace.

> **[Kết nối Pulumi](https://docs.cloudthinker.io/vi/guide/connections/pulumi.md)**
>
> Kết nối dịch vụ infrastructure-as-code khác của bạn.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.