# Terraform部署插件
"Terraform部署插件"支持 init、validate、plan、apply、destroy等常用Terraform操作，并可与流水线进行集成编排。支持使用拓展点纳管的资源访问凭据。
- [图形化插件]
  在[编排流水线任务](https://support.huaweicloud.com/usermanual-pipeline/pipeline_01_0073.html)时，添加"Terraform部署插件"插件，参数配置如[表1]。
   表1"Terraform部署插件"插件参数说明 
  | **参数项**            | **说明**                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
  |:---|:---|
  | 名称              | 插件名称。 - 仅支持中文、大小写英文字母、数字、中划线、下划线、英文逗号、英文分号、英文冒号、英文句号、斜杠、英文括号、中文括号及空格。  - 字符长度范围为1-128。                                                                                                                                                                                                                                                                                           |
  | 资源类型             | Terraform可操作的资源所属的云厂商，目前仅包括"华为云"和"AWS"。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
  | Terraform资源凭据     | 配置Terraform创建资源所需认证凭据的IAM拓展点。新建IAM扩展点可参考[管理CodeArts服务扩展点](https://support.huaweicloud.com/usermanual-pipeline/pipeline_01_0011.html)。                                                                                                                                                                                                                                                                                                                                                                                                                                   |
  | Terraform操作类型      | Terraform部署插件的操作类型，包括init、validate、plan、apply和destroy五种操作类型。 - init：初始化工作目录。  - validate：检查配置文件的语法和参数。  - plan：预览执行计划。  - apply：执行变更。  - destroy：销毁资源。   |
  | 选择代码仓              | Terraform资源定义文件所在的代码仓。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
  | 选择分支              | Terraform资源定义文件所在的代码仓分支。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
  | Terraform资源定义文件路径 | 代码仓内Terraform资源定义文件路径，若文件位于代码仓根目录，此处填入"./"即可。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
  | Terraform参数文件路径  | 代码仓内Terraform参数文件路径。支持指定参数文件路径，若未指定则默认不使用参数定义文件。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
     
- [代码化插件]
  在[编排流水线任务](https://support.huaweicloud.com/usermanual-pipeline/pipeline_01_0073.html)时，添加"Terraform部署插件"插件，yaml语法配置如下。
  **Terraform部署插件**
  ```
  jobs:
    Terraform:
      name: Terraform
      steps:
        - name: Terraform部署
          uses: terraform_deploy_plugin
          with:
            providers: HuaweiCloud
            terraform_credentials: b00401e780a343f0ab1066ecd378a3be
            terraform_action: plan
            repo: 956935
            branch: master
            terraform_yaml_path: ./
            terraform_var_path: ""
  ```
