正在生成
详细信息:
检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
一个Terraform配置文件中通常包含多个Resource,Data Source以及变量,为了简化配置和降低维护复杂度,Terraform提供了Modules功能。Module相当于一个Terraform模块,是对多个资源的封装及抽象。 调用模块 在配置文件中声明 module块从可以调用module,其语法如下:
count 默认情况下,Terraform的 resource块只配置一个资源。当我们需要创建多个相同的资源时,如果配置多个独立的 resource块就显得很冗余,且不利于维护。我们可以使用 count 或 for_each 参数在同一个 resource块中管理多个相同的资源。在同一个
"terraform state" 相关命令对 state 进行管理。 terraform state list 该命令列出当前state文件中配置的所有资源,输出格式为:<资源类型>.<资源名称> $ terraform state list data.huaweicloud_identity_role
state 文件中所有被管理的资源及其属性值。 terraform output terraform output 命令用于显示当前配置中的输出变量。根据配置中定义的输出变量,执行 terrafrom output 命令后会按照变量定义逐一进行输出,规则为 <输出变量名> = <输出变量值>。输出变量的用法请参考输出变量。
华为云Provider 认证 华为云Provider采用AK/SK的方式进行认证,支持静态凭据和环境变量两种配置方式。 静态凭据 通过配置provider块中的region,AK/SK等参数进行认证,例如: provider "huaweicloud" { region
基本语法 Terraform配置语言主要基于HCL语法,具有配置简单,可读性强等特点,并且兼容JSON语法。本文主要介绍Terraform配置语言的基本语法及常见函数。 Terraform配置语言主要由参数(Argument),块(Block),表达式(Experssion)和函数(Functions)组成。
典型网络配置 应用场景 在创建VPC之前,您需要根据具体的业务需求规划VPC的数量,子网的数量、IP网段划分和互联互通方式等。详细的网络规划请参考虚拟私有云最佳实践。 本教程将创建一个VPC用于托管Web应用或网站,其私网网段为192.168.0.0/16,按照业务模块划分3个子
Terraform 配置指南 Provider Resource Data Source 变量 Metadata Backend Modules Terraform 命令行
变量 输入变量 输出变量 本地变量 父主题: Terraform 配置指南
Metadata说明 depends_on count for_each provider lifecycle 父主题: Terraform 配置指南
depends_on 在同一个 Terraform 配置文件中可以包含多个资源。通过在资源中引用其他资源的属性值,Terraform可以自动推断出资源的依赖关系。然而,某些资源的依赖关系对于Terraform是不可见的,这就需要使用 depends_on 来创建显式依赖。我们可以使用
create_before_destroy 默认情况下,当我们需要改变资源中不支持更新的参数时,Terraform会先销毁已有实例,再使用新配置的参数创建新的对象进行替换。当我们将 create_before_destroy 参数设置为 true 时,Terraform将先创建新的
命令时,Terraform直接读取这个 state 文件,无需再去调用云平台的API查询。 Terraform后续的 'plan' 和 'apply' 操作,都是基于当前的模块配置和 state 文件进行比较。如果 state 文件被损坏或者被删除,Terraform会认为其管理的资源也发生了变更和移除。此时再执行 'apply'
"each.key" 和 "each.value" 来访问映射的键和值。以创建VPC为例,通过 for_each 中的键值对,我们可以灵活配置VPC的名称和CIDR。 resource "huaweicloud_vpc" "vpcs" { for_each = { vpc_demo1
image_id = data.huaweicloud_images_image.myimage.id ... } 父主题: Terraform 配置指南
文件 如果配置中使用了很多变量,建议使用变量定义文件来设置这些变量,然后通过 -var-file 选项指定该文件: terraform apply -var-file="testing.tfvars" 变量定义文件的扩展名为 ".tfvars",变量定义文件的语法与配置文件的语法相同,但仅用于指定变量名称:
required_version = ">= 0.13" } 在Terraform中,我们可以使用 provider块创建多个配置,其中一个 provider块为默认配置,其它块使用 "alias" 标识为非默认配置。在资源中使用元参数 provider 可以选择非默认的 provider块。例如我们需要在不同的地区管理资源,首先需要声明多个
输出变量 输出变量可以理解为模块的返回值,通过关键字 "output" 进行声明。输出变量是一种对外公开某些信息的方法,既可以在根模块中运行 terraform apply/output 命令输出特定的值,又可以在子模块中将资源的属性值提供给父模块。 声明输出变量 按照约定,输出变量通常在名为
本地变量 本地变量可以理解为模块中的临时变量,其作用范围在所声明的模块内,通过关键字 "local" 进行声明。本地变量适用于配置中有重复定义相同值或表达式的场景,可以减少代码冗余,并且易于修改。同时过度使用本地变量会导致变量的实际值被隐藏,代码晦涩,不利于维护,因此建议合理使用本地变量。