Skip to content

Commit 99eacdf

Browse files
authored
feat(audit_trail): audit alerting endpoint (scaleway#1622)
1 parent 9885091 commit 99eacdf

6 files changed

Lines changed: 56 additions & 0 deletions

File tree

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

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@
2222
from .types import AccountUserInfo
2323
from .types import AppleSiliconRunnerInfo
2424
from .types import AppleSiliconServerInfo
25+
from .types import AuditTrailAlertRuleInfo
2526
from .types import AuditTrailExportJobInfo
2627
from .types import BaremetalServerInfo
2728
from .types import BaremetalSettingInfo
@@ -114,6 +115,7 @@
114115
"AccountUserInfo",
115116
"AppleSiliconRunnerInfo",
116117
"AppleSiliconServerInfo",
118+
"AuditTrailAlertRuleInfo",
117119
"AuditTrailExportJobInfo",
118120
"BaremetalServerInfo",
119121
"BaremetalSettingInfo",

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

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@
3131
AccountUserInfo,
3232
AppleSiliconRunnerInfo,
3333
AppleSiliconServerInfo,
34+
AuditTrailAlertRuleInfo,
3435
AuditTrailExportJobInfo,
3536
BaremetalServerInfo,
3637
BaremetalSettingInfo,
@@ -489,6 +490,17 @@ def unmarshal_AppleSiliconServerInfo(data: Any) -> AppleSiliconServerInfo:
489490
return AppleSiliconServerInfo(**args)
490491

491492

493+
def unmarshal_AuditTrailAlertRuleInfo(data: Any) -> AuditTrailAlertRuleInfo:
494+
if not isinstance(data, dict):
495+
raise TypeError(
496+
"Unmarshalling the type 'AuditTrailAlertRuleInfo' failed as data isn't a dictionary."
497+
)
498+
499+
args: dict[str, Any] = {}
500+
501+
return AuditTrailAlertRuleInfo(**args)
502+
503+
492504
def unmarshal_AuditTrailExportJobInfo(data: Any) -> AuditTrailExportJobInfo:
493505
if not isinstance(data, dict):
494506
raise TypeError(
@@ -1442,6 +1454,12 @@ def unmarshal_Resource(data: Any) -> Resource:
14421454
else:
14431455
args["apple_silicon_runner_info"] = None
14441456

1457+
field = data.get("audit_trail_alert_rule_info", None)
1458+
if field is not None:
1459+
args["audit_trail_alert_rule_info"] = unmarshal_AuditTrailAlertRuleInfo(field)
1460+
else:
1461+
args["audit_trail_alert_rule_info"] = None
1462+
14451463
return Resource(**args)
14461464

14471465

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

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -210,6 +210,7 @@ class ResourceType(str, Enum, metaclass=StrEnumMeta):
210210
MONGODB_INSTANCE_SNAPSHOT = "mongodb_instance_snapshot"
211211
MONGODB_INSTANCE_ENDPOINT = "mongodb_instance_endpoint"
212212
APPLE_SILICON_RUNNER = "apple_silicon_runner"
213+
AUDIT_TRAIL_ALERT_RULE = "audit_trail_alert_rule"
213214

214215
def __str__(self) -> str:
215216
return str(self.value)
@@ -270,6 +271,11 @@ class AppleSiliconServerInfo:
270271
name: str
271272

272273

274+
@dataclass
275+
class AuditTrailAlertRuleInfo:
276+
pass
277+
278+
273279
@dataclass
274280
class AuditTrailExportJobInfo:
275281
pass
@@ -545,6 +551,8 @@ class Resource:
545551

546552
apple_silicon_runner_info: Optional[AppleSiliconRunnerInfo] = None
547553

554+
audit_trail_alert_rule_info: Optional[AuditTrailAlertRuleInfo] = None
555+
548556

549557
@dataclass
550558
class EventPrincipal:

scaleway/scaleway/audit_trail/v1alpha1/__init__.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@
2222
from .types import AccountUserInfo
2323
from .types import AppleSiliconRunnerInfo
2424
from .types import AppleSiliconServerInfo
25+
from .types import AuditTrailAlertRuleInfo
2526
from .types import AuditTrailExportJobInfo
2627
from .types import BaremetalServerInfo
2728
from .types import BaremetalSettingInfo
@@ -114,6 +115,7 @@
114115
"AccountUserInfo",
115116
"AppleSiliconRunnerInfo",
116117
"AppleSiliconServerInfo",
118+
"AuditTrailAlertRuleInfo",
117119
"AuditTrailExportJobInfo",
118120
"BaremetalServerInfo",
119121
"BaremetalSettingInfo",

scaleway/scaleway/audit_trail/v1alpha1/marshalling.py

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@
3131
AccountUserInfo,
3232
AppleSiliconRunnerInfo,
3333
AppleSiliconServerInfo,
34+
AuditTrailAlertRuleInfo,
3435
AuditTrailExportJobInfo,
3536
BaremetalServerInfo,
3637
BaremetalSettingInfo,
@@ -489,6 +490,17 @@ def unmarshal_AppleSiliconServerInfo(data: Any) -> AppleSiliconServerInfo:
489490
return AppleSiliconServerInfo(**args)
490491

491492

493+
def unmarshal_AuditTrailAlertRuleInfo(data: Any) -> AuditTrailAlertRuleInfo:
494+
if not isinstance(data, dict):
495+
raise TypeError(
496+
"Unmarshalling the type 'AuditTrailAlertRuleInfo' failed as data isn't a dictionary."
497+
)
498+
499+
args: dict[str, Any] = {}
500+
501+
return AuditTrailAlertRuleInfo(**args)
502+
503+
492504
def unmarshal_AuditTrailExportJobInfo(data: Any) -> AuditTrailExportJobInfo:
493505
if not isinstance(data, dict):
494506
raise TypeError(
@@ -1442,6 +1454,12 @@ def unmarshal_Resource(data: Any) -> Resource:
14421454
else:
14431455
args["apple_silicon_runner_info"] = None
14441456

1457+
field = data.get("audit_trail_alert_rule_info", None)
1458+
if field is not None:
1459+
args["audit_trail_alert_rule_info"] = unmarshal_AuditTrailAlertRuleInfo(field)
1460+
else:
1461+
args["audit_trail_alert_rule_info"] = None
1462+
14451463
return Resource(**args)
14461464

14471465

scaleway/scaleway/audit_trail/v1alpha1/types.py

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -210,6 +210,7 @@ class ResourceType(str, Enum, metaclass=StrEnumMeta):
210210
MONGODB_INSTANCE_SNAPSHOT = "mongodb_instance_snapshot"
211211
MONGODB_INSTANCE_ENDPOINT = "mongodb_instance_endpoint"
212212
APPLE_SILICON_RUNNER = "apple_silicon_runner"
213+
AUDIT_TRAIL_ALERT_RULE = "audit_trail_alert_rule"
213214

214215
def __str__(self) -> str:
215216
return str(self.value)
@@ -270,6 +271,11 @@ class AppleSiliconServerInfo:
270271
name: str
271272

272273

274+
@dataclass
275+
class AuditTrailAlertRuleInfo:
276+
pass
277+
278+
273279
@dataclass
274280
class AuditTrailExportJobInfo:
275281
pass
@@ -545,6 +551,8 @@ class Resource:
545551

546552
apple_silicon_runner_info: Optional[AppleSiliconRunnerInfo] = None
547553

554+
audit_trail_alert_rule_info: Optional[AuditTrailAlertRuleInfo] = None
555+
548556

549557
@dataclass
550558
class EventPrincipal:

0 commit comments

Comments
 (0)