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