File tree Expand file tree Collapse file tree 6 files changed +128
-0
lines changed
scaleway-async/scaleway_async/iam/v1alpha1
scaleway/scaleway/iam/v1alpha1 Expand file tree Collapse file tree 6 files changed +128
-0
lines changed Original file line number Diff line number Diff line change 5252 User ,
5353 CreateSSHKeyRequest ,
5454 UpdateSSHKeyRequest ,
55+ UpdateUserRequest ,
5556 CreateUserRequest ,
5657 CreateApplicationRequest ,
5758 UpdateApplicationRequest ,
8485 marshal_UpdateGroupRequest ,
8586 marshal_UpdatePolicyRequest ,
8687 marshal_UpdateSSHKeyRequest ,
88+ marshal_UpdateUserRequest ,
8789 unmarshal_APIKey ,
8890 unmarshal_Application ,
8991 unmarshal_Group ,
@@ -453,6 +455,42 @@ async def get_user(
453455 self ._throw_on_error (res )
454456 return unmarshal_User (res .json ())
455457
458+ async def update_user (
459+ self ,
460+ * ,
461+ user_id : str ,
462+ tags : Optional [List [str ]] = None ,
463+ ) -> User :
464+ """
465+ Update a user.
466+ Update the parameters of a user, including `tags`.
467+ :param user_id: ID of the user to update.
468+ :param tags: New tags for the user (maximum of 10 tags).
469+ :return: :class:`User <User>`
470+
471+ Usage:
472+ ::
473+
474+ result = await api.update_user(user_id="example")
475+ """
476+
477+ param_user_id = validate_path_param ("user_id" , user_id )
478+
479+ res = self ._request (
480+ "PATCH" ,
481+ f"/iam/v1alpha1/users/{ param_user_id } " ,
482+ body = marshal_UpdateUserRequest (
483+ UpdateUserRequest (
484+ user_id = user_id ,
485+ tags = tags ,
486+ ),
487+ self .client ,
488+ ),
489+ )
490+
491+ self ._throw_on_error (res )
492+ return unmarshal_User (res .json ())
493+
456494 async def delete_user (
457495 self ,
458496 * ,
Original file line number Diff line number Diff line change 3636 User ,
3737 CreateSSHKeyRequest ,
3838 UpdateSSHKeyRequest ,
39+ UpdateUserRequest ,
3940 CreateUserRequest ,
4041 CreateApplicationRequest ,
4142 UpdateApplicationRequest ,
@@ -1069,3 +1070,15 @@ def marshal_UpdateSSHKeyRequest(
10691070 output ["name" ] = request .name
10701071
10711072 return output
1073+
1074+
1075+ def marshal_UpdateUserRequest (
1076+ request : UpdateUserRequest ,
1077+ defaults : ProfileDefaults ,
1078+ ) -> Dict [str , Any ]:
1079+ output : Dict [str , Any ] = {}
1080+
1081+ if request .tags is not None :
1082+ output ["tags" ] = request .tags
1083+
1084+ return output
Original file line number Diff line number Diff line change @@ -1111,6 +1111,19 @@ class GetUserRequest:
11111111 """
11121112
11131113
1114+ @dataclass
1115+ class UpdateUserRequest :
1116+ user_id : str
1117+ """
1118+ ID of the user to update.
1119+ """
1120+
1121+ tags : Optional [List [str ]]
1122+ """
1123+ New tags for the user (maximum of 10 tags).
1124+ """
1125+
1126+
11141127@dataclass
11151128class DeleteUserRequest :
11161129 user_id : str
Original file line number Diff line number Diff line change 5252 User ,
5353 CreateSSHKeyRequest ,
5454 UpdateSSHKeyRequest ,
55+ UpdateUserRequest ,
5556 CreateUserRequest ,
5657 CreateApplicationRequest ,
5758 UpdateApplicationRequest ,
8485 marshal_UpdateGroupRequest ,
8586 marshal_UpdatePolicyRequest ,
8687 marshal_UpdateSSHKeyRequest ,
88+ marshal_UpdateUserRequest ,
8789 unmarshal_APIKey ,
8890 unmarshal_Application ,
8991 unmarshal_Group ,
@@ -453,6 +455,42 @@ def get_user(
453455 self ._throw_on_error (res )
454456 return unmarshal_User (res .json ())
455457
458+ def update_user (
459+ self ,
460+ * ,
461+ user_id : str ,
462+ tags : Optional [List [str ]] = None ,
463+ ) -> User :
464+ """
465+ Update a user.
466+ Update the parameters of a user, including `tags`.
467+ :param user_id: ID of the user to update.
468+ :param tags: New tags for the user (maximum of 10 tags).
469+ :return: :class:`User <User>`
470+
471+ Usage:
472+ ::
473+
474+ result = api.update_user(user_id="example")
475+ """
476+
477+ param_user_id = validate_path_param ("user_id" , user_id )
478+
479+ res = self ._request (
480+ "PATCH" ,
481+ f"/iam/v1alpha1/users/{ param_user_id } " ,
482+ body = marshal_UpdateUserRequest (
483+ UpdateUserRequest (
484+ user_id = user_id ,
485+ tags = tags ,
486+ ),
487+ self .client ,
488+ ),
489+ )
490+
491+ self ._throw_on_error (res )
492+ return unmarshal_User (res .json ())
493+
456494 def delete_user (
457495 self ,
458496 * ,
Original file line number Diff line number Diff line change 3636 User ,
3737 CreateSSHKeyRequest ,
3838 UpdateSSHKeyRequest ,
39+ UpdateUserRequest ,
3940 CreateUserRequest ,
4041 CreateApplicationRequest ,
4142 UpdateApplicationRequest ,
@@ -1069,3 +1070,15 @@ def marshal_UpdateSSHKeyRequest(
10691070 output ["name" ] = request .name
10701071
10711072 return output
1073+
1074+
1075+ def marshal_UpdateUserRequest (
1076+ request : UpdateUserRequest ,
1077+ defaults : ProfileDefaults ,
1078+ ) -> Dict [str , Any ]:
1079+ output : Dict [str , Any ] = {}
1080+
1081+ if request .tags is not None :
1082+ output ["tags" ] = request .tags
1083+
1084+ return output
Original file line number Diff line number Diff line change @@ -1111,6 +1111,19 @@ class GetUserRequest:
11111111 """
11121112
11131113
1114+ @dataclass
1115+ class UpdateUserRequest :
1116+ user_id : str
1117+ """
1118+ ID of the user to update.
1119+ """
1120+
1121+ tags : Optional [List [str ]]
1122+ """
1123+ New tags for the user (maximum of 10 tags).
1124+ """
1125+
1126+
11141127@dataclass
11151128class DeleteUserRequest :
11161129 user_id : str
You can’t perform that action at this time.
0 commit comments