Breaking change in v2.10.x: User and Server models require new mandatory fields

Open
#1,309 0 comments 1 reaction 1 assignee View on GitHub

Nobody has claimed this yet.

Assessment

This issue has not been assessed yet.

Description

bug
Community Note
  • Please vote on this issue by adding a 👍
    reaction to the original
    issue to help the community and maintainers prioritize this request
  • Please do not leave "+1" or other comments that do not add relevant new information or questions, they generate
    extra noise for issue followers and do not help prioritize the request
  • If you are interested in working on this issue or have submitted a pull request, please leave a comment

Command attempted

from datetime import datetime
from dateutil.tz import tzutc
from scaleway.iam.v1alpha1 import User
from scaleway.instance.v1 import Server

# This fails with: TypeError: User.__init__() missing 4 required positional arguments:
# 'first_name', 'last_name', 'phone_number', and 'locale'
user = User(
    id="998cbe72-913f-4f55-8620-4b0f7655d343",
    email="mbsimpson@simpson.corp",
    username="mbsimpson@simpson.corp",
    organization_id="0681c477-fbb9-4820-b8d6-0eef10cfcd6d",
    created_at=datetime(2025, 3, 20, 7, 39, 54, 526837, tzinfo=tzutc()),
    updated_at=datetime(2025, 6, 20, 9, 19, 54, 496281, tzinfo=tzutc()),
    deletable=False,
    type_="owner",
    status="activated",
    mfa=True,
    account_root_user_id="db2c157f-0ae0-4f9c-aa24-bcccba549e52",
    tags=[],
    locked=False,
    last_login_at=datetime(2025, 6, 20, 9, 19, 54, 502555, tzinfo=tzutc()),
    two_factor_enabled=True,
)

# This fails with: TypeError: Server.__init__() missing 2 required positional arguments:
# 'filesystems' and 'end_of_service'
server = Server(
    id="345627e9-18ff-47e0-b73d-3f38fddb4390",
    name="demo-server",
    organization="0681c477-fbb9-4820-b8d6-0eef10cfcd6d",
    project="0681c477-fbb9-4820-b8d6-0eef10cfcd6d",
    # ... other fields omitted for brevity
    zone="fr-par-1",
)

Expected Behavior

The User and Server objects should be instantiable with the fields that were previously sufficient, or the new
fields (first_name, last_name, phone_number, locale for User and filesystems, end_of_service for Server) should
have default values or be optional parameters.

This code worked in previous SDK versions without these additional required fields.

Actual Behavior

SDK version 2.10.x introduces breaking changes where these models now require additional positional arguments:

  TypeError: User.__init__() missing 4 required positional arguments: 'first_name', 'last_name', 'phone_number', and 
  'locale'

  TypeError: Server.__init__() missing 2 required positional arguments: 'filesystems' and 'end_of_service'

These breaking changes cause existing code that creates these model instances to fail at import time.

More info

SDK-Python version: 2.10.2

Python version: 3.12.8

OS version: macOS Darwin 25.0.0

Additional context:

We'll update our test code properly but figured I'd file an issue and say hi :D

Thanks for your time!

Dominant language
Python
Stars
37
Forks
16
Avg merge
3d 18h
Merged PRs (30d)
57

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from scaleway/scaleway-sdk-python

All issues in scaleway/scaleway-sdk-python

Similar issues

More Python issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.