44from typing import Any , Dict
55
66from scaleway_core .profile import ProfileDefaults
7+ from scaleway_core .utils import (
8+ OneOfPossibility ,
9+ resolve_one_of ,
10+ )
711from dateutil import parser
812from .types import (
913 AccessSecretVersionResponse ,
1014 ListSecretVersionsResponse ,
1115 ListSecretsResponse ,
16+ PasswordGenerationParams ,
1217 Secret ,
1318 SecretVersion ,
1419 CreateSecretRequest ,
@@ -142,6 +147,19 @@ def unmarshal_ListSecretsResponse(data: Any) -> ListSecretsResponse:
142147 return ListSecretsResponse (** args )
143148
144149
150+ def marshal_PasswordGenerationParams (
151+ request : PasswordGenerationParams ,
152+ defaults : ProfileDefaults ,
153+ ) -> Dict [str , Any ]:
154+ return {
155+ "additional_chars" : request .additional_chars ,
156+ "length" : request .length ,
157+ "no_digits" : request .no_digits ,
158+ "no_lowercase_letters" : request .no_lowercase_letters ,
159+ "no_uppercase_letters" : request .no_uppercase_letters ,
160+ }
161+
162+
145163def marshal_CreateSecretRequest (
146164 request : CreateSecretRequest ,
147165 defaults : ProfileDefaults ,
@@ -159,6 +177,18 @@ def marshal_CreateSecretVersionRequest(
159177 defaults : ProfileDefaults ,
160178) -> Dict [str , Any ]:
161179 return {
180+ ** resolve_one_of (
181+ [
182+ OneOfPossibility (
183+ "password_generation" ,
184+ marshal_PasswordGenerationParams (
185+ request .password_generation , defaults
186+ )
187+ if request .password_generation is not None
188+ else None ,
189+ ),
190+ ]
191+ ),
162192 "data" : request .data ,
163193 "description" : request .description ,
164194 "disable_previous" : request .disable_previous ,
0 commit comments