summaryrefslogtreecommitdiff
path: root/boto/ec2/ec2object.py
diff options
context:
space:
mode:
Diffstat (limited to 'boto/ec2/ec2object.py')
-rw-r--r--boto/ec2/ec2object.py23
1 files changed, 22 insertions, 1 deletions
diff --git a/boto/ec2/ec2object.py b/boto/ec2/ec2object.py
index f697e664..383602e5 100644
--- a/boto/ec2/ec2object.py
+++ b/boto/ec2/ec2object.py
@@ -85,6 +85,27 @@ class TaggedEC2Object(EC2Object):
self.tags = TagSet()
self.tags[key] = value
+ def add_tags(self, tags, dry_run=False):
+ """
+ Add tags to this object. Tags are stored by AWS and can be used
+ to organize and filter resources. Adding tags involves a round-trip
+ to the EC2 service.
+
+ :type tags: dict
+ :param tags: A dictionary of key-value pairs for the tags being stored.
+ If for some tags you want only the name and no value, the
+ corresponding value for that tag name should be an empty
+ string.
+ """
+ status = self.connection.create_tags(
+ [self.id],
+ tags,
+ dry_run=dry_run
+ )
+ if self.tags is None:
+ self.tags = TagSet()
+ self.tags.update(tags)
+
def remove_tag(self, key, value=None, dry_run=False):
"""
Remove a tag from this object. Removing a tag involves a round-trip
@@ -102,7 +123,7 @@ class TaggedEC2Object(EC2Object):
NOTE: There is an important distinction between
a value of '' and a value of None.
"""
- if value:
+ if value is not None:
tags = {key : value}
else:
tags = [key]