blob: 00f8330e4239ade54120d70622d4d6dcdd5782e9 [file] [log] [blame]
Leo Toyodaa5278912013-04-16 15:40:12 +09001# Copyright 2013 NEC Corporation.
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
16import json
17
Marc Koderer6fbd74f2014-08-04 09:38:19 +020018from tempest.api_schema.response.compute.v2 import availability_zone as schema
Haiwei Xuab924622014-03-05 04:33:51 +090019from tempest.common import rest_client
Matthew Treinish684d8992014-01-30 16:27:40 +000020from tempest import config
21
22CONF = config.CONF
Leo Toyodaa5278912013-04-16 15:40:12 +090023
24
Haiwei Xuab924622014-03-05 04:33:51 +090025class AvailabilityZoneClientJSON(rest_client.RestClient):
Leo Toyodaa5278912013-04-16 15:40:12 +090026
Andrea Frittoli8bbdb162014-01-06 11:06:13 +000027 def __init__(self, auth_provider):
28 super(AvailabilityZoneClientJSON, self).__init__(
29 auth_provider)
Matthew Treinish684d8992014-01-30 16:27:40 +000030 self.service = CONF.compute.catalog_type
Leo Toyodaa5278912013-04-16 15:40:12 +090031
32 def get_availability_zone_list(self):
33 resp, body = self.get('os-availability-zone')
34 body = json.loads(body)
Ken'ichi Ohmichi067027c2014-03-13 14:45:21 +090035 self.validate_response(schema.get_availability_zone_list, resp, body)
Leo Toyodaa5278912013-04-16 15:40:12 +090036 return resp, body['availabilityZoneInfo']
37
38 def get_availability_zone_list_detail(self):
39 resp, body = self.get('os-availability-zone/detail')
40 body = json.loads(body)
Ken'ichi Ohmichi067027c2014-03-13 14:45:21 +090041 self.validate_response(schema.get_availability_zone_list_detail, resp,
42 body)
Leo Toyodaa5278912013-04-16 15:40:12 +090043 return resp, body['availabilityZoneInfo']