Я хочу удалить тег из тома EBS с помощью boto3/lambda. В этом документеhttps://boto3.readthedocs.io/en/latest/reference/services/ec2.html#volumeЯ вижу только 'create_tags()'. Он подходит для изменения тегов и, например, для установки пустого значения, но мне нужно полностью удалить тег.
Я пробовал create_tags(), используя пустое значение, и просто create_tags() со всеми тегами, которые мне нужно сохранить, и исключая некоторые, но это не работает: теги, которые я хочу удалить, остаются нетронутыми.
tagRes = boto3.resource('ec2', region_name=region);
volume = tagRes.Volume(id);
...
tagsToKeep.append({'Key': tagName, 'Value': 'keep it'})
...
ret = volume.create_tags(
Resources=[id],
Tags=tagsToKeep
);
Итак, как удалить тег из тома EBS?
решение1
Работает это довольно неожиданным образом: несмотря на то, что вы создаете теги с помощью resource
, вам приходится удалять их с помощью client
:
id = 'vol-5e0e9c3333'
tagRes = boto3.client('ec2', region_name=region)
ret = tagRes.delete_tags(
Resources=[id],
Tags=[{'Key': 'tag_name_to_del' }]
);