paypal网站集成,越秀高端网站建设,炫酷个人主页源码,域名有了怎么建设网站背景#xff1a;
关于如何在机器上拉terraform代码#xff0c;初始化就不重复了#xff0c;需要的可以查看前面的文章#xff1a;
【Terraform学习】Terraform-AWS部署快速入门#xff08;快速入门#xff09;_向往风的男子的博客-CSDN博客
使用本地变量命名资源 将每…背景
关于如何在机器上拉terraform代码初始化就不重复了需要的可以查看前面的文章
【Terraform学习】Terraform-AWS部署快速入门快速入门_向往风的男子的博客-CSDN博客
使用本地变量命名资源 将每个配置的共享部分设置为重复使用的本地值减少重复并使此配置更清晰。 通过将以下代码段粘贴到main.tf顶部来定义本地变量。 locals {name_suffix ${var.resource_tags[project]}-${var.resource_tags[environment]}
} 在任何Terraform配置中一样配置的显示顺序不会影响Terraform解释配置的方式。 现在更新配置中的属性以使用此新的本地值。 module vpc {source terraform-aws-modules/vpc/awsversion 2.66.0- name vpc-${var.resource_tags[project]}-${var.resource_tags[environment]}name vpc-${local.name_suffix}## ...}module app_security_group {source terraform-aws-modules/security-group/aws//modules/webversion 3.17.0- name web-sg-${var.resource_tags[project]}-${var.resource_tags[environment]}name web-sg-${local.name_suffix}## ...}module lb_security_group {source terraform-aws-modules/security-group/aws//modules/webversion 3.17.0- name lb-sg-${var.resource_tags[project]}-${var.resource_tags[environment]}name lb-sg-${local.name_suffix}## ...}module elb_http {source terraform-aws-modules/elb/awsversion 2.4.0# Ensure load balancer name is unique
- name lb-${random_string.lb_id.result}-${var.resource_tags[project]}-${var.resource_tags[environment]}name lb-${random_string.lb_id.result}-${local.name_suffix}## ...} 请注意负载均衡器名称包含一个随机字符串以便这些名称是唯一的这是 AWS 中负载均衡器名称的要求。 应用配置以验证名称的值是否未更改。 terraform apply 将变量与局部值组合 与变量值不同局部值可以使用动态表达式和资源参数。 许多项目要求以某种方式标记所有资源以跟踪它们。要强制实施此要求请将本地值与变量结合使用以便分配给资源的标签至少包括项目名称和环境。 将以下新变量定义添加到variables.tf。 variable project_name {description Name of the project.type stringdefault my-project
}variable environment {description Name of the environment.type stringdefault dev
} 接下来将变量resource_tags的默认值更改为空映射。 variable resource_tags {description Tags to set for all resourcestype map(string)
- default {
- project my-project,
- environment dev
- }default { }} 添加新块locals以创建所需标签和用户定义标签组合。 locals {required_tags {project var.project_name,environment var.environment}tags merge(var.resource_tags, local.required_tags)
} 可以在单个块中定义配置本地值也可以使用多个locals块。 更新局部变量的定义以使用新变量。 locals {
- name_suffix ${var.resource_tags[project]}-${var.resource_tags[environment]}name_suffix ${var.project_name}-${var.environment}} 然后更新main.tf中的tags引用以使用新的本地值。 - tags var.resource_tagstags local.tags
## ... replace all five occurrences of tags var.resource_tags 最后向output.tf文件添加一个名为tags的输出。此输出将显示您在此配置中使用的标签。 output tags {value local.tags
} 现在应用这些更改以查看每个资源的标签。 terraform apply 接下来运行另一个 apply这次将环境更改为prod。 terraform apply -var environmentprod