Skip to content

Commit 73a49a8

Browse files
committed
split in different file
1 parent 2261eb5 commit 73a49a8

File tree

3 files changed

+111
-97
lines changed

3 files changed

+111
-97
lines changed

scaleway/scaleway/instance/v1/custom_api.py

Lines changed: 4 additions & 97 deletions
Original file line numberDiff line numberDiff line change
@@ -1,105 +1,12 @@
1-
from dataclasses import dataclass
21
from io import StringIO
3-
from typing import Dict, Any, Optional, BinaryIO
4-
5-
import requests
2+
from typing import Optional
63

74
from scaleway_core.bridge import Zone
8-
from scaleway_core.profile import ProfileDefaults
95
from scaleway_core.utils import validate_path_param
106
from .api import InstanceV1API
11-
12-
@dataclass
13-
class GetServerUserDataRequest:
14-
zone: Optional[Zone]
15-
"""
16-
Zone of the user data to get
17-
"""
18-
19-
server_id: str
20-
21-
key: str
22-
"""
23-
Key defines the user data key to get
24-
"""
25-
26-
@dataclass
27-
class GetServerUserDataResponse:
28-
server_id: str
29-
30-
key: str
31-
"""
32-
Key of the user data
33-
"""
34-
35-
content: str
36-
37-
def marshal_GetServerUserDataRequest(request: GetServerUserDataRequest, defaults: ProfileDefaults) -> Dict[str, Any]:
38-
output: Dict[str, Any] = {}
39-
40-
if request.server_id is not None:
41-
output["server_id"] = request.server_id
42-
if request.key is not None:
43-
output["key"] = request.key
44-
if request.zone is not None:
45-
output["zone"] = request.zone
46-
47-
return output
48-
49-
def unmarshal_GetServerUserDataResponse(data: Any) -> GetServerUserDataResponse:
50-
if not isinstance(data, dict):
51-
raise TypeError(
52-
"Unmarshalling the type 'GetServerUserDataResponse' failed as data isn't a dictionary."
53-
)
54-
args: Dict[str, Any] = {}
55-
56-
field = data.get("server_id", None)
57-
if field is not None:
58-
args["server_id"] = field
59-
60-
field = data.get("key", None)
61-
if field is not None:
62-
args["key"] = field
63-
64-
field = data.get("content", None)
65-
if field is not None:
66-
args["content"] = field
67-
68-
return GetServerUserDataResponse(**args)
69-
70-
71-
@dataclass
72-
class SetServerUserDataRequest:
73-
zone: Optional[Zone]
74-
"""
75-
Zone of the user data to set
76-
"""
77-
78-
server_id: str
79-
80-
key: str
81-
"""
82-
Key defines the user data key to set
83-
"""
84-
85-
content: StringIO
86-
"""
87-
Content defines the data to set
88-
"""
89-
90-
def marshal_SetServerUserDataRequest(request: SetServerUserDataRequest, defaults: ProfileDefaults) -> Dict[str, Any]:
91-
output: Dict[str, Any] = {}
92-
93-
if request.server_id is not None:
94-
output["server_id"] = request.server_id
95-
if request.key is not None:
96-
output["key"] = request.key
97-
if request.zone is not None:
98-
output["zone"] = request.zone
99-
if request.content is not None:
100-
output["content"] = request.content.getvalue()
101-
102-
return output
7+
from .custom_marshalling import marshal_GetServerUserDataRequest, unmarshal_GetServerUserDataResponse, \
8+
marshal_SetServerUserDataRequest
9+
from .custom_types import GetServerUserDataRequest, SetServerUserDataRequest
10310

10411

10512
class InstanceUtilsV1API(InstanceV1API):
Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
from typing import Dict, Any
2+
3+
from scaleway.instance.v1.custom_types import GetServerUserDataRequest, GetServerUserDataResponse, \
4+
SetServerUserDataRequest
5+
from scaleway_core.profile import ProfileDefaults
6+
7+
8+
def marshal_GetServerUserDataRequest(request: GetServerUserDataRequest, defaults: ProfileDefaults) -> Dict[str, Any]:
9+
output: Dict[str, Any] = {}
10+
11+
if request.server_id is not None:
12+
output["server_id"] = request.server_id
13+
if request.key is not None:
14+
output["key"] = request.key
15+
if request.zone is not None:
16+
output["zone"] = request.zone
17+
18+
return output
19+
20+
21+
def unmarshal_GetServerUserDataResponse(data: Any) -> GetServerUserDataResponse:
22+
if not isinstance(data, dict):
23+
raise TypeError(
24+
"Unmarshalling the type 'GetServerUserDataResponse' failed as data isn't a dictionary."
25+
)
26+
args: Dict[str, Any] = {}
27+
28+
field = data.get("server_id", None)
29+
if field is not None:
30+
args["server_id"] = field
31+
32+
field = data.get("key", None)
33+
if field is not None:
34+
args["key"] = field
35+
36+
field = data.get("content", None)
37+
if field is not None:
38+
args["content"] = field
39+
40+
return GetServerUserDataResponse(**args)
41+
42+
43+
def marshal_SetServerUserDataRequest(request: SetServerUserDataRequest, defaults: ProfileDefaults) -> Dict[str, Any]:
44+
output: Dict[str, Any] = {}
45+
46+
if request.server_id is not None:
47+
output["server_id"] = request.server_id
48+
if request.key is not None:
49+
output["key"] = request.key
50+
if request.zone is not None:
51+
output["zone"] = request.zone
52+
if request.content is not None:
53+
output["content"] = request.content.getvalue()
54+
55+
return output
Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
from dataclasses import dataclass
2+
from io import StringIO
3+
from typing import Optional
4+
5+
from scaleway_core.bridge import Zone
6+
7+
8+
@dataclass
9+
class GetServerUserDataRequest:
10+
zone: Optional[Zone]
11+
"""
12+
Zone of the user data to get
13+
"""
14+
15+
server_id: str
16+
17+
key: str
18+
"""
19+
Key defines the user data key to get
20+
"""
21+
22+
23+
@dataclass
24+
class GetServerUserDataResponse:
25+
server_id: str
26+
27+
key: str
28+
"""
29+
Key of the user data
30+
"""
31+
32+
content: str
33+
34+
35+
@dataclass
36+
class SetServerUserDataRequest:
37+
zone: Optional[Zone]
38+
"""
39+
Zone of the user data to set
40+
"""
41+
42+
server_id: str
43+
44+
key: str
45+
"""
46+
Key defines the user data key to set
47+
"""
48+
49+
content: StringIO
50+
"""
51+
Content defines the data to set
52+
"""

0 commit comments

Comments
 (0)