diff --git a/scaleway-async/scaleway_async/iam/v1alpha1/__init__.py b/scaleway-async/scaleway_async/iam/v1alpha1/__init__.py index 4f3af8cf3..a2f0c4b19 100644 --- a/scaleway-async/scaleway_async/iam/v1alpha1/__init__.py +++ b/scaleway-async/scaleway_async/iam/v1alpha1/__init__.py @@ -94,6 +94,7 @@ from .types import ListUsersResponse from .types import LockUserRequest from .types import MFAOTP +from .types import MigrateOrganizationGuestsRequest from .types import OrganizationSecuritySettings from .types import RemoveGroupMemberRequest from .types import SetGroupMembersRequest @@ -208,6 +209,7 @@ "ListUsersResponse", "LockUserRequest", "MFAOTP", + "MigrateOrganizationGuestsRequest", "OrganizationSecuritySettings", "RemoveGroupMemberRequest", "SetGroupMembersRequest", diff --git a/scaleway-async/scaleway_async/iam/v1alpha1/api.py b/scaleway-async/scaleway_async/iam/v1alpha1/api.py index c0a4b54e6..2c2790862 100644 --- a/scaleway-async/scaleway_async/iam/v1alpha1/api.py +++ b/scaleway-async/scaleway_async/iam/v1alpha1/api.py @@ -2826,3 +2826,29 @@ async def update_organization_security_settings( self._throw_on_error(res) return unmarshal_OrganizationSecuritySettings(res.json()) + + async def migrate_organization_guests( + self, + *, + organization_id: Optional[str] = None, + ) -> None: + """ + Migrate the organization's guests to IAM members. + :param organization_id: ID of the Organization. + + Usage: + :: + + result = await api.migrate_organization_guests() + """ + + param_organization_id = validate_path_param( + "organization_id", organization_id or self.client.default_organization_id + ) + + res = self._request( + "POST", + f"/iam/v1alpha1/organizations/{param_organization_id}/migrate-guests", + ) + + self._throw_on_error(res) diff --git a/scaleway-async/scaleway_async/iam/v1alpha1/types.py b/scaleway-async/scaleway_async/iam/v1alpha1/types.py index 2a8cd8d90..a3cd107dd 100644 --- a/scaleway-async/scaleway_async/iam/v1alpha1/types.py +++ b/scaleway-async/scaleway_async/iam/v1alpha1/types.py @@ -1906,6 +1906,14 @@ class MFAOTP: secret: str +@dataclass +class MigrateOrganizationGuestsRequest: + organization_id: Optional[str] + """ + ID of the Organization. + """ + + @dataclass class OrganizationSecuritySettings: enforce_password_renewal: bool diff --git a/scaleway/scaleway/iam/v1alpha1/__init__.py b/scaleway/scaleway/iam/v1alpha1/__init__.py index 4f3af8cf3..a2f0c4b19 100644 --- a/scaleway/scaleway/iam/v1alpha1/__init__.py +++ b/scaleway/scaleway/iam/v1alpha1/__init__.py @@ -94,6 +94,7 @@ from .types import ListUsersResponse from .types import LockUserRequest from .types import MFAOTP +from .types import MigrateOrganizationGuestsRequest from .types import OrganizationSecuritySettings from .types import RemoveGroupMemberRequest from .types import SetGroupMembersRequest @@ -208,6 +209,7 @@ "ListUsersResponse", "LockUserRequest", "MFAOTP", + "MigrateOrganizationGuestsRequest", "OrganizationSecuritySettings", "RemoveGroupMemberRequest", "SetGroupMembersRequest", diff --git a/scaleway/scaleway/iam/v1alpha1/api.py b/scaleway/scaleway/iam/v1alpha1/api.py index 629009ded..8a88b1dd1 100644 --- a/scaleway/scaleway/iam/v1alpha1/api.py +++ b/scaleway/scaleway/iam/v1alpha1/api.py @@ -2826,3 +2826,29 @@ def update_organization_security_settings( self._throw_on_error(res) return unmarshal_OrganizationSecuritySettings(res.json()) + + def migrate_organization_guests( + self, + *, + organization_id: Optional[str] = None, + ) -> None: + """ + Migrate the organization's guests to IAM members. + :param organization_id: ID of the Organization. + + Usage: + :: + + result = api.migrate_organization_guests() + """ + + param_organization_id = validate_path_param( + "organization_id", organization_id or self.client.default_organization_id + ) + + res = self._request( + "POST", + f"/iam/v1alpha1/organizations/{param_organization_id}/migrate-guests", + ) + + self._throw_on_error(res) diff --git a/scaleway/scaleway/iam/v1alpha1/types.py b/scaleway/scaleway/iam/v1alpha1/types.py index 2a8cd8d90..a3cd107dd 100644 --- a/scaleway/scaleway/iam/v1alpha1/types.py +++ b/scaleway/scaleway/iam/v1alpha1/types.py @@ -1906,6 +1906,14 @@ class MFAOTP: secret: str +@dataclass +class MigrateOrganizationGuestsRequest: + organization_id: Optional[str] + """ + ID of the Organization. + """ + + @dataclass class OrganizationSecuritySettings: enforce_password_renewal: bool