Skip to content

Commit 259697e

Browse files
feat: update generated APIs (scaleway#519)
Co-authored-by: Jules Castéran <[email protected]>
1 parent 14f5aba commit 259697e

File tree

16 files changed

+238
-0
lines changed

16 files changed

+238
-0
lines changed

scaleway-async/scaleway_async/ipam/v1/__init__.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
from .types import ListIPsRequest
1212
from .types import ListIPsResponse
1313
from .types import ReleaseIPRequest
14+
from .types import ReleaseIPSetRequest
1415
from .types import UpdateIPRequest
1516
from .api import IpamV1API
1617

@@ -26,6 +27,7 @@
2627
"ListIPsRequest",
2728
"ListIPsResponse",
2829
"ReleaseIPRequest",
30+
"ReleaseIPSetRequest",
2931
"UpdateIPRequest",
3032
"IpamV1API",
3133
]

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

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
BookIPRequest,
2020
IP,
2121
ListIPsResponse,
22+
ReleaseIPSetRequest,
2223
Reverse,
2324
Source,
2425
UpdateIPRequest,
@@ -27,6 +28,7 @@
2728
unmarshal_IP,
2829
unmarshal_ListIPsResponse,
2930
marshal_BookIPRequest,
31+
marshal_ReleaseIPSetRequest,
3032
marshal_UpdateIPRequest,
3133
)
3234

