blob: 06c8f1383ab3b14cf7104ef41560158cc346475c [file] [log] [blame]
Ken'ichi Ohmichi2fdc1822014-03-18 09:10:57 +09001# Copyright 2014 NEC Corporation.
2#
3# Licensed under the Apache License, Version 2.0 (the "License"); you may
4# not use this file except in compliance with the License. You may obtain
5# a copy of the License at
6#
7# http://www.apache.org/licenses/LICENSE-2.0
8#
9# Unless required by applicable law or agreed to in writing, software
10# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
11# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
12# License for the specific language governing permissions and limitations
13# under the License.
14
Matthew Treinish21905512015-07-13 10:33:35 -040015from oslo_serialization import jsonutils as json
Matthew Treinish89128142015-04-23 10:44:30 -040016from six.moves.urllib import parse as urllib
Ken'ichi Ohmichi2fdc1822014-03-18 09:10:57 +090017
ghanshyam59869d02015-04-22 17:23:08 +090018from tempest.api_schema.response.compute.v2_1 import migrations as schema
Ken'ichi Ohmichi4771cbc2015-01-19 23:45:23 +000019from tempest.common import service_client
Ken'ichi Ohmichi2fdc1822014-03-18 09:10:57 +090020
21
Ken'ichi Ohmichia6287072015-07-02 02:43:15 +000022class MigrationsClient(service_client.ServiceClient):
Ken'ichi Ohmichi2fdc1822014-03-18 09:10:57 +090023
Ken'ichi Ohmichi118776d2015-07-01 08:15:00 +000024 def list_migrations(self, **params):
Ken'ichi Ohmichi2fdc1822014-03-18 09:10:57 +090025 """Lists all migrations."""
26
27 url = 'os-migrations'
28 if params:
29 url += '?%s' % urllib.urlencode(params)
30
31 resp, body = self.get(url)
32 body = json.loads(body)
Ken'ichi Ohmichia7a14f12014-04-08 22:31:17 +090033 self.validate_response(schema.list_migrations, resp, body)
David Kranz5cf4ba42015-02-10 14:00:50 -050034 return service_client.ResponseBodyList(resp, body['migrations'])