Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- def create_tags(cls, instance):
- tag_meta = instance.tags_metadata
- role_meta = instance.roles_metadata
- for role, role_data in role_meta.items():
- role_tags = role_data.get('tags')
- if not role_tags:
- if role in tag_meta.keys():
- raise errors.InvalidData('Tag {} has not assign to role')\
- .format(role)
- tag_meta[role] = {
- 'tag': role,
- 'has_primary': role_data.get('has_primary', False),
- 'public_ip_required':
- role_data.get('public_ip_required', False),
- 'public_for_dvr_required':
- role_data.get('public_for_dvr_required', False)
- }
- role_data['tags'] = [role]
- role_meta.mark_dirty()
- else:
- for tag in role_tags:
- if tag not in tag_meta.keys():
- raise errors.InvalidData('Missed metadata for tag {}')\
- .format(tag)
- for name, meta in six.iteritems(tag_meta):
- data = {
- 'owner_id': instance.id,
- 'owner_type': consts.TAG_OWNER_TYPES.release,
- 'tag': name,
- 'has_primary': meta.get('has_primary', False),
- 'read_only': True
- }
- Tag.create(data)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement