Skip to content

Commit e65cd9c

Browse files
committed
de-duplicate the list of providers when finding regions
1 parent 5fec177 commit e65cd9c

File tree

2 files changed

+10
-5
lines changed

2 files changed

+10
-5
lines changed

netfoundry/network.py

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1641,20 +1641,25 @@ def find_regions(self, providers: list = [], provider: str = None, location_code
16411641
if provider:
16421642
providers.append(provider)
16431643

1644+
unique_providers = set()
16441645
if providers:
16451646
for provider in providers:
1646-
if provider not in DC_PROVIDERS:
1647+
if provider in DC_PROVIDERS:
1648+
unique_providers.add(provider)
1649+
else:
16471650
raise RuntimeError(f"unknown cloud provider '{provider}'. Need one of {str(DC_PROVIDERS)}")
16481651

1652+
16491653
url = self.audience+NET_RESOURCES['regions'].find_url
16501654

1651-
if len(providers) == 1 and location_code:
1652-
url = f"{url}/{providers[0]}/{location_code}"
1655+
if len(unique_providers) == 1 and location_code:
1656+
unique_providers_iterator = iter(unique_providers)
1657+
url = f"{url}/{next(unique_providers_iterator, None)}/{location_code}"
16531658
region, status = get_generic_resource_by_url(setup=self, url=url)
16541659
return([region])
16551660
else:
16561661
regions = list()
1657-
for i in find_generic_resources(setup=self, url=url, embedded=NET_RESOURCES['regions']._embedded, providers=providers):
1662+
for i in find_generic_resources(setup=self, url=url, embedded=NET_RESOURCES['regions']._embedded, providers=unique_providers):
16581663
regions.extend(i)
16591664

16601665
if location_code and len(regions) > 0:

netfoundry/utility.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -335,7 +335,7 @@ def create_generic_resource(setup: object, url: str, body: dict, headers: dict =
335335
setup.logger.debug(f"waiting for create {resource_type} execution with url {execution_url}")
336336
wait_for_execution(setup=setup, url=execution_url, wait=wait, sleep=sleep)
337337
else:
338-
setup.logger.warn(f"not waiting for create {resource_type['name']} execution")
338+
setup.logger.warn(f"not waiting for create {resource_type.name} execution")
339339
return resource
340340

341341

0 commit comments

Comments
 (0)