Amazon web services 从数据ec2_instance/'中列出一个列表;s
我有一个服务器列表,以本地语言作为列表存储Amazon web services 从数据ec2_instance/'中列出一个列表;s,amazon-web-services,terraform,terraform-provider-aws,cloudwatch-alarms,Amazon Web Services,Terraform,Terraform Provider Aws,Cloudwatch Alarms,我有一个服务器列表,以本地语言作为列表存储 locals { my_list = [ "server1", "server2", "server3", "server4" ] } 我是否可以使用上面的局部变量获取每个服务器(如Instance I’d等)的数据?不为每台服务器定义单独的数据块 然后我可以将这些属性放入列表中吗?最后,在下面的示例中,我将如何使用它,该示例仅针
locals {
my_list = [
"server1",
"server2",
"server3",
"server4"
]
}
我是否可以使用上面的局部变量获取每个服务器(如Instance I’d等)的数据?不为每台服务器定义单独的数据块
然后我可以将这些属性放入列表中吗?最后,在下面的示例中,我将如何使用它,该示例仅针对一台服务器。(下面的示例是一个cloud watch报警维度)
您可以在
我的列表中提供筛选器实例id
(假设server1
是实例id):
如果my_列表
包含实例名称,则可以使用:
data "aws_instance" "my_instances" {
for_each = toset(local.my_list)
instance_tags = {
Name = each.key
}
}
要获取实例ID的列表
:
values(data.aws_instance.my_instances)[*].id
请编辑您的问题以提供更多信息。例如,您所说的“为每台服务器获取数据”是什么意思?您正在寻找哪些数据?“定义单个数据块”是什么意思?更多信息,请。我已经提到,我需要在这里的实例ID。我还提到我需要使用数据从服务器获取信息。对于在terraform上工作的人来说,我要做的事情非常简单。我想你需要再次阅读我的问题,并参考terraform 101抱歉。PS:我已经得到了一个非常清楚地理解我问题的人的答案。谢谢,这适用于实例,但不适用于Name`dimensions={instanceid=values(data.aws\u instances.my\u instances)[].ids instancename=values(data.aws\u instances.my\u instances)[].Name}``server2={+filter=null+id=“us-west-2”+ids=[+“i-0b979e55437035e41”,]+instance_state_names=null+instance_tags={+“Name”=“server2”}`@user2499710实例的名称是youlocal.my_list
。使用local.my_list为属性“dimensions”提供了不适当的值:element“instancename”:必需字符串。instanceid=values(data.aws_instances.my_instances)[*]。ids为属性“dimensions”提供了不适当的值:element“instanceid”“:字符串必需。@user2499710我建议提出新问题。我不知道维度是什么。它是什么上下文?您到底想实现什么?错误是什么。我提供的答案显示了如何按照您的要求获取有关实例的详细信息。维度问题对我来说似乎是一个单独的问题。
data "aws_instance" "my_instances" {
for_each = toset(local.my_list)
instance_tags = {
Name = each.key
}
}
values(data.aws_instance.my_instances)[*].id