~ubuntu-branches/ubuntu/wily/heat/wily

« back to all changes in this revision

Viewing changes to heat/engine/resources/openstack/keystone/group.py

  • Committer: Package Import Robot
  • Author(s): Corey Bryant
  • Date: 2015-09-08 15:52:07 UTC
  • mfrom: (1.1.28)
  • Revision ID: package-import@ubuntu.com-20150908155207-zi2r1rckyrevr5u7
Tags: 1:5.0.0~b3-0ubuntu1
* New upstream milestone for OpenStack Liberty.
* d/control: Align (build-)depends with upstream.
* d/p/fix-dummy-resource-missing.patch: Dropped. Fixed in milestone.
* d/p/move-extensions.patch: Dropped. Fixed in milestone.

Show diffs side-by-side

added added

removed removed

Lines of Context:
14
14
from heat.common.i18n import _
15
15
from heat.engine import constraints
16
16
from heat.engine import properties
 
17
from heat.engine import resource
17
18
from heat.engine.resources.openstack.keystone import role_assignments
18
19
from heat.engine import support
19
20
 
20
21
 
21
 
class KeystoneGroup(role_assignments.KeystoneRoleAssignment):
 
22
class KeystoneGroup(resource.Resource,
 
23
                    role_assignments.KeystoneRoleAssignmentMixin):
22
24
    """Heat Template Resource for Keystone Group."""
23
25
 
24
26
    support_status = support.SupportStatus(
54
56
        )
55
57
    }
56
58
 
57
 
    (properties_schema.
58
 
     update(role_assignments.KeystoneRoleAssignment.properties_schema))
 
59
    properties_schema.update(
 
60
        role_assignments.KeystoneRoleAssignmentMixin.mixin_properties_schema)
 
61
 
 
62
    def validate(self):
 
63
        super(KeystoneGroup, self).validate()
 
64
        self.validate_assignment_properties()
59
65
 
60
66
    def _create_group(self,
61
67
                      group_name,
102
108
 
103
109
        self.resource_id_set(group.id)
104
110
 
105
 
        super(KeystoneGroup, self).handle_create(user_id=None,
106
 
                                                 group_id=group.id)
 
111
        self.create_assignment(group_id=group.id)
107
112
 
108
 
    def handle_update(self, json_snippet=None, tmpl_diff=None, prop_diff=None):
 
113
    def handle_update(self, json_snippet, tmpl_diff, prop_diff):
109
114
        name = prop_diff.get(self.NAME) or self.physical_resource_name()
110
115
        description = prop_diff.get(self.DESCRIPTION)
111
116
        domain = (prop_diff.get(self.DOMAIN) or
118
123
            domain=domain
119
124
        )
120
125
 
121
 
        super(KeystoneGroup, self).handle_update(user_id=None,
122
 
                                                 group_id=self.resource_id,
123
 
                                                 prop_diff=prop_diff)
 
126
        self.update_assignment(prop_diff=prop_diff, group_id=self.resource_id)
124
127
 
125
128
    def handle_delete(self):
126
129
        if self.resource_id is not None:
127
130
            try:
128
 
                super(KeystoneGroup, self).handle_delete(
129
 
                    user_id=None,
130
 
                    group_id=self.resource_id)
 
131
                self.delete_assignment(group_id=self.resource_id)
131
132
 
132
133
                self._delete_group(group_id=self.resource_id)
133
134
            except Exception as ex: