Skip to content

Commit dab7ce7

Browse files
feat(audit_trail): add lb resources (#1207)
Co-authored-by: Laure-di <62625835+Laure-di@users.noreply.github.com>
1 parent e25b12c commit dab7ce7

File tree

6 files changed

+550
-0
lines changed

6 files changed

+550
-0
lines changed

scaleway-async/scaleway_async/audit_trail/v1alpha1/__init__.py

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,13 @@
1515
from .types import KubernetesClusterInfo
1616
from .types import KubernetesNodeInfo
1717
from .types import KubernetesPoolInfo
18+
from .types import LoadBalancerAclInfo
19+
from .types import LoadBalancerBackendInfo
20+
from .types import LoadBalancerCertificateInfo
21+
from .types import LoadBalancerFrontendInfo
22+
from .types import LoadBalancerIpInfo
23+
from .types import LoadBalancerLbInfo
24+
from .types import LoadBalancerRouteInfo
1825
from .types import SecretManagerSecretInfo
1926
from .types import SecretManagerSecretVersionInfo
2027
from .types import EventPrincipal
@@ -45,6 +52,13 @@
4552
"KubernetesClusterInfo",
4653
"KubernetesNodeInfo",
4754
"KubernetesPoolInfo",
55+
"LoadBalancerAclInfo",
56+
"LoadBalancerBackendInfo",
57+
"LoadBalancerCertificateInfo",
58+
"LoadBalancerFrontendInfo",
59+
"LoadBalancerIpInfo",
60+
"LoadBalancerLbInfo",
61+
"LoadBalancerRouteInfo",
4862
"SecretManagerSecretInfo",
4963
"SecretManagerSecretVersionInfo",
5064
"EventPrincipal",

scaleway-async/scaleway_async/audit_trail/v1alpha1/marshalling.py

Lines changed: 200 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,13 @@
1818
KubernetesClusterInfo,
1919
KubernetesNodeInfo,
2020
KubernetesPoolInfo,
21+
LoadBalancerAclInfo,
22+
LoadBalancerBackendInfo,
23+
LoadBalancerCertificateInfo,
24+
LoadBalancerFrontendInfo,
25+
LoadBalancerIpInfo,
26+
LoadBalancerLbInfo,
27+
LoadBalancerRouteInfo,
2128
SecretManagerSecretInfo,
2229
SecretManagerSecretVersionInfo,
2330
EventPrincipal,
@@ -258,6 +265,155 @@ def unmarshal_KubernetesPoolInfo(data: Any) -> KubernetesPoolInfo:
258265
return KubernetesPoolInfo(**args)
259266

260267

268+
def unmarshal_LoadBalancerAclInfo(data: Any) -> LoadBalancerAclInfo:
269+
if not isinstance(data, dict):
270+
raise TypeError(
271+
"Unmarshalling the type 'LoadBalancerAclInfo' failed as data isn't a dictionary."
272+
)
273+
274+
args: Dict[str, Any] = {}
275+
276+
field = data.get("frontend_id", None)
277+
if field is not None:
278+
args["frontend_id"] = field
279+
else:
280+
args["frontend_id"] = None
281+
282+
return LoadBalancerAclInfo(**args)
283+
284+
285+
def unmarshal_LoadBalancerBackendInfo(data: Any) -> LoadBalancerBackendInfo:
286+
if not isinstance(data, dict):
287+
raise TypeError(
288+
"Unmarshalling the type 'LoadBalancerBackendInfo' failed as data isn't a dictionary."
289+
)
290+
291+
args: Dict[str, Any] = {}
292+
293+
field = data.get("lb_id", None)
294+
if field is not None:
295+
args["lb_id"] = field
296+
else:
297+
args["lb_id"] = None
298+
299+
field = data.get("name", None)
300+
if field is not None:
301+
args["name"] = field
302+
else:
303+
args["name"] = None
304+
305+
return LoadBalancerBackendInfo(**args)
306+
307+
308+
def unmarshal_LoadBalancerCertificateInfo(data: Any) -> LoadBalancerCertificateInfo:
309+
if not isinstance(data, dict):
310+
raise TypeError(
311+
"Unmarshalling the type 'LoadBalancerCertificateInfo' failed as data isn't a dictionary."
312+
)
313+
314+
args: Dict[str, Any] = {}
315+
316+
field = data.get("lb_id", None)
317+
if field is not None:
318+
args["lb_id"] = field
319+
else:
320+
args["lb_id"] = None
321+
322+
field = data.get("name", None)
323+
if field is not None:
324+
args["name"] = field
325+
else:
326+
args["name"] = None
327+
328+
return LoadBalancerCertificateInfo(**args)
329+
330+
331+
def unmarshal_LoadBalancerFrontendInfo(data: Any) -> LoadBalancerFrontendInfo:
332+
if not isinstance(data, dict):
333+
raise TypeError(
334+
"Unmarshalling the type 'LoadBalancerFrontendInfo' failed as data isn't a dictionary."
335+
)
336+
337+
args: Dict[str, Any] = {}
338+
339+
field = data.get("lb_id", None)
340+
if field is not None:
341+
args["lb_id"] = field
342+
else:
343+
args["lb_id"] = None
344+
345+
field = data.get("name", None)
346+
if field is not None:
347+
args["name"] = field
348+
else:
349+
args["name"] = None
350+
351+
return LoadBalancerFrontendInfo(**args)
352+
353+
354+
def unmarshal_LoadBalancerIpInfo(data: Any) -> LoadBalancerIpInfo:
355+
if not isinstance(data, dict):
356+
raise TypeError(
357+
"Unmarshalling the type 'LoadBalancerIpInfo' failed as data isn't a dictionary."
358+
)
359+
360+
args: Dict[str, Any] = {}
361+
362+
field = data.get("ip_address", None)
363+
if field is not None:
364+
args["ip_address"] = field
365+
else:
366+
args["ip_address"] = None
367+
368+
field = data.get("lb_id", None)
369+
if field is not None:
370+
args["lb_id"] = field
371+
else:
372+
args["lb_id"] = None
373+
374+
return LoadBalancerIpInfo(**args)
375+
376+
377+
def unmarshal_LoadBalancerLbInfo(data: Any) -> LoadBalancerLbInfo:
378+
if not isinstance(data, dict):
379+
raise TypeError(
380+
"Unmarshalling the type 'LoadBalancerLbInfo' failed as data isn't a dictionary."
381+
)
382+
383+
args: Dict[str, Any] = {}
384+
385+
field = data.get("name", None)
386+
if field is not None:
387+
args["name"] = field
388+
else:
389+
args["name"] = None
390+
391+
return LoadBalancerLbInfo(**args)
392+
393+
394+
def unmarshal_LoadBalancerRouteInfo(data: Any) -> LoadBalancerRouteInfo:
395+
if not isinstance(data, dict):
396+
raise TypeError(
397+
"Unmarshalling the type 'LoadBalancerRouteInfo' failed as data isn't a dictionary."
398+
)
399+
400+
args: Dict[str, Any] = {}
401+
402+
field = data.get("frontend_id", None)
403+
if field is not None:
404+
args["frontend_id"] = field
405+
else:
406+
args["frontend_id"] = None
407+
408+
field = data.get("backend_id", None)
409+
if field is not None:
410+
args["backend_id"] = field
411+
else:
412+
args["backend_id"] = None
413+
414+
return LoadBalancerRouteInfo(**args)
415+
416+
261417
def unmarshal_SecretManagerSecretInfo(data: Any) -> SecretManagerSecretInfo:
262418
if not isinstance(data, dict):
263419
raise TypeError(
@@ -490,6 +646,50 @@ def unmarshal_Resource(data: Any) -> Resource:
490646
else:
491647
args["ipam_ip_info"] = None
492648

649+
field = data.get("load_balancer_lb_info", None)
650+
if field is not None:
651+
args["load_balancer_lb_info"] = unmarshal_LoadBalancerLbInfo(field)
652+
else:
653+
args["load_balancer_lb_info"] = None
654+
655+
field = data.get("load_balancer_ip_info", None)
656+
if field is not None:
657+
args["load_balancer_ip_info"] = unmarshal_LoadBalancerIpInfo(field)
658+
else:
659+
args["load_balancer_ip_info"] = None
660+
661+
field = data.get("load_balancer_frontend_info", None)
662+
if field is not None:
663+
args["load_balancer_frontend_info"] = unmarshal_LoadBalancerFrontendInfo(field)
664+
else:
665+
args["load_balancer_frontend_info"] = None
666+
667+
field = data.get("load_balancer_backend_info", None)
668+
if field is not None:
669+
args["load_balancer_backend_info"] = unmarshal_LoadBalancerBackendInfo(field)
670+
else:
671+
args["load_balancer_backend_info"] = None
672+
673+
field = data.get("load_balancer_route_info", None)
674+
if field is not None:
675+
args["load_balancer_route_info"] = unmarshal_LoadBalancerRouteInfo(field)
676+
else:
677+
args["load_balancer_route_info"] = None
678+
679+
field = data.get("load_balancer_acl_info", None)
680+
if field is not None:
681+
args["load_balancer_acl_info"] = unmarshal_LoadBalancerAclInfo(field)
682+
else:
683+
args["load_balancer_acl_info"] = None
684+
685+
field = data.get("load_balancer_certificate_info", None)
686+
if field is not None:
687+
args["load_balancer_certificate_info"] = unmarshal_LoadBalancerCertificateInfo(
688+
field
689+
)
690+
else:
691+
args["load_balancer_certificate_info"] = None
692+
493693
return Resource(**args)
494694

495695

scaleway-async/scaleway_async/audit_trail/v1alpha1/types.py

Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,13 @@ class ResourceType(str, Enum, metaclass=StrEnumMeta):
5757
IPAM_IP = "ipam_ip"
5858
SBS_VOLUME = "sbs_volume"
5959
SBS_SNAPSHOT = "sbs_snapshot"
60+
LOAD_BALANCER_LB = "load_balancer_lb"
61+
LOAD_BALANCER_IP = "load_balancer_ip"
62+
LOAD_BALANCER_FRONTEND = "load_balancer_frontend"
63+
LOAD_BALANCER_BACKEND = "load_balancer_backend"
64+
LOAD_BALANCER_ROUTE = "load_balancer_route"
65+
LOAD_BALANCER_ACL = "load_balancer_acl"
66+
LOAD_BALANCER_CERTIFICATE = "load_balancer_certificate"
6067

6168
def __str__(self) -> str:
6269
return str(self.value)
@@ -132,6 +139,46 @@ class KubernetesPoolInfo:
132139
name: str
133140

134141

142+
@dataclass
143+
class LoadBalancerAclInfo:
144+
frontend_id: str
145+
146+
147+
@dataclass
148+
class LoadBalancerBackendInfo:
149+
lb_id: str
150+
name: str
151+
152+
153+
@dataclass
154+
class LoadBalancerCertificateInfo:
155+
lb_id: str
156+
name: str
157+
158+
159+
@dataclass
160+
class LoadBalancerFrontendInfo:
161+
lb_id: str
162+
name: str
163+
164+
165+
@dataclass
166+
class LoadBalancerIpInfo:
167+
ip_address: str
168+
lb_id: Optional[str] = None
169+
170+
171+
@dataclass
172+
class LoadBalancerLbInfo:
173+
name: str
174+
175+
176+
@dataclass
177+
class LoadBalancerRouteInfo:
178+
frontend_id: str
179+
backend_id: str
180+
181+
135182
@dataclass
136183
class SecretManagerSecretInfo:
137184
path: str
@@ -197,6 +244,20 @@ class Resource:
197244

198245
ipam_ip_info: Optional[IpamIpInfo] = None
199246

247+
load_balancer_lb_info: Optional[LoadBalancerLbInfo] = None
248+
249+
load_balancer_ip_info: Optional[LoadBalancerIpInfo] = None
250+
251+
load_balancer_frontend_info: Optional[LoadBalancerFrontendInfo] = None
252+
253+
load_balancer_backend_info: Optional[LoadBalancerBackendInfo] = None
254+
255+
load_balancer_route_info: Optional[LoadBalancerRouteInfo] = None
256+
257+
load_balancer_acl_info: Optional[LoadBalancerAclInfo] = None
258+
259+
load_balancer_certificate_info: Optional[LoadBalancerCertificateInfo] = None
260+
200261

201262
@dataclass
202263
class ProductService:

scaleway/scaleway/audit_trail/v1alpha1/__init__.py

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,13 @@
1515
from .types import KubernetesClusterInfo
1616
from .types import KubernetesNodeInfo
1717
from .types import KubernetesPoolInfo
18+
from .types import LoadBalancerAclInfo
19+
from .types import LoadBalancerBackendInfo
20+
from .types import LoadBalancerCertificateInfo
21+
from .types import LoadBalancerFrontendInfo
22+
from .types import LoadBalancerIpInfo
23+
from .types import LoadBalancerLbInfo
24+
from .types import LoadBalancerRouteInfo
1825
from .types import SecretManagerSecretInfo
1926
from .types import SecretManagerSecretVersionInfo
2027
from .types import EventPrincipal
@@ -45,6 +52,13 @@
4552
"KubernetesClusterInfo",
4653
"KubernetesNodeInfo",
4754
"KubernetesPoolInfo",
55+
"LoadBalancerAclInfo",
56+
"LoadBalancerBackendInfo",
57+
"LoadBalancerCertificateInfo",
58+
"LoadBalancerFrontendInfo",
59+
"LoadBalancerIpInfo",
60+
"LoadBalancerLbInfo",
61+
"LoadBalancerRouteInfo",
4862
"SecretManagerSecretInfo",
4963
"SecretManagerSecretVersionInfo",
5064
"EventPrincipal",

0 commit comments

Comments
 (0)