Мне нужно для какой-то цели пометить существующий AWS VPC пользовательским тегом.
Я узнал, как пометить VPC при его создании, но ничего о маркировке существующего VPC.
Объекты, которые яВ существующем коде есть EC2, RDS и группы автоматического масштабирования (и, конечно, их атрибуты), поэтому вместо того, чтобы пометить все экземпляры и RDS, я бы хотел пометить их VPC.
edit: получил, вот оноесли кто-то в этом нуждается, я фильтрую VPC по тегу среды ('tag: environment'), а environment_filter_list содержит полное имя среды (-ей), например, dev01-eu-west-1
ec2 = Aws::EC2::Client.new(region: 'eu-west-1', retry_limit: 10, retry_jitter: :full, retry_base_delay: 5)
vpc_response = ec2.describe_vpcs(filters:[{ name: 'tag:environment', values: environment_filter_list }])
vpc_id = vpc_response.data.vpcs[0].vpc_id
#when you have multiple environments in filter list, you should instead of previous line iterate like this and put tag for each vpc id in vpc_hash:
#vpc_hash = {}
#vpc_response.data.vpcs.each do |vpc|
#vpc_name = name_from_tag(vpc)
#vpc_hash[vpc.vpc_id] = vpc_name if vpc_name
#end
resp = ec2.create_tags({
resources: [
vpc_id,
],
tags: [
{
key: "StopDate",
value: "20190321",
},
],
})