TERRAFORM-基本操作:操作步骤

时间:2023-12-25 14:38:00

操作步骤

  1. 创建OBS存储桶。

    1. 创建main.tf文件,输入以下内容,并保存在当前的执行目录中。
      resource "huaweicloud_obs_bucket" "myexample" {
        bucket = "myexample-bucket"
        acl    = "private"
        tags = {
          type = "bucket"
          env  = "Test"
        }
      }
    2. 运行 terraform init 进行初始化。
    3. 运行 terraform plan 查看资源。
    4. 确认资源无误后,运行 terraform apply 开始创建。
    5. 运行 terraform show 可以查看已创建的OBS桶。

  2. 上传对象。

    1. 支持通过数据流和源文件路径上传对象,在main.tf文件中增加以下内容。
      # 通过数据流上传对象
      resource "huaweicloud_obs_bucket_object" "myobject1" {
        bucket       = huaweicloud_obs_bucket.myexample.bucket
        key          = "myobject1"
        content      = "content of myobject1"
        content_type = "application/xml"
      }
      # 通过源文件路径上传对象
      resource "huaweicloud_obs_bucket_object" "myobject2" {
        bucket = huaweicloud_obs_bucket.myexample.bucket
        key    = "myobject2"
        source = "hello.txt"
      }
      # 通过源文件路径上传对象并进行服务端加密
      resource "huaweicloud_obs_bucket_object" "myobject3" {
        bucket     = huaweicloud_obs_bucket.myexample.bucket
        key        = "myobject3"
        source     = "hello.txt"
        encryption = true
      }
    2. 运行 terraform plan 查看资源。
    3. 确认资源无误后,运行 terraform apply 开始创建。
    4. 运行 terraform show 可以查看已上传的对象。

表1 参数说明

资源名称

参数名称

参数说明

huaweicloud_obs_bucket

bucket

(必填)OBS存储桶名称

  • 约束:在OBS中必须是全局唯一的,包含3到63个字符,允许小写字母、数字、连字符(-)和点号(.),不能以句点(.)或连字符(-)开始或结束,不能包含两个连续的句点(.)或相邻的句点(.)和连字符(-),不能是IP地址。

acl

(可选)OBS存储桶访问控制策略

  • 取值范围:

    private:默认策略,除桶ACL授权外的其他用户无桶的访问权限。

    public-read:任何用户都可以对桶内对象进行读操作。

    public-read-write:任何用户都可以对桶内对象进行读/写/删除操作。

tags

(可选)桶标签

huaweicloud_obs_bucket_object

bucket

(必填)存储桶名称

key

(必填)对象名称

source

(可选)待上传对象的源文件路径

content

(可选)待上传对象的数据流

content_type

(可选)待上传对象的MIME类型

encryption

(可选)是否开启桶的默认服务端加密

support.huaweicloud.com/usermanual-terraform/terraform_0012.html