File tree Expand file tree Collapse file tree 6 files changed +146
-0
lines changed
scaleway-async/scaleway_async/iam/v1alpha1
scaleway/scaleway/iam/v1alpha1 Expand file tree Collapse file tree 6 files changed +146
-0
lines changed Original file line number Diff line number Diff line change 7878from .types import ListSSHKeysResponse
7979from .types import ListUsersRequest
8080from .types import ListUsersResponse
81+ from .types import LockUserRequest
8182from .types import RemoveGroupMemberRequest
8283from .types import SetGroupMembersRequest
8384from .types import SetRulesRequest
8485from .types import SetRulesResponse
86+ from .types import UnlockUserRequest
8587from .types import UpdateAPIKeyRequest
8688from .types import UpdateApplicationRequest
8789from .types import UpdateGroupRequest
170172 "ListSSHKeysResponse" ,
171173 "ListUsersRequest" ,
172174 "ListUsersResponse" ,
175+ "LockUserRequest" ,
173176 "RemoveGroupMemberRequest" ,
174177 "SetGroupMembersRequest" ,
175178 "SetRulesRequest" ,
176179 "SetRulesResponse" ,
180+ "UnlockUserRequest" ,
177181 "UpdateAPIKeyRequest" ,
178182 "UpdateApplicationRequest" ,
179183 "UpdateGroupRequest" ,
Original file line number Diff line number Diff line change @@ -617,6 +617,65 @@ async def update_user_password(
617617 self ._throw_on_error (res )
618618 return unmarshal_User (res .json ())
619619
620+ async def lock_user (
621+ self ,
622+ * ,
623+ user_id : str ,
624+ ) -> User :
625+ """
626+ Lock a user.
627+ Lock a user. Note that a locked user cannot log in or use API keys until the locked status is removed.
628+ :param user_id:
629+ :return: :class:`User <User>`
630+
631+ Usage:
632+ ::
633+
634+ result = await api.lock_user(
635+ user_id="example",
636+ )
637+ """
638+
639+ param_user_id = validate_path_param ("user_id" , user_id )
640+
641+ res = self ._request (
642+ "POST" ,
643+ f"/iam/v1alpha1/users/{ param_user_id } /lock" ,
644+ body = {},
645+ )
646+
647+ self ._throw_on_error (res )
648+ return unmarshal_User (res .json ())
649+
650+ async def unlock_user (
651+ self ,
652+ * ,
653+ user_id : str ,
654+ ) -> User :
655+ """
656+ Unlock a user.
657+ :param user_id:
658+ :return: :class:`User <User>`
659+
660+ Usage:
661+ ::
662+
663+ result = await api.unlock_user(
664+ user_id="example",
665+ )
666+ """
667+
668+ param_user_id = validate_path_param ("user_id" , user_id )
669+
670+ res = self ._request (
671+ "POST" ,
672+ f"/iam/v1alpha1/users/{ param_user_id } /unlock" ,
673+ body = {},
674+ )
675+
676+ self ._throw_on_error (res )
677+ return unmarshal_User (res .json ())
678+
620679 async def list_applications (
621680 self ,
622681 * ,
Original file line number Diff line number Diff line change @@ -1691,6 +1691,11 @@ class ListUsersResponse:
16911691 """
16921692
16931693
1694+ @dataclass
1695+ class LockUserRequest :
1696+ user_id : str
1697+
1698+
16941699@dataclass
16951700class RemoveGroupMemberRequest :
16961701 group_id : str
@@ -1733,6 +1738,11 @@ class SetRulesResponse:
17331738 """
17341739
17351740
1741+ @dataclass
1742+ class UnlockUserRequest :
1743+ user_id : str
1744+
1745+
17361746@dataclass
17371747class UpdateAPIKeyRequest :
17381748 access_key : str
Original file line number Diff line number Diff line change 7878from .types import ListSSHKeysResponse
7979from .types import ListUsersRequest
8080from .types import ListUsersResponse
81+ from .types import LockUserRequest
8182from .types import RemoveGroupMemberRequest
8283from .types import SetGroupMembersRequest
8384from .types import SetRulesRequest
8485from .types import SetRulesResponse
86+ from .types import UnlockUserRequest
8587from .types import UpdateAPIKeyRequest
8688from .types import UpdateApplicationRequest
8789from .types import UpdateGroupRequest
170172 "ListSSHKeysResponse" ,
171173 "ListUsersRequest" ,
172174 "ListUsersResponse" ,
175+ "LockUserRequest" ,
173176 "RemoveGroupMemberRequest" ,
174177 "SetGroupMembersRequest" ,
175178 "SetRulesRequest" ,
176179 "SetRulesResponse" ,
180+ "UnlockUserRequest" ,
177181 "UpdateAPIKeyRequest" ,
178182 "UpdateApplicationRequest" ,
179183 "UpdateGroupRequest" ,
Original file line number Diff line number Diff line change @@ -617,6 +617,65 @@ def update_user_password(
617617 self ._throw_on_error (res )
618618 return unmarshal_User (res .json ())
619619
620+ def lock_user (
621+ self ,
622+ * ,
623+ user_id : str ,
624+ ) -> User :
625+ """
626+ Lock a user.
627+ Lock a user. Note that a locked user cannot log in or use API keys until the locked status is removed.
628+ :param user_id:
629+ :return: :class:`User <User>`
630+
631+ Usage:
632+ ::
633+
634+ result = api.lock_user(
635+ user_id="example",
636+ )
637+ """
638+
639+ param_user_id = validate_path_param ("user_id" , user_id )
640+
641+ res = self ._request (
642+ "POST" ,
643+ f"/iam/v1alpha1/users/{ param_user_id } /lock" ,
644+ body = {},
645+ )
646+
647+ self ._throw_on_error (res )
648+ return unmarshal_User (res .json ())
649+
650+ def unlock_user (
651+ self ,
652+ * ,
653+ user_id : str ,
654+ ) -> User :
655+ """
656+ Unlock a user.
657+ :param user_id:
658+ :return: :class:`User <User>`
659+
660+ Usage:
661+ ::
662+
663+ result = api.unlock_user(
664+ user_id="example",
665+ )
666+ """
667+
668+ param_user_id = validate_path_param ("user_id" , user_id )
669+
670+ res = self ._request (
671+ "POST" ,
672+ f"/iam/v1alpha1/users/{ param_user_id } /unlock" ,
673+ body = {},
674+ )
675+
676+ self ._throw_on_error (res )
677+ return unmarshal_User (res .json ())
678+
620679 def list_applications (
621680 self ,
622681 * ,
Original file line number Diff line number Diff line change @@ -1691,6 +1691,11 @@ class ListUsersResponse:
16911691 """
16921692
16931693
1694+ @dataclass
1695+ class LockUserRequest :
1696+ user_id : str
1697+
1698+
16941699@dataclass
16951700class RemoveGroupMemberRequest :
16961701 group_id : str
@@ -1733,6 +1738,11 @@ class SetRulesResponse:
17331738 """
17341739
17351740
1741+ @dataclass
1742+ class UnlockUserRequest :
1743+ user_id : str
1744+
1745+
17361746@dataclass
17371747class UpdateAPIKeyRequest :
17381748 access_key : str
You can’t perform that action at this time.
0 commit comments