Skip to content

Commit f3de91f

Browse files
chore(baremetal): remove exclude on partitioning schema type (scaleway#678)
Co-authored-by: Jonathan R. <[email protected]>
1 parent 451d1ba commit f3de91f

File tree

6 files changed

+330
-260
lines changed

6 files changed

+330
-260
lines changed

scaleway-async/scaleway_async/baremetal/v1/api.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -398,6 +398,7 @@ async def install_server(
398398
password: Optional[str] = None,
399399
service_user: Optional[str] = None,
400400
service_password: Optional[str] = None,
401+
partitioning_schema: Optional[Schema] = None,
401402
) -> Server:
402403
"""
403404
Install an Elastic Metal server.
@@ -411,6 +412,7 @@ async def install_server(
411412
:param password: Password used for the installation.
412413
:param service_user: User used for the service to install.
413414
:param service_password: Password used for the service to install.
415+
:param partitioning_schema: Partitioning schema.
414416
:return: :class:`Server <Server>`
415417
416418
Usage:
@@ -441,6 +443,7 @@ async def install_server(
441443
password=password,
442444
service_user=service_user,
443445
service_password=service_password,
446+
partitioning_schema=partitioning_schema,
444447
),
445448
self.client,
446449
),

scaleway-async/scaleway_async/baremetal/v1/marshalling.py

Lines changed: 146 additions & 130 deletions
Original file line numberDiff line numberDiff line change
@@ -894,6 +894,12 @@ def unmarshal_ServerInstall(data: Any) -> ServerInstall:
894894
if field is not None:
895895
args["service_url"] = field
896896

897+
field = data.get("partitioning_schema", None)
898+
if field is not None:
899+
args["partitioning_schema"] = unmarshal_Schema(field)
900+
else:
901+
args["partitioning_schema"] = None
902+
897903
return ServerInstall(**args)
898904

899905

@@ -1362,6 +1368,136 @@ def marshal_AddOptionServerRequest(
13621368
return output
13631369

13641370

1371+
def marshal_SchemaPartition(
1372+
request: SchemaPartition,
1373+
defaults: ProfileDefaults,
1374+
) -> Dict[str, Any]:
1375+
output: Dict[str, Any] = {}
1376+
1377+
if request.label is not None:
1378+
output["label"] = str(request.label)
1379+
1380+
if request.number is not None:
1381+
output["number"] = request.number
1382+
1383+
if request.size is not None:
1384+
output["size"] = request.size
1385+
1386+
return output
1387+
1388+
1389+
def marshal_SchemaPool(
1390+
request: SchemaPool,
1391+
defaults: ProfileDefaults,
1392+
) -> Dict[str, Any]:
1393+
output: Dict[str, Any] = {}
1394+
1395+
if request.name is not None:
1396+
output["name"] = request.name
1397+
1398+
if request.type_ is not None:
1399+
output["type"] = str(request.type_)
1400+
1401+
if request.devices is not None:
1402+
output["devices"] = request.devices
1403+
1404+
if request.options is not None:
1405+
output["options"] = request.options
1406+
1407+
if request.filesystem_options is not None:
1408+
output["filesystem_options"] = request.filesystem_options
1409+
1410+
return output
1411+
1412+
1413+
def marshal_SchemaDisk(
1414+
request: SchemaDisk,
1415+
defaults: ProfileDefaults,
1416+
) -> Dict[str, Any]:
1417+
output: Dict[str, Any] = {}
1418+
1419+
if request.device is not None:
1420+
output["device"] = request.device
1421+
1422+
if request.partitions is not None:
1423+
output["partitions"] = [
1424+
marshal_SchemaPartition(item, defaults) for item in request.partitions
1425+
]
1426+
1427+
return output
1428+
1429+
1430+
def marshal_SchemaFilesystem(
1431+
request: SchemaFilesystem,
1432+
defaults: ProfileDefaults,
1433+
) -> Dict[str, Any]:
1434+
output: Dict[str, Any] = {}
1435+
1436+
if request.device is not None:
1437+
output["device"] = request.device
1438+
1439+
if request.format is not None:
1440+
output["format"] = str(request.format)
1441+
1442+
if request.mountpoint is not None:
1443+
output["mountpoint"] = request.mountpoint
1444+
1445+
return output
1446+
1447+
1448+
def marshal_SchemaRAID(
1449+
request: SchemaRAID,
1450+
defaults: ProfileDefaults,
1451+
) -> Dict[str, Any]:
1452+
output: Dict[str, Any] = {}
1453+
1454+
if request.name is not None:
1455+
output["name"] = request.name
1456+
1457+
if request.level is not None:
1458+
output["level"] = str(request.level)
1459+
1460+
if request.devices is not None:
1461+
output["devices"] = request.devices
1462+
1463+
return output
1464+
1465+
1466+
def marshal_SchemaZFS(
1467+
request: SchemaZFS,
1468+
defaults: ProfileDefaults,
1469+
) -> Dict[str, Any]:
1470+
output: Dict[str, Any] = {}
1471+
1472+
if request.pools is not None:
1473+
output["pools"] = [marshal_SchemaPool(item, defaults) for item in request.pools]
1474+
1475+
return output
1476+
1477+
1478+
def marshal_Schema(
1479+
request: Schema,
1480+
defaults: ProfileDefaults,
1481+
) -> Dict[str, Any]:
1482+
output: Dict[str, Any] = {}
1483+
1484+
if request.disks is not None:
1485+
output["disks"] = [marshal_SchemaDisk(item, defaults) for item in request.disks]
1486+
1487+
if request.raids is not None:
1488+
output["raids"] = [marshal_SchemaRAID(item, defaults) for item in request.raids]
1489+
1490+
if request.filesystems is not None:
1491+
output["filesystems"] = [
1492+
marshal_SchemaFilesystem(item, defaults) for item in request.filesystems
1493+
]
1494+
1495+
if request.zfs is not None:
1496+
output["zfs"] = marshal_SchemaZFS(request.zfs, defaults)
1497+
1498+
return output
1499+
1500+
13651501
def marshal_CreateServerRequestInstall(
13661502
request: CreateServerRequestInstall,
13671503
defaults: ProfileDefaults,
@@ -1389,6 +1525,11 @@ def marshal_CreateServerRequestInstall(
13891525
if request.service_password is not None:
13901526
output["service_password"] = request.service_password
13911527

1528+
if request.partitioning_schema is not None:
1529+
output["partitioning_schema"] = marshal_Schema(
1530+
request.partitioning_schema, defaults
1531+
)
1532+
13921533
return output
13931534

13941535

@@ -1462,6 +1603,11 @@ def marshal_InstallServerRequest(
14621603
if request.service_password is not None:
14631604
output["service_password"] = request.service_password
14641605

1606+
if request.partitioning_schema is not None:
1607+
output["partitioning_schema"] = marshal_Schema(
1608+
request.partitioning_schema, defaults
1609+
)
1610+
14651611
return output
14661612

14671613

@@ -1567,136 +1713,6 @@ def marshal_UpdateSettingRequest(
15671713
return output
15681714

15691715

1570-
def marshal_SchemaPartition(
1571-
request: SchemaPartition,
1572-
defaults: ProfileDefaults,
1573-
) -> Dict[str, Any]:
1574-
output: Dict[str, Any] = {}
1575-
1576-
if request.label is not None:
1577-
output["label"] = str(request.label)
1578-
1579-
if request.number is not None:
1580-
output["number"] = request.number
1581-
1582-
if request.size is not None:
1583-
output["size"] = request.size
1584-
1585-
return output
1586-
1587-
1588-
def marshal_SchemaPool(
1589-
request: SchemaPool,
1590-
defaults: ProfileDefaults,
1591-
) -> Dict[str, Any]:
1592-
output: Dict[str, Any] = {}
1593-
1594-
if request.name is not None:
1595-
output["name"] = request.name
1596-
1597-
if request.type_ is not None:
1598-
output["type"] = str(request.type_)
1599-
1600-
if request.devices is not None:
1601-
output["devices"] = request.devices
1602-
1603-
if request.options is not None:
1604-
output["options"] = request.options
1605-
1606-
if request.filesystem_options is not None:
1607-
output["filesystem_options"] = request.filesystem_options
1608-
1609-
return output
1610-
1611-
1612-
def marshal_SchemaDisk(
1613-
request: SchemaDisk,
1614-
defaults: ProfileDefaults,
1615-
) -> Dict[str, Any]:
1616-
output: Dict[str, Any] = {}
1617-
1618-
if request.device is not None:
1619-
output["device"] = request.device
1620-
1621-
if request.partitions is not None:
1622-
output["partitions"] = [
1623-
marshal_SchemaPartition(item, defaults) for item in request.partitions
1624-
]
1625-
1626-
return output
1627-
1628-
1629-
def marshal_SchemaFilesystem(
1630-
request: SchemaFilesystem,
1631-
defaults: ProfileDefaults,
1632-
) -> Dict[str, Any]:
1633-
output: Dict[str, Any] = {}
1634-
1635-
if request.device is not None:
1636-
output["device"] = request.device
1637-
1638-
if request.format is not None:
1639-
output["format"] = str(request.format)
1640-
1641-
if request.mountpoint is not None:
1642-
output["mountpoint"] = request.mountpoint
1643-
1644-
return output
1645-
1646-
1647-
def marshal_SchemaRAID(
1648-
request: SchemaRAID,
1649-
defaults: ProfileDefaults,
1650-
) -> Dict[str, Any]:
1651-
output: Dict[str, Any] = {}
1652-
1653-
if request.name is not None:
1654-
output["name"] = request.name
1655-
1656-
if request.level is not None:
1657-
output["level"] = str(request.level)
1658-
1659-
if request.devices is not None:
1660-
output["devices"] = request.devices
1661-
1662-
return output
1663-
1664-
1665-
def marshal_SchemaZFS(
1666-
request: SchemaZFS,
1667-
defaults: ProfileDefaults,
1668-
) -> Dict[str, Any]:
1669-
output: Dict[str, Any] = {}
1670-
1671-
if request.pools is not None:
1672-
output["pools"] = [marshal_SchemaPool(item, defaults) for item in request.pools]
1673-
1674-
return output
1675-
1676-
1677-
def marshal_Schema(
1678-
request: Schema,
1679-
defaults: ProfileDefaults,
1680-
) -> Dict[str, Any]:
1681-
output: Dict[str, Any] = {}
1682-
1683-
if request.disks is not None:
1684-
output["disks"] = [marshal_SchemaDisk(item, defaults) for item in request.disks]
1685-
1686-
if request.raids is not None:
1687-
output["raids"] = [marshal_SchemaRAID(item, defaults) for item in request.raids]
1688-
1689-
if request.filesystems is not None:
1690-
output["filesystems"] = [
1691-
marshal_SchemaFilesystem(item, defaults) for item in request.filesystems
1692-
]
1693-
1694-
if request.zfs is not None:
1695-
output["zfs"] = marshal_SchemaZFS(request.zfs, defaults)
1696-
1697-
return output
1698-
1699-
17001716
def marshal_ValidatePartitioningSchemaRequest(
17011717
request: ValidatePartitioningSchemaRequest,
17021718
defaults: ProfileDefaults,

scaleway-async/scaleway_async/baremetal/v1/types.py

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -93,6 +93,7 @@ class SchemaFilesystemFormat(str, Enum, metaclass=StrEnumMeta):
9393
EXT4 = "ext4"
9494
SWAP = "swap"
9595
ZFS = "zfs"
96+
XFS = "xfs"
9697

9798
def __str__(self) -> str:
9899
return str(self.value)
@@ -520,6 +521,11 @@ class ServerInstall:
520521
Address of the installed service.
521522
"""
522523

524+
partitioning_schema: Optional[Schema]
525+
"""
526+
Partitioning schema.
527+
"""
528+
523529

524530
@dataclass
525531
class ServerOption:
@@ -609,6 +615,11 @@ class CreateServerRequestInstall:
609615
Password used for the service to install.
610616
"""
611617

618+
partitioning_schema: Optional[Schema]
619+
"""
620+
Partitioning schema.
621+
"""
622+
612623

613624
@dataclass
614625
class OS:
@@ -1281,6 +1292,11 @@ class InstallServerRequest:
12811292
Password used for the service to install.
12821293
"""
12831294

1295+
partitioning_schema: Optional[Schema]
1296+
"""
1297+
Partitioning schema.
1298+
"""
1299+
12841300

12851301
@dataclass
12861302
class ListOSRequest:

0 commit comments

Comments
 (0)