diff --git a/scaleway-async/scaleway_async/iam/v1alpha1/api.py b/scaleway-async/scaleway_async/iam/v1alpha1/api.py index 7198e8168..e69a56e4c 100644 --- a/scaleway-async/scaleway_async/iam/v1alpha1/api.py +++ b/scaleway-async/scaleway_async/iam/v1alpha1/api.py @@ -498,6 +498,10 @@ async def update_user( user_id: str, tags: Optional[List[str]] = None, email: Optional[str] = None, + first_name: Optional[str] = None, + last_name: Optional[str] = None, + phone_number: Optional[str] = None, + locale: Optional[str] = None, ) -> User: """ Update a user. @@ -505,6 +509,10 @@ async def update_user( :param user_id: ID of the user to update. :param tags: New tags for the user (maximum of 10 tags). :param email: IAM member email. + :param first_name: IAM member first name. + :param last_name: IAM member last name. + :param phone_number: IAM member phone number. + :param locale: IAM member locale. :return: :class:`User ` Usage: @@ -525,6 +533,10 @@ async def update_user( user_id=user_id, tags=tags, email=email, + first_name=first_name, + last_name=last_name, + phone_number=phone_number, + locale=locale, ), self.client, ), diff --git a/scaleway-async/scaleway_async/iam/v1alpha1/marshalling.py b/scaleway-async/scaleway_async/iam/v1alpha1/marshalling.py index 5dbb80eb5..3bdb9e469 100644 --- a/scaleway-async/scaleway_async/iam/v1alpha1/marshalling.py +++ b/scaleway-async/scaleway_async/iam/v1alpha1/marshalling.py @@ -618,10 +618,30 @@ def unmarshal_User(data: Any) -> User: if field is not None: args["username"] = field + field = data.get("first_name", None) + if field is not None: + args["first_name"] = field + + field = data.get("last_name", None) + if field is not None: + args["last_name"] = field + + field = data.get("phone_number", None) + if field is not None: + args["phone_number"] = field + + field = data.get("locale", None) + if field is not None: + args["locale"] = field + field = data.get("organization_id", None) if field is not None: args["organization_id"] = field + field = data.get("deletable", None) + if field is not None: + args["deletable"] = field + field = data.get("created_at", None) if field is not None: args["created_at"] = parser.isoparse(field) if isinstance(field, str) else field @@ -634,9 +654,13 @@ def unmarshal_User(data: Any) -> User: else: args["updated_at"] = None - field = data.get("deletable", None) + field = data.get("last_login_at", None) if field is not None: - args["deletable"] = field + args["last_login_at"] = ( + parser.isoparse(field) if isinstance(field, str) else field + ) + else: + args["last_login_at"] = None field = data.get("type", None) if field is not None: @@ -662,14 +686,6 @@ def unmarshal_User(data: Any) -> User: if field is not None: args["locked"] = field - field = data.get("last_login_at", None) - if field is not None: - args["last_login_at"] = ( - parser.isoparse(field) if isinstance(field, str) else field - ) - else: - args["last_login_at"] = None - field = data.get("two_factor_enabled", None) if field is not None: args["two_factor_enabled"] = field @@ -1436,6 +1452,18 @@ def marshal_CreateUserRequestMember( if request.password is not None: output["password"] = request.password + if request.first_name is not None: + output["first_name"] = request.first_name + + if request.last_name is not None: + output["last_name"] = request.last_name + + if request.phone_number is not None: + output["phone_number"] = request.phone_number + + if request.locale is not None: + output["locale"] = request.locale + return output @@ -1647,6 +1675,18 @@ def marshal_UpdateUserRequest( if request.email is not None: output["email"] = request.email + if request.first_name is not None: + output["first_name"] = request.first_name + + if request.last_name is not None: + output["last_name"] = request.last_name + + if request.phone_number is not None: + output["phone_number"] = request.phone_number + + if request.locale is not None: + output["locale"] = request.locale + return output diff --git a/scaleway-async/scaleway_async/iam/v1alpha1/types.py b/scaleway-async/scaleway_async/iam/v1alpha1/types.py index 63d5a38e7..12924e0d7 100644 --- a/scaleway-async/scaleway_async/iam/v1alpha1/types.py +++ b/scaleway-async/scaleway_async/iam/v1alpha1/types.py @@ -324,6 +324,26 @@ class CreateUserRequestMember: The member's password. """ + first_name: str + """ + The member's first name. + """ + + last_name: str + """ + The member's last name. + """ + + phone_number: str + """ + The member's phone number. + """ + + locale: str + """ + The member's locale. + """ + @dataclass class Connection: @@ -822,11 +842,36 @@ class User: User identifier unique to the Organization. """ + first_name: str + """ + First name of the user. + """ + + last_name: str + """ + Last name of the user. + """ + + phone_number: str + """ + Phone number of the user. + """ + + locale: str + """ + Locale of the user. + """ + organization_id: str """ ID of the Organization. """ + deletable: bool + """ + Deletion status of user. Owners cannot be deleted. + """ + created_at: Optional[datetime] """ Date user was created. @@ -837,9 +882,9 @@ class User: Date of last user update. """ - deletable: bool + last_login_at: Optional[datetime] """ - Deletion status of user. Owners cannot be deleted. + Date of the last login. """ type_: UserType @@ -872,11 +917,6 @@ class User: Defines whether the user is locked. """ - last_login_at: Optional[datetime] - """ - Date of the last login. - """ - two_factor_enabled: Optional[bool] """ Deprecated, use "mfa" instead. @@ -2097,6 +2137,26 @@ class UpdateUserRequest: IAM member email. """ + first_name: Optional[str] + """ + IAM member first name. + """ + + last_name: Optional[str] + """ + IAM member last name. + """ + + phone_number: Optional[str] + """ + IAM member phone number. + """ + + locale: Optional[str] + """ + IAM member locale. + """ + @dataclass class UpdateUserUsernameRequest: diff --git a/scaleway/scaleway/iam/v1alpha1/api.py b/scaleway/scaleway/iam/v1alpha1/api.py index e35098b39..487dcd942 100644 --- a/scaleway/scaleway/iam/v1alpha1/api.py +++ b/scaleway/scaleway/iam/v1alpha1/api.py @@ -498,6 +498,10 @@ def update_user( user_id: str, tags: Optional[List[str]] = None, email: Optional[str] = None, + first_name: Optional[str] = None, + last_name: Optional[str] = None, + phone_number: Optional[str] = None, + locale: Optional[str] = None, ) -> User: """ Update a user. @@ -505,6 +509,10 @@ def update_user( :param user_id: ID of the user to update. :param tags: New tags for the user (maximum of 10 tags). :param email: IAM member email. + :param first_name: IAM member first name. + :param last_name: IAM member last name. + :param phone_number: IAM member phone number. + :param locale: IAM member locale. :return: :class:`User ` Usage: @@ -525,6 +533,10 @@ def update_user( user_id=user_id, tags=tags, email=email, + first_name=first_name, + last_name=last_name, + phone_number=phone_number, + locale=locale, ), self.client, ), diff --git a/scaleway/scaleway/iam/v1alpha1/marshalling.py b/scaleway/scaleway/iam/v1alpha1/marshalling.py index 5dbb80eb5..3bdb9e469 100644 --- a/scaleway/scaleway/iam/v1alpha1/marshalling.py +++ b/scaleway/scaleway/iam/v1alpha1/marshalling.py @@ -618,10 +618,30 @@ def unmarshal_User(data: Any) -> User: if field is not None: args["username"] = field + field = data.get("first_name", None) + if field is not None: + args["first_name"] = field + + field = data.get("last_name", None) + if field is not None: + args["last_name"] = field + + field = data.get("phone_number", None) + if field is not None: + args["phone_number"] = field + + field = data.get("locale", None) + if field is not None: + args["locale"] = field + field = data.get("organization_id", None) if field is not None: args["organization_id"] = field + field = data.get("deletable", None) + if field is not None: + args["deletable"] = field + field = data.get("created_at", None) if field is not None: args["created_at"] = parser.isoparse(field) if isinstance(field, str) else field @@ -634,9 +654,13 @@ def unmarshal_User(data: Any) -> User: else: args["updated_at"] = None - field = data.get("deletable", None) + field = data.get("last_login_at", None) if field is not None: - args["deletable"] = field + args["last_login_at"] = ( + parser.isoparse(field) if isinstance(field, str) else field + ) + else: + args["last_login_at"] = None field = data.get("type", None) if field is not None: @@ -662,14 +686,6 @@ def unmarshal_User(data: Any) -> User: if field is not None: args["locked"] = field - field = data.get("last_login_at", None) - if field is not None: - args["last_login_at"] = ( - parser.isoparse(field) if isinstance(field, str) else field - ) - else: - args["last_login_at"] = None - field = data.get("two_factor_enabled", None) if field is not None: args["two_factor_enabled"] = field @@ -1436,6 +1452,18 @@ def marshal_CreateUserRequestMember( if request.password is not None: output["password"] = request.password + if request.first_name is not None: + output["first_name"] = request.first_name + + if request.last_name is not None: + output["last_name"] = request.last_name + + if request.phone_number is not None: + output["phone_number"] = request.phone_number + + if request.locale is not None: + output["locale"] = request.locale + return output @@ -1647,6 +1675,18 @@ def marshal_UpdateUserRequest( if request.email is not None: output["email"] = request.email + if request.first_name is not None: + output["first_name"] = request.first_name + + if request.last_name is not None: + output["last_name"] = request.last_name + + if request.phone_number is not None: + output["phone_number"] = request.phone_number + + if request.locale is not None: + output["locale"] = request.locale + return output diff --git a/scaleway/scaleway/iam/v1alpha1/types.py b/scaleway/scaleway/iam/v1alpha1/types.py index 63d5a38e7..12924e0d7 100644 --- a/scaleway/scaleway/iam/v1alpha1/types.py +++ b/scaleway/scaleway/iam/v1alpha1/types.py @@ -324,6 +324,26 @@ class CreateUserRequestMember: The member's password. """ + first_name: str + """ + The member's first name. + """ + + last_name: str + """ + The member's last name. + """ + + phone_number: str + """ + The member's phone number. + """ + + locale: str + """ + The member's locale. + """ + @dataclass class Connection: @@ -822,11 +842,36 @@ class User: User identifier unique to the Organization. """ + first_name: str + """ + First name of the user. + """ + + last_name: str + """ + Last name of the user. + """ + + phone_number: str + """ + Phone number of the user. + """ + + locale: str + """ + Locale of the user. + """ + organization_id: str """ ID of the Organization. """ + deletable: bool + """ + Deletion status of user. Owners cannot be deleted. + """ + created_at: Optional[datetime] """ Date user was created. @@ -837,9 +882,9 @@ class User: Date of last user update. """ - deletable: bool + last_login_at: Optional[datetime] """ - Deletion status of user. Owners cannot be deleted. + Date of the last login. """ type_: UserType @@ -872,11 +917,6 @@ class User: Defines whether the user is locked. """ - last_login_at: Optional[datetime] - """ - Date of the last login. - """ - two_factor_enabled: Optional[bool] """ Deprecated, use "mfa" instead. @@ -2097,6 +2137,26 @@ class UpdateUserRequest: IAM member email. """ + first_name: Optional[str] + """ + IAM member first name. + """ + + last_name: Optional[str] + """ + IAM member last name. + """ + + phone_number: Optional[str] + """ + IAM member phone number. + """ + + locale: Optional[str] + """ + IAM member locale. + """ + @dataclass class UpdateUserUsernameRequest: