Add support and unittests for Route53 tags
This commit is contained in:
parent
97513590c8
commit
9a7556b3af
4 changed files with 136 additions and 2 deletions
|
|
@ -1,5 +1,7 @@
|
|||
from __future__ import unicode_literals
|
||||
|
||||
from collections import defaultdict
|
||||
|
||||
import uuid
|
||||
from jinja2 import Template
|
||||
|
||||
|
|
@ -226,6 +228,7 @@ class Route53Backend(BaseBackend):
|
|||
def __init__(self):
|
||||
self.zones = {}
|
||||
self.health_checks = {}
|
||||
self.resource_tags = defaultdict(dict)
|
||||
|
||||
def create_hosted_zone(self, name, private_zone, comment=None):
|
||||
new_id = get_random_hex()
|
||||
|
|
@ -233,6 +236,25 @@ class Route53Backend(BaseBackend):
|
|||
self.zones[new_id] = new_zone
|
||||
return new_zone
|
||||
|
||||
def change_tags_for_resource(self, resource_id, tags):
|
||||
if 'Tag' in tags:
|
||||
for key, tag in tags.items():
|
||||
for t in tag:
|
||||
self.resource_tags[resource_id][t['Key']] = t['Value']
|
||||
|
||||
else:
|
||||
for _, keys in tags.items():
|
||||
if isinstance(keys, list):
|
||||
for key in keys:
|
||||
del(self.resource_tags[resource_id][key])
|
||||
else:
|
||||
del(self.resource_tags[resource_id][keys])
|
||||
|
||||
|
||||
def list_tags_for_resource(self, resource_id):
|
||||
if resource_id in self.resource_tags:
|
||||
return self.resource_tags[resource_id]
|
||||
|
||||
def get_all_hosted_zones(self):
|
||||
return self.zones.values()
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue