检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
资源编排是完全支持业界事实标准Terraform(HCL + Provider)的终态编排引擎,用于管理系统资源及服务资源(一切可定位、描述的物理或者逻辑实体,例如数据库,VPC,流水线,IAM中的Role)。资源编排采用业界开放生态HCL语法的模板,它按照模板自动化部署指定的云服务资源。 资源编排聚焦于华为云所用
进行声明。Provider中支持的云服务都有一个或多个资源与之对应,如huaweicloud_compute_instance表示ECS,huaweicloud_vpc表示VPC等。资源之间的关系可以通过关系型资源进行关联,如可以使用 huaweicloud_compute_eip_associate 给ECS分配EIP。
icloud_vpc.my_hello_world_vpc["vpc1"]和huaweicloud_vpc.my_hello_world_vpc["vpc2"]标识两个资源 resource "huaweicloud_vpc" "my_hello_world_vpc" { for_each
创建私有模块 功能介绍 创建私有模块(CreatePrivateModule) 创建一个空的私有模块。如果用户给予了module_version与module_uri,则在创建私有模块的同时,在私有模块下创建一个私有模块版本。 模块允许用户将可复用的代码编辑在一起供模块使用。 如
通该资源。 模板详解:主要分为五个部分: 虚拟私有云VPC,“resource”中“huaweicloud_vpc”为VPC创建信息。 在VPC中定义一个子网,子网是VPC的IP地址范围内的一个区段, “resource”中“huaweicloud_vpc_subnet”为子网创建信息。
基本概念 概念名称 描述 资源 一个云服务可以有多种资源。资源可以是VPC,虚拟机,也可以是某种微服务应用,或者是类似于安全策略,DNS记录等高层数据模型。 模板 模板是一个HCL语法文本描述文件,支持tf、tf.json、zip包文件格式,用于描述您的云资源。资源编排根据模板完成各种云资源的创建。
icloud_vpc.my_hello_world_vpc["vpc1"]和huaweicloud_vpc.my_hello_world_vpc["vpc2"]标识两个资源 resource "huaweicloud_vpc" "my_hello_world_vpc" { for_each
= "Check out the VPC ID" } sensitive:将输出变量标记为敏感项,在 CLI 中将隐藏输出变量值的显示。 output "vpc_id" { value = huaweicloud_vpc.myvpc.id description
tf variable "vpc_cidr" { type = string description = "the CIDR of VPC" } # main.tf resource "huaweicloud_vpc" "vpc_example" { 设置变量
module_id String 私有模块(private-module)的唯一Id。 此Id由资源编排服务在生成模块的时候生成,为UUID。 由于私有模块名仅在同一时间下唯一,即允许用户先生成一个叫HelloWorld的私有模块,删除,再重新创建一个同名私有模块。 对于团队并行开发,用
此Id由资源编排服务在生成模块的时候生成,为UUID。 由于私有模块名仅在同一时间下唯一,即允许用户先生成一个叫HelloWorld的私有模块,删除,再重新创建一个同名私有模块。 对于团队并行开发,用户可能希望确保,当前我操作的私有模块就是我以为的那个,而不是其他队友删除后创建的同名私有模块。因此,使用Id就可以做到强匹配。
module_id 否 String 私有模块(private-module)的唯一Id。 此Id由资源编排服务在生成模块的时候生成,为UUID。 由于私有模块名称仅仅在同一时间下唯一,即用户允许先生成一个叫HelloWorld的私有模块,删除,再重新创建一个同名私有模块。 对于团队并行开发,
以HCL格式的模板为例,resource_key分别为vpc1和vpc2 resource "huaweicloud_vpc" "my_hello_world_vpc" { for_each = { "vpc1" = "test_vpc" "vpc2" = "test_vpc" } name
icloud_vpc.my_hello_world_vpc["vpc1"]和huaweicloud_vpc.my_hello_world_vpc["vpc2"]标识两个资源 resource "huaweicloud_vpc" "my_hello_world_vpc" { for_each
云服务。虚拟私有云、子网和云硬盘已创建成功。 图6 资源栈创建成功 查看已创建的云服务。 登录华为云控制台。 选择“云服务控制台 > 云硬盘”,可查看到已创建成功一台EVS。 图7 EVS创建成功 选择“网络 > 虚拟私有云”,可查看到已创建成功的VPC。 图8 VPC创建成功
此Id由资源编排服务在生成模块的时候生成,为UUID。 由于私有模块名仅在同一时间下唯一,即允许用户先生成一个叫HelloWorld的私有模块,删除,再重新创建一个同名私有模块。 对于团队并行开发,用户可能希望确保,当前我操作的私有模块就是我以为的那个,而不是其他队友删除后创建的同名私有模块。因此,使用Id就可以做到强匹配。
>.<别名>。 resource "huaweicloud_vpc" "example" { provider = huaweicloud.guangzhou name = "terraform_vpc" cidr = "192.168.0.0/16"
创建的资源需要通过键名进行访问,格式为:<资源类型>.<名称>[键名] # 访问 vpc_demo1 > huaweicloud_vpc.vpcs["vpc_demo1"] # 访问 vpc_demo1 的ID > huaweicloud_vpc.vpcs["vpc_demo1"].id 由于 count 和 for_each
支持的api接口说明 属性 描述 hwc:ecs:flavors ECS的Flavor hwc:vpc:myVpcs VPC列表 hwc:vpc:mySubnets Subnet子网列表 hwc:vpc:mySecurityGroups securityGropus安全组列表 hwc:evs:types
<名称>[索引值] # 访问第一个VPC > huaweicloud_vpc.vpcs[0] # 访问第一个VPC的ID > huaweicloud_vpc.vpcs[0].id # 访问所有VPC的ID > huaweicloud_vpc.vpcs[*].id 父主题: Metadata