Skip to content

Commit b4f063f

Browse files
author
Pedro Rodrigues
committed
fix(free-tier): replace regionID with provider_region
1 parent 8a109ad commit b4f063f

File tree

4 files changed

+15
-21
lines changed

4 files changed

+15
-21
lines changed

singlestoredb/management/cluster.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -390,7 +390,7 @@ def create_cluster(
390390
:class:`Cluster`
391391
392392
"""
393-
if isinstance(region, Region):
393+
if isinstance(region, Region) and region.id:
394394
region = region.id
395395
res = self._post(
396396
'clusters', json=dict(

singlestoredb/management/region.py

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,10 @@ class Region(object):
2121
2222
"""
2323

24-
def __init__(self, id: str, name: str, provider: str):
24+
def __init__(
25+
self, name: str, provider: str, id: Optional[str] = None,
26+
region_name: Optional[str] = None,
27+
) -> None:
2528
"""Use :attr:`WorkspaceManager.regions` instead."""
2629
#: Unique ID of the region
2730
self.id = id
@@ -32,6 +35,9 @@ def __init__(self, id: str, name: str, provider: str):
3235
#: Name of the cloud provider
3336
self.provider = provider
3437

38+
#: Name of the provider region
39+
self.region_name = region_name
40+
3541
self._manager: Optional[Manager] = None
3642

3743
def __str__(self) -> str:
@@ -59,10 +65,14 @@ def from_dict(cls, obj: Dict[str, str], manager: Manager) -> 'Region':
5965
:class:`Region`
6066
6167
"""
68+
id = obj.get('regionID', None)
69+
region_name = obj.get('regionName', None)
70+
6271
out = cls(
63-
id=obj['regionID'],
72+
id=id,
6473
name=obj['region'],
6574
provider=obj['provider'],
75+
region_name=region_name,
6676
)
6777
out._manager = manager
6878
return out

singlestoredb/management/workspace.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1715,7 +1715,7 @@ def create_workspace_group(
17151715
:class:`WorkspaceGroup`
17161716
17171717
"""
1718-
if isinstance(region, Region):
1718+
if isinstance(region, Region) and region.id:
17191719
region = region.id
17201720
res = self._post(
17211721
'workspaceGroups', json=dict(

singlestoredb/tests/test_management.py

Lines changed: 1 addition & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1528,14 +1528,6 @@ def test_list_regions(self):
15281528
providers = {x.provider for x in regions}
15291529
assert 'Azure' in providers or 'GCP' in providers or 'AWS' in providers
15301530

1531-
# Verify region can be accessed by name or ID
1532-
region_by_name = regions[region.name]
1533-
region_by_id = regions[region.id]
1534-
assert region_by_name == region_by_id
1535-
assert region_by_name.id == region.id
1536-
assert region_by_name.name == region.name
1537-
assert region_by_name.provider == region.provider
1538-
15391531
def test_list_shared_tier_regions(self):
15401532
"""Test listing shared tier regions."""
15411533
regions = self.manager.list_shared_tier_regions()
@@ -1547,22 +1539,14 @@ def test_list_shared_tier_regions(self):
15471539
if regions:
15481540
region = regions[0]
15491541
assert isinstance(region, Region)
1550-
assert hasattr(region, 'id')
15511542
assert hasattr(region, 'name')
15521543
assert hasattr(region, 'provider')
1544+
assert hasattr(region, 'region_name')
15531545

15541546
# Verify provider values
15551547
providers = {x.provider for x in regions}
15561548
assert any(p in providers for p in ['Azure', 'GCP', 'AWS'])
15571549

1558-
# Verify region can be accessed by name or ID
1559-
region_by_name = regions[region.name]
1560-
region_by_id = regions[region.id]
1561-
assert region_by_name == region_by_id
1562-
assert region_by_name.id == region.id
1563-
assert region_by_name.name == region.name
1564-
assert region_by_name.provider == region.provider
1565-
15661550
def test_str_repr(self):
15671551
"""Test string representation of regions."""
15681552
regions = self.manager.list_regions()

0 commit comments

Comments
 (0)