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
6 changes: 6 additions & 0 deletions scaleway-async/scaleway_async/iam/v1alpha1/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -61,6 +61,7 @@
from .types import GetGroupRequest
from .types import GetJWTRequest
from .types import GetLogRequest
from .types import GetOrganizationRequest
from .types import GetOrganizationSecuritySettingsRequest
from .types import GetPolicyRequest
from .types import GetQuotumRequest
Expand Down Expand Up @@ -98,10 +99,12 @@
from .types import LockUserRequest
from .types import MFAOTP
from .types import MigrateOrganizationGuestsRequest
from .types import Organization
from .types import OrganizationSecuritySettings
from .types import RemoveGroupMemberRequest
from .types import RemoveUserConnectionRequest
from .types import SetGroupMembersRequest
from .types import SetOrganizationAliasRequest
from .types import SetRulesRequest
from .types import SetRulesResponse
from .types import UnlockUserRequest
Expand Down Expand Up @@ -180,6 +183,7 @@
"GetGroupRequest",
"GetJWTRequest",
"GetLogRequest",
"GetOrganizationRequest",
"GetOrganizationSecuritySettingsRequest",
"GetPolicyRequest",
"GetQuotumRequest",
Expand Down Expand Up @@ -217,10 +221,12 @@
"LockUserRequest",
"MFAOTP",
"MigrateOrganizationGuestsRequest",
"Organization",
"OrganizationSecuritySettings",
"RemoveGroupMemberRequest",
"RemoveUserConnectionRequest",
"SetGroupMembersRequest",
"SetOrganizationAliasRequest",
"SetRulesRequest",
"SetRulesResponse",
"UnlockUserRequest",
Expand Down
72 changes: 72 additions & 0 deletions scaleway-async/scaleway_async/iam/v1alpha1/api.py
Original file line number Diff line number Diff line change
Expand Up @@ -59,6 +59,7 @@
ListUsersResponse,
Log,
MFAOTP,
Organization,
OrganizationSecuritySettings,
PermissionSet,
Policy,
Expand All @@ -69,6 +70,7 @@
RuleSpecs,
SSHKey,
SetGroupMembersRequest,
SetOrganizationAliasRequest,
SetRulesRequest,
SetRulesResponse,
UpdateAPIKeyRequest,
Expand Down Expand Up @@ -110,6 +112,7 @@
unmarshal_ListSSHKeysResponse,
unmarshal_ListUsersResponse,
unmarshal_MFAOTP,
unmarshal_Organization,
unmarshal_OrganizationSecuritySettings,
unmarshal_SetRulesResponse,
unmarshal_ValidateUserMFAOTPResponse,
Expand All @@ -126,6 +129,7 @@
marshal_RemoveGroupMemberRequest,
marshal_RemoveUserConnectionRequest,
marshal_SetGroupMembersRequest,
marshal_SetOrganizationAliasRequest,
marshal_SetRulesRequest,
marshal_UpdateAPIKeyRequest,
marshal_UpdateApplicationRequest,
Expand Down Expand Up @@ -2931,6 +2935,74 @@ async def update_organization_security_settings(
self._throw_on_error(res)
return unmarshal_OrganizationSecuritySettings(res.json())

async def set_organization_alias(
self,
*,
alias: str,
organization_id: Optional[str] = None,
) -> Organization:
"""
Set your Organization's alias.
This will fail if an alias has already been defined. Please contact support if you need to change your Organization's alias.
:param alias: Alias of the Organization.
:param organization_id: ID of the Organization.
:return: :class:`Organization <Organization>`

Usage:
::

result = await api.set_organization_alias(
alias="example",
)
"""

param_organization_id = validate_path_param(
"organization_id", organization_id or self.client.default_organization_id
)

res = self._request(
"PUT",
f"/iam/v1alpha1/organizations/{param_organization_id}/alias",
body=marshal_SetOrganizationAliasRequest(
SetOrganizationAliasRequest(
alias=alias,
organization_id=organization_id,
),
self.client,
),
)

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

async def get_organization(
self,
*,
organization_id: Optional[str] = None,
) -> Organization:
"""
Get your Organization's IAM information.
:param organization_id: ID of the Organization.
:return: :class:`Organization <Organization>`

Usage:
::

result = await api.get_organization()
"""

param_organization_id = validate_path_param(
"organization_id", organization_id or self.client.default_organization_id
)

res = self._request(
"GET",
f"/iam/v1alpha1/organizations/{param_organization_id}",
)

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

async def migrate_organization_guests(
self,
*,
Expand Down
37 changes: 37 additions & 0 deletions scaleway-async/scaleway_async/iam/v1alpha1/marshalling.py
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,7 @@
ListSSHKeysResponse,
ListUsersResponse,
MFAOTP,
Organization,
OrganizationSecuritySettings,
SetRulesResponse,
ValidateUserMFAOTPResponse,
Expand All @@ -60,6 +61,7 @@
RemoveGroupMemberRequest,
RemoveUserConnectionRequest,
SetGroupMembersRequest,
SetOrganizationAliasRequest,
SetRulesRequest,
UpdateAPIKeyRequest,
UpdateApplicationRequest,
Expand Down Expand Up @@ -1194,6 +1196,29 @@ def unmarshal_MFAOTP(data: Any) -> MFAOTP:
return MFAOTP(**args)


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

args: Dict[str, Any] = {}

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

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

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

return Organization(**args)


def unmarshal_OrganizationSecuritySettings(data: Any) -> OrganizationSecuritySettings:
if not isinstance(data, dict):
raise TypeError(
Expand Down Expand Up @@ -1568,6 +1593,18 @@ def marshal_SetGroupMembersRequest(
return output


def marshal_SetOrganizationAliasRequest(
request: SetOrganizationAliasRequest,
defaults: ProfileDefaults,
) -> Dict[str, Any]:
output: Dict[str, Any] = {}

if request.alias is not None:
output["alias"] = request.alias

return output


def marshal_SetRulesRequest(
request: SetRulesRequest,
defaults: ProfileDefaults,
Expand Down
39 changes: 39 additions & 0 deletions scaleway-async/scaleway_async/iam/v1alpha1/types.py
Original file line number Diff line number Diff line change
Expand Up @@ -1237,6 +1237,14 @@ class GetLogRequest:
"""


@dataclass
class GetOrganizationRequest:
organization_id: Optional[str]
"""
ID of the Organization.
"""


@dataclass
class GetOrganizationSecuritySettingsRequest:
organization_id: Optional[str]
Expand Down Expand Up @@ -1943,6 +1951,24 @@ class MigrateOrganizationGuestsRequest:
"""


@dataclass
class Organization:
id: str
"""
ID of the Organization.
"""

name: str
"""
Name of the Organization.
"""

alias: str
"""
Alias of the Organization.
"""


@dataclass
class OrganizationSecuritySettings:
enforce_password_renewal: bool
Expand Down Expand Up @@ -1995,6 +2021,19 @@ class SetGroupMembersRequest:
application_ids: List[str]


@dataclass
class SetOrganizationAliasRequest:
alias: str
"""
Alias of the Organization.
"""

organization_id: Optional[str]
"""
ID of the Organization.
"""


@dataclass
class SetRulesRequest:
policy_id: str
Expand Down
6 changes: 6 additions & 0 deletions scaleway/scaleway/iam/v1alpha1/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -61,6 +61,7 @@
from .types import GetGroupRequest
from .types import GetJWTRequest
from .types import GetLogRequest
from .types import GetOrganizationRequest
from .types import GetOrganizationSecuritySettingsRequest
from .types import GetPolicyRequest
from .types import GetQuotumRequest
Expand Down Expand Up @@ -98,10 +99,12 @@
from .types import LockUserRequest
from .types import MFAOTP
from .types import MigrateOrganizationGuestsRequest
from .types import Organization
from .types import OrganizationSecuritySettings
from .types import RemoveGroupMemberRequest
from .types import RemoveUserConnectionRequest
from .types import SetGroupMembersRequest
from .types import SetOrganizationAliasRequest
from .types import SetRulesRequest
from .types import SetRulesResponse
from .types import UnlockUserRequest
Expand Down Expand Up @@ -180,6 +183,7 @@
"GetGroupRequest",
"GetJWTRequest",
"GetLogRequest",
"GetOrganizationRequest",
"GetOrganizationSecuritySettingsRequest",
"GetPolicyRequest",
"GetQuotumRequest",
Expand Down Expand Up @@ -217,10 +221,12 @@
"LockUserRequest",
"MFAOTP",
"MigrateOrganizationGuestsRequest",
"Organization",
"OrganizationSecuritySettings",
"RemoveGroupMemberRequest",
"RemoveUserConnectionRequest",
"SetGroupMembersRequest",
"SetOrganizationAliasRequest",
"SetRulesRequest",
"SetRulesResponse",
"UnlockUserRequest",
Expand Down
Loading