@@ -23,6 +23,16 @@ class GetServerUserDataRequest:
2323 Key defines the user data key to get
2424 """
2525
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
2636
2737def marshal_GetServerUserDataRequest (request : GetServerUserDataRequest , defaults : ProfileDefaults ) -> Dict [str , Any ]:
2838 output : Dict [str , Any ] = {}
@@ -36,6 +46,28 @@ def marshal_GetServerUserDataRequest(request: GetServerUserDataRequest, defaults
3646
3747 return output
3848
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+
3971@dataclass
4072class SetServerUserDataRequest :
4173 zone : Optional [Zone ]
@@ -50,7 +82,7 @@ class SetServerUserDataRequest:
5082 Key defines the user data key to set
5183 """
5284
53- content : str
85+ content : StringIO
5486 """
5587 Content defines the data to set
5688 """
@@ -65,7 +97,7 @@ def marshal_SetServerUserDataRequest(request: SetServerUserDataRequest, defaults
6597 if request .zone is not None :
6698 output ["zone" ] = request .zone
6799 if request .content is not None :
68- output ["content" ] = request .content
100+ output ["content" ] = request .content . getvalue ()
69101
70102 return output
71103
@@ -108,7 +140,7 @@ def get_server_user_data(self, server_id: str, key: str, zone: Optional[Zone] =
108140 ),
109141 )
110142 self ._throw_on_error (res )
111- return res .json ()
143+ return unmarshal_GetServerUserDataResponse ( res .json () )
112144
113145 def set_server_user_data (self , server_id : str , key : str , content : StringIO , zone : Optional [Zone ] = None ):
114146 """
@@ -121,16 +153,20 @@ def set_server_user_data(self, server_id: str, key: str, content: StringIO, zone
121153 """
122154 param_zone = validate_path_param ("zone" , zone or self .client .default_zone )
123155 param_server_id = validate_path_param ("server_id" , server_id )
124- body = content .read ()
125156 headers = {
126157 'Content-Type' : 'text/plain' ,
127158 }
128159 res = self ._request (
129160 "PATCH" ,
130161 f"/instance/v1/zones/{ param_zone } /servers/{ param_server_id } /user_data/{ key } " ,
131- body = body ,
162+ body = marshal_SetServerUserDataRequest (SetServerUserDataRequest (
163+ zone = zone ,
164+ server_id = server_id ,
165+ content = content ,
166+ key = key ,
167+ ), self .client ),
132168 headers = headers ,
133169 )
134170
135171 self ._throw_on_error (res )
136- return res . text
172+ return res
0 commit comments