Skip to content

Commit 36611c0

Browse files
authored
feat(audit_trail): add instance server resource type (#1044)
1 parent fbfaf04 commit 36611c0

File tree

6 files changed

+64
-0
lines changed

6 files changed

+64
-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
@@ -4,6 +4,7 @@
44
from .types import ResourceType
55
from .types import AccountOrganizationInfo
66
from .types import AccountUserInfo
7+
from .types import InstanceServerInfo
78
from .types import KeyManagerKeyInfo
89
from .types import KubernetesACLInfo
910
from .types import KubernetesClusterInfo
@@ -27,6 +28,7 @@
2728
"ResourceType",
2829
"AccountOrganizationInfo",
2930
"AccountUserInfo",
31+
"InstanceServerInfo",
3032
"KeyManagerKeyInfo",
3133
"KubernetesACLInfo",
3234
"KubernetesClusterInfo",

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

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
from .types import (
88
AccountOrganizationInfo,
99
AccountUserInfo,
10+
InstanceServerInfo,
1011
KeyManagerKeyInfo,
1112
KubernetesACLInfo,
1213
KubernetesClusterInfo,
@@ -56,6 +57,21 @@ def unmarshal_AccountUserInfo(data: Any) -> AccountUserInfo:
5657
return AccountUserInfo(**args)
5758

5859

60+
def unmarshal_InstanceServerInfo(data: Any) -> InstanceServerInfo:
61+
if not isinstance(data, dict):
62+
raise TypeError(
63+
"Unmarshalling the type 'InstanceServerInfo' failed as data isn't a dictionary."
64+
)
65+
66+
args: Dict[str, Any] = {}
67+
68+
field = data.get("name", None)
69+
if field is not None:
70+
args["name"] = field
71+
72+
return InstanceServerInfo(**args)
73+
74+
5975
def unmarshal_KeyManagerKeyInfo(data: Any) -> KeyManagerKeyInfo:
6076
if not isinstance(data, dict):
6177
raise TypeError(
@@ -296,6 +312,12 @@ def unmarshal_Resource(data: Any) -> Resource:
296312
else:
297313
args["account_organization_info"] = None
298314

315+
field = data.get("instance_server_info", None)
316+
if field is not None:
317+
args["instance_server_info"] = unmarshal_InstanceServerInfo(field)
318+
else:
319+
args["instance_server_info"] = None
320+
299321
return Resource(**args)
300322

301323

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

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,7 @@ class ResourceType(str, Enum, metaclass=StrEnumMeta):
4444
KEY_MANAGER_KEY = "key_manager_key"
4545
ACCOUNT_USER = "account_user"
4646
ACCOUNT_ORGANIZATION = "account_organization"
47+
INSTANCE_SERVER = "instance_server"
4748

4849
def __str__(self) -> str:
4950
return str(self.value)
@@ -61,6 +62,11 @@ class AccountUserInfo:
6162
phone_number: Optional[str]
6263

6364

65+
@dataclass
66+
class InstanceServerInfo:
67+
name: str
68+
69+
6470
@dataclass
6571
class KeyManagerKeyInfo:
6672
pass
@@ -145,6 +151,8 @@ class Resource:
145151

146152
account_organization_info: Optional[AccountOrganizationInfo]
147153

154+
instance_server_info: Optional[InstanceServerInfo]
155+
148156

149157
@dataclass
150158
class ProductService:

scaleway/scaleway/audit_trail/v1alpha1/__init__.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
from .types import ResourceType
55
from .types import AccountOrganizationInfo
66
from .types import AccountUserInfo
7+
from .types import InstanceServerInfo
78
from .types import KeyManagerKeyInfo
89
from .types import KubernetesACLInfo
910
from .types import KubernetesClusterInfo
@@ -27,6 +28,7 @@
2728
"ResourceType",
2829
"AccountOrganizationInfo",
2930
"AccountUserInfo",
31+
"InstanceServerInfo",
3032
"KeyManagerKeyInfo",
3133
"KubernetesACLInfo",
3234
"KubernetesClusterInfo",

scaleway/scaleway/audit_trail/v1alpha1/marshalling.py

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
from .types import (
88
AccountOrganizationInfo,
99
AccountUserInfo,
10+
InstanceServerInfo,
1011
KeyManagerKeyInfo,
1112
KubernetesACLInfo,
1213
KubernetesClusterInfo,
@@ -56,6 +57,21 @@ def unmarshal_AccountUserInfo(data: Any) -> AccountUserInfo:
5657
return AccountUserInfo(**args)
5758

5859

60+
def unmarshal_InstanceServerInfo(data: Any) -> InstanceServerInfo:
61+
if not isinstance(data, dict):
62+
raise TypeError(
63+
"Unmarshalling the type 'InstanceServerInfo' failed as data isn't a dictionary."
64+
)
65+
66+
args: Dict[str, Any] = {}
67+
68+
field = data.get("name", None)
69+
if field is not None:
70+
args["name"] = field
71+
72+
return InstanceServerInfo(**args)
73+
74+
5975
def unmarshal_KeyManagerKeyInfo(data: Any) -> KeyManagerKeyInfo:
6076
if not isinstance(data, dict):
6177
raise TypeError(
@@ -296,6 +312,12 @@ def unmarshal_Resource(data: Any) -> Resource:
296312
else:
297313
args["account_organization_info"] = None
298314

315+
field = data.get("instance_server_info", None)
316+
if field is not None:
317+
args["instance_server_info"] = unmarshal_InstanceServerInfo(field)
318+
else:
319+
args["instance_server_info"] = None
320+
299321
return Resource(**args)
300322

301323

scaleway/scaleway/audit_trail/v1alpha1/types.py

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,7 @@ class ResourceType(str, Enum, metaclass=StrEnumMeta):
4444
KEY_MANAGER_KEY = "key_manager_key"
4545
ACCOUNT_USER = "account_user"
4646
ACCOUNT_ORGANIZATION = "account_organization"
47+
INSTANCE_SERVER = "instance_server"
4748

4849
def __str__(self) -> str:
4950
return str(self.value)
@@ -61,6 +62,11 @@ class AccountUserInfo:
6162
phone_number: Optional[str]
6263

6364

65+
@dataclass
66+
class InstanceServerInfo:
67+
name: str
68+
69+
6470
@dataclass
6571
class KeyManagerKeyInfo:
6672
pass
@@ -145,6 +151,8 @@ class Resource:
145151

146152
account_organization_info: Optional[AccountOrganizationInfo]
147153

154+
instance_server_info: Optional[InstanceServerInfo]
155+
148156

149157
@dataclass
150158
class ProductService:

0 commit comments

Comments
 (0)