检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
)或连字符(-)开始或结束,不能包含两个连续的句点(.)或相邻的句点(.)和连字符(-),不能是IP地址。 website index_document (必填)访问静态网站时返回的索引页面,即首页。 error_document (可选)当访问错误的静态网站路径时,返回的404错误页面。 routing_rules
使用键值对或字符串集合的形式快速地将值填入到对应的属性中,不仅可以优化脚本结构也有利于理解多实例间的关系。 在使用映射类型表达时,我们可以使用 "each.key" 和 "each.value" 来访问映射的键和值。以创建VPC为例,通过 for_each 中的键值对,我们可以灵活配置VPC的名称和CIDR。
弹性伸缩 AS 应用场景 弹性伸缩服务可根据用户的业务需求,通过策略自动调整其业务的资源。具有自动调整资源、节约成本开支、提高可用性和容错能力的优势。适用以下场景: 访问流量较大的论坛网站,业务负载变化难以预测,需要根据实时监控到的云服务器CPU使用率、内存使用率等指标对云服务器数量进行动态调整。
其他命令 terraform validate 该命令用于快速检查配置文件中的语法错误,无需通过 plan/apply 命令便可定位错误的详细位置和原因。 检验正确 $ terraform validate The configuration is valid. 检验错误 $ terraform
样式约定 样式约定 Terraform约定了一些惯用的风格样式,以确保不同团队编写的文件和模块的风格一致性。建议用户遵循这些约定,推荐的样式约定如下: 对于每个嵌套级别,缩进两个空格。 当多个单行的参数在同一嵌套级别连续出现时,建议将等号对齐。 name =
命令将会按照模块的定义变更或者重建资源,直到模块对资源的定义与 state 中的映射保持一致。如果实际的资源依然存在于云平台中,这将会导致资源的重复创建或者创建失败。 在团队协作中,如果想维护同一套资源,需要将资源的配置文件和 state 文件一起拷贝,这无形中增加了代码维护的成本。为了
Data Source 可以认为是特殊的Resource,通过关键字 "data" 进行声明。Data Source 用于查询已经存在资源的属性和信息,例如我们可以通过 "Ubuntu 18.04 server 64bit" 的镜像名称查询得到对应镜像的ID及其他属性: data "h
选项对使用的Provider和Modules进行更新。 $ terraform init -upgrade=true terraform plan terraform plan 命令用于创建执行前的计划,是 terraform apply 执行前的一个预览方式,可以检查当前的变更是否符合预期。terraform
在完成资源的创建和修改后,会将资源的状态和属性信息会保存在 terraform.tfstate 文件中。我们可以使用 "terraform state" 相关命令对 state 进行管理。 terraform state list 该命令列出当前state文件中配置的所有资源,输出格式为:<资源类型>
)或连字符(-)开始或结束,不能包含两个连续的句点(.)或相邻的句点(.)和连字符(-),不能是IP地址。 acl (可选)OBS存储桶访问控制策略 取值范围: private:默认策略,除桶ACL授权外的其他用户无桶的访问权限。 public-read:任何用户都可以对桶内对象进行读操作。
默认情况下,Terraform的 resource块只配置一个资源。当我们需要创建多个相同的资源时,如果配置多个独立的 resource块就显得很冗余,且不利于维护。我们可以使用 count 或 for_each 参数在同一个 resource块中管理多个相同的资源。在同一个 resource块中不能同时使用count
"value" } 列表类型和集合类型的表示方式相同,其中元素为基本类型的列表/集合使用 [] 封装,元素为块类型的列表/集合使用重复块的形式表示,例如: # 基本类型的列表 security_groups = ["default", "internal"] # 块类型的列表 network
典型网络配置 应用场景 在创建VPC之前,您需要根据具体的业务需求规划VPC的数量,子网的数量、IP网段划分和互联互通方式等。详细的网络规划请参考虚拟私有云最佳实践。 本教程将创建一个VPC用于托管Web应用或网站,其私网网段为192.168.0.0/16,按照业务模块划分3个子
"my-secret-key" } 使用静态凭据的认证方式比较简单,但需要将AK/SK以明文的形式存储在配置文件中,存在密钥泄露的安全隐患。推荐您使用环境变量的方式进行认证。 环境变量 将region,AK/SK等参数设置为环境变量的方式进行认证,例如: $ export HW_R
region = "cn-south-1" ... } 示例中我们声明了北京和广州的华为云provider,并对广州地区的provider增加了别名。我们在资源中使用元参数 provider 来选择非默认的 provider块,其格式为:<provider名称>.<别名>。 resource
(map、list、set) 中的每个元素,并对元素进行处理,最后将结果输出为一个新的集合类型。for表达式的输出结果取决于所使用的括号类型: 使用 '[' 和 ']' 将生成一个列表 使用 '{' 和 '}' 将生成一个映射/对象 假设列表 mylist 的值为 ["AA", "BBB"
进行声明,Provider的配置参数请参考这里。 执行 terraform init 命令时会下载使用的插件,默认将从Terraform官方仓库下载最新版本的插件。对于Terraform 0.13之后的版本,可以使用 "required_providers" 指定Provider的 registry
Terraform建立了一个所有资源的图,并行创建和修改任何非依赖性资源。从而使得Terraform可以尽可能高效地构建基础设施,操作人员可以深入了解基础设施中的依赖性。 变更自动化 复杂的变更集可以应用于您的基础设施,而只需最少的人工干预。有了前面提到的执行计划和资源图,您就可以准确地知道
HTTP URL 当源路径为HTTP或HTTPs的URL时,Terraform将向给定的URL发送GET请求并下载对应的文件。我们也可以通过HTTP URL的形式来访问OBS桶中的对象,将对象的访问策略设置为公共读,然后使用对应的endpoint链接即可: module "myvpc"