乱读天书, 不求甚解
周祎骏的个人云笔记
Toggle navigation
乱读天书, 不求甚解
主页
Linux:系统配置
Linux:用户管理
Linux:优化排错
Linux:进程调度
Linux:文件系统
Linux:网络
Linux:系统服务
Linux:安全
Linux:内核
容器:Docker
容器:containerd
容器编排:Kubernetes
IAC:Terraform
大数据:Hadoop
大数据:Zookeeper
大数据:Hbase
消息队列:rsyslog
消息队列:kafka
数据库:MySQL
数据库:MongoDB
搜索引擎:Elasticsearch
时序数据库:OpenTSDB
网站服务:Nginx
编程:Bash
编程:Perl
编程:Python
编程:C
编程:JAVA
编程:Rust
版本控制:gitlab
知识管理:docusaurus
常用小工具
关于我
标签
Terraform 6.1 模块基础使用
2023-10-04 12:53:53
33
0
0
admin
> 一个案例 主模块a.tf ``` provider "aws" { region = "ap-southeast-1" shared_config_files = ["/home/iac/.aws/config"] shared_credentials_files = ["/home/iac/.aws/credentials"] } provider "aws" { alias = "aws2" region = "us-west-1" shared_config_files = ["/home/iac/.aws/config"] shared_credentials_files = ["/home/iac/.aws/credentials"] } module "module_abc" { source = "./modules/b" key_name = "abc" providers = { aws = aws.aws2 #默认provider aws.aws_a = aws.aws2 #指定provider } } resource "aws_key_pair" "father_key" { key_name = "father_key_${module.module_abc.child_key_arn}" #获得子模块output public_key = "ssh-rsa xxx" } ``` 模块文件modules/b/b.tf ``` terraform { required_providers { aws = { source = "hashicorp/aws" #设置provider的条件,可选 version = ">= 2.7.0" configuration_aliases = [ aws.aws_a ] #定义需要的provider } } } provider "aws" { #本地也可以有自己的provider alias = "aws_b" region = "us-west-2" shared_config_files = ["/home/iac/.aws/config"] shared_credentials_files = ["/home/iac/.aws/credentials"] } variable "key_name" { #配置input type = string } resource "aws_key_pair" "child_key" { key_name = "child_key_${var.key_name}" public_key = "ssh-rsa xxx" } resource "aws_key_pair" "child_key_a" { key_name = "child_key_a" public_key = "ssh-rsa xxx" provider = aws.aws_a } resource "aws_key_pair" "child_key_b" { key_name = "child_key_b" public_key = "ssh-rsa xxx" provider = aws.aws_b } output "child_key_arn" { #配置output value = aws_key_pair.child_key.arn } ```
上一篇:
Terraform 6.0 模块基础
下一篇:
Terraform 7.02 depends_on
文档导航