|
15 | 15 | # limitations under the License. |
16 | 16 | # |
17 | 17 |
|
18 | | -from .exceptions import StackException |
19 | 18 | from .http import HttpMixin, endpoint |
20 | | -from .version import accepted_versions, deprecated |
21 | 19 |
|
22 | 20 |
|
23 | 21 | class RegionMixin(HttpMixin): |
24 | | - |
25 | | - |
26 | | - @accepted_versions(">=0.6.1") |
27 | | - @endpoint("regions/") |
28 | | - def list_regions(self): |
| 22 | + @endpoint("cloud/providers/{provider_name}/regions/") |
| 23 | + def list_regions(self, provider_name): |
29 | 24 | return self._get(endpoint, jsonify=True)['results'] |
30 | 25 |
|
31 | | - |
32 | | - @endpoint("regions/{region_id}") |
33 | | - def get_region(self, region_id, none_on_404=False): |
| 26 | + @endpoint("cloud/providers/{provider_name}/regions/{region_id}") |
| 27 | + def get_region(self, provider_name, region_id, none_on_404=False): |
34 | 28 | return self._get(endpoint, jsonify=True, none_on_404=none_on_404) |
35 | 29 |
|
36 | | - |
37 | | - @accepted_versions(">=0.6.1") |
38 | | - @endpoint("regions/") |
39 | | - def search_regions(self, **kwargs): |
| 30 | + @endpoint("cloud/providers/{provider_name}/regions/") |
| 31 | + def search_regions(self, provider_name, **kwargs): |
40 | 32 | return self._get(endpoint, params=kwargs, jsonify=True)['results'] |
41 | 33 |
|
42 | | - |
43 | | - @deprecated |
44 | | - @accepted_versions(">=0.6", "<0.7") |
45 | | - @endpoint("regions/") |
46 | | - def get_region_id(self, title, type_name="ec2"): |
47 | | - """Get a zone id for title""" |
48 | | - |
49 | | - provider_type = self.get_provider_type(type_name) |
50 | | - params = { |
51 | | - "title": title, |
52 | | - "provider_type": provider_type["id"] |
53 | | - } |
54 | | - result = self._get(endpoint, params=params, jsonify=True) |
55 | | - if len(result['results']) == 1: |
56 | | - return result['results'][0]['id'] |
57 | | - |
58 | | - raise StackException("Zone %s not found for %s" % (title, type_name)) |
59 | | - |
60 | | - |
61 | | - @accepted_versions("!=0.6") |
62 | | - @endpoint("zones/") |
| 34 | + @endpoint("cloud/providers/{provider_name}/zones/") |
63 | 35 | def list_zones(self): |
64 | 36 | return self._get(endpoint, jsonify=True)['results'] |
65 | 37 |
|
66 | | - @endpoint("zones/{zone_id}") |
67 | | - def get_zone(self, zone_id, none_on_404=False): |
| 38 | + @endpoint("cloud/providers/{provider_name}/zones/{zone_id}") |
| 39 | + def get_zone(self, provider_name, zone_id, none_on_404=False): |
68 | 40 | return self._get(endpoint, jsonify=True, none_on_404=none_on_404) |
69 | 41 |
|
70 | | - @accepted_versions(">=0.6.1") |
71 | | - @endpoint("zones/") |
72 | | - def search_zones(self, **kwargs): |
| 42 | + @endpoint("cloud/providers/{provider_name}/zones/") |
| 43 | + def search_zones(self, provider_name, **kwargs): |
73 | 44 | return self._get(endpoint, params=kwargs, jsonify=True)['results'] |
74 | | - |
75 | | - |
76 | | - @deprecated |
77 | | - @accepted_versions("!=0.6", "<0.7") |
78 | | - @endpoint("zones/") |
79 | | - def get_zone_id(self, title, type_name="ec2"): |
80 | | - """Get a zone id for title""" |
81 | | - |
82 | | - result = self._get(endpoint, jsonify=True) |
83 | | - |
84 | | - type_id = self.get_provider_type_id(type_name) |
85 | | - for zone in result['results']: |
86 | | - if zone.get("title") == title: |
87 | | - if 'region' in zone: |
88 | | - # For version 0.6.1 |
89 | | - region = self._get(zone['region'], jsonify=True) |
90 | | - if region.get("provider_type") == type_id: |
91 | | - return zone.get("id") |
92 | | - elif 'provider_type' in zone: |
93 | | - # For versions 0.5.* |
94 | | - if zone['provider_type'] == type_id: |
95 | | - return zone.get("id") |
96 | | - |
97 | | - raise StackException("Zone %s not found for %s" % (title, type_name)) |
0 commit comments