【发布时间】:2021-03-04 19:28:06
【问题描述】:
我想标记多个 AWS 实例,它们的实例 ID 存储在一个属性中,例如-
aws
|_ instances
|____ 0: i-12sdfddf
|____ 1: i-23fdgfdg
|____ 2: i-34rtetio
这里,在读取节点数据的时候,我得懒加载。以下对我来说很好 -
aws_resource_tag 'tag_instances' do
resource_id lazy{node['aws']['instances'][0]}
tags (tag)
end
aws_resource_tag 'tag_instances' do
resource_id lazy{node['aws']['instances'][1]}
tags (tag)
end
.. and so on
但我想在一个循环中标记所有实例。像这样 -
aws_resource_tag 'tag_instances' do
resource_id lazy {node['aws']['instances'].values}
tags (tag)
end
我是新手,请帮忙。
更新:
根据@seshadri_c 的回答,这里存在一个错误-bug#243。
有解决办法吗?这样的事情会有所帮助 -
instance_values = lazy {node['aws']['instances']}
instance_values.each do |index, instance_id|
aws_resource_tag 'ec2_instances' do
resource_id instance_id
tags(tags)
end
end
【问题讨论】:
-
示例属性和单个
resource_id显示[aws][instance],但您想循环使用['ebs']['volumes']?您能用该属性的示例更新问题吗? -
谢谢,@seshadri_c .. 更新了问题。
标签: ruby chef-infra aws-sdk cookbook recipe