
# 通过Terraform创建成员账号
Terraform是一款开源工具，用于安全有效地构建、更改和版本控制基础设施。用户通过这些配置文件声明他们想要的基础设施最终状态，而不需要具体指定如何实现这个状态。
Terraform的优势：
- 提升架构一致性：减少手动配置过程中的错误和配置漂移。
- 降低运维成本：通过编程方式管理虚拟机，减少手动配置硬件及更新的需求。
- 提升操作效率：简化系统配置、维护和管理，加速软件开发和部署。
- 加快部署速度：将繁琐的配置工作转变为简单的脚本执行，缩短应用发布时间。
- 降低操作风险：支持版本控制，降低配置错误的风险。
本章节将指导开发者如何使用Terraform创建成员账号，方便开发者高效地创建成员账号。
#### 前提条件
**获取访问密钥**
获取访问密钥方式请参考[访问密钥](https://support.huaweicloud.com/usermanual-ca/ca_01_0003.html)，该访问密钥必须具有管理账号内通过Organizations服务创建成员账号的权限。
访问密钥（AK/SK，Access Key ID/Secret Access Key）包含访问密钥ID（AK）和秘密访问密钥（SK）两部分，是您在华为云的长期身份凭证，您可以通过访问密钥访问华为云API。
创建访问密钥成功后，您可以在访问密钥列表中查看访问密钥ID（AK），在下载的.csv文件中查看访问密钥（SK）。
#### 准备Terraform环境
1. 安装Terraform执行环境 Terraform提供了多种环境的安装包，具体可以参考官网(<https://developer.hashicorp.com/terraform/downloads>)。
   下面以Linux CentOS (系统需要有访问公网权限)为例指导安装Terraform。
   使用root用户登录linux系统，新建目录/home/Terraform，cd到Terraform目录执行如下命令:
   ```
   sudo yum install -y yum-utils
   sudo yum-config-manager --add-repo https://rpm.releases.hashicorp.com/RHEL/hashicorp.repo
   sudo yum -y install terraform
   ```
   
2. 查看Terraform命令详情 执行Terraform后会显示Terraform命令详情，查看更多命令详情请参考<https://developer.hashicorp.com/terraform/cli>。
   
3. 查看Terraform语法简介 Terraform配置语言主要基于HCL语法，具有配置简单、可读性强等特点，并且兼容JSON语法。详情参见官网介绍<https://developer.hashicorp.com/terraform/language>，此文不做赘述。
   
 
#### 编写账号资源脚本
华为云在Terraform已经注册了provider，账号作为资源挂在华为云的provider下。参考文档<https://registry.terraform.io/providers/huaweicloud/huaweicloud/latest/docs/resources/organizations_account>。
提供如下样例：
在服务器创建一个main.tf文件，将如下脚本拷贝到main.tf上并保存。
```
terraform {
  required_providers {
    huaweicloud = {
      source  = "huaweicloud/huaweicloud"
      version = ">= 1.40.0"
    }
  }
}
 
provider "huaweicloud" {
  access_key = "*******"   #前面获取的key
  secret_key = "*******"   #前面获取的key
}
resource "huaweicloud_organizations_account" "test"{
  name  = "account_test_name"
}
```
access_key secret_key 需要替换为[访问密钥](https://support.huaweicloud.com/usermanual-ca/ca_01_0003.html)生成的密钥。
#### 使用Terraform命令创建成员账号
进入文件路径，执行terraform init命令初始化一个包含Terraform代码的工作目录。
![](https://support.huaweicloud.com/bestpractice-organizations/zh-cn_image_0000002205220890.png "点击放大")
执行terraform apply命令，在Enter a value: 处输入yes。
执行成功代表成员账号创建完成。
