地形将额外的机器添加到法律vs附加



我编写了一个python脚本,允许用户登录到一个盒子,添加他们的访问/秘密密钥,然后将一个实例部署到vpc中。它还做了一些其他的事情,比如预标记实例等。

我的问题是:

  1. User-A登录,输入自己的信息,脚本部署
  2. 用户b登录,输入自己的信息。不是部署一个新的实例,而是修改User-A的实例。
我知道这是一个简单的问题,但我是新手。

是当前的TF文件:

  1 provider "aws" {
  2   #access_key = "${var.access_key}"
  3   #secret_key = "${var.secret_key}"
  4   region     = "${var.region}"
  5 }
  6
  7
  8 resource "aws_instance" "User-A" {
  9   ami = "${lookup(var.amis, var.region)}"
 10   instance_type = "t2.micro"
 11   subnet_id ="subnet-12688d4a"
 12
 13
 14    tags {
 15          Name = “user-A box”
 16          multicast = “group,172.16.0.10"
 17          owner = “USER-A”
 18        }
 19
 20
 21    provisioner "local-exec" {
 22        command = "echo ${aws_instance.labMain.public_ip} > pubip.txt"
 23        }
 24 }
 25
 26 resource "aws_eip" "ip" {
 27    instance = "${aws_instance.labMain.id}"
 28    }
 29
 30
 31 output "Your Instance's pubic ip is" {
 32    value  = "${aws_eip.ip.public_ip}"
 33    }
基本上

  1. 我不知道在哪里有用户b附加的tf文件
  2. 我只是复制代码,即第8-33行,再次在第34行但是获取用户b的信息?

谢谢

我现在明白是怎么回事了。

要创建多个唯一的实例,只需要声明唯一的资源名称。例如:

将上面的代码压缩为一个名为"vlslabMain"的实例

8 resource "aws_instance" "User-A" { stuff }
26 resource "aws_eip" "ip" { stuff }

要创建额外的实例,您只需定义一个新的资源名称

#instance1
resource "aws_instance" "User-A" { stuff }
resource "aws_eip" "ip-User-A" { stuff }
#instance2
resource "aws_instance" "User-B" { stuff }
resource "aws_eip" "ip User-B" { stuff }

最新更新