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
2 changes: 2 additions & 0 deletions scaleway-async/scaleway_async/iam/v1alpha1/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -90,6 +90,7 @@
from .types import GetQuotumRequest
from .types import GetSSHKeyRequest
from .types import GetSamlCertificateRequest
from .types import GetScimTokenRequest
from .types import GetUserConnectionsRequest
from .types import GetUserConnectionsResponse
from .types import GetUserRequest
Expand Down Expand Up @@ -250,6 +251,7 @@
"GetQuotumRequest",
"GetSSHKeyRequest",
"GetSamlCertificateRequest",
"GetScimTokenRequest",
"GetUserConnectionsRequest",
"GetUserConnectionsResponse",
"GetUserRequest",
Expand Down
28 changes: 28 additions & 0 deletions scaleway-async/scaleway_async/iam/v1alpha1/api.py
Original file line number Diff line number Diff line change
Expand Up @@ -112,6 +112,7 @@
)
from .marshalling import (
unmarshal_JWT,
unmarshal_ScimToken,
unmarshal_APIKey,
unmarshal_Application,
unmarshal_Group,
Expand Down Expand Up @@ -3590,6 +3591,33 @@ async def delete_scim_token(

self._throw_on_error(res)

async def get_scim_token(
self,
*,
scim_token_id: str,
) -> ScimToken:
"""
:param scim_token_id:
:return: :class:`ScimToken <ScimToken>`

Usage:
::

result = await api.get_scim_token(
scim_token_id="example",
)
"""

param_scim_token_id = validate_path_param("scim_token_id", scim_token_id)

res = self._request(
"GET",
f"/iam/v1alpha1/scim-tokens/{param_scim_token_id}",
)

self._throw_on_error(res)
return unmarshal_ScimToken(res.json())

async def start_user_web_authn_registration(
self,
*,
Expand Down
72 changes: 36 additions & 36 deletions scaleway-async/scaleway_async/iam/v1alpha1/marshalling.py
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@
SamlStatus,
UserType,
JWT,
ScimToken,
APIKey,
Application,
Group,
Expand All @@ -34,7 +35,6 @@
SamlCertificate,
WebAuthnAuthenticator,
User,
ScimToken,
CreateScimTokenResponse,
EncodedJWT,
FinishUserWebAuthnRegistrationResponse,
Expand Down Expand Up @@ -172,6 +172,41 @@ def unmarshal_JWT(data: Any) -> JWT:
return JWT(**args)


def unmarshal_ScimToken(data: Any) -> ScimToken:
if not isinstance(data, dict):
raise TypeError(
"Unmarshalling the type 'ScimToken' failed as data isn't a dictionary."
)

args: dict[str, Any] = {}

field = data.get("id", None)
if field is not None:
args["id"] = field
else:
args["id"] = None

field = data.get("scim_id", None)
if field is not None:
args["scim_id"] = field
else:
args["scim_id"] = None

field = data.get("created_at", None)
if field is not None:
args["created_at"] = parser.isoparse(field) if isinstance(field, str) else field
else:
args["created_at"] = None

field = data.get("expires_at", None)
if field is not None:
args["expires_at"] = parser.isoparse(field) if isinstance(field, str) else field
else:
args["expires_at"] = None

return ScimToken(**args)


def unmarshal_APIKey(data: Any) -> APIKey:
if not isinstance(data, dict):
raise TypeError(
Expand Down Expand Up @@ -1037,41 +1072,6 @@ def unmarshal_User(data: Any) -> User:
return User(**args)


def unmarshal_ScimToken(data: Any) -> ScimToken:
if not isinstance(data, dict):
raise TypeError(
"Unmarshalling the type 'ScimToken' failed as data isn't a dictionary."
)

args: dict[str, Any] = {}

field = data.get("id", None)
if field is not None:
args["id"] = field
else:
args["id"] = None

field = data.get("scim_id", None)
if field is not None:
args["scim_id"] = field
else:
args["scim_id"] = None

field = data.get("created_at", None)
if field is not None:
args["created_at"] = parser.isoparse(field) if isinstance(field, str) else field
else:
args["created_at"] = None

field = data.get("expires_at", None)
if field is not None:
args["expires_at"] = parser.isoparse(field) if isinstance(field, str) else field
else:
args["expires_at"] = None

return ScimToken(**args)


def unmarshal_CreateScimTokenResponse(data: Any) -> CreateScimTokenResponse:
if not isinstance(data, dict):
raise TypeError(
Expand Down
5 changes: 5 additions & 0 deletions scaleway-async/scaleway_async/iam/v1alpha1/types.py
Original file line number Diff line number Diff line change
Expand Up @@ -1627,6 +1627,11 @@ class GetSamlCertificateRequest:
"""


@dataclass
class GetScimTokenRequest:
scim_token_id: str


@dataclass
class GetUserConnectionsRequest:
user_id: str
Expand Down
2 changes: 2 additions & 0 deletions scaleway/scaleway/iam/v1alpha1/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -90,6 +90,7 @@
from .types import GetQuotumRequest
from .types import GetSSHKeyRequest
from .types import GetSamlCertificateRequest
from .types import GetScimTokenRequest
from .types import GetUserConnectionsRequest
from .types import GetUserConnectionsResponse
from .types import GetUserRequest
Expand Down Expand Up @@ -250,6 +251,7 @@
"GetQuotumRequest",
"GetSSHKeyRequest",
"GetSamlCertificateRequest",
"GetScimTokenRequest",
"GetUserConnectionsRequest",
"GetUserConnectionsResponse",
"GetUserRequest",
Expand Down
28 changes: 28 additions & 0 deletions scaleway/scaleway/iam/v1alpha1/api.py
Original file line number Diff line number Diff line change
Expand Up @@ -112,6 +112,7 @@
)
from .marshalling import (
unmarshal_JWT,
unmarshal_ScimToken,
unmarshal_APIKey,
unmarshal_Application,
unmarshal_Group,
Expand Down Expand Up @@ -3590,6 +3591,33 @@ def delete_scim_token(

self._throw_on_error(res)

def get_scim_token(
self,
*,
scim_token_id: str,
) -> ScimToken:
"""
:param scim_token_id:
:return: :class:`ScimToken <ScimToken>`

Usage:
::

result = api.get_scim_token(
scim_token_id="example",
)
"""

param_scim_token_id = validate_path_param("scim_token_id", scim_token_id)

res = self._request(
"GET",
f"/iam/v1alpha1/scim-tokens/{param_scim_token_id}",
)

self._throw_on_error(res)
return unmarshal_ScimToken(res.json())

def start_user_web_authn_registration(
self,
*,
Expand Down
72 changes: 36 additions & 36 deletions scaleway/scaleway/iam/v1alpha1/marshalling.py
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@
SamlStatus,
UserType,
JWT,
ScimToken,
APIKey,
Application,
Group,
Expand All @@ -34,7 +35,6 @@
SamlCertificate,
WebAuthnAuthenticator,
User,
ScimToken,
CreateScimTokenResponse,
EncodedJWT,
FinishUserWebAuthnRegistrationResponse,
Expand Down Expand Up @@ -172,6 +172,41 @@ def unmarshal_JWT(data: Any) -> JWT:
return JWT(**args)


def unmarshal_ScimToken(data: Any) -> ScimToken:
if not isinstance(data, dict):
raise TypeError(
"Unmarshalling the type 'ScimToken' failed as data isn't a dictionary."
)

args: dict[str, Any] = {}

field = data.get("id", None)
if field is not None:
args["id"] = field
else:
args["id"] = None

field = data.get("scim_id", None)
if field is not None:
args["scim_id"] = field
else:
args["scim_id"] = None

field = data.get("created_at", None)
if field is not None:
args["created_at"] = parser.isoparse(field) if isinstance(field, str) else field
else:
args["created_at"] = None

field = data.get("expires_at", None)
if field is not None:
args["expires_at"] = parser.isoparse(field) if isinstance(field, str) else field
else:
args["expires_at"] = None

return ScimToken(**args)


def unmarshal_APIKey(data: Any) -> APIKey:
if not isinstance(data, dict):
raise TypeError(
Expand Down Expand Up @@ -1037,41 +1072,6 @@ def unmarshal_User(data: Any) -> User:
return User(**args)


def unmarshal_ScimToken(data: Any) -> ScimToken:
if not isinstance(data, dict):
raise TypeError(
"Unmarshalling the type 'ScimToken' failed as data isn't a dictionary."
)

args: dict[str, Any] = {}

field = data.get("id", None)
if field is not None:
args["id"] = field
else:
args["id"] = None

field = data.get("scim_id", None)
if field is not None:
args["scim_id"] = field
else:
args["scim_id"] = None

field = data.get("created_at", None)
if field is not None:
args["created_at"] = parser.isoparse(field) if isinstance(field, str) else field
else:
args["created_at"] = None

field = data.get("expires_at", None)
if field is not None:
args["expires_at"] = parser.isoparse(field) if isinstance(field, str) else field
else:
args["expires_at"] = None

return ScimToken(**args)


def unmarshal_CreateScimTokenResponse(data: Any) -> CreateScimTokenResponse:
if not isinstance(data, dict):
raise TypeError(
Expand Down
5 changes: 5 additions & 0 deletions scaleway/scaleway/iam/v1alpha1/types.py
Original file line number Diff line number Diff line change
Expand Up @@ -1627,6 +1627,11 @@ class GetSamlCertificateRequest:
"""


@dataclass
class GetScimTokenRequest:
scim_token_id: str


@dataclass
class GetUserConnectionsRequest:
user_id: str
Expand Down
Loading