Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 12 additions & 0 deletions scaleway-async/scaleway_async/iam/v1alpha1/api.py
Original file line number Diff line number Diff line change
Expand Up @@ -498,13 +498,21 @@ 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.
Update the parameters of a user, including `tags`.
: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 <User>`

Usage:
Expand All @@ -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,
),
Expand Down
60 changes: 50 additions & 10 deletions scaleway-async/scaleway_async/iam/v1alpha1/marshalling.py
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand All @@ -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:
Expand All @@ -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
Expand Down Expand Up @@ -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


Expand Down Expand Up @@ -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


Expand Down
74 changes: 67 additions & 7 deletions scaleway-async/scaleway_async/iam/v1alpha1/types.py
Original file line number Diff line number Diff line change
Expand Up @@ -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:
Expand Down Expand Up @@ -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.
Expand All @@ -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
Expand Down Expand Up @@ -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.
Expand Down Expand Up @@ -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:
Expand Down
12 changes: 12 additions & 0 deletions scaleway/scaleway/iam/v1alpha1/api.py
Original file line number Diff line number Diff line change
Expand Up @@ -498,13 +498,21 @@ 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.
Update the parameters of a user, including `tags`.
: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 <User>`

Usage:
Expand All @@ -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,
),
Expand Down
60 changes: 50 additions & 10 deletions scaleway/scaleway/iam/v1alpha1/marshalling.py
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand All @@ -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:
Expand All @@ -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
Expand Down Expand Up @@ -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


Expand Down Expand Up @@ -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


Expand Down
Loading