| Home | Trees | Indices | Help |
|---|
|
|
1 # Copyright 2014-2017 by Akira Yoshiyama <akirayoshiyama@gmail.com>.
2 # All Rights Reserved.
3 #
4 # Licensed under the Apache License, Version 2.0 (the "License"); you may
5 # not use this file except in compliance with the License. You may obtain
6 # a copy of the License at
7 #
8 # http://www.apache.org/licenses/LICENSE-2.0
9 #
10 # Unless required by applicable law or agreed to in writing, software
11 # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
12 # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
13 # License for the specific language governing permissions and limitations
14 # under the License.
15
16 """
17 Resource class and its manager for image members in Image V2 API
18 """
19
20 from yakumo import base
21 from yakumo.constant import UNDEF
22 from yakumo import mapper
23 from yakumo import utils
24
25
26 ATTRIBUTE_MAPPING = [
27 ('user', 'member_id', mapper.Resource('user')),
28 ('image', 'image_id', mapper.Resource('glance.image')),
29 ('schema', 'schema', mapper.Noop),
30 ('status', 'status', mapper.Noop),
31 ('created_at', 'created_at', mapper.DateTime),
32 ('updated_at', 'updated_at', mapper.DateTime),
33 ]
34
35
49
50
52 """manager class for image membes on Image V2 API"""
53
54 resource_class = Resource
55 service_type = 'image'
56 _attr_mapping = ATTRIBUTE_MAPPING
57 _id_attr = 'user'
58 _json_resources_key = 'members'
59 _url_resource_path = '/v2/images/%s/members'
60
62 """
63 Register a member for a image
64
65 @keyword user: New user (required)
66 @type user: yakumo.user.Resource
67 @return: Registered image member
68 @rtype: yakumo.glance.v2.image_member.Resource
69 """
70 ret = self._http.post(self._url_resource_path,
71 data=dict(member=user.get_id()))
72 attrs = self._json2attr(ret)
73 return self.get_empty(attrs.get(self._id_attr))
74
| Home | Trees | Indices | Help |
|---|
| Generated by Epydoc 3.0.1 on Sat Mar 4 23:02:26 2017 | http://epydoc.sourceforge.net |