@@ -122,6 +124,40 @@ async def release_ip(
122124

123125
self._throw_on_error(res)
124126

127+
async def release_ip_set(
128+
self,
129+
*,
130+
region: Optional[Region] = None,
131+
ip_ids: Optional[List[str]] = None,
132+
) -> None:
133+
"""
134+
:param region: Region to target. If none is passed will use default region from the config.
135+
:param ip_ids:
136+
137+
Usage:
138+
::
139+
140+
result = await api.release_ip_set()
141+
"""
142+
143+
param_region = validate_path_param(
144+
"region", region or self.client.default_region
145+
)
146+
147+
res = self._request(
148+
"POST",
149+
f"/ipam/v1/regions/{param_region}/ip-sets/release",
150+
body=marshal_ReleaseIPSetRequest(
151+
ReleaseIPSetRequest(
152+
region=region,
153+
ip_ids=ip_ids,
154+
),
155+
self.client,
156+
),
157+
)
158+
159+
self._throw_on_error(res)
160+
125161
async def get_ip(
126162
self,
127163
*,

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

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
IP,
1717
ListIPsResponse,
1818
BookIPRequest,
19+
ReleaseIPSetRequest,
1920
UpdateIPRequest,
2021
)
2122

@@ -231,6 +232,18 @@ def marshal_BookIPRequest(
231232
return output
232233

233234

235+
def marshal_ReleaseIPSetRequest(
236+
request: ReleaseIPSetRequest,
237+
defaults: ProfileDefaults,
238+
) -> Dict[str, Any]:
239+
output: Dict[str, Any] = {}
240+
241+
if request.ip_ids is not None:
242+
output["ip_ids"] = request.ip_ids
243+
244+
return output
245+
246+
234247
def marshal_Reverse(
235248
request: Reverse,
236249
defaults: ProfileDefaults,

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

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -302,6 +302,16 @@ class ReleaseIPRequest:
302302
"""
303303

304304

305+
@dataclass
306+
class ReleaseIPSetRequest:
307+
region: Optional[Region]
308+
"""
309+
Region to target. If none is passed will use default region from the config.
310+
"""
311+
312+
ip_ids: Optional[List[str]]
313+
314+
305315
@dataclass
306316
class UpdateIPRequest:
307317
ip_id: str

scaleway-async/scaleway_async/rdb/v1/__init__.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,7 @@
4242
from .types import ReadReplicaEndpointSpecPrivateNetwork
4343
from .types import EngineVersion
4444
from .types import BackupSchedule
45+
from .types import EncryptionAtRest
4546
from .types import InstanceSetting
4647
from .types import LogsPolicy
4748
from .types import Maintenance
@@ -188,6 +189,7 @@
188189
"ReadReplicaEndpointSpecPrivateNetwork",
189190
"EngineVersion",
190191
"BackupSchedule",
192+
"EncryptionAtRest",
191193
"InstanceSetting",
192194
"LogsPolicy",
193195
"Maintenance",

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

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,7 @@
5050
DeleteInstanceACLRulesResponse,
5151
DeleteInstanceSettingsRequest,
5252
DeleteInstanceSettingsResponse,
53+
EncryptionAtRest,
5354
Endpoint,
5455
EndpointSpec,
5556
Instance,
@@ -981,6 +982,7 @@ async def create_instance(
981982
init_settings: Optional[List[InstanceSetting]] = None,
982983
volume_type: Optional[VolumeType] = None,
983984
init_endpoints: Optional[List[EndpointSpec]] = None,
985+
encryption: Optional[EncryptionAtRest] = None,
984986
) -> Instance:
985987
"""
986988
Create a Database Instance.
@@ -1003,6 +1005,7 @@ async def create_instance(
10031005
:param init_settings: List of engine settings to be set upon Database Instance initialization.
10041006
:param volume_type: Type of volume where data is stored (lssd, bssd, ...).
10051007
:param init_endpoints: One or multiple EndpointSpec used to expose your Database Instance. A load_balancer public endpoint is systematically created.
1008+
:param encryption: Encryption at rest settings for your Database Instance.
10061009
:return: :class:`Instance <Instance>`
10071010
10081011
Usage:
@@ -1043,6 +1046,7 @@ async def create_instance(
10431046
init_settings=init_settings,
10441047
volume_type=volume_type,
10451048
init_endpoints=init_endpoints,
1049+
encryption=encryption,
10461050
project_id=project_id,
10471051
organization_id=organization_id,
10481052
),

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

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@
2323
Database,
2424
InstanceLog,
2525
BackupSchedule,
26+
EncryptionAtRest,
2627
InstanceSetting,
2728
LogsPolicy,
2829
UpgradableVersion,
@@ -466,6 +467,21 @@ def unmarshal_BackupSchedule(data: Any) -> BackupSchedule:
466467
return BackupSchedule(**args)
467468

468469

470+
def unmarshal_EncryptionAtRest(data: Any) -> EncryptionAtRest:
471+
if not isinstance(data, dict):
472+
raise TypeError(
473+
"Unmarshalling the type 'EncryptionAtRest' failed as data isn't a dictionary."
474+
)
475+
476+
args: Dict[str, Any] = {}
477+
478+
field = data.get("enabled", None)
479+
if field is not None:
480+
args["enabled"] = field
481+
482+
return EncryptionAtRest(**args)
483+
484+
469485
def unmarshal_InstanceSetting(data: Any) -> InstanceSetting:
470486
if not isinstance(data, dict):
471487
raise TypeError(
@@ -678,6 +694,12 @@ def unmarshal_Instance(data: Any) -> Instance:
678694
else:
679695
args["logs_policy"] = None
680696

697+
field = data.get("encryption", None)
698+
if field is not None:
699+
args["encryption"] = unmarshal_EncryptionAtRest(field)
700+
else:
701+
args["encryption"] = None
702+
681703
return Instance(**args)
682704

683705

@@ -1702,6 +1724,18 @@ def marshal_CreateInstanceFromSnapshotRequest(
17021724
return output
17031725

17041726

1727+
def marshal_EncryptionAtRest(
1728+
request: EncryptionAtRest,
1729+
defaults: ProfileDefaults,
1730+
) -> Dict[str, Any]:
1731+
output: Dict[str, Any] = {}
1732+
1733+
if request.enabled is not None:
1734+
output["enabled"] = request.enabled
1735+
1736+
return output
1737+
1738+
17051739
def marshal_CreateInstanceRequest(
17061740
request: CreateInstanceRequest,
17071741
defaults: ProfileDefaults,
@@ -1765,6 +1799,9 @@ def marshal_CreateInstanceRequest(
17651799
marshal_EndpointSpec(item, defaults) for item in request.init_endpoints
17661800
]
17671801

1802+
if request.encryption is not None:
1803+
output["encryption"] = marshal_EncryptionAtRest(request.encryption, defaults)
1804+
17681805
return output
17691806

17701807

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

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -491,6 +491,11 @@ class BackupSchedule:
491491
"""
492492

493493

494+
@dataclass
495+
class EncryptionAtRest:
496+
enabled: bool
497+
498+
494499
@dataclass
495500
class InstanceSetting:
496501
name: str
@@ -962,6 +967,11 @@ class Instance:
962967
Logs policy of the Database Instance.
963968
"""
964969

970+
encryption: Optional[EncryptionAtRest]
971+
"""
972+
Encryption at rest settings for your Database Instance.
973+
"""
974+
965975

966976
@dataclass
967977
class NodeType:
@@ -1395,6 +1405,11 @@ class CreateInstanceRequest:
13951405
One or multiple EndpointSpec used to expose your Database Instance. A load_balancer public endpoint is systematically created.
13961406
"""
13971407

1408+
encryption: Optional[EncryptionAtRest]
1409+
"""
1410+
Encryption at rest settings for your Database Instance.
1411+
"""
1412+
13981413
project_id: Optional[str]
13991414

14001415
organization_id: Optional[str]

scaleway/scaleway/ipam/v1/__init__.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
from .types import ListIPsRequest
1212
from .types import ListIPsResponse
1313
from .types import ReleaseIPRequest
14+
from .types import ReleaseIPSetRequest
1415
from .types import UpdateIPRequest
1516
from .api import IpamV1API
1617

@@ -26,6 +27,7 @@
2627
"ListIPsRequest",
2728
"ListIPsResponse",
2829
"ReleaseIPRequest",
30+
"ReleaseIPSetRequest",
2931
"UpdateIPRequest",
3032
"IpamV1API",
3133
]

scaleway/scaleway/ipam/v1/api.py

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
BookIPRequest,
2020
IP,
2121
ListIPsResponse,
22+
ReleaseIPSetRequest,
2223
Reverse,
2324
Source,
2425
UpdateIPRequest,
@@ -27,6 +28,7 @@
2728
unmarshal_IP,
2829
unmarshal_ListIPsResponse,
2930
marshal_BookIPRequest,
31+
marshal_ReleaseIPSetRequest,
3032
marshal_UpdateIPRequest,
3133
)
3234

@@ -122,6 +124,40 @@ def release_ip(
122124

123125
self._throw_on_error(res)
124126

127+
def release_ip_set(
128+
self,
129+
*,
130+
region: Optional[Region] = None,
131+
ip_ids: Optional[List[str]] = None,
132+
) -> None:
133+
"""
134+
:param region: Region to target. If none is passed will use default region from the config.
135+
:param ip_ids:
136+
137+
Usage:
138+
::
139+
140+
result = api.release_ip_set()
141+
"""
142+
143+
param_region = validate_path_param(
144+
"region", region or self.client.default_region
145+
)
146+
147+
res = self._request(
148+
"POST",
149+
f"/ipam/v1/regions/{param_region}/ip-sets/release",
150+
body=marshal_ReleaseIPSetRequest(
151+
ReleaseIPSetRequest(
152+
region=region,
153+
ip_ids=ip_ids,
154+
),
155+
self.client,
156+
),
157+
)
158+
159+
self._throw_on_error(res)
160+
125161
def get_ip(
126162
self,
127163
*,

scaleway/scaleway/ipam/v1/marshalling.py

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
IP,
1717
ListIPsResponse,
1818
BookIPRequest,
19+
ReleaseIPSetRequest,
1920
UpdateIPRequest,
2021
)
2122

@@ -231,6 +232,18 @@ def marshal_BookIPRequest(
231232
return output
232233

233234

235+
def marshal_ReleaseIPSetRequest(
236+
request: ReleaseIPSetRequest,
237+
defaults: ProfileDefaults,
238+
) -> Dict[str, Any]:
239+
output: Dict[str, Any] = {}
240+
241+
if request.ip_ids is not None:
242+
output["ip_ids"] = request.ip_ids
243+
244+
return output
245+
246+
234247
def marshal_Reverse(
235248
request: Reverse,
236249
defaults: ProfileDefaults,

scaleway/scaleway/ipam/v1/types.py

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -302,6 +302,16 @@ class ReleaseIPRequest:
302302
"""
303303

304304

305+
@dataclass
306+
class ReleaseIPSetRequest:
307+
region: Optional[Region]
308+
"""
309+
Region to target. If none is passed will use default region from the config.
310+
"""
311+
312+
ip_ids: Optional[List[str]]
313+
314+
305315
@dataclass
306316
class UpdateIPRequest:
307317
ip_id: str

0 commit comments

Comments
 (0)