Skip to content

Commit 2bb6ec0

Browse files
authored
feat(audit_trail): add instance resources (#1193)
1 parent 51f3227 commit 2bb6ec0

File tree

6 files changed

+72
-0
lines changed

6 files changed

+72
-0
lines changed

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

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
from .types import BaremetalServerInfo
1010
from .types import BaremetalSettingInfo
1111
from .types import InstanceServerInfo
12+
from .types import IpamIpInfo
1213
from .types import KeyManagerKeyInfo
1314
from .types import KubernetesACLInfo
1415
from .types import KubernetesClusterInfo
@@ -38,6 +39,7 @@
3839
"BaremetalServerInfo",
3940
"BaremetalSettingInfo",
4041
"InstanceServerInfo",
42+
"IpamIpInfo",
4143
"KeyManagerKeyInfo",
4244
"KubernetesACLInfo",
4345
"KubernetesClusterInfo",

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

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
BaremetalServerInfo,
1313
BaremetalSettingInfo,
1414
InstanceServerInfo,
15+
IpamIpInfo,
1516
KeyManagerKeyInfo,
1617
KubernetesACLInfo,
1718
KubernetesClusterInfo,
@@ -161,6 +162,23 @@ def unmarshal_InstanceServerInfo(data: Any) -> InstanceServerInfo:
161162
return InstanceServerInfo(**args)
162163

163164

165+
def unmarshal_IpamIpInfo(data: Any) -> IpamIpInfo:
166+
if not isinstance(data, dict):
167+
raise TypeError(
168+
"Unmarshalling the type 'IpamIpInfo' failed as data isn't a dictionary."
169+
)
170+
171+
args: Dict[str, Any] = {}
172+
173+
field = data.get("address", None)
174+
if field is not None:
175+
args["address"] = field
176+
else:
177+
args["address"] = None
178+
179+
return IpamIpInfo(**args)
180+
181+
164182
def unmarshal_KeyManagerKeyInfo(data: Any) -> KeyManagerKeyInfo:
165183
if not isinstance(data, dict):
166184
raise TypeError(
@@ -466,6 +484,12 @@ def unmarshal_Resource(data: Any) -> Resource:
466484
else:
467485
args["baremetal_setting_info"] = None
468486

487+
field = data.get("ipam_ip_info", None)
488+
if field is not None:
489+
args["ipam_ip_info"] = unmarshal_IpamIpInfo(field)
490+
else:
491+
args["ipam_ip_info"] = None
492+
469493
return Resource(**args)
470494

471495

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

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,9 +46,12 @@ class ResourceType(str, Enum, metaclass=StrEnumMeta):
4646
ACCOUNT_ORGANIZATION = "account_organization"
4747
ACCOUNT_PROJECT = "account_project"
4848
INSTANCE_SERVER = "instance_server"
49+
INSTANCE_PLACEMENT_GROUP = "instance_placement_group"
50+
INSTANCE_SECURITY_GROUP = "instance_security_group"
4951
APPLE_SILICON_SERVER = "apple_silicon_server"
5052
BAREMETAL_SERVER = "baremetal_server"
5153
BAREMETAL_SETTING = "baremetal_setting"
54+
IPAM_IP = "ipam_ip"
5255

5356
def __str__(self) -> str:
5457
return str(self.value)
@@ -92,6 +95,11 @@ class InstanceServerInfo:
9295
name: str
9396

9497

98+
@dataclass
99+
class IpamIpInfo:
100+
address: str
101+
102+
95103
@dataclass
96104
class KeyManagerKeyInfo:
97105
pass
@@ -182,6 +190,8 @@ class Resource:
182190

183191
baremetal_setting_info: Optional[BaremetalSettingInfo] = None
184192

193+
ipam_ip_info: Optional[IpamIpInfo] = None
194+
185195

186196
@dataclass
187197
class ProductService:

scaleway/scaleway/audit_trail/v1alpha1/__init__.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
from .types import BaremetalServerInfo
1010
from .types import BaremetalSettingInfo
1111
from .types import InstanceServerInfo
12+
from .types import IpamIpInfo
1213
from .types import KeyManagerKeyInfo
1314
from .types import KubernetesACLInfo
1415
from .types import KubernetesClusterInfo
@@ -38,6 +39,7 @@
3839
"BaremetalServerInfo",
3940
"BaremetalSettingInfo",
4041
"InstanceServerInfo",
42+
"IpamIpInfo",
4143
"KeyManagerKeyInfo",
4244
"KubernetesACLInfo",
4345
"KubernetesClusterInfo",

scaleway/scaleway/audit_trail/v1alpha1/marshalling.py

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
BaremetalServerInfo,
1313
BaremetalSettingInfo,
1414
InstanceServerInfo,
15+
IpamIpInfo,
1516
KeyManagerKeyInfo,
1617
KubernetesACLInfo,
1718
KubernetesClusterInfo,
@@ -161,6 +162,23 @@ def unmarshal_InstanceServerInfo(data: Any) -> InstanceServerInfo:
161162
return InstanceServerInfo(**args)
162163

163164

165+
def unmarshal_IpamIpInfo(data: Any) -> IpamIpInfo:
166+
if not isinstance(data, dict):
167+
raise TypeError(
168+
"Unmarshalling the type 'IpamIpInfo' failed as data isn't a dictionary."
169+
)
170+
171+
args: Dict[str, Any] = {}
172+
173+
field = data.get("address", None)
174+
if field is not None:
175+
args["address"] = field
176+
else:
177+
args["address"] = None
178+
179+
return IpamIpInfo(**args)
180+
181+
164182
def unmarshal_KeyManagerKeyInfo(data: Any) -> KeyManagerKeyInfo:
165183
if not isinstance(data, dict):
166184
raise TypeError(
@@ -466,6 +484,12 @@ def unmarshal_Resource(data: Any) -> Resource:
466484
else:
467485
args["baremetal_setting_info"] = None
468486

487+
field = data.get("ipam_ip_info", None)
488+
if field is not None:
489+
args["ipam_ip_info"] = unmarshal_IpamIpInfo(field)
490+
else:
491+
args["ipam_ip_info"] = None
492+
469493
return Resource(**args)
470494

471495

scaleway/scaleway/audit_trail/v1alpha1/types.py

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,9 +46,12 @@ class ResourceType(str, Enum, metaclass=StrEnumMeta):
4646
ACCOUNT_ORGANIZATION = "account_organization"
4747
ACCOUNT_PROJECT = "account_project"
4848
INSTANCE_SERVER = "instance_server"
49+
INSTANCE_PLACEMENT_GROUP = "instance_placement_group"
50+
INSTANCE_SECURITY_GROUP = "instance_security_group"
4951
APPLE_SILICON_SERVER = "apple_silicon_server"
5052
BAREMETAL_SERVER = "baremetal_server"
5153
BAREMETAL_SETTING = "baremetal_setting"
54+
IPAM_IP = "ipam_ip"
5255

5356
def __str__(self) -> str:
5457
return str(self.value)
@@ -92,6 +95,11 @@ class InstanceServerInfo:
9295
name: str
9396

9497

98+
@dataclass
99+
class IpamIpInfo:
100+
address: str
101+
102+
95103
@dataclass
96104
class KeyManagerKeyInfo:
97105
pass
@@ -182,6 +190,8 @@ class Resource:
182190

183191
baremetal_setting_info: Optional[BaremetalSettingInfo] = None
184192

193+
ipam_ip_info: Optional[IpamIpInfo] = None
194+
185195

186196
@dataclass
187197
class ProductService:

0 commit comments

Comments
 (0)