Skip to content

Commit 9f43566

Browse files
Add support for VPCSubnet.databases field (#607)
* Add support for VPCSubnet.databases field * ipv6_range -> ipv6_ranges * ipv6_range -> ipv6_ranges (list)
1 parent 23510bb commit 9f43566

4 files changed

Lines changed: 32 additions & 0 deletions

File tree

linode_api4/objects/vpc.py

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,13 @@ class VPCSubnetLinode(JSONObject):
2020
interfaces: Optional[List[VPCSubnetLinodeInterface]] = None
2121

2222

23+
@dataclass
24+
class VPCSubnetDatabase(JSONObject):
25+
id: int = 0
26+
ipv4_range: Optional[str] = None
27+
ipv6_ranges: Optional[List[str]] = None
28+
29+
2330
class VPCSubnet(DerivedBase):
2431
"""
2532
An instance of a VPC subnet.
@@ -36,6 +43,7 @@ class VPCSubnet(DerivedBase):
3643
"label": Property(mutable=True),
3744
"ipv4": Property(),
3845
"linodes": Property(json_object=VPCSubnetLinode, unordered=True),
46+
"databases": Property(json_object=VPCSubnetDatabase, unordered=True),
3947
"created": Property(is_datetime=True),
4048
"updated": Property(is_datetime=True),
4149
}

test/fixtures/vpcs_123456_subnets.json

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,15 @@
1919
]
2020
}
2121
],
22+
"databases": [
23+
{
24+
"id": 12345,
25+
"ipv4_range": "10.0.0.0/24",
26+
"ipv6_ranges": [
27+
"2001:db8::/64"
28+
]
29+
}
30+
],
2231
"created": "2018-01-01T00:01:01",
2332
"updated": "2018-01-01T00:01:01"
2433
}

test/fixtures/vpcs_123456_subnets_789.json

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,15 @@
1717
]
1818
}
1919
],
20+
"databases": [
21+
{
22+
"id": 12345,
23+
"ipv4_range": "10.0.0.0/24",
24+
"ipv6_ranges": [
25+
"2001:db8::/64"
26+
]
27+
}
28+
],
2029
"created": "2018-01-01T00:01:01",
2130
"updated": "2018-01-01T00:01:01"
2231
}

test/unit/objects/vpc_test.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -120,7 +120,13 @@ def validate_vpc_subnet_789(self, subnet: VPCSubnet):
120120

121121
self.assertEqual(subnet.label, "test-subnet")
122122
self.assertEqual(subnet.ipv4, "10.0.0.0/24")
123+
123124
self.assertEqual(subnet.linodes[0].id, 12345)
125+
126+
self.assertEqual(subnet.databases[0].id, 12345)
127+
self.assertEqual(subnet.databases[0].ipv4_range, "10.0.0.0/24")
128+
self.assertEqual(subnet.databases[0].ipv6_ranges, ["2001:db8::/64"])
129+
124130
self.assertEqual(subnet.created, expected_dt)
125131
self.assertEqual(subnet.updated, expected_dt)
126132

0 commit comments

Comments
 (0)