diff options
Diffstat (limited to 'cinderclient/v3/availability_zones.py')
-rw-r--r-- | cinderclient/v3/availability_zones.py | 25 |
1 files changed, 24 insertions, 1 deletions
diff --git a/cinderclient/v3/availability_zones.py b/cinderclient/v3/availability_zones.py index 3b99540..db6b8da 100644 --- a/cinderclient/v3/availability_zones.py +++ b/cinderclient/v3/availability_zones.py @@ -16,4 +16,27 @@ """Availability Zone interface (v3 extension)""" -from cinderclient.v2.availability_zones import * # noqa +from cinderclient import base + + +class AvailabilityZone(base.Resource): + NAME_ATTR = 'display_name' + + def __repr__(self): + return "<AvailabilityZone: %s>" % self.zoneName + + +class AvailabilityZoneManager(base.ManagerWithFind): + """Manage :class:`AvailabilityZone` resources.""" + resource_class = AvailabilityZone + + def list(self, detailed=False): + """Lists all availability zones. + + :rtype: list of :class:`AvailabilityZone` + """ + if detailed is True: + return self._list("/os-availability-zone/detail", + "availabilityZoneInfo") + else: + return self._list("/os-availability-zone", "availabilityZoneInfo") |