Revision ef2e6c9f kamaki/clients/compute/__init__.py

b/kamaki/clients/compute/__init__.py
175 175
        r = self.servers_delete(server_id)
176 176
        return r.headers
177 177

  
178
    def change_admin_password(self, server_id, new_password):
179
        """
180
        :param server_id: (int)
181

  
182
        :param new_password: (str)
183
        """
184
        req = {"changePassword": {"adminPass": new_password}}
185
        r = self.servers_action_post(server_id, json_data=req)
186
        return r.headers
187

  
188
    def rebuild_server(self, server_id, response_headers=dict(location=None)):
189
        """OS"""
190
        server = self.get_server_details(server_id)
191
        r = self.servers_action_post(
192
            server_id, json_data=dict(rebuild=server['server']))
193
        for k, v in response_headers.items():
194
            response_headers[k] = r.headers.get(k, v)
195
        return r.json['server']
196

  
178 197
    def reboot_server(self, server_id, hard=False):
179 198
        """
180 199
        :param server_id: integer (str or int)
181 200

  
182 201
        :param hard: perform a hard reboot if true, soft reboot otherwise
183 202
        """
184
        boot_type = 'HARD' if hard else 'SOFT'
185
        req = {'reboot': {'type': boot_type}}
186
        r = self.servers_post(server_id, 'action', json_data=req)
203
        req = {'reboot': {'type': 'HARD' if hard else 'SOFT'}}
204
        r = self.servers_action_post(server_id, json_data=req)
187 205
        return r.headers
188 206

  
189 207
    def resize_server(self, server_id, flavor_id):
......
195 213
        :returns: (dict) request headers
196 214
        """
197 215
        req = {'resize': {'flavorRef': flavor_id}}
198
        r = self.servers_post(server_id, 'action', json_data=req)
216
        r = self.servers_action_post(server_id, json_data=req)
217
        return r.headers
218

  
219
    def confirm_resize_server(self, server_id):
220
        """OS"""
221
        r = self.servers_action_post(
222
            server_id, json_data=dict(confirmResize=None))
223
        return r.headers
224

  
225
    def revert_resize_server(self, server_id):
226
        """OS"""
227
        r = self.servers_action_post(
228
            server_id, json_data=dict(revertResize=None))
229
        return r.headers
230

  
231
    def create_server_image(self, server_id, image_name, **metadata):
232
        """OpenStack method for taking snapshots"""
233
        req = dict(createImage=dict(name=image_name, metadata=metadata))
234
        r = self.servers_action_post(server_id, json_data=req)
235
        return r.headers['location']
236

  
237
    def start_server(self, server_id):
238
        """OS Extentions"""
239
        req = {'os-start': None}
240
        r = self.servers_action_post(server_id, json_data=req, success=202)
241
        return r.headers
242

  
243
    def shutdown_server(self, server_id):
244
        """OS Extentions"""
245
        req = {'os-stop': None}
246
        r = self.servers_action_post(server_id, json_data=req, success=202)
199 247
        return r.headers
200 248

  
201 249
    def get_server_metadata(self, server_id, key='', response_headers=dict(

Also available in: Unified diff