从Terraform中的列表中选择一系列元素
有没有办法从Terraform中的列表中选择一系列元素 例如,如果我们有:从Terraform中的列表中选择一系列元素,terraform,Terraform,有没有办法从Terraform中的列表中选择一系列元素 例如,如果我们有: [a, bb, ccc, dddd, eeeee] 如何选择前3个元素 a, bb, ccc 然后是第四和第五元素 dddd, eeeee 使用。该页面描述了您可用的完整表达式语言 根据该列表的来源,您可能会发现在其源位置拆分它更方便。例如,与其声明5个aws\u实例资源,然后尝试以这种方式对其输出进行切片,不如分别声明3个和2个实例,并只处理整个输出列表。您正在查找的列表子集通常称为切片。Terraform为此有
[a, bb, ccc, dddd, eeeee]
如何选择前3个元素
a, bb, ccc
然后是第四和第五元素
dddd, eeeee
使用。该页面描述了您可用的完整表达式语言
根据该列表的来源,您可能会发现在其源位置拆分它更方便。例如,与其声明5个
aws\u实例
资源,然后尝试以这种方式对其输出进行切片,不如分别声明3个和2个实例,并只处理整个输出列表。您正在查找的列表子集通常称为切片。Terraform为此有一个内置函数,称为切片
,该函数自0.8.8版起可用。你在找什么
slice(<put_reference_to_list_here, 0, 3)
slice(<put_reference_to_list_here, 3, 5)
省去了terraforminit;地形刷新
:
data.null_data_source.slices: Refreshing state...
Outputs:
slices = {
butlast = 101,102,103,104
everything = 101,102,103,104,105
thelast = 105
}
啊,那一个从我的视线中溜走了——谢谢你,大卫!我相信如果每个TF内置功能都有一个单独的网页和几个不同用例的示例,这将是非常有用的-我将向TF的团队提出这个建议。顺便说一下-我正在尝试完成代码,应该能够创建多个托管区域,创建多个AWS ACM证书并通过DNS验证自动验证。我正在尝试使用尽可能干燥的代码,而不需要两次声明任何内容,等等。上面的函数是在验证的最后一步切片“validation\u record\u fqdns”所需要的。
data.null_data_source.slices: Refreshing state...
Outputs:
slices = {
butlast = 101,102,103,104
everything = 101,102,103,104,105
thelast = 105
}