diff options
Diffstat (limited to 'boto/ec2/ec2object.py')
-rw-r--r-- | boto/ec2/ec2object.py | 23 |
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] |