diff --git a/src/metorial/_generated/src/mt_2025_01_01_dashboard/__init__.py b/src/metorial/_generated/src/mt_2025_01_01_dashboard/__init__.py index 3aa230e5..474548fa 100644 --- a/src/metorial/_generated/src/mt_2025_01_01_dashboard/__init__.py +++ b/src/metorial/_generated/src/mt_2025_01_01_dashboard/__init__.py @@ -6,17 +6,9 @@ # These types are automatically exported for better IDE support # Type classes -# ApiKeysCreateBody -# ApiKeysCreateOutput -# ApiKeysGetOutput -# ApiKeysListOutput -# ApiKeysListQuery # ApiKeysRevealOutput -# ApiKeysRevokeOutput # ApiKeysRotateBody # ApiKeysRotateOutput -# ApiKeysUpdateBody -# ApiKeysUpdateOutput # DashboardBootBody # DashboardBootOutput # DashboardInstanceCallbacksCreateBody @@ -46,6 +38,21 @@ # DashboardInstanceCallbacksNotificationsListQuery # DashboardInstanceCallbacksUpdateBody # DashboardInstanceCallbacksUpdateOutput +# DashboardInstanceConsumerSurfacesGetOutput +# DashboardInstanceConsumerSurfacesListOutput +# DashboardInstanceConsumerSurfacesListQuery +# DashboardInstanceConsumersCreateBody +# DashboardInstanceConsumersCreateOutput +# DashboardInstanceConsumersGetMemberConsumerBody +# DashboardInstanceConsumersGetMemberConsumerOutput +# DashboardInstanceConsumersGetOutput +# DashboardInstanceConsumersListOutput +# DashboardInstanceConsumersListQuery +# DashboardInstanceConsumersProfilesGetOutput +# DashboardInstanceConsumersProfilesListOutput +# DashboardInstanceConsumersProfilesListQuery +# DashboardInstanceConsumersUpdateBody +# DashboardInstanceConsumersUpdateOutput # DashboardInstanceCustomProvidersCodeGetCodeEditorTokenOutput # DashboardInstanceCustomProvidersCommitsCreateBody # DashboardInstanceCustomProvidersCommitsCreateOutput @@ -421,6 +428,14 @@ # DashboardOrganizationsAccessRolesUpdateOutput # DashboardOrganizationsAccessRolesVersionsOutput # DashboardOrganizationsAccessRolesVersionsQuery +# DashboardOrganizationsApiKeysCreateBody +# DashboardOrganizationsApiKeysCreateOutput +# DashboardOrganizationsApiKeysGetOutput +# DashboardOrganizationsApiKeysListOutput +# DashboardOrganizationsApiKeysListQuery +# DashboardOrganizationsApiKeysRevokeOutput +# DashboardOrganizationsApiKeysUpdateBody +# DashboardOrganizationsApiKeysUpdateOutput # DashboardOrganizationsCreateBody # DashboardOrganizationsCreateOutput # DashboardOrganizationsDeleteOutput @@ -541,17 +556,9 @@ # OrganizationsProfileUpdateOutput # Mapper classes -# mapApiKeysCreateBody -# mapApiKeysCreateOutput -# mapApiKeysGetOutput -# mapApiKeysListOutput -# mapApiKeysListQuery # mapApiKeysRevealOutput -# mapApiKeysRevokeOutput # mapApiKeysRotateBody # mapApiKeysRotateOutput -# mapApiKeysUpdateBody -# mapApiKeysUpdateOutput # mapDashboardBootBody # mapDashboardBootOutput # mapDashboardInstanceCallbacksCreateBody @@ -581,6 +588,21 @@ # mapDashboardInstanceCallbacksNotificationsListQuery # mapDashboardInstanceCallbacksUpdateBody # mapDashboardInstanceCallbacksUpdateOutput +# mapDashboardInstanceConsumerSurfacesGetOutput +# mapDashboardInstanceConsumerSurfacesListOutput +# mapDashboardInstanceConsumerSurfacesListQuery +# mapDashboardInstanceConsumersCreateBody +# mapDashboardInstanceConsumersCreateOutput +# mapDashboardInstanceConsumersGetMemberConsumerBody +# mapDashboardInstanceConsumersGetMemberConsumerOutput +# mapDashboardInstanceConsumersGetOutput +# mapDashboardInstanceConsumersListOutput +# mapDashboardInstanceConsumersListQuery +# mapDashboardInstanceConsumersProfilesGetOutput +# mapDashboardInstanceConsumersProfilesListOutput +# mapDashboardInstanceConsumersProfilesListQuery +# mapDashboardInstanceConsumersUpdateBody +# mapDashboardInstanceConsumersUpdateOutput # mapDashboardInstanceCustomProvidersCodeGetCodeEditorTokenOutput # mapDashboardInstanceCustomProvidersCommitsCreateBody # mapDashboardInstanceCustomProvidersCommitsCreateOutput @@ -956,6 +978,14 @@ # mapDashboardOrganizationsAccessRolesUpdateOutput # mapDashboardOrganizationsAccessRolesVersionsOutput # mapDashboardOrganizationsAccessRolesVersionsQuery +# mapDashboardOrganizationsApiKeysCreateBody +# mapDashboardOrganizationsApiKeysCreateOutput +# mapDashboardOrganizationsApiKeysGetOutput +# mapDashboardOrganizationsApiKeysListOutput +# mapDashboardOrganizationsApiKeysListQuery +# mapDashboardOrganizationsApiKeysRevokeOutput +# mapDashboardOrganizationsApiKeysUpdateBody +# mapDashboardOrganizationsApiKeysUpdateOutput # mapDashboardOrganizationsCreateBody # mapDashboardOrganizationsCreateOutput # mapDashboardOrganizationsDeleteOutput diff --git a/src/metorial/_generated/src/mt_2025_01_01_dashboard/endpoints/__init__.py b/src/metorial/_generated/src/mt_2025_01_01_dashboard/endpoints/__init__.py index 8a39a76f..fa99461d 100644 --- a/src/metorial/_generated/src/mt_2025_01_01_dashboard/endpoints/__init__.py +++ b/src/metorial/_generated/src/mt_2025_01_01_dashboard/endpoints/__init__.py @@ -4,6 +4,9 @@ from .callbacks_events import * from .callbacks_instances import * from .callbacks_notifications import * +from .consumer_surfaces import * +from .consumers import * +from .consumers_profiles import * from .custom_providers import * from .custom_providers_code import * from .custom_providers_commits import * @@ -16,6 +19,9 @@ from .dashboard_instance_callbacks_events import * from .dashboard_instance_callbacks_instances import * from .dashboard_instance_callbacks_notifications import * +from .dashboard_instance_consumer_surfaces import * +from .dashboard_instance_consumers import * +from .dashboard_instance_consumers_profiles import * from .dashboard_instance_custom_providers import * from .dashboard_instance_custom_providers_code import * from .dashboard_instance_custom_providers_commits import * @@ -83,6 +89,7 @@ from .dashboard_organizations import * from .dashboard_organizations_access_policies import * from .dashboard_organizations_access_roles import * +from .dashboard_organizations_api_keys import * from .dashboard_organizations_instances import * from .dashboard_organizations_invites import * from .dashboard_organizations_join import * @@ -122,6 +129,9 @@ from .management_instance_callbacks_events import * from .management_instance_callbacks_instances import * from .management_instance_callbacks_notifications import * +from .management_instance_consumer_surfaces import * +from .management_instance_consumers import * +from .management_instance_consumers_profiles import * from .management_instance_custom_providers import * from .management_instance_custom_providers_code import * from .management_instance_custom_providers_commits import * @@ -187,6 +197,7 @@ from .management_organization import * from .management_organization_access_policies import * from .management_organization_access_roles import * +from .management_organization_api_keys import * from .management_organization_instances import * from .management_organization_invites import * from .management_organization_members import * diff --git a/src/metorial/_generated/src/mt_2025_01_01_dashboard/endpoints/api_keys.py b/src/metorial/_generated/src/mt_2025_01_01_dashboard/endpoints/api_keys.py index 9b417532..72ddc8c2 100644 --- a/src/metorial/_generated/src/mt_2025_01_01_dashboard/endpoints/api_keys.py +++ b/src/metorial/_generated/src/mt_2025_01_01_dashboard/endpoints/api_keys.py @@ -1,7 +1,7 @@ from typing import Any, Dict, List, Optional, Union from datetime import datetime from metorial_util_endpoint import BaseMetorialEndpoint, MetorialEndpointManager, MetorialRequest -from ..resources import mapApiKeysListOutput, ApiKeysListOutput, mapApiKeysListQuery, ApiKeysListQuery, mapApiKeysGetOutput, ApiKeysGetOutput, mapApiKeysCreateOutput, ApiKeysCreateOutput, mapApiKeysCreateBody, ApiKeysCreateBody, mapApiKeysUpdateOutput, ApiKeysUpdateOutput, mapApiKeysUpdateBody, ApiKeysUpdateBody, mapApiKeysRevokeOutput, ApiKeysRevokeOutput, mapApiKeysRotateOutput, ApiKeysRotateOutput, mapApiKeysRotateBody, ApiKeysRotateBody, mapApiKeysRevealOutput, ApiKeysRevealOutput +from ..resources import mapApiKeysRotateOutput, ApiKeysRotateOutput, mapApiKeysRotateBody, ApiKeysRotateBody, mapApiKeysRevealOutput, ApiKeysRevealOutput class MetorialApiKeysEndpoint(BaseMetorialEndpoint): """Read and write API key information""" @@ -9,136 +9,6 @@ class MetorialApiKeysEndpoint(BaseMetorialEndpoint): def __init__(self, config: MetorialEndpointManager): super().__init__(config) - def list(self, organization_id: str, *, limit: Optional[float] = None, after: Optional[str] = None, before: Optional[str] = None, cursor: Optional[str] = None, order: Optional[str] = None, type: Any = None, instance_id: str = None) -> ApiKeysListOutput: - """ - Get user - Get the current user information - - :param organization_id: str - :param limit: Optional[float] (optional) - :param after: Optional[str] (optional) - :param before: Optional[str] (optional) - :param cursor: Optional[str] (optional) - :param order: Optional[str] (optional) - :param type: Any (optional) - :param instance_id: str (optional) - :return: ApiKeysListOutput - """ - # Build query parameters from keyword arguments - query_dict = {} - if limit is not None: - query_dict["limit"] = limit - if after is not None: - query_dict["after"] = after - if before is not None: - query_dict["before"] = before - if cursor is not None: - query_dict["cursor"] = cursor - if order is not None: - query_dict["order"] = order - if type is not None: - query_dict["type"] = type - if instance_id is not None: - query_dict["instance_id"] = instance_id - - request = MetorialRequest( - path=['dashboard', 'organizations', organization_id, 'api-keys'], - query=query_dict - ) - return self._get(request).transform(mapApiKeysListOutput.from_dict) - - def get(self, organization_id: str, api_key_id: str) -> ApiKeysGetOutput: - """ - Get API key - Get the information of a specific API key - - :param organization_id: str - :param api_key_id: str - :return: ApiKeysGetOutput - """ - request = MetorialRequest( - path=['dashboard', 'organizations', organization_id, 'api-keys', api_key_id] - ) - return self._get(request).transform(mapApiKeysGetOutput.from_dict) - - def create(self, organization_id: str, *, name: str, type: Any = None, instance_id: str = None, description: Optional[str] = None, expires_at: Optional[datetime] = None, ip_filters: Optional[List[str]] = None) -> ApiKeysCreateOutput: - """ - Create API key - Create a new API key - - :param organization_id: str - :param type: Any (optional) - :param instance_id: str (optional) - :param name: str - :param description: Optional[str] (optional) - :param expires_at: Optional[datetime] (optional) - :param ip_filters: Optional[List[str]] (optional) - :return: ApiKeysCreateOutput - """ - # Build body parameters from keyword arguments - body_dict = {} - if type is not None: - body_dict["type"] = type - if instance_id is not None: - body_dict["instance_id"] = instance_id - body_dict["name"] = name - if description is not None: - body_dict["description"] = description - if expires_at is not None: - body_dict["expires_at"] = expires_at - if ip_filters is not None: - body_dict["ip_filters"] = ip_filters - - request = MetorialRequest( - path=['dashboard', 'organizations', organization_id, 'api-keys'], - body=body_dict - ) - return self._post(request).transform(mapApiKeysCreateOutput.from_dict) - - def update(self, organization_id: str, api_key_id: str, *, name: Optional[str] = None, description: Optional[str] = None, expires_at: Optional[datetime] = None, ip_filters: Optional[List[str]] = None) -> ApiKeysUpdateOutput: - """ - Update API key - Update the information of a specific API key - - :param organization_id: str - :param api_key_id: str - :param name: Optional[str] (optional) - :param description: Optional[str] (optional) - :param expires_at: Optional[datetime] (optional) - :param ip_filters: Optional[List[str]] (optional) - :return: ApiKeysUpdateOutput - """ - # Build body parameters from keyword arguments - body_dict = {} - if name is not None: - body_dict["name"] = name - if description is not None: - body_dict["description"] = description - if expires_at is not None: - body_dict["expires_at"] = expires_at - if ip_filters is not None: - body_dict["ip_filters"] = ip_filters - - request = MetorialRequest( - path=['dashboard', 'organizations', organization_id, 'api-keys', api_key_id], - body=body_dict - ) - return self._post(request).transform(mapApiKeysUpdateOutput.from_dict) - - def revoke(self, organization_id: str, api_key_id: str) -> ApiKeysRevokeOutput: - """ - Revoke API key - Revoke a specific API key - - :param organization_id: str - :param api_key_id: str - :return: ApiKeysRevokeOutput - """ - request = MetorialRequest( - path=['dashboard', 'organizations', organization_id, 'api-keys', api_key_id] - ) - return self._delete(request).transform(mapApiKeysRevokeOutput.from_dict) - def rotate(self, organization_id: str, api_key_id: str, *, current_expires_at: Optional[datetime] = None) -> ApiKeysRotateOutput: """ Rotate API key diff --git a/src/metorial/_generated/src/mt_2025_01_01_dashboard/endpoints/consumer_surfaces.py b/src/metorial/_generated/src/mt_2025_01_01_dashboard/endpoints/consumer_surfaces.py new file mode 100644 index 00000000..f594afcd --- /dev/null +++ b/src/metorial/_generated/src/mt_2025_01_01_dashboard/endpoints/consumer_surfaces.py @@ -0,0 +1,53 @@ +from typing import Any, Dict, List, Optional, Union +from metorial_util_endpoint import BaseMetorialEndpoint, MetorialEndpointManager, MetorialRequest +from ..resources import mapDashboardInstanceConsumerSurfacesListOutput, DashboardInstanceConsumerSurfacesListOutput, mapDashboardInstanceConsumerSurfacesListQuery, DashboardInstanceConsumerSurfacesListQuery, mapDashboardInstanceConsumerSurfacesGetOutput, DashboardInstanceConsumerSurfacesGetOutput + +class MetorialConsumerSurfacesEndpoint(BaseMetorialEndpoint): + """List and retrieve consumer surfaces for an instance.""" + + def __init__(self, config: MetorialEndpointManager): + super().__init__(config) + + def list(self, *, limit: Optional[float] = None, after: Optional[str] = None, before: Optional[str] = None, cursor: Optional[str] = None, order: Optional[str] = None) -> DashboardInstanceConsumerSurfacesListOutput: + """ + List consumer surfaces + Returns a paginated list of consumer surfaces for an instance. + + :param limit: Optional[float] (optional) + :param after: Optional[str] (optional) + :param before: Optional[str] (optional) + :param cursor: Optional[str] (optional) + :param order: Optional[str] (optional) + :return: DashboardInstanceConsumerSurfacesListOutput + """ + # Build query parameters from keyword arguments + query_dict = {} + if limit is not None: + query_dict["limit"] = limit + if after is not None: + query_dict["after"] = after + if before is not None: + query_dict["before"] = before + if cursor is not None: + query_dict["cursor"] = cursor + if order is not None: + query_dict["order"] = order + + request = MetorialRequest( + path=['consumer-surfaces'], + query=query_dict + ) + return self._get(request).transform(mapDashboardInstanceConsumerSurfacesListOutput.from_dict) + + def get(self, consumer_surface_id: str) -> DashboardInstanceConsumerSurfacesGetOutput: + """ + Get consumer surface + Retrieves a consumer surface by ID. + + :param consumer_surface_id: str + :return: DashboardInstanceConsumerSurfacesGetOutput + """ + request = MetorialRequest( + path=['consumer-surfaces', consumer_surface_id] + ) + return self._get(request).transform(mapDashboardInstanceConsumerSurfacesGetOutput.from_dict) \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2025_01_01_dashboard/endpoints/consumers.py b/src/metorial/_generated/src/mt_2025_01_01_dashboard/endpoints/consumers.py new file mode 100644 index 00000000..188acf74 --- /dev/null +++ b/src/metorial/_generated/src/mt_2025_01_01_dashboard/endpoints/consumers.py @@ -0,0 +1,114 @@ +from typing import Any, Dict, List, Optional, Union +from metorial_util_endpoint import BaseMetorialEndpoint, MetorialEndpointManager, MetorialRequest +from ..resources import mapDashboardInstanceConsumersListOutput, DashboardInstanceConsumersListOutput, mapDashboardInstanceConsumersListQuery, DashboardInstanceConsumersListQuery, mapDashboardInstanceConsumersGetOutput, DashboardInstanceConsumersGetOutput, mapDashboardInstanceConsumersCreateOutput, DashboardInstanceConsumersCreateOutput, mapDashboardInstanceConsumersCreateBody, DashboardInstanceConsumersCreateBody, mapDashboardInstanceConsumersGetMemberConsumerOutput, DashboardInstanceConsumersGetMemberConsumerOutput, mapDashboardInstanceConsumersGetMemberConsumerBody, DashboardInstanceConsumersGetMemberConsumerBody, mapDashboardInstanceConsumersUpdateOutput, DashboardInstanceConsumersUpdateOutput, mapDashboardInstanceConsumersUpdateBody, DashboardInstanceConsumersUpdateBody + +class MetorialConsumersEndpoint(BaseMetorialEndpoint): + """Manage instance consumers independently from portals and inspect the profiles linked to each consumer.""" + + def __init__(self, config: MetorialEndpointManager): + super().__init__(config) + + def list(self, *, limit: Optional[float] = None, after: Optional[str] = None, before: Optional[str] = None, cursor: Optional[str] = None, order: Optional[str] = None) -> DashboardInstanceConsumersListOutput: + """ + List consumers + Returns a paginated list of consumers for an instance. + + :param limit: Optional[float] (optional) + :param after: Optional[str] (optional) + :param before: Optional[str] (optional) + :param cursor: Optional[str] (optional) + :param order: Optional[str] (optional) + :return: DashboardInstanceConsumersListOutput + """ + # Build query parameters from keyword arguments + query_dict = {} + if limit is not None: + query_dict["limit"] = limit + if after is not None: + query_dict["after"] = after + if before is not None: + query_dict["before"] = before + if cursor is not None: + query_dict["cursor"] = cursor + if order is not None: + query_dict["order"] = order + + request = MetorialRequest( + path=['consumers'], + query=query_dict + ) + return self._get(request).transform(mapDashboardInstanceConsumersListOutput.from_dict) + + def get(self, consumer_id: str) -> DashboardInstanceConsumersGetOutput: + """ + Get consumer + Retrieves a consumer by ID. + + :param consumer_id: str + :return: DashboardInstanceConsumersGetOutput + """ + request = MetorialRequest( + path=['consumers', consumer_id] + ) + return self._get(request).transform(mapDashboardInstanceConsumersGetOutput.from_dict) + + def create(self, *, name: str, email: str) -> DashboardInstanceConsumersCreateOutput: + """ + Create consumer + Creates or links a consumer for an instance. + + :param name: str + :param email: str + :return: DashboardInstanceConsumersCreateOutput + """ + # Build body parameters from keyword arguments + body_dict = {} + body_dict["name"] = name + body_dict["email"] = email + + request = MetorialRequest( + path=['consumers'], + body=body_dict + ) + return self._post(request).transform(mapDashboardInstanceConsumersCreateOutput.from_dict) + + def get_member_consumer(self, *, surface_identifier: str) -> DashboardInstanceConsumersGetMemberConsumerOutput: + """ + Get member consumer + Upserts and returns the consumer for the authenticated organization member. + + :param surface_identifier: str + :return: DashboardInstanceConsumersGetMemberConsumerOutput + """ + # Build body parameters from keyword arguments + body_dict = {} + body_dict["surface_identifier"] = surface_identifier + + request = MetorialRequest( + path=['get-member-consumer'], + body=body_dict + ) + return self._post(request).transform(mapDashboardInstanceConsumersGetMemberConsumerOutput.from_dict) + + def update(self, consumer_id: str, *, name: Optional[str] = None, email: Optional[str] = None) -> DashboardInstanceConsumersUpdateOutput: + """ + Update consumer + Updates a consumer for an instance. + + :param consumer_id: str + :param name: Optional[str] (optional) + :param email: Optional[str] (optional) + :return: DashboardInstanceConsumersUpdateOutput + """ + # Build body parameters from keyword arguments + body_dict = {} + if name is not None: + body_dict["name"] = name + if email is not None: + body_dict["email"] = email + + request = MetorialRequest( + path=['consumers', consumer_id], + body=body_dict + ) + return self._patch(request).transform(mapDashboardInstanceConsumersUpdateOutput.from_dict) \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2025_01_01_dashboard/endpoints/consumers_profiles.py b/src/metorial/_generated/src/mt_2025_01_01_dashboard/endpoints/consumers_profiles.py new file mode 100644 index 00000000..58addccd --- /dev/null +++ b/src/metorial/_generated/src/mt_2025_01_01_dashboard/endpoints/consumers_profiles.py @@ -0,0 +1,55 @@ +from typing import Any, Dict, List, Optional, Union +from metorial_util_endpoint import BaseMetorialEndpoint, MetorialEndpointManager, MetorialRequest +from ..resources import mapDashboardInstanceConsumersProfilesListOutput, DashboardInstanceConsumersProfilesListOutput, mapDashboardInstanceConsumersProfilesListQuery, DashboardInstanceConsumersProfilesListQuery, mapDashboardInstanceConsumersProfilesGetOutput, DashboardInstanceConsumersProfilesGetOutput + +class MetorialConsumersProfilesEndpoint(BaseMetorialEndpoint): + """Manage instance consumers independently from portals and inspect the profiles linked to each consumer.""" + + def __init__(self, config: MetorialEndpointManager): + super().__init__(config) + + def list(self, consumer_id: str, *, limit: Optional[float] = None, after: Optional[str] = None, before: Optional[str] = None, cursor: Optional[str] = None, order: Optional[str] = None) -> DashboardInstanceConsumersProfilesListOutput: + """ + List consumer profiles + Returns a paginated list of profiles for a consumer in an instance. + + :param consumer_id: str + :param limit: Optional[float] (optional) + :param after: Optional[str] (optional) + :param before: Optional[str] (optional) + :param cursor: Optional[str] (optional) + :param order: Optional[str] (optional) + :return: DashboardInstanceConsumersProfilesListOutput + """ + # Build query parameters from keyword arguments + query_dict = {} + if limit is not None: + query_dict["limit"] = limit + if after is not None: + query_dict["after"] = after + if before is not None: + query_dict["before"] = before + if cursor is not None: + query_dict["cursor"] = cursor + if order is not None: + query_dict["order"] = order + + request = MetorialRequest( + path=['consumers', consumer_id, 'profiles'], + query=query_dict + ) + return self._get(request).transform(mapDashboardInstanceConsumersProfilesListOutput.from_dict) + + def get(self, consumer_id: str, consumer_profile_id: str) -> DashboardInstanceConsumersProfilesGetOutput: + """ + Get consumer profile + Retrieves a consumer profile by ID for a consumer. + + :param consumer_id: str + :param consumer_profile_id: str + :return: DashboardInstanceConsumersProfilesGetOutput + """ + request = MetorialRequest( + path=['consumers', consumer_id, 'profiles', consumer_profile_id] + ) + return self._get(request).transform(mapDashboardInstanceConsumersProfilesGetOutput.from_dict) \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2025_01_01_dashboard/endpoints/dashboard_instance_consumer_surfaces.py b/src/metorial/_generated/src/mt_2025_01_01_dashboard/endpoints/dashboard_instance_consumer_surfaces.py new file mode 100644 index 00000000..9380d539 --- /dev/null +++ b/src/metorial/_generated/src/mt_2025_01_01_dashboard/endpoints/dashboard_instance_consumer_surfaces.py @@ -0,0 +1,55 @@ +from typing import Any, Dict, List, Optional, Union +from metorial_util_endpoint import BaseMetorialEndpoint, MetorialEndpointManager, MetorialRequest +from ..resources import mapDashboardInstanceConsumerSurfacesListOutput, DashboardInstanceConsumerSurfacesListOutput, mapDashboardInstanceConsumerSurfacesListQuery, DashboardInstanceConsumerSurfacesListQuery, mapDashboardInstanceConsumerSurfacesGetOutput, DashboardInstanceConsumerSurfacesGetOutput + +class MetorialDashboardInstanceConsumerSurfacesEndpoint(BaseMetorialEndpoint): + """List and retrieve consumer surfaces for an instance.""" + + def __init__(self, config: MetorialEndpointManager): + super().__init__(config) + + def list(self, instance_id: str, *, limit: Optional[float] = None, after: Optional[str] = None, before: Optional[str] = None, cursor: Optional[str] = None, order: Optional[str] = None) -> DashboardInstanceConsumerSurfacesListOutput: + """ + List consumer surfaces + Returns a paginated list of consumer surfaces for an instance. + + :param instance_id: str + :param limit: Optional[float] (optional) + :param after: Optional[str] (optional) + :param before: Optional[str] (optional) + :param cursor: Optional[str] (optional) + :param order: Optional[str] (optional) + :return: DashboardInstanceConsumerSurfacesListOutput + """ + # Build query parameters from keyword arguments + query_dict = {} + if limit is not None: + query_dict["limit"] = limit + if after is not None: + query_dict["after"] = after + if before is not None: + query_dict["before"] = before + if cursor is not None: + query_dict["cursor"] = cursor + if order is not None: + query_dict["order"] = order + + request = MetorialRequest( + path=['dashboard', 'instances', instance_id, 'consumer-surfaces'], + query=query_dict + ) + return self._get(request).transform(mapDashboardInstanceConsumerSurfacesListOutput.from_dict) + + def get(self, instance_id: str, consumer_surface_id: str) -> DashboardInstanceConsumerSurfacesGetOutput: + """ + Get consumer surface + Retrieves a consumer surface by ID. + + :param instance_id: str + :param consumer_surface_id: str + :return: DashboardInstanceConsumerSurfacesGetOutput + """ + request = MetorialRequest( + path=['dashboard', 'instances', instance_id, 'consumer-surfaces', consumer_surface_id] + ) + return self._get(request).transform(mapDashboardInstanceConsumerSurfacesGetOutput.from_dict) \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2025_01_01_dashboard/endpoints/dashboard_instance_consumers.py b/src/metorial/_generated/src/mt_2025_01_01_dashboard/endpoints/dashboard_instance_consumers.py new file mode 100644 index 00000000..befa2db4 --- /dev/null +++ b/src/metorial/_generated/src/mt_2025_01_01_dashboard/endpoints/dashboard_instance_consumers.py @@ -0,0 +1,119 @@ +from typing import Any, Dict, List, Optional, Union +from metorial_util_endpoint import BaseMetorialEndpoint, MetorialEndpointManager, MetorialRequest +from ..resources import mapDashboardInstanceConsumersListOutput, DashboardInstanceConsumersListOutput, mapDashboardInstanceConsumersListQuery, DashboardInstanceConsumersListQuery, mapDashboardInstanceConsumersGetOutput, DashboardInstanceConsumersGetOutput, mapDashboardInstanceConsumersCreateOutput, DashboardInstanceConsumersCreateOutput, mapDashboardInstanceConsumersCreateBody, DashboardInstanceConsumersCreateBody, mapDashboardInstanceConsumersGetMemberConsumerOutput, DashboardInstanceConsumersGetMemberConsumerOutput, mapDashboardInstanceConsumersGetMemberConsumerBody, DashboardInstanceConsumersGetMemberConsumerBody, mapDashboardInstanceConsumersUpdateOutput, DashboardInstanceConsumersUpdateOutput, mapDashboardInstanceConsumersUpdateBody, DashboardInstanceConsumersUpdateBody + +class MetorialDashboardInstanceConsumersEndpoint(BaseMetorialEndpoint): + """Manage instance consumers independently from portals and inspect the profiles linked to each consumer.""" + + def __init__(self, config: MetorialEndpointManager): + super().__init__(config) + + def list(self, instance_id: str, *, limit: Optional[float] = None, after: Optional[str] = None, before: Optional[str] = None, cursor: Optional[str] = None, order: Optional[str] = None) -> DashboardInstanceConsumersListOutput: + """ + List consumers + Returns a paginated list of consumers for an instance. + + :param instance_id: str + :param limit: Optional[float] (optional) + :param after: Optional[str] (optional) + :param before: Optional[str] (optional) + :param cursor: Optional[str] (optional) + :param order: Optional[str] (optional) + :return: DashboardInstanceConsumersListOutput + """ + # Build query parameters from keyword arguments + query_dict = {} + if limit is not None: + query_dict["limit"] = limit + if after is not None: + query_dict["after"] = after + if before is not None: + query_dict["before"] = before + if cursor is not None: + query_dict["cursor"] = cursor + if order is not None: + query_dict["order"] = order + + request = MetorialRequest( + path=['dashboard', 'instances', instance_id, 'consumers'], + query=query_dict + ) + return self._get(request).transform(mapDashboardInstanceConsumersListOutput.from_dict) + + def get(self, instance_id: str, consumer_id: str) -> DashboardInstanceConsumersGetOutput: + """ + Get consumer + Retrieves a consumer by ID. + + :param instance_id: str + :param consumer_id: str + :return: DashboardInstanceConsumersGetOutput + """ + request = MetorialRequest( + path=['dashboard', 'instances', instance_id, 'consumers', consumer_id] + ) + return self._get(request).transform(mapDashboardInstanceConsumersGetOutput.from_dict) + + def create(self, instance_id: str, *, name: str, email: str) -> DashboardInstanceConsumersCreateOutput: + """ + Create consumer + Creates or links a consumer for an instance. + + :param instance_id: str + :param name: str + :param email: str + :return: DashboardInstanceConsumersCreateOutput + """ + # Build body parameters from keyword arguments + body_dict = {} + body_dict["name"] = name + body_dict["email"] = email + + request = MetorialRequest( + path=['dashboard', 'instances', instance_id, 'consumers'], + body=body_dict + ) + return self._post(request).transform(mapDashboardInstanceConsumersCreateOutput.from_dict) + + def get_member_consumer(self, instance_id: str, *, surface_identifier: str) -> DashboardInstanceConsumersGetMemberConsumerOutput: + """ + Get member consumer + Upserts and returns the consumer for the authenticated organization member. + + :param instance_id: str + :param surface_identifier: str + :return: DashboardInstanceConsumersGetMemberConsumerOutput + """ + # Build body parameters from keyword arguments + body_dict = {} + body_dict["surface_identifier"] = surface_identifier + + request = MetorialRequest( + path=['dashboard', 'instances', instance_id, 'get-member-consumer'], + body=body_dict + ) + return self._post(request).transform(mapDashboardInstanceConsumersGetMemberConsumerOutput.from_dict) + + def update(self, instance_id: str, consumer_id: str, *, name: Optional[str] = None, email: Optional[str] = None) -> DashboardInstanceConsumersUpdateOutput: + """ + Update consumer + Updates a consumer for an instance. + + :param instance_id: str + :param consumer_id: str + :param name: Optional[str] (optional) + :param email: Optional[str] (optional) + :return: DashboardInstanceConsumersUpdateOutput + """ + # Build body parameters from keyword arguments + body_dict = {} + if name is not None: + body_dict["name"] = name + if email is not None: + body_dict["email"] = email + + request = MetorialRequest( + path=['dashboard', 'instances', instance_id, 'consumers', consumer_id], + body=body_dict + ) + return self._patch(request).transform(mapDashboardInstanceConsumersUpdateOutput.from_dict) \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2025_01_01_dashboard/endpoints/dashboard_instance_consumers_profiles.py b/src/metorial/_generated/src/mt_2025_01_01_dashboard/endpoints/dashboard_instance_consumers_profiles.py new file mode 100644 index 00000000..9738431b --- /dev/null +++ b/src/metorial/_generated/src/mt_2025_01_01_dashboard/endpoints/dashboard_instance_consumers_profiles.py @@ -0,0 +1,57 @@ +from typing import Any, Dict, List, Optional, Union +from metorial_util_endpoint import BaseMetorialEndpoint, MetorialEndpointManager, MetorialRequest +from ..resources import mapDashboardInstanceConsumersProfilesListOutput, DashboardInstanceConsumersProfilesListOutput, mapDashboardInstanceConsumersProfilesListQuery, DashboardInstanceConsumersProfilesListQuery, mapDashboardInstanceConsumersProfilesGetOutput, DashboardInstanceConsumersProfilesGetOutput + +class MetorialDashboardInstanceConsumersProfilesEndpoint(BaseMetorialEndpoint): + """Manage instance consumers independently from portals and inspect the profiles linked to each consumer.""" + + def __init__(self, config: MetorialEndpointManager): + super().__init__(config) + + def list(self, instance_id: str, consumer_id: str, *, limit: Optional[float] = None, after: Optional[str] = None, before: Optional[str] = None, cursor: Optional[str] = None, order: Optional[str] = None) -> DashboardInstanceConsumersProfilesListOutput: + """ + List consumer profiles + Returns a paginated list of profiles for a consumer in an instance. + + :param instance_id: str + :param consumer_id: str + :param limit: Optional[float] (optional) + :param after: Optional[str] (optional) + :param before: Optional[str] (optional) + :param cursor: Optional[str] (optional) + :param order: Optional[str] (optional) + :return: DashboardInstanceConsumersProfilesListOutput + """ + # Build query parameters from keyword arguments + query_dict = {} + if limit is not None: + query_dict["limit"] = limit + if after is not None: + query_dict["after"] = after + if before is not None: + query_dict["before"] = before + if cursor is not None: + query_dict["cursor"] = cursor + if order is not None: + query_dict["order"] = order + + request = MetorialRequest( + path=['dashboard', 'instances', instance_id, 'consumers', consumer_id, 'profiles'], + query=query_dict + ) + return self._get(request).transform(mapDashboardInstanceConsumersProfilesListOutput.from_dict) + + def get(self, instance_id: str, consumer_id: str, consumer_profile_id: str) -> DashboardInstanceConsumersProfilesGetOutput: + """ + Get consumer profile + Retrieves a consumer profile by ID for a consumer. + + :param instance_id: str + :param consumer_id: str + :param consumer_profile_id: str + :return: DashboardInstanceConsumersProfilesGetOutput + """ + request = MetorialRequest( + path=['dashboard', 'instances', instance_id, 'consumers', consumer_id, 'profiles', consumer_profile_id] + ) + return self._get(request).transform(mapDashboardInstanceConsumersProfilesGetOutput.from_dict) \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2025_01_01_dashboard/endpoints/dashboard_instance_identity_actors.py b/src/metorial/_generated/src/mt_2025_01_01_dashboard/endpoints/dashboard_instance_identity_actors.py index 48bea363..314d3a91 100644 --- a/src/metorial/_generated/src/mt_2025_01_01_dashboard/endpoints/dashboard_instance_identity_actors.py +++ b/src/metorial/_generated/src/mt_2025_01_01_dashboard/endpoints/dashboard_instance_identity_actors.py @@ -8,7 +8,7 @@ class MetorialDashboardInstanceIdentityActorsEndpoint(BaseMetorialEndpoint): def __init__(self, config: MetorialEndpointManager): super().__init__(config) - def list(self, instance_id: str, *, limit: Optional[float] = None, after: Optional[str] = None, before: Optional[str] = None, cursor: Optional[str] = None, order: Optional[str] = None, search: Optional[str] = None, status: Optional[Union[str, List[str]]] = None, id: Optional[Union[str, List[str]]] = None, agent_id: Optional[Union[str, List[str]]] = None, created_at: Optional[Dict[str, Any]] = None, updated_at: Optional[Dict[str, Any]] = None) -> DashboardInstanceIdentityActorsListOutput: + def list(self, instance_id: str, *, limit: Optional[float] = None, after: Optional[str] = None, before: Optional[str] = None, cursor: Optional[str] = None, order: Optional[str] = None, search: Optional[str] = None, status: Optional[Union[str, List[str]]] = None, id: Optional[Union[str, List[str]]] = None, agent_id: Optional[Union[str, List[str]]] = None, consumer_id: Optional[Union[str, List[str]]] = None, created_at: Optional[Dict[str, Any]] = None, updated_at: Optional[Dict[str, Any]] = None) -> DashboardInstanceIdentityActorsListOutput: """ List identity actors Returns a paginated list of identity actors for the instance. @@ -23,6 +23,7 @@ def list(self, instance_id: str, *, limit: Optional[float] = None, after: Option :param status: Optional[Union[str, List[str]]] (optional) :param id: Optional[Union[str, List[str]]] (optional) :param agent_id: Optional[Union[str, List[str]]] (optional) + :param consumer_id: Optional[Union[str, List[str]]] (optional) :param created_at: Optional[Dict[str, Any]] (optional) :param updated_at: Optional[Dict[str, Any]] (optional) :return: DashboardInstanceIdentityActorsListOutput @@ -47,6 +48,8 @@ def list(self, instance_id: str, *, limit: Optional[float] = None, after: Option query_dict["id"] = id if agent_id is not None: query_dict["agent_id"] = agent_id + if consumer_id is not None: + query_dict["consumer_id"] = consumer_id if created_at is not None: query_dict["created_at"] = created_at if updated_at is not None: diff --git a/src/metorial/_generated/src/mt_2025_01_01_dashboard/endpoints/dashboard_instance_magic_mcp_servers.py b/src/metorial/_generated/src/mt_2025_01_01_dashboard/endpoints/dashboard_instance_magic_mcp_servers.py index 3401cd5e..9416fbe1 100644 --- a/src/metorial/_generated/src/mt_2025_01_01_dashboard/endpoints/dashboard_instance_magic_mcp_servers.py +++ b/src/metorial/_generated/src/mt_2025_01_01_dashboard/endpoints/dashboard_instance_magic_mcp_servers.py @@ -8,7 +8,7 @@ class MetorialDashboardInstanceMagicMcpServersEndpoint(BaseMetorialEndpoint): def __init__(self, config: MetorialEndpointManager): super().__init__(config) - def list(self, instance_id: str, *, limit: Optional[float] = None, after: Optional[str] = None, before: Optional[str] = None, cursor: Optional[str] = None, order: Optional[str] = None, status: Optional[Union[str, List[str]]] = None, magic_mcp_group_id: Optional[Union[str, List[str]]] = None, search: Optional[str] = None) -> DashboardInstanceMagicMcpServersListOutput: + def list(self, instance_id: str, *, limit: Optional[float] = None, after: Optional[str] = None, before: Optional[str] = None, cursor: Optional[str] = None, order: Optional[str] = None, status: Optional[Union[str, List[str]]] = None, magic_mcp_group_id: Optional[Union[str, List[str]]] = None, consumer_id: Optional[Union[str, List[str]]] = None, consumer_profile_id: Optional[Union[str, List[str]]] = None, search: Optional[str] = None) -> DashboardInstanceMagicMcpServersListOutput: """ List magic MCP servers Returns a paginated list of magic MCP servers. @@ -21,6 +21,8 @@ def list(self, instance_id: str, *, limit: Optional[float] = None, after: Option :param order: Optional[str] (optional) :param status: Optional[Union[str, List[str]]] (optional) :param magic_mcp_group_id: Optional[Union[str, List[str]]] (optional) + :param consumer_id: Optional[Union[str, List[str]]] (optional) + :param consumer_profile_id: Optional[Union[str, List[str]]] (optional) :param search: Optional[str] (optional) :return: DashboardInstanceMagicMcpServersListOutput """ @@ -40,6 +42,10 @@ def list(self, instance_id: str, *, limit: Optional[float] = None, after: Option query_dict["status"] = status if magic_mcp_group_id is not None: query_dict["magic_mcp_group_id"] = magic_mcp_group_id + if consumer_id is not None: + query_dict["consumer_id"] = consumer_id + if consumer_profile_id is not None: + query_dict["consumer_profile_id"] = consumer_profile_id if search is not None: query_dict["search"] = search @@ -63,7 +69,7 @@ def get(self, instance_id: str, magic_mcp_server_id: str) -> DashboardInstanceMa ) return self._get(request).transform(mapDashboardInstanceMagicMcpServersGetOutput.from_dict) - def create(self, instance_id: str, *, name: Optional[str] = None, description: Optional[str] = None, metadata: Optional[Dict[str, Any]] = None) -> DashboardInstanceMagicMcpServersCreateOutput: + def create(self, instance_id: str, *, name: Optional[str] = None, description: Optional[str] = None, metadata: Optional[Dict[str, Any]] = None, consumer_profile_id: Optional[str] = None) -> DashboardInstanceMagicMcpServersCreateOutput: """ Create magic MCP server Creates a magic MCP server with a new session template. A Subspace session is created automatically on first connection and then reused. @@ -72,6 +78,7 @@ def create(self, instance_id: str, *, name: Optional[str] = None, description: O :param name: Optional[str] (optional) :param description: Optional[str] (optional) :param metadata: Optional[Dict[str, Any]] (optional) + :param consumer_profile_id: Optional[str] (optional) :return: DashboardInstanceMagicMcpServersCreateOutput """ # Build body parameters from keyword arguments @@ -82,6 +89,8 @@ def create(self, instance_id: str, *, name: Optional[str] = None, description: O body_dict["description"] = description if metadata is not None: body_dict["metadata"] = metadata + if consumer_profile_id is not None: + body_dict["consumer_profile_id"] = consumer_profile_id request = MetorialRequest( path=['dashboard', 'instances', instance_id, 'magic-mcp-servers'], diff --git a/src/metorial/_generated/src/mt_2025_01_01_dashboard/endpoints/dashboard_instance_provider_deployments.py b/src/metorial/_generated/src/mt_2025_01_01_dashboard/endpoints/dashboard_instance_provider_deployments.py index 1b50827a..96267ae4 100644 --- a/src/metorial/_generated/src/mt_2025_01_01_dashboard/endpoints/dashboard_instance_provider_deployments.py +++ b/src/metorial/_generated/src/mt_2025_01_01_dashboard/endpoints/dashboard_instance_provider_deployments.py @@ -8,7 +8,7 @@ class MetorialDashboardInstanceProviderDeploymentsEndpoint(BaseMetorialEndpoint) def __init__(self, config: MetorialEndpointManager): super().__init__(config) - def list(self, instance_id: str, *, limit: Optional[float] = None, after: Optional[str] = None, before: Optional[str] = None, cursor: Optional[str] = None, order: Optional[str] = None, id: Optional[Union[str, List[str]]] = None, provider_id: Optional[Union[str, List[str]]] = None, provider_version_id: Optional[Union[str, List[str]]] = None, status: Optional[Union[str, List[str]]] = None, capabilities: Optional[Dict[str, Any]] = None, search: Optional[str] = None, created_at: Optional[Dict[str, Any]] = None, updated_at: Optional[Dict[str, Any]] = None) -> DashboardInstanceProviderDeploymentsListOutput: + def list(self, instance_id: str, *, limit: Optional[float] = None, after: Optional[str] = None, before: Optional[str] = None, cursor: Optional[str] = None, order: Optional[str] = None, id: Optional[Union[str, List[str]]] = None, provider_id: Optional[Union[str, List[str]]] = None, provider_version_id: Optional[Union[str, List[str]]] = None, actor_id: Optional[Union[str, List[str]]] = None, consumer_id: Optional[Union[str, List[str]]] = None, identity_id: Optional[Union[str, List[str]]] = None, identity_credential_id: Optional[Union[str, List[str]]] = None, status: Optional[Union[str, List[str]]] = None, capabilities: Optional[Dict[str, Any]] = None, search: Optional[str] = None, created_at: Optional[Dict[str, Any]] = None, updated_at: Optional[Dict[str, Any]] = None) -> DashboardInstanceProviderDeploymentsListOutput: """ List provider deployments Returns a paginated list of provider deployments. @@ -22,6 +22,10 @@ def list(self, instance_id: str, *, limit: Optional[float] = None, after: Option :param id: Optional[Union[str, List[str]]] (optional) :param provider_id: Optional[Union[str, List[str]]] (optional) :param provider_version_id: Optional[Union[str, List[str]]] (optional) + :param actor_id: Optional[Union[str, List[str]]] (optional) + :param consumer_id: Optional[Union[str, List[str]]] (optional) + :param identity_id: Optional[Union[str, List[str]]] (optional) + :param identity_credential_id: Optional[Union[str, List[str]]] (optional) :param status: Optional[Union[str, List[str]]] (optional) :param capabilities: Optional[Dict[str, Any]] (optional) :param search: Optional[str] (optional) @@ -47,6 +51,14 @@ def list(self, instance_id: str, *, limit: Optional[float] = None, after: Option query_dict["provider_id"] = provider_id if provider_version_id is not None: query_dict["provider_version_id"] = provider_version_id + if actor_id is not None: + query_dict["actor_id"] = actor_id + if consumer_id is not None: + query_dict["consumer_id"] = consumer_id + if identity_id is not None: + query_dict["identity_id"] = identity_id + if identity_credential_id is not None: + query_dict["identity_credential_id"] = identity_credential_id if status is not None: query_dict["status"] = status if capabilities is not None: diff --git a/src/metorial/_generated/src/mt_2025_01_01_dashboard/endpoints/dashboard_instance_provider_deployments_auth_configs.py b/src/metorial/_generated/src/mt_2025_01_01_dashboard/endpoints/dashboard_instance_provider_deployments_auth_configs.py index 83995ccb..c7d30722 100644 --- a/src/metorial/_generated/src/mt_2025_01_01_dashboard/endpoints/dashboard_instance_provider_deployments_auth_configs.py +++ b/src/metorial/_generated/src/mt_2025_01_01_dashboard/endpoints/dashboard_instance_provider_deployments_auth_configs.py @@ -8,7 +8,7 @@ class MetorialDashboardInstanceProviderDeploymentsAuthConfigsEndpoint(BaseMetori def __init__(self, config: MetorialEndpointManager): super().__init__(config) - def list(self, instance_id: str, *, limit: Optional[float] = None, after: Optional[str] = None, before: Optional[str] = None, cursor: Optional[str] = None, order: Optional[str] = None, status: Optional[Union[str, List[str]]] = None, id: Optional[Union[str, List[str]]] = None, provider_id: Optional[Union[str, List[str]]] = None, provider_deployment_id: Optional[Union[str, List[str]]] = None, provider_auth_credentials_id: Optional[Union[str, List[str]]] = None, provider_auth_method_id: Optional[Union[str, List[str]]] = None, search: Optional[str] = None, created_at: Optional[Dict[str, Any]] = None, updated_at: Optional[Dict[str, Any]] = None) -> DashboardInstanceProviderDeploymentsAuthConfigsListOutput: + def list(self, instance_id: str, *, limit: Optional[float] = None, after: Optional[str] = None, before: Optional[str] = None, cursor: Optional[str] = None, order: Optional[str] = None, status: Optional[Union[str, List[str]]] = None, id: Optional[Union[str, List[str]]] = None, provider_id: Optional[Union[str, List[str]]] = None, provider_deployment_id: Optional[Union[str, List[str]]] = None, provider_auth_credentials_id: Optional[Union[str, List[str]]] = None, provider_auth_method_id: Optional[Union[str, List[str]]] = None, actor_id: Optional[Union[str, List[str]]] = None, consumer_id: Optional[Union[str, List[str]]] = None, identity_id: Optional[Union[str, List[str]]] = None, identity_credential_id: Optional[Union[str, List[str]]] = None, search: Optional[str] = None, created_at: Optional[Dict[str, Any]] = None, updated_at: Optional[Dict[str, Any]] = None) -> DashboardInstanceProviderDeploymentsAuthConfigsListOutput: """ List provider auth configs Returns a paginated list of provider auth configs. @@ -25,6 +25,10 @@ def list(self, instance_id: str, *, limit: Optional[float] = None, after: Option :param provider_deployment_id: Optional[Union[str, List[str]]] (optional) :param provider_auth_credentials_id: Optional[Union[str, List[str]]] (optional) :param provider_auth_method_id: Optional[Union[str, List[str]]] (optional) + :param actor_id: Optional[Union[str, List[str]]] (optional) + :param consumer_id: Optional[Union[str, List[str]]] (optional) + :param identity_id: Optional[Union[str, List[str]]] (optional) + :param identity_credential_id: Optional[Union[str, List[str]]] (optional) :param search: Optional[str] (optional) :param created_at: Optional[Dict[str, Any]] (optional) :param updated_at: Optional[Dict[str, Any]] (optional) @@ -54,6 +58,14 @@ def list(self, instance_id: str, *, limit: Optional[float] = None, after: Option query_dict["provider_auth_credentials_id"] = provider_auth_credentials_id if provider_auth_method_id is not None: query_dict["provider_auth_method_id"] = provider_auth_method_id + if actor_id is not None: + query_dict["actor_id"] = actor_id + if consumer_id is not None: + query_dict["consumer_id"] = consumer_id + if identity_id is not None: + query_dict["identity_id"] = identity_id + if identity_credential_id is not None: + query_dict["identity_credential_id"] = identity_credential_id if search is not None: query_dict["search"] = search if created_at is not None: diff --git a/src/metorial/_generated/src/mt_2025_01_01_dashboard/endpoints/dashboard_instance_provider_deployments_configs.py b/src/metorial/_generated/src/mt_2025_01_01_dashboard/endpoints/dashboard_instance_provider_deployments_configs.py index 20065fed..c5afb5e7 100644 --- a/src/metorial/_generated/src/mt_2025_01_01_dashboard/endpoints/dashboard_instance_provider_deployments_configs.py +++ b/src/metorial/_generated/src/mt_2025_01_01_dashboard/endpoints/dashboard_instance_provider_deployments_configs.py @@ -8,7 +8,7 @@ class MetorialDashboardInstanceProviderDeploymentsConfigsEndpoint(BaseMetorialEn def __init__(self, config: MetorialEndpointManager): super().__init__(config) - def list(self, instance_id: str, *, limit: Optional[float] = None, after: Optional[str] = None, before: Optional[str] = None, cursor: Optional[str] = None, order: Optional[str] = None, status: Optional[Union[str, List[str]]] = None, id: Optional[Union[str, List[str]]] = None, provider_id: Optional[Union[str, List[str]]] = None, provider_specification_id: Optional[Union[str, List[str]]] = None, provider_deployment_id: Optional[Union[str, List[str]]] = None, provider_config_vault_id: Optional[Union[str, List[str]]] = None, search: Optional[str] = None, created_at: Optional[Dict[str, Any]] = None, updated_at: Optional[Dict[str, Any]] = None) -> DashboardInstanceProviderDeploymentsConfigsListOutput: + def list(self, instance_id: str, *, limit: Optional[float] = None, after: Optional[str] = None, before: Optional[str] = None, cursor: Optional[str] = None, order: Optional[str] = None, status: Optional[Union[str, List[str]]] = None, id: Optional[Union[str, List[str]]] = None, provider_id: Optional[Union[str, List[str]]] = None, provider_specification_id: Optional[Union[str, List[str]]] = None, provider_deployment_id: Optional[Union[str, List[str]]] = None, provider_config_vault_id: Optional[Union[str, List[str]]] = None, actor_id: Optional[Union[str, List[str]]] = None, consumer_id: Optional[Union[str, List[str]]] = None, identity_id: Optional[Union[str, List[str]]] = None, identity_credential_id: Optional[Union[str, List[str]]] = None, search: Optional[str] = None, created_at: Optional[Dict[str, Any]] = None, updated_at: Optional[Dict[str, Any]] = None) -> DashboardInstanceProviderDeploymentsConfigsListOutput: """ List provider configs Returns a paginated list of provider configs. @@ -25,6 +25,10 @@ def list(self, instance_id: str, *, limit: Optional[float] = None, after: Option :param provider_specification_id: Optional[Union[str, List[str]]] (optional) :param provider_deployment_id: Optional[Union[str, List[str]]] (optional) :param provider_config_vault_id: Optional[Union[str, List[str]]] (optional) + :param actor_id: Optional[Union[str, List[str]]] (optional) + :param consumer_id: Optional[Union[str, List[str]]] (optional) + :param identity_id: Optional[Union[str, List[str]]] (optional) + :param identity_credential_id: Optional[Union[str, List[str]]] (optional) :param search: Optional[str] (optional) :param created_at: Optional[Dict[str, Any]] (optional) :param updated_at: Optional[Dict[str, Any]] (optional) @@ -54,6 +58,14 @@ def list(self, instance_id: str, *, limit: Optional[float] = None, after: Option query_dict["provider_deployment_id"] = provider_deployment_id if provider_config_vault_id is not None: query_dict["provider_config_vault_id"] = provider_config_vault_id + if actor_id is not None: + query_dict["actor_id"] = actor_id + if consumer_id is not None: + query_dict["consumer_id"] = consumer_id + if identity_id is not None: + query_dict["identity_id"] = identity_id + if identity_credential_id is not None: + query_dict["identity_credential_id"] = identity_credential_id if search is not None: query_dict["search"] = search if created_at is not None: diff --git a/src/metorial/_generated/src/mt_2025_01_01_dashboard/endpoints/dashboard_organizations_api_keys.py b/src/metorial/_generated/src/mt_2025_01_01_dashboard/endpoints/dashboard_organizations_api_keys.py new file mode 100644 index 00000000..7aed0390 --- /dev/null +++ b/src/metorial/_generated/src/mt_2025_01_01_dashboard/endpoints/dashboard_organizations_api_keys.py @@ -0,0 +1,140 @@ +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +from metorial_util_endpoint import BaseMetorialEndpoint, MetorialEndpointManager, MetorialRequest +from ..resources import mapDashboardOrganizationsApiKeysListOutput, DashboardOrganizationsApiKeysListOutput, mapDashboardOrganizationsApiKeysListQuery, DashboardOrganizationsApiKeysListQuery, mapDashboardOrganizationsApiKeysGetOutput, DashboardOrganizationsApiKeysGetOutput, mapDashboardOrganizationsApiKeysCreateOutput, DashboardOrganizationsApiKeysCreateOutput, mapDashboardOrganizationsApiKeysCreateBody, DashboardOrganizationsApiKeysCreateBody, mapDashboardOrganizationsApiKeysUpdateOutput, DashboardOrganizationsApiKeysUpdateOutput, mapDashboardOrganizationsApiKeysUpdateBody, DashboardOrganizationsApiKeysUpdateBody, mapDashboardOrganizationsApiKeysRevokeOutput, DashboardOrganizationsApiKeysRevokeOutput + +class MetorialDashboardOrganizationsApiKeysEndpoint(BaseMetorialEndpoint): + """Read and write API key information""" + + def __init__(self, config: MetorialEndpointManager): + super().__init__(config) + + def list(self, organization_id: str, *, limit: Optional[float] = None, after: Optional[str] = None, before: Optional[str] = None, cursor: Optional[str] = None, order: Optional[str] = None, type: Any = None, instance_id: str = None) -> DashboardOrganizationsApiKeysListOutput: + """ + Get user + Get the current user information + + :param organization_id: str + :param limit: Optional[float] (optional) + :param after: Optional[str] (optional) + :param before: Optional[str] (optional) + :param cursor: Optional[str] (optional) + :param order: Optional[str] (optional) + :param type: Any (optional) + :param instance_id: str (optional) + :return: DashboardOrganizationsApiKeysListOutput + """ + # Build query parameters from keyword arguments + query_dict = {} + if limit is not None: + query_dict["limit"] = limit + if after is not None: + query_dict["after"] = after + if before is not None: + query_dict["before"] = before + if cursor is not None: + query_dict["cursor"] = cursor + if order is not None: + query_dict["order"] = order + if type is not None: + query_dict["type"] = type + if instance_id is not None: + query_dict["instance_id"] = instance_id + + request = MetorialRequest( + path=['dashboard', 'organizations', organization_id, 'api-keys'], + query=query_dict + ) + return self._get(request).transform(mapDashboardOrganizationsApiKeysListOutput.from_dict) + + def get(self, organization_id: str, api_key_id: str) -> DashboardOrganizationsApiKeysGetOutput: + """ + Get API key + Get the information of a specific API key + + :param organization_id: str + :param api_key_id: str + :return: DashboardOrganizationsApiKeysGetOutput + """ + request = MetorialRequest( + path=['dashboard', 'organizations', organization_id, 'api-keys', api_key_id] + ) + return self._get(request).transform(mapDashboardOrganizationsApiKeysGetOutput.from_dict) + + def create(self, organization_id: str, *, name: str, type: Any = None, instance_id: str = None, description: Optional[str] = None, expires_at: Optional[datetime] = None, ip_filters: Optional[List[str]] = None) -> DashboardOrganizationsApiKeysCreateOutput: + """ + Create API key + Create a new API key + + :param organization_id: str + :param type: Any (optional) + :param instance_id: str (optional) + :param name: str + :param description: Optional[str] (optional) + :param expires_at: Optional[datetime] (optional) + :param ip_filters: Optional[List[str]] (optional) + :return: DashboardOrganizationsApiKeysCreateOutput + """ + # Build body parameters from keyword arguments + body_dict = {} + if type is not None: + body_dict["type"] = type + if instance_id is not None: + body_dict["instance_id"] = instance_id + body_dict["name"] = name + if description is not None: + body_dict["description"] = description + if expires_at is not None: + body_dict["expires_at"] = expires_at + if ip_filters is not None: + body_dict["ip_filters"] = ip_filters + + request = MetorialRequest( + path=['dashboard', 'organizations', organization_id, 'api-keys'], + body=body_dict + ) + return self._post(request).transform(mapDashboardOrganizationsApiKeysCreateOutput.from_dict) + + def update(self, organization_id: str, api_key_id: str, *, name: Optional[str] = None, description: Optional[str] = None, expires_at: Optional[datetime] = None, ip_filters: Optional[List[str]] = None) -> DashboardOrganizationsApiKeysUpdateOutput: + """ + Update API key + Update the information of a specific API key + + :param organization_id: str + :param api_key_id: str + :param name: Optional[str] (optional) + :param description: Optional[str] (optional) + :param expires_at: Optional[datetime] (optional) + :param ip_filters: Optional[List[str]] (optional) + :return: DashboardOrganizationsApiKeysUpdateOutput + """ + # Build body parameters from keyword arguments + body_dict = {} + if name is not None: + body_dict["name"] = name + if description is not None: + body_dict["description"] = description + if expires_at is not None: + body_dict["expires_at"] = expires_at + if ip_filters is not None: + body_dict["ip_filters"] = ip_filters + + request = MetorialRequest( + path=['dashboard', 'organizations', organization_id, 'api-keys', api_key_id], + body=body_dict + ) + return self._post(request).transform(mapDashboardOrganizationsApiKeysUpdateOutput.from_dict) + + def revoke(self, organization_id: str, api_key_id: str) -> DashboardOrganizationsApiKeysRevokeOutput: + """ + Revoke API key + Revoke a specific API key + + :param organization_id: str + :param api_key_id: str + :return: DashboardOrganizationsApiKeysRevokeOutput + """ + request = MetorialRequest( + path=['dashboard', 'organizations', organization_id, 'api-keys', api_key_id] + ) + return self._delete(request).transform(mapDashboardOrganizationsApiKeysRevokeOutput.from_dict) \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2025_01_01_dashboard/endpoints/identity_actors.py b/src/metorial/_generated/src/mt_2025_01_01_dashboard/endpoints/identity_actors.py index ec6c7191..a19f1095 100644 --- a/src/metorial/_generated/src/mt_2025_01_01_dashboard/endpoints/identity_actors.py +++ b/src/metorial/_generated/src/mt_2025_01_01_dashboard/endpoints/identity_actors.py @@ -8,7 +8,7 @@ class MetorialIdentityActorsEndpoint(BaseMetorialEndpoint): def __init__(self, config: MetorialEndpointManager): super().__init__(config) - def list(self, *, limit: Optional[float] = None, after: Optional[str] = None, before: Optional[str] = None, cursor: Optional[str] = None, order: Optional[str] = None, search: Optional[str] = None, status: Optional[Union[str, List[str]]] = None, id: Optional[Union[str, List[str]]] = None, agent_id: Optional[Union[str, List[str]]] = None, created_at: Optional[Dict[str, Any]] = None, updated_at: Optional[Dict[str, Any]] = None) -> DashboardInstanceIdentityActorsListOutput: + def list(self, *, limit: Optional[float] = None, after: Optional[str] = None, before: Optional[str] = None, cursor: Optional[str] = None, order: Optional[str] = None, search: Optional[str] = None, status: Optional[Union[str, List[str]]] = None, id: Optional[Union[str, List[str]]] = None, agent_id: Optional[Union[str, List[str]]] = None, consumer_id: Optional[Union[str, List[str]]] = None, created_at: Optional[Dict[str, Any]] = None, updated_at: Optional[Dict[str, Any]] = None) -> DashboardInstanceIdentityActorsListOutput: """ List identity actors Returns a paginated list of identity actors for the instance. @@ -22,6 +22,7 @@ def list(self, *, limit: Optional[float] = None, after: Optional[str] = None, be :param status: Optional[Union[str, List[str]]] (optional) :param id: Optional[Union[str, List[str]]] (optional) :param agent_id: Optional[Union[str, List[str]]] (optional) + :param consumer_id: Optional[Union[str, List[str]]] (optional) :param created_at: Optional[Dict[str, Any]] (optional) :param updated_at: Optional[Dict[str, Any]] (optional) :return: DashboardInstanceIdentityActorsListOutput @@ -46,6 +47,8 @@ def list(self, *, limit: Optional[float] = None, after: Optional[str] = None, be query_dict["id"] = id if agent_id is not None: query_dict["agent_id"] = agent_id + if consumer_id is not None: + query_dict["consumer_id"] = consumer_id if created_at is not None: query_dict["created_at"] = created_at if updated_at is not None: diff --git a/src/metorial/_generated/src/mt_2025_01_01_dashboard/endpoints/magic_mcp_servers.py b/src/metorial/_generated/src/mt_2025_01_01_dashboard/endpoints/magic_mcp_servers.py index 21b18771..c31aee94 100644 --- a/src/metorial/_generated/src/mt_2025_01_01_dashboard/endpoints/magic_mcp_servers.py +++ b/src/metorial/_generated/src/mt_2025_01_01_dashboard/endpoints/magic_mcp_servers.py @@ -8,7 +8,7 @@ class MetorialMagicMcpServersEndpoint(BaseMetorialEndpoint): def __init__(self, config: MetorialEndpointManager): super().__init__(config) - def list(self, *, limit: Optional[float] = None, after: Optional[str] = None, before: Optional[str] = None, cursor: Optional[str] = None, order: Optional[str] = None, status: Optional[Union[str, List[str]]] = None, magic_mcp_group_id: Optional[Union[str, List[str]]] = None, search: Optional[str] = None) -> DashboardInstanceMagicMcpServersListOutput: + def list(self, *, limit: Optional[float] = None, after: Optional[str] = None, before: Optional[str] = None, cursor: Optional[str] = None, order: Optional[str] = None, status: Optional[Union[str, List[str]]] = None, magic_mcp_group_id: Optional[Union[str, List[str]]] = None, consumer_id: Optional[Union[str, List[str]]] = None, consumer_profile_id: Optional[Union[str, List[str]]] = None, search: Optional[str] = None) -> DashboardInstanceMagicMcpServersListOutput: """ List magic MCP servers Returns a paginated list of magic MCP servers. @@ -20,6 +20,8 @@ def list(self, *, limit: Optional[float] = None, after: Optional[str] = None, be :param order: Optional[str] (optional) :param status: Optional[Union[str, List[str]]] (optional) :param magic_mcp_group_id: Optional[Union[str, List[str]]] (optional) + :param consumer_id: Optional[Union[str, List[str]]] (optional) + :param consumer_profile_id: Optional[Union[str, List[str]]] (optional) :param search: Optional[str] (optional) :return: DashboardInstanceMagicMcpServersListOutput """ @@ -39,6 +41,10 @@ def list(self, *, limit: Optional[float] = None, after: Optional[str] = None, be query_dict["status"] = status if magic_mcp_group_id is not None: query_dict["magic_mcp_group_id"] = magic_mcp_group_id + if consumer_id is not None: + query_dict["consumer_id"] = consumer_id + if consumer_profile_id is not None: + query_dict["consumer_profile_id"] = consumer_profile_id if search is not None: query_dict["search"] = search @@ -61,7 +67,7 @@ def get(self, magic_mcp_server_id: str) -> DashboardInstanceMagicMcpServersGetOu ) return self._get(request).transform(mapDashboardInstanceMagicMcpServersGetOutput.from_dict) - def create(self, *, name: Optional[str] = None, description: Optional[str] = None, metadata: Optional[Dict[str, Any]] = None) -> DashboardInstanceMagicMcpServersCreateOutput: + def create(self, *, name: Optional[str] = None, description: Optional[str] = None, metadata: Optional[Dict[str, Any]] = None, consumer_profile_id: Optional[str] = None) -> DashboardInstanceMagicMcpServersCreateOutput: """ Create magic MCP server Creates a magic MCP server with a new session template. A Subspace session is created automatically on first connection and then reused. @@ -69,6 +75,7 @@ def create(self, *, name: Optional[str] = None, description: Optional[str] = Non :param name: Optional[str] (optional) :param description: Optional[str] (optional) :param metadata: Optional[Dict[str, Any]] (optional) + :param consumer_profile_id: Optional[str] (optional) :return: DashboardInstanceMagicMcpServersCreateOutput """ # Build body parameters from keyword arguments @@ -79,6 +86,8 @@ def create(self, *, name: Optional[str] = None, description: Optional[str] = Non body_dict["description"] = description if metadata is not None: body_dict["metadata"] = metadata + if consumer_profile_id is not None: + body_dict["consumer_profile_id"] = consumer_profile_id request = MetorialRequest( path=['magic-mcp-servers'], diff --git a/src/metorial/_generated/src/mt_2025_01_01_dashboard/endpoints/management_instance_consumer_surfaces.py b/src/metorial/_generated/src/mt_2025_01_01_dashboard/endpoints/management_instance_consumer_surfaces.py new file mode 100644 index 00000000..b5f95f49 --- /dev/null +++ b/src/metorial/_generated/src/mt_2025_01_01_dashboard/endpoints/management_instance_consumer_surfaces.py @@ -0,0 +1,55 @@ +from typing import Any, Dict, List, Optional, Union +from metorial_util_endpoint import BaseMetorialEndpoint, MetorialEndpointManager, MetorialRequest +from ..resources import mapDashboardInstanceConsumerSurfacesListOutput, DashboardInstanceConsumerSurfacesListOutput, mapDashboardInstanceConsumerSurfacesListQuery, DashboardInstanceConsumerSurfacesListQuery, mapDashboardInstanceConsumerSurfacesGetOutput, DashboardInstanceConsumerSurfacesGetOutput + +class MetorialManagementInstanceConsumerSurfacesEndpoint(BaseMetorialEndpoint): + """List and retrieve consumer surfaces for an instance.""" + + def __init__(self, config: MetorialEndpointManager): + super().__init__(config) + + def list(self, instance_id: str, *, limit: Optional[float] = None, after: Optional[str] = None, before: Optional[str] = None, cursor: Optional[str] = None, order: Optional[str] = None) -> DashboardInstanceConsumerSurfacesListOutput: + """ + List consumer surfaces + Returns a paginated list of consumer surfaces for an instance. + + :param instance_id: str + :param limit: Optional[float] (optional) + :param after: Optional[str] (optional) + :param before: Optional[str] (optional) + :param cursor: Optional[str] (optional) + :param order: Optional[str] (optional) + :return: DashboardInstanceConsumerSurfacesListOutput + """ + # Build query parameters from keyword arguments + query_dict = {} + if limit is not None: + query_dict["limit"] = limit + if after is not None: + query_dict["after"] = after + if before is not None: + query_dict["before"] = before + if cursor is not None: + query_dict["cursor"] = cursor + if order is not None: + query_dict["order"] = order + + request = MetorialRequest( + path=['instances', instance_id, 'consumer-surfaces'], + query=query_dict + ) + return self._get(request).transform(mapDashboardInstanceConsumerSurfacesListOutput.from_dict) + + def get(self, instance_id: str, consumer_surface_id: str) -> DashboardInstanceConsumerSurfacesGetOutput: + """ + Get consumer surface + Retrieves a consumer surface by ID. + + :param instance_id: str + :param consumer_surface_id: str + :return: DashboardInstanceConsumerSurfacesGetOutput + """ + request = MetorialRequest( + path=['instances', instance_id, 'consumer-surfaces', consumer_surface_id] + ) + return self._get(request).transform(mapDashboardInstanceConsumerSurfacesGetOutput.from_dict) \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2025_01_01_dashboard/endpoints/management_instance_consumers.py b/src/metorial/_generated/src/mt_2025_01_01_dashboard/endpoints/management_instance_consumers.py new file mode 100644 index 00000000..25629a50 --- /dev/null +++ b/src/metorial/_generated/src/mt_2025_01_01_dashboard/endpoints/management_instance_consumers.py @@ -0,0 +1,119 @@ +from typing import Any, Dict, List, Optional, Union +from metorial_util_endpoint import BaseMetorialEndpoint, MetorialEndpointManager, MetorialRequest +from ..resources import mapDashboardInstanceConsumersListOutput, DashboardInstanceConsumersListOutput, mapDashboardInstanceConsumersListQuery, DashboardInstanceConsumersListQuery, mapDashboardInstanceConsumersGetOutput, DashboardInstanceConsumersGetOutput, mapDashboardInstanceConsumersCreateOutput, DashboardInstanceConsumersCreateOutput, mapDashboardInstanceConsumersCreateBody, DashboardInstanceConsumersCreateBody, mapDashboardInstanceConsumersGetMemberConsumerOutput, DashboardInstanceConsumersGetMemberConsumerOutput, mapDashboardInstanceConsumersGetMemberConsumerBody, DashboardInstanceConsumersGetMemberConsumerBody, mapDashboardInstanceConsumersUpdateOutput, DashboardInstanceConsumersUpdateOutput, mapDashboardInstanceConsumersUpdateBody, DashboardInstanceConsumersUpdateBody + +class MetorialManagementInstanceConsumersEndpoint(BaseMetorialEndpoint): + """Manage instance consumers independently from portals and inspect the profiles linked to each consumer.""" + + def __init__(self, config: MetorialEndpointManager): + super().__init__(config) + + def list(self, instance_id: str, *, limit: Optional[float] = None, after: Optional[str] = None, before: Optional[str] = None, cursor: Optional[str] = None, order: Optional[str] = None) -> DashboardInstanceConsumersListOutput: + """ + List consumers + Returns a paginated list of consumers for an instance. + + :param instance_id: str + :param limit: Optional[float] (optional) + :param after: Optional[str] (optional) + :param before: Optional[str] (optional) + :param cursor: Optional[str] (optional) + :param order: Optional[str] (optional) + :return: DashboardInstanceConsumersListOutput + """ + # Build query parameters from keyword arguments + query_dict = {} + if limit is not None: + query_dict["limit"] = limit + if after is not None: + query_dict["after"] = after + if before is not None: + query_dict["before"] = before + if cursor is not None: + query_dict["cursor"] = cursor + if order is not None: + query_dict["order"] = order + + request = MetorialRequest( + path=['instances', instance_id, 'consumers'], + query=query_dict + ) + return self._get(request).transform(mapDashboardInstanceConsumersListOutput.from_dict) + + def get(self, instance_id: str, consumer_id: str) -> DashboardInstanceConsumersGetOutput: + """ + Get consumer + Retrieves a consumer by ID. + + :param instance_id: str + :param consumer_id: str + :return: DashboardInstanceConsumersGetOutput + """ + request = MetorialRequest( + path=['instances', instance_id, 'consumers', consumer_id] + ) + return self._get(request).transform(mapDashboardInstanceConsumersGetOutput.from_dict) + + def create(self, instance_id: str, *, name: str, email: str) -> DashboardInstanceConsumersCreateOutput: + """ + Create consumer + Creates or links a consumer for an instance. + + :param instance_id: str + :param name: str + :param email: str + :return: DashboardInstanceConsumersCreateOutput + """ + # Build body parameters from keyword arguments + body_dict = {} + body_dict["name"] = name + body_dict["email"] = email + + request = MetorialRequest( + path=['instances', instance_id, 'consumers'], + body=body_dict + ) + return self._post(request).transform(mapDashboardInstanceConsumersCreateOutput.from_dict) + + def get_member_consumer(self, instance_id: str, *, surface_identifier: str) -> DashboardInstanceConsumersGetMemberConsumerOutput: + """ + Get member consumer + Upserts and returns the consumer for the authenticated organization member. + + :param instance_id: str + :param surface_identifier: str + :return: DashboardInstanceConsumersGetMemberConsumerOutput + """ + # Build body parameters from keyword arguments + body_dict = {} + body_dict["surface_identifier"] = surface_identifier + + request = MetorialRequest( + path=['instances', instance_id, 'get-member-consumer'], + body=body_dict + ) + return self._post(request).transform(mapDashboardInstanceConsumersGetMemberConsumerOutput.from_dict) + + def update(self, instance_id: str, consumer_id: str, *, name: Optional[str] = None, email: Optional[str] = None) -> DashboardInstanceConsumersUpdateOutput: + """ + Update consumer + Updates a consumer for an instance. + + :param instance_id: str + :param consumer_id: str + :param name: Optional[str] (optional) + :param email: Optional[str] (optional) + :return: DashboardInstanceConsumersUpdateOutput + """ + # Build body parameters from keyword arguments + body_dict = {} + if name is not None: + body_dict["name"] = name + if email is not None: + body_dict["email"] = email + + request = MetorialRequest( + path=['instances', instance_id, 'consumers', consumer_id], + body=body_dict + ) + return self._patch(request).transform(mapDashboardInstanceConsumersUpdateOutput.from_dict) \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2025_01_01_dashboard/endpoints/management_instance_consumers_profiles.py b/src/metorial/_generated/src/mt_2025_01_01_dashboard/endpoints/management_instance_consumers_profiles.py new file mode 100644 index 00000000..4be7fe90 --- /dev/null +++ b/src/metorial/_generated/src/mt_2025_01_01_dashboard/endpoints/management_instance_consumers_profiles.py @@ -0,0 +1,57 @@ +from typing import Any, Dict, List, Optional, Union +from metorial_util_endpoint import BaseMetorialEndpoint, MetorialEndpointManager, MetorialRequest +from ..resources import mapDashboardInstanceConsumersProfilesListOutput, DashboardInstanceConsumersProfilesListOutput, mapDashboardInstanceConsumersProfilesListQuery, DashboardInstanceConsumersProfilesListQuery, mapDashboardInstanceConsumersProfilesGetOutput, DashboardInstanceConsumersProfilesGetOutput + +class MetorialManagementInstanceConsumersProfilesEndpoint(BaseMetorialEndpoint): + """Manage instance consumers independently from portals and inspect the profiles linked to each consumer.""" + + def __init__(self, config: MetorialEndpointManager): + super().__init__(config) + + def list(self, instance_id: str, consumer_id: str, *, limit: Optional[float] = None, after: Optional[str] = None, before: Optional[str] = None, cursor: Optional[str] = None, order: Optional[str] = None) -> DashboardInstanceConsumersProfilesListOutput: + """ + List consumer profiles + Returns a paginated list of profiles for a consumer in an instance. + + :param instance_id: str + :param consumer_id: str + :param limit: Optional[float] (optional) + :param after: Optional[str] (optional) + :param before: Optional[str] (optional) + :param cursor: Optional[str] (optional) + :param order: Optional[str] (optional) + :return: DashboardInstanceConsumersProfilesListOutput + """ + # Build query parameters from keyword arguments + query_dict = {} + if limit is not None: + query_dict["limit"] = limit + if after is not None: + query_dict["after"] = after + if before is not None: + query_dict["before"] = before + if cursor is not None: + query_dict["cursor"] = cursor + if order is not None: + query_dict["order"] = order + + request = MetorialRequest( + path=['instances', instance_id, 'consumers', consumer_id, 'profiles'], + query=query_dict + ) + return self._get(request).transform(mapDashboardInstanceConsumersProfilesListOutput.from_dict) + + def get(self, instance_id: str, consumer_id: str, consumer_profile_id: str) -> DashboardInstanceConsumersProfilesGetOutput: + """ + Get consumer profile + Retrieves a consumer profile by ID for a consumer. + + :param instance_id: str + :param consumer_id: str + :param consumer_profile_id: str + :return: DashboardInstanceConsumersProfilesGetOutput + """ + request = MetorialRequest( + path=['instances', instance_id, 'consumers', consumer_id, 'profiles', consumer_profile_id] + ) + return self._get(request).transform(mapDashboardInstanceConsumersProfilesGetOutput.from_dict) \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2025_01_01_dashboard/endpoints/management_instance_identity_actors.py b/src/metorial/_generated/src/mt_2025_01_01_dashboard/endpoints/management_instance_identity_actors.py index 96a95536..d55c5a1a 100644 --- a/src/metorial/_generated/src/mt_2025_01_01_dashboard/endpoints/management_instance_identity_actors.py +++ b/src/metorial/_generated/src/mt_2025_01_01_dashboard/endpoints/management_instance_identity_actors.py @@ -8,7 +8,7 @@ class MetorialManagementInstanceIdentityActorsEndpoint(BaseMetorialEndpoint): def __init__(self, config: MetorialEndpointManager): super().__init__(config) - def list(self, instance_id: str, *, limit: Optional[float] = None, after: Optional[str] = None, before: Optional[str] = None, cursor: Optional[str] = None, order: Optional[str] = None, search: Optional[str] = None, status: Optional[Union[str, List[str]]] = None, id: Optional[Union[str, List[str]]] = None, agent_id: Optional[Union[str, List[str]]] = None, created_at: Optional[Dict[str, Any]] = None, updated_at: Optional[Dict[str, Any]] = None) -> DashboardInstanceIdentityActorsListOutput: + def list(self, instance_id: str, *, limit: Optional[float] = None, after: Optional[str] = None, before: Optional[str] = None, cursor: Optional[str] = None, order: Optional[str] = None, search: Optional[str] = None, status: Optional[Union[str, List[str]]] = None, id: Optional[Union[str, List[str]]] = None, agent_id: Optional[Union[str, List[str]]] = None, consumer_id: Optional[Union[str, List[str]]] = None, created_at: Optional[Dict[str, Any]] = None, updated_at: Optional[Dict[str, Any]] = None) -> DashboardInstanceIdentityActorsListOutput: """ List identity actors Returns a paginated list of identity actors for the instance. @@ -23,6 +23,7 @@ def list(self, instance_id: str, *, limit: Optional[float] = None, after: Option :param status: Optional[Union[str, List[str]]] (optional) :param id: Optional[Union[str, List[str]]] (optional) :param agent_id: Optional[Union[str, List[str]]] (optional) + :param consumer_id: Optional[Union[str, List[str]]] (optional) :param created_at: Optional[Dict[str, Any]] (optional) :param updated_at: Optional[Dict[str, Any]] (optional) :return: DashboardInstanceIdentityActorsListOutput @@ -47,6 +48,8 @@ def list(self, instance_id: str, *, limit: Optional[float] = None, after: Option query_dict["id"] = id if agent_id is not None: query_dict["agent_id"] = agent_id + if consumer_id is not None: + query_dict["consumer_id"] = consumer_id if created_at is not None: query_dict["created_at"] = created_at if updated_at is not None: diff --git a/src/metorial/_generated/src/mt_2025_01_01_dashboard/endpoints/management_instance_magic_mcp_servers.py b/src/metorial/_generated/src/mt_2025_01_01_dashboard/endpoints/management_instance_magic_mcp_servers.py index cea1682b..9ede79e4 100644 --- a/src/metorial/_generated/src/mt_2025_01_01_dashboard/endpoints/management_instance_magic_mcp_servers.py +++ b/src/metorial/_generated/src/mt_2025_01_01_dashboard/endpoints/management_instance_magic_mcp_servers.py @@ -8,7 +8,7 @@ class MetorialManagementInstanceMagicMcpServersEndpoint(BaseMetorialEndpoint): def __init__(self, config: MetorialEndpointManager): super().__init__(config) - def list(self, instance_id: str, *, limit: Optional[float] = None, after: Optional[str] = None, before: Optional[str] = None, cursor: Optional[str] = None, order: Optional[str] = None, status: Optional[Union[str, List[str]]] = None, magic_mcp_group_id: Optional[Union[str, List[str]]] = None, search: Optional[str] = None) -> DashboardInstanceMagicMcpServersListOutput: + def list(self, instance_id: str, *, limit: Optional[float] = None, after: Optional[str] = None, before: Optional[str] = None, cursor: Optional[str] = None, order: Optional[str] = None, status: Optional[Union[str, List[str]]] = None, magic_mcp_group_id: Optional[Union[str, List[str]]] = None, consumer_id: Optional[Union[str, List[str]]] = None, consumer_profile_id: Optional[Union[str, List[str]]] = None, search: Optional[str] = None) -> DashboardInstanceMagicMcpServersListOutput: """ List magic MCP servers Returns a paginated list of magic MCP servers. @@ -21,6 +21,8 @@ def list(self, instance_id: str, *, limit: Optional[float] = None, after: Option :param order: Optional[str] (optional) :param status: Optional[Union[str, List[str]]] (optional) :param magic_mcp_group_id: Optional[Union[str, List[str]]] (optional) + :param consumer_id: Optional[Union[str, List[str]]] (optional) + :param consumer_profile_id: Optional[Union[str, List[str]]] (optional) :param search: Optional[str] (optional) :return: DashboardInstanceMagicMcpServersListOutput """ @@ -40,6 +42,10 @@ def list(self, instance_id: str, *, limit: Optional[float] = None, after: Option query_dict["status"] = status if magic_mcp_group_id is not None: query_dict["magic_mcp_group_id"] = magic_mcp_group_id + if consumer_id is not None: + query_dict["consumer_id"] = consumer_id + if consumer_profile_id is not None: + query_dict["consumer_profile_id"] = consumer_profile_id if search is not None: query_dict["search"] = search @@ -63,7 +69,7 @@ def get(self, instance_id: str, magic_mcp_server_id: str) -> DashboardInstanceMa ) return self._get(request).transform(mapDashboardInstanceMagicMcpServersGetOutput.from_dict) - def create(self, instance_id: str, *, name: Optional[str] = None, description: Optional[str] = None, metadata: Optional[Dict[str, Any]] = None) -> DashboardInstanceMagicMcpServersCreateOutput: + def create(self, instance_id: str, *, name: Optional[str] = None, description: Optional[str] = None, metadata: Optional[Dict[str, Any]] = None, consumer_profile_id: Optional[str] = None) -> DashboardInstanceMagicMcpServersCreateOutput: """ Create magic MCP server Creates a magic MCP server with a new session template. A Subspace session is created automatically on first connection and then reused. @@ -72,6 +78,7 @@ def create(self, instance_id: str, *, name: Optional[str] = None, description: O :param name: Optional[str] (optional) :param description: Optional[str] (optional) :param metadata: Optional[Dict[str, Any]] (optional) + :param consumer_profile_id: Optional[str] (optional) :return: DashboardInstanceMagicMcpServersCreateOutput """ # Build body parameters from keyword arguments @@ -82,6 +89,8 @@ def create(self, instance_id: str, *, name: Optional[str] = None, description: O body_dict["description"] = description if metadata is not None: body_dict["metadata"] = metadata + if consumer_profile_id is not None: + body_dict["consumer_profile_id"] = consumer_profile_id request = MetorialRequest( path=['instances', instance_id, 'magic-mcp-servers'], diff --git a/src/metorial/_generated/src/mt_2025_01_01_dashboard/endpoints/management_instance_provider_deployments.py b/src/metorial/_generated/src/mt_2025_01_01_dashboard/endpoints/management_instance_provider_deployments.py index 62ce4571..c626d51e 100644 --- a/src/metorial/_generated/src/mt_2025_01_01_dashboard/endpoints/management_instance_provider_deployments.py +++ b/src/metorial/_generated/src/mt_2025_01_01_dashboard/endpoints/management_instance_provider_deployments.py @@ -8,7 +8,7 @@ class MetorialManagementInstanceProviderDeploymentsEndpoint(BaseMetorialEndpoint def __init__(self, config: MetorialEndpointManager): super().__init__(config) - def list(self, instance_id: str, *, limit: Optional[float] = None, after: Optional[str] = None, before: Optional[str] = None, cursor: Optional[str] = None, order: Optional[str] = None, id: Optional[Union[str, List[str]]] = None, provider_id: Optional[Union[str, List[str]]] = None, provider_version_id: Optional[Union[str, List[str]]] = None, status: Optional[Union[str, List[str]]] = None, capabilities: Optional[Dict[str, Any]] = None, search: Optional[str] = None, created_at: Optional[Dict[str, Any]] = None, updated_at: Optional[Dict[str, Any]] = None) -> DashboardInstanceProviderDeploymentsListOutput: + def list(self, instance_id: str, *, limit: Optional[float] = None, after: Optional[str] = None, before: Optional[str] = None, cursor: Optional[str] = None, order: Optional[str] = None, id: Optional[Union[str, List[str]]] = None, provider_id: Optional[Union[str, List[str]]] = None, provider_version_id: Optional[Union[str, List[str]]] = None, actor_id: Optional[Union[str, List[str]]] = None, consumer_id: Optional[Union[str, List[str]]] = None, identity_id: Optional[Union[str, List[str]]] = None, identity_credential_id: Optional[Union[str, List[str]]] = None, status: Optional[Union[str, List[str]]] = None, capabilities: Optional[Dict[str, Any]] = None, search: Optional[str] = None, created_at: Optional[Dict[str, Any]] = None, updated_at: Optional[Dict[str, Any]] = None) -> DashboardInstanceProviderDeploymentsListOutput: """ List provider deployments Returns a paginated list of provider deployments. @@ -22,6 +22,10 @@ def list(self, instance_id: str, *, limit: Optional[float] = None, after: Option :param id: Optional[Union[str, List[str]]] (optional) :param provider_id: Optional[Union[str, List[str]]] (optional) :param provider_version_id: Optional[Union[str, List[str]]] (optional) + :param actor_id: Optional[Union[str, List[str]]] (optional) + :param consumer_id: Optional[Union[str, List[str]]] (optional) + :param identity_id: Optional[Union[str, List[str]]] (optional) + :param identity_credential_id: Optional[Union[str, List[str]]] (optional) :param status: Optional[Union[str, List[str]]] (optional) :param capabilities: Optional[Dict[str, Any]] (optional) :param search: Optional[str] (optional) @@ -47,6 +51,14 @@ def list(self, instance_id: str, *, limit: Optional[float] = None, after: Option query_dict["provider_id"] = provider_id if provider_version_id is not None: query_dict["provider_version_id"] = provider_version_id + if actor_id is not None: + query_dict["actor_id"] = actor_id + if consumer_id is not None: + query_dict["consumer_id"] = consumer_id + if identity_id is not None: + query_dict["identity_id"] = identity_id + if identity_credential_id is not None: + query_dict["identity_credential_id"] = identity_credential_id if status is not None: query_dict["status"] = status if capabilities is not None: diff --git a/src/metorial/_generated/src/mt_2025_01_01_dashboard/endpoints/management_instance_provider_deployments_auth_configs.py b/src/metorial/_generated/src/mt_2025_01_01_dashboard/endpoints/management_instance_provider_deployments_auth_configs.py index ec694848..88b175e8 100644 --- a/src/metorial/_generated/src/mt_2025_01_01_dashboard/endpoints/management_instance_provider_deployments_auth_configs.py +++ b/src/metorial/_generated/src/mt_2025_01_01_dashboard/endpoints/management_instance_provider_deployments_auth_configs.py @@ -8,7 +8,7 @@ class MetorialManagementInstanceProviderDeploymentsAuthConfigsEndpoint(BaseMetor def __init__(self, config: MetorialEndpointManager): super().__init__(config) - def list(self, instance_id: str, *, limit: Optional[float] = None, after: Optional[str] = None, before: Optional[str] = None, cursor: Optional[str] = None, order: Optional[str] = None, status: Optional[Union[str, List[str]]] = None, id: Optional[Union[str, List[str]]] = None, provider_id: Optional[Union[str, List[str]]] = None, provider_deployment_id: Optional[Union[str, List[str]]] = None, provider_auth_credentials_id: Optional[Union[str, List[str]]] = None, provider_auth_method_id: Optional[Union[str, List[str]]] = None, search: Optional[str] = None, created_at: Optional[Dict[str, Any]] = None, updated_at: Optional[Dict[str, Any]] = None) -> DashboardInstanceProviderDeploymentsAuthConfigsListOutput: + def list(self, instance_id: str, *, limit: Optional[float] = None, after: Optional[str] = None, before: Optional[str] = None, cursor: Optional[str] = None, order: Optional[str] = None, status: Optional[Union[str, List[str]]] = None, id: Optional[Union[str, List[str]]] = None, provider_id: Optional[Union[str, List[str]]] = None, provider_deployment_id: Optional[Union[str, List[str]]] = None, provider_auth_credentials_id: Optional[Union[str, List[str]]] = None, provider_auth_method_id: Optional[Union[str, List[str]]] = None, actor_id: Optional[Union[str, List[str]]] = None, consumer_id: Optional[Union[str, List[str]]] = None, identity_id: Optional[Union[str, List[str]]] = None, identity_credential_id: Optional[Union[str, List[str]]] = None, search: Optional[str] = None, created_at: Optional[Dict[str, Any]] = None, updated_at: Optional[Dict[str, Any]] = None) -> DashboardInstanceProviderDeploymentsAuthConfigsListOutput: """ List provider auth configs Returns a paginated list of provider auth configs. @@ -25,6 +25,10 @@ def list(self, instance_id: str, *, limit: Optional[float] = None, after: Option :param provider_deployment_id: Optional[Union[str, List[str]]] (optional) :param provider_auth_credentials_id: Optional[Union[str, List[str]]] (optional) :param provider_auth_method_id: Optional[Union[str, List[str]]] (optional) + :param actor_id: Optional[Union[str, List[str]]] (optional) + :param consumer_id: Optional[Union[str, List[str]]] (optional) + :param identity_id: Optional[Union[str, List[str]]] (optional) + :param identity_credential_id: Optional[Union[str, List[str]]] (optional) :param search: Optional[str] (optional) :param created_at: Optional[Dict[str, Any]] (optional) :param updated_at: Optional[Dict[str, Any]] (optional) @@ -54,6 +58,14 @@ def list(self, instance_id: str, *, limit: Optional[float] = None, after: Option query_dict["provider_auth_credentials_id"] = provider_auth_credentials_id if provider_auth_method_id is not None: query_dict["provider_auth_method_id"] = provider_auth_method_id + if actor_id is not None: + query_dict["actor_id"] = actor_id + if consumer_id is not None: + query_dict["consumer_id"] = consumer_id + if identity_id is not None: + query_dict["identity_id"] = identity_id + if identity_credential_id is not None: + query_dict["identity_credential_id"] = identity_credential_id if search is not None: query_dict["search"] = search if created_at is not None: diff --git a/src/metorial/_generated/src/mt_2025_01_01_dashboard/endpoints/management_instance_provider_deployments_configs.py b/src/metorial/_generated/src/mt_2025_01_01_dashboard/endpoints/management_instance_provider_deployments_configs.py index c43910ed..99aa40d1 100644 --- a/src/metorial/_generated/src/mt_2025_01_01_dashboard/endpoints/management_instance_provider_deployments_configs.py +++ b/src/metorial/_generated/src/mt_2025_01_01_dashboard/endpoints/management_instance_provider_deployments_configs.py @@ -8,7 +8,7 @@ class MetorialManagementInstanceProviderDeploymentsConfigsEndpoint(BaseMetorialE def __init__(self, config: MetorialEndpointManager): super().__init__(config) - def list(self, instance_id: str, *, limit: Optional[float] = None, after: Optional[str] = None, before: Optional[str] = None, cursor: Optional[str] = None, order: Optional[str] = None, status: Optional[Union[str, List[str]]] = None, id: Optional[Union[str, List[str]]] = None, provider_id: Optional[Union[str, List[str]]] = None, provider_specification_id: Optional[Union[str, List[str]]] = None, provider_deployment_id: Optional[Union[str, List[str]]] = None, provider_config_vault_id: Optional[Union[str, List[str]]] = None, search: Optional[str] = None, created_at: Optional[Dict[str, Any]] = None, updated_at: Optional[Dict[str, Any]] = None) -> DashboardInstanceProviderDeploymentsConfigsListOutput: + def list(self, instance_id: str, *, limit: Optional[float] = None, after: Optional[str] = None, before: Optional[str] = None, cursor: Optional[str] = None, order: Optional[str] = None, status: Optional[Union[str, List[str]]] = None, id: Optional[Union[str, List[str]]] = None, provider_id: Optional[Union[str, List[str]]] = None, provider_specification_id: Optional[Union[str, List[str]]] = None, provider_deployment_id: Optional[Union[str, List[str]]] = None, provider_config_vault_id: Optional[Union[str, List[str]]] = None, actor_id: Optional[Union[str, List[str]]] = None, consumer_id: Optional[Union[str, List[str]]] = None, identity_id: Optional[Union[str, List[str]]] = None, identity_credential_id: Optional[Union[str, List[str]]] = None, search: Optional[str] = None, created_at: Optional[Dict[str, Any]] = None, updated_at: Optional[Dict[str, Any]] = None) -> DashboardInstanceProviderDeploymentsConfigsListOutput: """ List provider configs Returns a paginated list of provider configs. @@ -25,6 +25,10 @@ def list(self, instance_id: str, *, limit: Optional[float] = None, after: Option :param provider_specification_id: Optional[Union[str, List[str]]] (optional) :param provider_deployment_id: Optional[Union[str, List[str]]] (optional) :param provider_config_vault_id: Optional[Union[str, List[str]]] (optional) + :param actor_id: Optional[Union[str, List[str]]] (optional) + :param consumer_id: Optional[Union[str, List[str]]] (optional) + :param identity_id: Optional[Union[str, List[str]]] (optional) + :param identity_credential_id: Optional[Union[str, List[str]]] (optional) :param search: Optional[str] (optional) :param created_at: Optional[Dict[str, Any]] (optional) :param updated_at: Optional[Dict[str, Any]] (optional) @@ -54,6 +58,14 @@ def list(self, instance_id: str, *, limit: Optional[float] = None, after: Option query_dict["provider_deployment_id"] = provider_deployment_id if provider_config_vault_id is not None: query_dict["provider_config_vault_id"] = provider_config_vault_id + if actor_id is not None: + query_dict["actor_id"] = actor_id + if consumer_id is not None: + query_dict["consumer_id"] = consumer_id + if identity_id is not None: + query_dict["identity_id"] = identity_id + if identity_credential_id is not None: + query_dict["identity_credential_id"] = identity_credential_id if search is not None: query_dict["search"] = search if created_at is not None: diff --git a/src/metorial/_generated/src/mt_2025_01_01_dashboard/endpoints/management_organization_api_keys.py b/src/metorial/_generated/src/mt_2025_01_01_dashboard/endpoints/management_organization_api_keys.py new file mode 100644 index 00000000..c62cb1e0 --- /dev/null +++ b/src/metorial/_generated/src/mt_2025_01_01_dashboard/endpoints/management_organization_api_keys.py @@ -0,0 +1,135 @@ +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +from metorial_util_endpoint import BaseMetorialEndpoint, MetorialEndpointManager, MetorialRequest +from ..resources import mapDashboardOrganizationsApiKeysListOutput, DashboardOrganizationsApiKeysListOutput, mapDashboardOrganizationsApiKeysListQuery, DashboardOrganizationsApiKeysListQuery, mapDashboardOrganizationsApiKeysGetOutput, DashboardOrganizationsApiKeysGetOutput, mapDashboardOrganizationsApiKeysCreateOutput, DashboardOrganizationsApiKeysCreateOutput, mapDashboardOrganizationsApiKeysCreateBody, DashboardOrganizationsApiKeysCreateBody, mapDashboardOrganizationsApiKeysUpdateOutput, DashboardOrganizationsApiKeysUpdateOutput, mapDashboardOrganizationsApiKeysUpdateBody, DashboardOrganizationsApiKeysUpdateBody, mapDashboardOrganizationsApiKeysRevokeOutput, DashboardOrganizationsApiKeysRevokeOutput + +class MetorialManagementOrganizationApiKeysEndpoint(BaseMetorialEndpoint): + """Read and write API key information""" + + def __init__(self, config: MetorialEndpointManager): + super().__init__(config) + + def list(self, *, limit: Optional[float] = None, after: Optional[str] = None, before: Optional[str] = None, cursor: Optional[str] = None, order: Optional[str] = None, type: Any = None, instance_id: str = None) -> DashboardOrganizationsApiKeysListOutput: + """ + Get user + Get the current user information + + :param limit: Optional[float] (optional) + :param after: Optional[str] (optional) + :param before: Optional[str] (optional) + :param cursor: Optional[str] (optional) + :param order: Optional[str] (optional) + :param type: Any (optional) + :param instance_id: str (optional) + :return: DashboardOrganizationsApiKeysListOutput + """ + # Build query parameters from keyword arguments + query_dict = {} + if limit is not None: + query_dict["limit"] = limit + if after is not None: + query_dict["after"] = after + if before is not None: + query_dict["before"] = before + if cursor is not None: + query_dict["cursor"] = cursor + if order is not None: + query_dict["order"] = order + if type is not None: + query_dict["type"] = type + if instance_id is not None: + query_dict["instance_id"] = instance_id + + request = MetorialRequest( + path=['organization', 'api-keys'], + query=query_dict + ) + return self._get(request).transform(mapDashboardOrganizationsApiKeysListOutput.from_dict) + + def get(self, api_key_id: str) -> DashboardOrganizationsApiKeysGetOutput: + """ + Get API key + Get the information of a specific API key + + :param api_key_id: str + :return: DashboardOrganizationsApiKeysGetOutput + """ + request = MetorialRequest( + path=['organization', 'api-keys', api_key_id] + ) + return self._get(request).transform(mapDashboardOrganizationsApiKeysGetOutput.from_dict) + + def create(self, *, name: str, type: Any = None, instance_id: str = None, description: Optional[str] = None, expires_at: Optional[datetime] = None, ip_filters: Optional[List[str]] = None) -> DashboardOrganizationsApiKeysCreateOutput: + """ + Create API key + Create a new API key + + :param type: Any (optional) + :param instance_id: str (optional) + :param name: str + :param description: Optional[str] (optional) + :param expires_at: Optional[datetime] (optional) + :param ip_filters: Optional[List[str]] (optional) + :return: DashboardOrganizationsApiKeysCreateOutput + """ + # Build body parameters from keyword arguments + body_dict = {} + if type is not None: + body_dict["type"] = type + if instance_id is not None: + body_dict["instance_id"] = instance_id + body_dict["name"] = name + if description is not None: + body_dict["description"] = description + if expires_at is not None: + body_dict["expires_at"] = expires_at + if ip_filters is not None: + body_dict["ip_filters"] = ip_filters + + request = MetorialRequest( + path=['organization', 'api-keys'], + body=body_dict + ) + return self._post(request).transform(mapDashboardOrganizationsApiKeysCreateOutput.from_dict) + + def update(self, api_key_id: str, *, name: Optional[str] = None, description: Optional[str] = None, expires_at: Optional[datetime] = None, ip_filters: Optional[List[str]] = None) -> DashboardOrganizationsApiKeysUpdateOutput: + """ + Update API key + Update the information of a specific API key + + :param api_key_id: str + :param name: Optional[str] (optional) + :param description: Optional[str] (optional) + :param expires_at: Optional[datetime] (optional) + :param ip_filters: Optional[List[str]] (optional) + :return: DashboardOrganizationsApiKeysUpdateOutput + """ + # Build body parameters from keyword arguments + body_dict = {} + if name is not None: + body_dict["name"] = name + if description is not None: + body_dict["description"] = description + if expires_at is not None: + body_dict["expires_at"] = expires_at + if ip_filters is not None: + body_dict["ip_filters"] = ip_filters + + request = MetorialRequest( + path=['organization', 'api-keys', api_key_id], + body=body_dict + ) + return self._post(request).transform(mapDashboardOrganizationsApiKeysUpdateOutput.from_dict) + + def revoke(self, api_key_id: str) -> DashboardOrganizationsApiKeysRevokeOutput: + """ + Revoke API key + Revoke a specific API key + + :param api_key_id: str + :return: DashboardOrganizationsApiKeysRevokeOutput + """ + request = MetorialRequest( + path=['organization', 'api-keys', api_key_id] + ) + return self._delete(request).transform(mapDashboardOrganizationsApiKeysRevokeOutput.from_dict) \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2025_01_01_dashboard/endpoints/provider_deployments.py b/src/metorial/_generated/src/mt_2025_01_01_dashboard/endpoints/provider_deployments.py index f1ec679d..f54ce599 100644 --- a/src/metorial/_generated/src/mt_2025_01_01_dashboard/endpoints/provider_deployments.py +++ b/src/metorial/_generated/src/mt_2025_01_01_dashboard/endpoints/provider_deployments.py @@ -8,7 +8,7 @@ class MetorialProviderDeploymentsEndpoint(BaseMetorialEndpoint): def __init__(self, config: MetorialEndpointManager): super().__init__(config) - def list(self, *, limit: Optional[float] = None, after: Optional[str] = None, before: Optional[str] = None, cursor: Optional[str] = None, order: Optional[str] = None, id: Optional[Union[str, List[str]]] = None, provider_id: Optional[Union[str, List[str]]] = None, provider_version_id: Optional[Union[str, List[str]]] = None, status: Optional[Union[str, List[str]]] = None, capabilities: Optional[Dict[str, Any]] = None, search: Optional[str] = None, created_at: Optional[Dict[str, Any]] = None, updated_at: Optional[Dict[str, Any]] = None) -> DashboardInstanceProviderDeploymentsListOutput: + def list(self, *, limit: Optional[float] = None, after: Optional[str] = None, before: Optional[str] = None, cursor: Optional[str] = None, order: Optional[str] = None, id: Optional[Union[str, List[str]]] = None, provider_id: Optional[Union[str, List[str]]] = None, provider_version_id: Optional[Union[str, List[str]]] = None, actor_id: Optional[Union[str, List[str]]] = None, consumer_id: Optional[Union[str, List[str]]] = None, identity_id: Optional[Union[str, List[str]]] = None, identity_credential_id: Optional[Union[str, List[str]]] = None, status: Optional[Union[str, List[str]]] = None, capabilities: Optional[Dict[str, Any]] = None, search: Optional[str] = None, created_at: Optional[Dict[str, Any]] = None, updated_at: Optional[Dict[str, Any]] = None) -> DashboardInstanceProviderDeploymentsListOutput: """ List provider deployments Returns a paginated list of provider deployments. @@ -21,6 +21,10 @@ def list(self, *, limit: Optional[float] = None, after: Optional[str] = None, be :param id: Optional[Union[str, List[str]]] (optional) :param provider_id: Optional[Union[str, List[str]]] (optional) :param provider_version_id: Optional[Union[str, List[str]]] (optional) + :param actor_id: Optional[Union[str, List[str]]] (optional) + :param consumer_id: Optional[Union[str, List[str]]] (optional) + :param identity_id: Optional[Union[str, List[str]]] (optional) + :param identity_credential_id: Optional[Union[str, List[str]]] (optional) :param status: Optional[Union[str, List[str]]] (optional) :param capabilities: Optional[Dict[str, Any]] (optional) :param search: Optional[str] (optional) @@ -46,6 +50,14 @@ def list(self, *, limit: Optional[float] = None, after: Optional[str] = None, be query_dict["provider_id"] = provider_id if provider_version_id is not None: query_dict["provider_version_id"] = provider_version_id + if actor_id is not None: + query_dict["actor_id"] = actor_id + if consumer_id is not None: + query_dict["consumer_id"] = consumer_id + if identity_id is not None: + query_dict["identity_id"] = identity_id + if identity_credential_id is not None: + query_dict["identity_credential_id"] = identity_credential_id if status is not None: query_dict["status"] = status if capabilities is not None: diff --git a/src/metorial/_generated/src/mt_2025_01_01_dashboard/endpoints/provider_deployments_auth_configs.py b/src/metorial/_generated/src/mt_2025_01_01_dashboard/endpoints/provider_deployments_auth_configs.py index e0e66276..5b244122 100644 --- a/src/metorial/_generated/src/mt_2025_01_01_dashboard/endpoints/provider_deployments_auth_configs.py +++ b/src/metorial/_generated/src/mt_2025_01_01_dashboard/endpoints/provider_deployments_auth_configs.py @@ -8,7 +8,7 @@ class MetorialProviderDeploymentsAuthConfigsEndpoint(BaseMetorialEndpoint): def __init__(self, config: MetorialEndpointManager): super().__init__(config) - def list(self, *, limit: Optional[float] = None, after: Optional[str] = None, before: Optional[str] = None, cursor: Optional[str] = None, order: Optional[str] = None, status: Optional[Union[str, List[str]]] = None, id: Optional[Union[str, List[str]]] = None, provider_id: Optional[Union[str, List[str]]] = None, provider_deployment_id: Optional[Union[str, List[str]]] = None, provider_auth_credentials_id: Optional[Union[str, List[str]]] = None, provider_auth_method_id: Optional[Union[str, List[str]]] = None, search: Optional[str] = None, created_at: Optional[Dict[str, Any]] = None, updated_at: Optional[Dict[str, Any]] = None) -> DashboardInstanceProviderDeploymentsAuthConfigsListOutput: + def list(self, *, limit: Optional[float] = None, after: Optional[str] = None, before: Optional[str] = None, cursor: Optional[str] = None, order: Optional[str] = None, status: Optional[Union[str, List[str]]] = None, id: Optional[Union[str, List[str]]] = None, provider_id: Optional[Union[str, List[str]]] = None, provider_deployment_id: Optional[Union[str, List[str]]] = None, provider_auth_credentials_id: Optional[Union[str, List[str]]] = None, provider_auth_method_id: Optional[Union[str, List[str]]] = None, actor_id: Optional[Union[str, List[str]]] = None, consumer_id: Optional[Union[str, List[str]]] = None, identity_id: Optional[Union[str, List[str]]] = None, identity_credential_id: Optional[Union[str, List[str]]] = None, search: Optional[str] = None, created_at: Optional[Dict[str, Any]] = None, updated_at: Optional[Dict[str, Any]] = None) -> DashboardInstanceProviderDeploymentsAuthConfigsListOutput: """ List provider auth configs Returns a paginated list of provider auth configs. @@ -24,6 +24,10 @@ def list(self, *, limit: Optional[float] = None, after: Optional[str] = None, be :param provider_deployment_id: Optional[Union[str, List[str]]] (optional) :param provider_auth_credentials_id: Optional[Union[str, List[str]]] (optional) :param provider_auth_method_id: Optional[Union[str, List[str]]] (optional) + :param actor_id: Optional[Union[str, List[str]]] (optional) + :param consumer_id: Optional[Union[str, List[str]]] (optional) + :param identity_id: Optional[Union[str, List[str]]] (optional) + :param identity_credential_id: Optional[Union[str, List[str]]] (optional) :param search: Optional[str] (optional) :param created_at: Optional[Dict[str, Any]] (optional) :param updated_at: Optional[Dict[str, Any]] (optional) @@ -53,6 +57,14 @@ def list(self, *, limit: Optional[float] = None, after: Optional[str] = None, be query_dict["provider_auth_credentials_id"] = provider_auth_credentials_id if provider_auth_method_id is not None: query_dict["provider_auth_method_id"] = provider_auth_method_id + if actor_id is not None: + query_dict["actor_id"] = actor_id + if consumer_id is not None: + query_dict["consumer_id"] = consumer_id + if identity_id is not None: + query_dict["identity_id"] = identity_id + if identity_credential_id is not None: + query_dict["identity_credential_id"] = identity_credential_id if search is not None: query_dict["search"] = search if created_at is not None: diff --git a/src/metorial/_generated/src/mt_2025_01_01_dashboard/endpoints/provider_deployments_configs.py b/src/metorial/_generated/src/mt_2025_01_01_dashboard/endpoints/provider_deployments_configs.py index 03cee279..44c0c1d3 100644 --- a/src/metorial/_generated/src/mt_2025_01_01_dashboard/endpoints/provider_deployments_configs.py +++ b/src/metorial/_generated/src/mt_2025_01_01_dashboard/endpoints/provider_deployments_configs.py @@ -8,7 +8,7 @@ class MetorialProviderDeploymentsConfigsEndpoint(BaseMetorialEndpoint): def __init__(self, config: MetorialEndpointManager): super().__init__(config) - def list(self, *, limit: Optional[float] = None, after: Optional[str] = None, before: Optional[str] = None, cursor: Optional[str] = None, order: Optional[str] = None, status: Optional[Union[str, List[str]]] = None, id: Optional[Union[str, List[str]]] = None, provider_id: Optional[Union[str, List[str]]] = None, provider_specification_id: Optional[Union[str, List[str]]] = None, provider_deployment_id: Optional[Union[str, List[str]]] = None, provider_config_vault_id: Optional[Union[str, List[str]]] = None, search: Optional[str] = None, created_at: Optional[Dict[str, Any]] = None, updated_at: Optional[Dict[str, Any]] = None) -> DashboardInstanceProviderDeploymentsConfigsListOutput: + def list(self, *, limit: Optional[float] = None, after: Optional[str] = None, before: Optional[str] = None, cursor: Optional[str] = None, order: Optional[str] = None, status: Optional[Union[str, List[str]]] = None, id: Optional[Union[str, List[str]]] = None, provider_id: Optional[Union[str, List[str]]] = None, provider_specification_id: Optional[Union[str, List[str]]] = None, provider_deployment_id: Optional[Union[str, List[str]]] = None, provider_config_vault_id: Optional[Union[str, List[str]]] = None, actor_id: Optional[Union[str, List[str]]] = None, consumer_id: Optional[Union[str, List[str]]] = None, identity_id: Optional[Union[str, List[str]]] = None, identity_credential_id: Optional[Union[str, List[str]]] = None, search: Optional[str] = None, created_at: Optional[Dict[str, Any]] = None, updated_at: Optional[Dict[str, Any]] = None) -> DashboardInstanceProviderDeploymentsConfigsListOutput: """ List provider configs Returns a paginated list of provider configs. @@ -24,6 +24,10 @@ def list(self, *, limit: Optional[float] = None, after: Optional[str] = None, be :param provider_specification_id: Optional[Union[str, List[str]]] (optional) :param provider_deployment_id: Optional[Union[str, List[str]]] (optional) :param provider_config_vault_id: Optional[Union[str, List[str]]] (optional) + :param actor_id: Optional[Union[str, List[str]]] (optional) + :param consumer_id: Optional[Union[str, List[str]]] (optional) + :param identity_id: Optional[Union[str, List[str]]] (optional) + :param identity_credential_id: Optional[Union[str, List[str]]] (optional) :param search: Optional[str] (optional) :param created_at: Optional[Dict[str, Any]] (optional) :param updated_at: Optional[Dict[str, Any]] (optional) @@ -53,6 +57,14 @@ def list(self, *, limit: Optional[float] = None, after: Optional[str] = None, be query_dict["provider_deployment_id"] = provider_deployment_id if provider_config_vault_id is not None: query_dict["provider_config_vault_id"] = provider_config_vault_id + if actor_id is not None: + query_dict["actor_id"] = actor_id + if consumer_id is not None: + query_dict["consumer_id"] = consumer_id + if identity_id is not None: + query_dict["identity_id"] = identity_id + if identity_credential_id is not None: + query_dict["identity_credential_id"] = identity_credential_id if search is not None: query_dict["search"] = search if created_at is not None: diff --git a/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/__init__.py b/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/__init__.py index 97e29991..25bc3983 100644 --- a/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/__init__.py +++ b/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/__init__.py @@ -1,5 +1,7 @@ from .api_keys import * from .callbacks import * +from .consumer_surfaces import * +from .consumers import * from .custom_providers import * from .dashboard import * from .file_links import * diff --git a/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/api_keys/__init__.py b/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/api_keys/__init__.py index 0b0a21d3..1a7fc983 100644 --- a/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/api_keys/__init__.py +++ b/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/api_keys/__init__.py @@ -1,7 +1,2 @@ -from .create import * -from .get import * -from .list import * from .reveal import * -from .revoke import * -from .rotate import * -from .update import * \ No newline at end of file +from .rotate import * \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/consumer_surfaces/__init__.py b/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/consumer_surfaces/__init__.py new file mode 100644 index 00000000..65eb373b --- /dev/null +++ b/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/consumer_surfaces/__init__.py @@ -0,0 +1,2 @@ +from .get import * +from .list import * \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/consumer_surfaces/get.py b/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/consumer_surfaces/get.py new file mode 100644 index 00000000..85ff061e --- /dev/null +++ b/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/consumer_surfaces/get.py @@ -0,0 +1,60 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class ConsumerSurfacesGetOutputAuth: + object: str + session_expiry_time_in_seconds: float +@dataclass +class ConsumerSurfacesGetOutput: + object: str + id: str + status: str + name: str + auth: ConsumerSurfacesGetOutputAuth + created_at: datetime + updated_at: datetime + description: Optional[str] = None + + +class mapConsumerSurfacesGetOutputAuth: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ConsumerSurfacesGetOutputAuth: + return ConsumerSurfacesGetOutputAuth( + object=data.get('object'), + session_expiry_time_in_seconds=data.get('session_expiry_time_in_seconds') + ) + + @staticmethod + def to_dict(value: Union[ConsumerSurfacesGetOutputAuth, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapConsumerSurfacesGetOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ConsumerSurfacesGetOutput: + return ConsumerSurfacesGetOutput( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + name=data.get('name'), + description=data.get('description'), + auth=mapConsumerSurfacesGetOutputAuth.from_dict(data.get('auth')) if data.get('auth') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ConsumerSurfacesGetOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/consumer_surfaces/list.py b/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/consumer_surfaces/list.py new file mode 100644 index 00000000..226bb03b --- /dev/null +++ b/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/consumer_surfaces/list.py @@ -0,0 +1,129 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class ConsumerSurfacesListOutputItemsAuth: + object: str + session_expiry_time_in_seconds: float +@dataclass +class ConsumerSurfacesListOutputItems: + object: str + id: str + status: str + name: str + auth: ConsumerSurfacesListOutputItemsAuth + created_at: datetime + updated_at: datetime + description: Optional[str] = None +@dataclass +class ConsumerSurfacesListOutputPagination: + has_more_before: bool + has_more_after: bool +@dataclass +class ConsumerSurfacesListOutput: + items: List[ConsumerSurfacesListOutputItems] + pagination: ConsumerSurfacesListOutputPagination + + +class mapConsumerSurfacesListOutputItemsAuth: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ConsumerSurfacesListOutputItemsAuth: + return ConsumerSurfacesListOutputItemsAuth( + object=data.get('object'), + session_expiry_time_in_seconds=data.get('session_expiry_time_in_seconds') + ) + + @staticmethod + def to_dict(value: Union[ConsumerSurfacesListOutputItemsAuth, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapConsumerSurfacesListOutputItems: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ConsumerSurfacesListOutputItems: + return ConsumerSurfacesListOutputItems( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + name=data.get('name'), + description=data.get('description'), + auth=mapConsumerSurfacesListOutputItemsAuth.from_dict(data.get('auth')) if data.get('auth') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ConsumerSurfacesListOutputItems, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapConsumerSurfacesListOutputPagination: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ConsumerSurfacesListOutputPagination: + return ConsumerSurfacesListOutputPagination( + has_more_before=data.get('has_more_before'), + has_more_after=data.get('has_more_after') + ) + + @staticmethod + def to_dict(value: Union[ConsumerSurfacesListOutputPagination, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapConsumerSurfacesListOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ConsumerSurfacesListOutput: + return ConsumerSurfacesListOutput( + items=[mapConsumerSurfacesListOutputItems.from_dict(item) for item in data.get('items', []) if item], + pagination=mapConsumerSurfacesListOutputPagination.from_dict(data.get('pagination')) if data.get('pagination') else None + ) + + @staticmethod + def to_dict(value: Union[ConsumerSurfacesListOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class ConsumerSurfacesListQuery: + limit: Optional[float] = None + after: Optional[str] = None + before: Optional[str] = None + cursor: Optional[str] = None + order: Optional[str] = None + + +class mapConsumerSurfacesListQuery: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ConsumerSurfacesListQuery: + return ConsumerSurfacesListQuery( + limit=data.get('limit'), + after=data.get('after'), + before=data.get('before'), + cursor=data.get('cursor'), + order=data.get('order') + ) + + @staticmethod + def to_dict(value: Union[ConsumerSurfacesListQuery, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/consumers/__init__.py b/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/consumers/__init__.py new file mode 100644 index 00000000..16e3415d --- /dev/null +++ b/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/consumers/__init__.py @@ -0,0 +1,6 @@ +from .create import * +from .get import * +from .get_member_consumer import * +from .list import * +from .profiles import * +from .update import * \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/consumers/create.py b/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/consumers/create.py new file mode 100644 index 00000000..ac9f9b3f --- /dev/null +++ b/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/consumers/create.py @@ -0,0 +1,63 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class ConsumersCreateOutput: + object: str + id: str + name: str + email: str + created_at: datetime + updated_at: datetime + is_portal_consumer: bool + is_organization_member: bool + + +class mapConsumersCreateOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ConsumersCreateOutput: + return ConsumersCreateOutput( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + email=data.get('email'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + is_portal_consumer=data.get('is_portal_consumer'), + is_organization_member=data.get('is_organization_member') + ) + + @staticmethod + def to_dict(value: Union[ConsumersCreateOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class ConsumersCreateBody: + name: str + email: str + + +class mapConsumersCreateBody: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ConsumersCreateBody: + return ConsumersCreateBody( + name=data.get('name'), + email=data.get('email') + ) + + @staticmethod + def to_dict(value: Union[ConsumersCreateBody, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/consumers/get.py b/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/consumers/get.py new file mode 100644 index 00000000..99f7fe52 --- /dev/null +++ b/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/consumers/get.py @@ -0,0 +1,40 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class ConsumersGetOutput: + object: str + id: str + name: str + email: str + created_at: datetime + updated_at: datetime + is_portal_consumer: bool + is_organization_member: bool + + +class mapConsumersGetOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ConsumersGetOutput: + return ConsumersGetOutput( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + email=data.get('email'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + is_portal_consumer=data.get('is_portal_consumer'), + is_organization_member=data.get('is_organization_member') + ) + + @staticmethod + def to_dict(value: Union[ConsumersGetOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/consumers/get_member_consumer.py b/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/consumers/get_member_consumer.py new file mode 100644 index 00000000..f5cadcc8 --- /dev/null +++ b/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/consumers/get_member_consumer.py @@ -0,0 +1,61 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class ConsumersGetMemberConsumerOutput: + object: str + id: str + name: str + email: str + created_at: datetime + updated_at: datetime + is_portal_consumer: bool + is_organization_member: bool + + +class mapConsumersGetMemberConsumerOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ConsumersGetMemberConsumerOutput: + return ConsumersGetMemberConsumerOutput( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + email=data.get('email'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + is_portal_consumer=data.get('is_portal_consumer'), + is_organization_member=data.get('is_organization_member') + ) + + @staticmethod + def to_dict(value: Union[ConsumersGetMemberConsumerOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class ConsumersGetMemberConsumerBody: + surface_identifier: str + + +class mapConsumersGetMemberConsumerBody: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ConsumersGetMemberConsumerBody: + return ConsumersGetMemberConsumerBody( + surface_identifier=data.get('surface_identifier') + ) + + @staticmethod + def to_dict(value: Union[ConsumersGetMemberConsumerBody, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/consumers/list.py b/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/consumers/list.py new file mode 100644 index 00000000..25e0b790 --- /dev/null +++ b/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/consumers/list.py @@ -0,0 +1,77 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class ConsumersListOutputPagination: + has_more_before: bool + has_more_after: bool +@dataclass +class ConsumersListOutput: + items: List[Dict[str, Any]] + pagination: ConsumersListOutputPagination + + +class mapConsumersListOutputPagination: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ConsumersListOutputPagination: + return ConsumersListOutputPagination( + has_more_before=data.get('has_more_before'), + has_more_after=data.get('has_more_after') + ) + + @staticmethod + def to_dict(value: Union[ConsumersListOutputPagination, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapConsumersListOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ConsumersListOutput: + return ConsumersListOutput( + items=data.get('items', []), + pagination=mapConsumersListOutputPagination.from_dict(data.get('pagination')) if data.get('pagination') else None + ) + + @staticmethod + def to_dict(value: Union[ConsumersListOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class ConsumersListQuery: + limit: Optional[float] = None + after: Optional[str] = None + before: Optional[str] = None + cursor: Optional[str] = None + order: Optional[str] = None + + +class mapConsumersListQuery: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ConsumersListQuery: + return ConsumersListQuery( + limit=data.get('limit'), + after=data.get('after'), + before=data.get('before'), + cursor=data.get('cursor'), + order=data.get('order') + ) + + @staticmethod + def to_dict(value: Union[ConsumersListQuery, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/consumers/profiles/__init__.py b/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/consumers/profiles/__init__.py new file mode 100644 index 00000000..65eb373b --- /dev/null +++ b/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/consumers/profiles/__init__.py @@ -0,0 +1,2 @@ +from .get import * +from .list import * \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/consumers/profiles/get.py b/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/consumers/profiles/get.py new file mode 100644 index 00000000..1205517f --- /dev/null +++ b/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/consumers/profiles/get.py @@ -0,0 +1,74 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class ConsumersProfilesGetOutputGroupsGroup: + object: str + id: str + status: str + name: str + is_default: bool + sso_group_ids: List[str] + created_at: datetime + updated_at: datetime + description: Optional[str] = None +@dataclass +class ConsumersProfilesGetOutputGroups: + object: str + group: ConsumersProfilesGetOutputGroupsGroup + assigned_via: str +@dataclass +class ConsumersProfilesGetOutputSurfaceAuth: + object: str + session_expiry_time_in_seconds: float +@dataclass +class ConsumersProfilesGetOutputSurface: + object: str + id: str + status: str + name: str + auth: ConsumersProfilesGetOutputSurfaceAuth + created_at: datetime + updated_at: datetime + description: Optional[str] = None +@dataclass +class ConsumersProfilesGetOutput: + object: str + id: str + name: str + email: str + image_url: str + consumer_id: str + created_at: datetime + updated_at: datetime + surface: ConsumersProfilesGetOutputSurface + groups: Optional[List[ConsumersProfilesGetOutputGroups]] = None + + +class mapConsumersProfilesGetOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ConsumersProfilesGetOutput: + return ConsumersProfilesGetOutput( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + groups=[mapConsumersProfilesGetOutputGroups.from_dict(item) for item in data.get('groups', []) if item], + consumer_id=data.get('consumer_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + surface=mapConsumersProfilesGetOutputSurface.from_dict(data.get('surface')) if data.get('surface') else None + ) + + @staticmethod + def to_dict(value: Union[ConsumersProfilesGetOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/consumers/profiles/list.py b/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/consumers/profiles/list.py new file mode 100644 index 00000000..e5999003 --- /dev/null +++ b/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/consumers/profiles/list.py @@ -0,0 +1,77 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class ConsumersProfilesListOutputPagination: + has_more_before: bool + has_more_after: bool +@dataclass +class ConsumersProfilesListOutput: + items: List[Dict[str, Any]] + pagination: ConsumersProfilesListOutputPagination + + +class mapConsumersProfilesListOutputPagination: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ConsumersProfilesListOutputPagination: + return ConsumersProfilesListOutputPagination( + has_more_before=data.get('has_more_before'), + has_more_after=data.get('has_more_after') + ) + + @staticmethod + def to_dict(value: Union[ConsumersProfilesListOutputPagination, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapConsumersProfilesListOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ConsumersProfilesListOutput: + return ConsumersProfilesListOutput( + items=data.get('items', []), + pagination=mapConsumersProfilesListOutputPagination.from_dict(data.get('pagination')) if data.get('pagination') else None + ) + + @staticmethod + def to_dict(value: Union[ConsumersProfilesListOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class ConsumersProfilesListQuery: + limit: Optional[float] = None + after: Optional[str] = None + before: Optional[str] = None + cursor: Optional[str] = None + order: Optional[str] = None + + +class mapConsumersProfilesListQuery: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ConsumersProfilesListQuery: + return ConsumersProfilesListQuery( + limit=data.get('limit'), + after=data.get('after'), + before=data.get('before'), + cursor=data.get('cursor'), + order=data.get('order') + ) + + @staticmethod + def to_dict(value: Union[ConsumersProfilesListQuery, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/consumers/update.py b/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/consumers/update.py new file mode 100644 index 00000000..fbfce353 --- /dev/null +++ b/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/consumers/update.py @@ -0,0 +1,63 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class ConsumersUpdateOutput: + object: str + id: str + name: str + email: str + created_at: datetime + updated_at: datetime + is_portal_consumer: bool + is_organization_member: bool + + +class mapConsumersUpdateOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ConsumersUpdateOutput: + return ConsumersUpdateOutput( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + email=data.get('email'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + is_portal_consumer=data.get('is_portal_consumer'), + is_organization_member=data.get('is_organization_member') + ) + + @staticmethod + def to_dict(value: Union[ConsumersUpdateOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class ConsumersUpdateBody: + name: Optional[str] = None + email: Optional[str] = None + + +class mapConsumersUpdateBody: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ConsumersUpdateBody: + return ConsumersUpdateBody( + name=data.get('name'), + email=data.get('email') + ) + + @staticmethod + def to_dict(value: Union[ConsumersUpdateBody, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/dashboard/instance/__init__.py b/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/dashboard/instance/__init__.py index 43c40635..8eeea6c1 100644 --- a/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/dashboard/instance/__init__.py +++ b/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/dashboard/instance/__init__.py @@ -1,4 +1,6 @@ from .callbacks import * +from .consumer_surfaces import * +from .consumers import * from .custom_providers import * from .file_links import * from .files import * diff --git a/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/dashboard/instance/consumer_surfaces/__init__.py b/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/dashboard/instance/consumer_surfaces/__init__.py new file mode 100644 index 00000000..65eb373b --- /dev/null +++ b/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/dashboard/instance/consumer_surfaces/__init__.py @@ -0,0 +1,2 @@ +from .get import * +from .list import * \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/dashboard/instance/consumer_surfaces/get.py b/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/dashboard/instance/consumer_surfaces/get.py new file mode 100644 index 00000000..fd9f0421 --- /dev/null +++ b/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/dashboard/instance/consumer_surfaces/get.py @@ -0,0 +1,60 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class DashboardInstanceConsumerSurfacesGetOutputAuth: + object: str + session_expiry_time_in_seconds: float +@dataclass +class DashboardInstanceConsumerSurfacesGetOutput: + object: str + id: str + status: str + name: str + auth: DashboardInstanceConsumerSurfacesGetOutputAuth + created_at: datetime + updated_at: datetime + description: Optional[str] = None + + +class mapDashboardInstanceConsumerSurfacesGetOutputAuth: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceConsumerSurfacesGetOutputAuth: + return DashboardInstanceConsumerSurfacesGetOutputAuth( + object=data.get('object'), + session_expiry_time_in_seconds=data.get('session_expiry_time_in_seconds') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceConsumerSurfacesGetOutputAuth, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceConsumerSurfacesGetOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceConsumerSurfacesGetOutput: + return DashboardInstanceConsumerSurfacesGetOutput( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + name=data.get('name'), + description=data.get('description'), + auth=mapDashboardInstanceConsumerSurfacesGetOutputAuth.from_dict(data.get('auth')) if data.get('auth') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceConsumerSurfacesGetOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/dashboard/instance/consumer_surfaces/list.py b/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/dashboard/instance/consumer_surfaces/list.py new file mode 100644 index 00000000..69728c5a --- /dev/null +++ b/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/dashboard/instance/consumer_surfaces/list.py @@ -0,0 +1,129 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class DashboardInstanceConsumerSurfacesListOutputItemsAuth: + object: str + session_expiry_time_in_seconds: float +@dataclass +class DashboardInstanceConsumerSurfacesListOutputItems: + object: str + id: str + status: str + name: str + auth: DashboardInstanceConsumerSurfacesListOutputItemsAuth + created_at: datetime + updated_at: datetime + description: Optional[str] = None +@dataclass +class DashboardInstanceConsumerSurfacesListOutputPagination: + has_more_before: bool + has_more_after: bool +@dataclass +class DashboardInstanceConsumerSurfacesListOutput: + items: List[DashboardInstanceConsumerSurfacesListOutputItems] + pagination: DashboardInstanceConsumerSurfacesListOutputPagination + + +class mapDashboardInstanceConsumerSurfacesListOutputItemsAuth: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceConsumerSurfacesListOutputItemsAuth: + return DashboardInstanceConsumerSurfacesListOutputItemsAuth( + object=data.get('object'), + session_expiry_time_in_seconds=data.get('session_expiry_time_in_seconds') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceConsumerSurfacesListOutputItemsAuth, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceConsumerSurfacesListOutputItems: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceConsumerSurfacesListOutputItems: + return DashboardInstanceConsumerSurfacesListOutputItems( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + name=data.get('name'), + description=data.get('description'), + auth=mapDashboardInstanceConsumerSurfacesListOutputItemsAuth.from_dict(data.get('auth')) if data.get('auth') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceConsumerSurfacesListOutputItems, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceConsumerSurfacesListOutputPagination: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceConsumerSurfacesListOutputPagination: + return DashboardInstanceConsumerSurfacesListOutputPagination( + has_more_before=data.get('has_more_before'), + has_more_after=data.get('has_more_after') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceConsumerSurfacesListOutputPagination, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceConsumerSurfacesListOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceConsumerSurfacesListOutput: + return DashboardInstanceConsumerSurfacesListOutput( + items=[mapDashboardInstanceConsumerSurfacesListOutputItems.from_dict(item) for item in data.get('items', []) if item], + pagination=mapDashboardInstanceConsumerSurfacesListOutputPagination.from_dict(data.get('pagination')) if data.get('pagination') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceConsumerSurfacesListOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class DashboardInstanceConsumerSurfacesListQuery: + limit: Optional[float] = None + after: Optional[str] = None + before: Optional[str] = None + cursor: Optional[str] = None + order: Optional[str] = None + + +class mapDashboardInstanceConsumerSurfacesListQuery: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceConsumerSurfacesListQuery: + return DashboardInstanceConsumerSurfacesListQuery( + limit=data.get('limit'), + after=data.get('after'), + before=data.get('before'), + cursor=data.get('cursor'), + order=data.get('order') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceConsumerSurfacesListQuery, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/dashboard/instance/consumers/__init__.py b/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/dashboard/instance/consumers/__init__.py new file mode 100644 index 00000000..16e3415d --- /dev/null +++ b/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/dashboard/instance/consumers/__init__.py @@ -0,0 +1,6 @@ +from .create import * +from .get import * +from .get_member_consumer import * +from .list import * +from .profiles import * +from .update import * \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/dashboard/instance/consumers/create.py b/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/dashboard/instance/consumers/create.py new file mode 100644 index 00000000..76e1a0c4 --- /dev/null +++ b/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/dashboard/instance/consumers/create.py @@ -0,0 +1,63 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class DashboardInstanceConsumersCreateOutput: + object: str + id: str + name: str + email: str + created_at: datetime + updated_at: datetime + is_portal_consumer: bool + is_organization_member: bool + + +class mapDashboardInstanceConsumersCreateOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceConsumersCreateOutput: + return DashboardInstanceConsumersCreateOutput( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + email=data.get('email'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + is_portal_consumer=data.get('is_portal_consumer'), + is_organization_member=data.get('is_organization_member') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceConsumersCreateOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class DashboardInstanceConsumersCreateBody: + name: str + email: str + + +class mapDashboardInstanceConsumersCreateBody: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceConsumersCreateBody: + return DashboardInstanceConsumersCreateBody( + name=data.get('name'), + email=data.get('email') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceConsumersCreateBody, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/dashboard/instance/consumers/get.py b/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/dashboard/instance/consumers/get.py new file mode 100644 index 00000000..76dd2f23 --- /dev/null +++ b/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/dashboard/instance/consumers/get.py @@ -0,0 +1,40 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class DashboardInstanceConsumersGetOutput: + object: str + id: str + name: str + email: str + created_at: datetime + updated_at: datetime + is_portal_consumer: bool + is_organization_member: bool + + +class mapDashboardInstanceConsumersGetOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceConsumersGetOutput: + return DashboardInstanceConsumersGetOutput( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + email=data.get('email'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + is_portal_consumer=data.get('is_portal_consumer'), + is_organization_member=data.get('is_organization_member') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceConsumersGetOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/dashboard/instance/consumers/get_member_consumer.py b/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/dashboard/instance/consumers/get_member_consumer.py new file mode 100644 index 00000000..e3dd1317 --- /dev/null +++ b/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/dashboard/instance/consumers/get_member_consumer.py @@ -0,0 +1,61 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class DashboardInstanceConsumersGetMemberConsumerOutput: + object: str + id: str + name: str + email: str + created_at: datetime + updated_at: datetime + is_portal_consumer: bool + is_organization_member: bool + + +class mapDashboardInstanceConsumersGetMemberConsumerOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceConsumersGetMemberConsumerOutput: + return DashboardInstanceConsumersGetMemberConsumerOutput( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + email=data.get('email'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + is_portal_consumer=data.get('is_portal_consumer'), + is_organization_member=data.get('is_organization_member') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceConsumersGetMemberConsumerOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class DashboardInstanceConsumersGetMemberConsumerBody: + surface_identifier: str + + +class mapDashboardInstanceConsumersGetMemberConsumerBody: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceConsumersGetMemberConsumerBody: + return DashboardInstanceConsumersGetMemberConsumerBody( + surface_identifier=data.get('surface_identifier') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceConsumersGetMemberConsumerBody, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/dashboard/instance/consumers/list.py b/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/dashboard/instance/consumers/list.py new file mode 100644 index 00000000..4c55ec91 --- /dev/null +++ b/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/dashboard/instance/consumers/list.py @@ -0,0 +1,77 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class DashboardInstanceConsumersListOutputPagination: + has_more_before: bool + has_more_after: bool +@dataclass +class DashboardInstanceConsumersListOutput: + items: List[Dict[str, Any]] + pagination: DashboardInstanceConsumersListOutputPagination + + +class mapDashboardInstanceConsumersListOutputPagination: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceConsumersListOutputPagination: + return DashboardInstanceConsumersListOutputPagination( + has_more_before=data.get('has_more_before'), + has_more_after=data.get('has_more_after') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceConsumersListOutputPagination, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceConsumersListOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceConsumersListOutput: + return DashboardInstanceConsumersListOutput( + items=data.get('items', []), + pagination=mapDashboardInstanceConsumersListOutputPagination.from_dict(data.get('pagination')) if data.get('pagination') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceConsumersListOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class DashboardInstanceConsumersListQuery: + limit: Optional[float] = None + after: Optional[str] = None + before: Optional[str] = None + cursor: Optional[str] = None + order: Optional[str] = None + + +class mapDashboardInstanceConsumersListQuery: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceConsumersListQuery: + return DashboardInstanceConsumersListQuery( + limit=data.get('limit'), + after=data.get('after'), + before=data.get('before'), + cursor=data.get('cursor'), + order=data.get('order') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceConsumersListQuery, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/dashboard/instance/consumers/profiles/__init__.py b/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/dashboard/instance/consumers/profiles/__init__.py new file mode 100644 index 00000000..65eb373b --- /dev/null +++ b/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/dashboard/instance/consumers/profiles/__init__.py @@ -0,0 +1,2 @@ +from .get import * +from .list import * \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/dashboard/instance/consumers/profiles/get.py b/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/dashboard/instance/consumers/profiles/get.py new file mode 100644 index 00000000..9d7afca7 --- /dev/null +++ b/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/dashboard/instance/consumers/profiles/get.py @@ -0,0 +1,74 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class DashboardInstanceConsumersProfilesGetOutputGroupsGroup: + object: str + id: str + status: str + name: str + is_default: bool + sso_group_ids: List[str] + created_at: datetime + updated_at: datetime + description: Optional[str] = None +@dataclass +class DashboardInstanceConsumersProfilesGetOutputGroups: + object: str + group: DashboardInstanceConsumersProfilesGetOutputGroupsGroup + assigned_via: str +@dataclass +class DashboardInstanceConsumersProfilesGetOutputSurfaceAuth: + object: str + session_expiry_time_in_seconds: float +@dataclass +class DashboardInstanceConsumersProfilesGetOutputSurface: + object: str + id: str + status: str + name: str + auth: DashboardInstanceConsumersProfilesGetOutputSurfaceAuth + created_at: datetime + updated_at: datetime + description: Optional[str] = None +@dataclass +class DashboardInstanceConsumersProfilesGetOutput: + object: str + id: str + name: str + email: str + image_url: str + consumer_id: str + created_at: datetime + updated_at: datetime + surface: DashboardInstanceConsumersProfilesGetOutputSurface + groups: Optional[List[DashboardInstanceConsumersProfilesGetOutputGroups]] = None + + +class mapDashboardInstanceConsumersProfilesGetOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceConsumersProfilesGetOutput: + return DashboardInstanceConsumersProfilesGetOutput( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + groups=[mapDashboardInstanceConsumersProfilesGetOutputGroups.from_dict(item) for item in data.get('groups', []) if item], + consumer_id=data.get('consumer_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + surface=mapDashboardInstanceConsumersProfilesGetOutputSurface.from_dict(data.get('surface')) if data.get('surface') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceConsumersProfilesGetOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/dashboard/instance/consumers/profiles/list.py b/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/dashboard/instance/consumers/profiles/list.py new file mode 100644 index 00000000..f13cba96 --- /dev/null +++ b/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/dashboard/instance/consumers/profiles/list.py @@ -0,0 +1,77 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class DashboardInstanceConsumersProfilesListOutputPagination: + has_more_before: bool + has_more_after: bool +@dataclass +class DashboardInstanceConsumersProfilesListOutput: + items: List[Dict[str, Any]] + pagination: DashboardInstanceConsumersProfilesListOutputPagination + + +class mapDashboardInstanceConsumersProfilesListOutputPagination: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceConsumersProfilesListOutputPagination: + return DashboardInstanceConsumersProfilesListOutputPagination( + has_more_before=data.get('has_more_before'), + has_more_after=data.get('has_more_after') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceConsumersProfilesListOutputPagination, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceConsumersProfilesListOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceConsumersProfilesListOutput: + return DashboardInstanceConsumersProfilesListOutput( + items=data.get('items', []), + pagination=mapDashboardInstanceConsumersProfilesListOutputPagination.from_dict(data.get('pagination')) if data.get('pagination') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceConsumersProfilesListOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class DashboardInstanceConsumersProfilesListQuery: + limit: Optional[float] = None + after: Optional[str] = None + before: Optional[str] = None + cursor: Optional[str] = None + order: Optional[str] = None + + +class mapDashboardInstanceConsumersProfilesListQuery: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceConsumersProfilesListQuery: + return DashboardInstanceConsumersProfilesListQuery( + limit=data.get('limit'), + after=data.get('after'), + before=data.get('before'), + cursor=data.get('cursor'), + order=data.get('order') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceConsumersProfilesListQuery, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/dashboard/instance/consumers/update.py b/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/dashboard/instance/consumers/update.py new file mode 100644 index 00000000..a92a1d14 --- /dev/null +++ b/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/dashboard/instance/consumers/update.py @@ -0,0 +1,63 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class DashboardInstanceConsumersUpdateOutput: + object: str + id: str + name: str + email: str + created_at: datetime + updated_at: datetime + is_portal_consumer: bool + is_organization_member: bool + + +class mapDashboardInstanceConsumersUpdateOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceConsumersUpdateOutput: + return DashboardInstanceConsumersUpdateOutput( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + email=data.get('email'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + is_portal_consumer=data.get('is_portal_consumer'), + is_organization_member=data.get('is_organization_member') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceConsumersUpdateOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class DashboardInstanceConsumersUpdateBody: + name: Optional[str] = None + email: Optional[str] = None + + +class mapDashboardInstanceConsumersUpdateBody: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceConsumersUpdateBody: + return DashboardInstanceConsumersUpdateBody( + name=data.get('name'), + email=data.get('email') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceConsumersUpdateBody, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/dashboard/instance/identity_actors/create.py b/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/dashboard/instance/identity_actors/create.py index 70cd9437..62c1936b 100644 --- a/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/dashboard/instance/identity_actors/create.py +++ b/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/dashboard/instance/identity_actors/create.py @@ -15,6 +15,7 @@ class DashboardInstanceIdentityActorsCreateOutput: description: Optional[str] = None metadata: Optional[Dict[str, Any]] = None agent_id: Optional[str] = None + consumer: Optional[Dict[str, Any]] = None class mapDashboardInstanceIdentityActorsCreateOutput: @@ -30,7 +31,8 @@ def from_dict(data: Dict[str, Any]) -> DashboardInstanceIdentityActorsCreateOutp metadata=data.get('metadata'), agent_id=data.get('agent_id'), created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, - updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + consumer=data.get('consumer') ) @staticmethod diff --git a/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/dashboard/instance/identity_actors/delete.py b/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/dashboard/instance/identity_actors/delete.py index 6048791f..b4206a31 100644 --- a/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/dashboard/instance/identity_actors/delete.py +++ b/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/dashboard/instance/identity_actors/delete.py @@ -15,6 +15,7 @@ class DashboardInstanceIdentityActorsDeleteOutput: description: Optional[str] = None metadata: Optional[Dict[str, Any]] = None agent_id: Optional[str] = None + consumer: Optional[Dict[str, Any]] = None class mapDashboardInstanceIdentityActorsDeleteOutput: @@ -30,7 +31,8 @@ def from_dict(data: Dict[str, Any]) -> DashboardInstanceIdentityActorsDeleteOutp metadata=data.get('metadata'), agent_id=data.get('agent_id'), created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, - updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + consumer=data.get('consumer') ) @staticmethod diff --git a/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/dashboard/instance/identity_actors/get.py b/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/dashboard/instance/identity_actors/get.py index 906a107e..b2846f1e 100644 --- a/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/dashboard/instance/identity_actors/get.py +++ b/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/dashboard/instance/identity_actors/get.py @@ -15,6 +15,7 @@ class DashboardInstanceIdentityActorsGetOutput: description: Optional[str] = None metadata: Optional[Dict[str, Any]] = None agent_id: Optional[str] = None + consumer: Optional[Dict[str, Any]] = None class mapDashboardInstanceIdentityActorsGetOutput: @@ -30,7 +31,8 @@ def from_dict(data: Dict[str, Any]) -> DashboardInstanceIdentityActorsGetOutput: metadata=data.get('metadata'), agent_id=data.get('agent_id'), created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, - updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + consumer=data.get('consumer') ) @staticmethod diff --git a/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/dashboard/instance/identity_actors/list.py b/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/dashboard/instance/identity_actors/list.py index 1ab5501d..19eaca90 100644 --- a/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/dashboard/instance/identity_actors/list.py +++ b/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/dashboard/instance/identity_actors/list.py @@ -3,52 +3,16 @@ from datetime import datetime import dataclasses -@dataclass -class DashboardInstanceIdentityActorsListOutputItems: - object: str - id: str - type: str - status: str - name: str - created_at: datetime - updated_at: datetime - description: Optional[str] = None - metadata: Optional[Dict[str, Any]] = None - agent_id: Optional[str] = None @dataclass class DashboardInstanceIdentityActorsListOutputPagination: has_more_before: bool has_more_after: bool @dataclass class DashboardInstanceIdentityActorsListOutput: - items: List[DashboardInstanceIdentityActorsListOutputItems] + items: List[Dict[str, Any]] pagination: DashboardInstanceIdentityActorsListOutputPagination -class mapDashboardInstanceIdentityActorsListOutputItems: - @staticmethod - def from_dict(data: Dict[str, Any]) -> DashboardInstanceIdentityActorsListOutputItems: - return DashboardInstanceIdentityActorsListOutputItems( - object=data.get('object'), - id=data.get('id'), - type=data.get('type'), - status=data.get('status'), - name=data.get('name'), - description=data.get('description'), - metadata=data.get('metadata'), - agent_id=data.get('agent_id'), - created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, - updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None - ) - - @staticmethod - def to_dict(value: Union[DashboardInstanceIdentityActorsListOutputItems, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: - if value is None: - return None - if isinstance(value, dict): - return value - return dataclasses.asdict(value) - class mapDashboardInstanceIdentityActorsListOutputPagination: @staticmethod def from_dict(data: Dict[str, Any]) -> DashboardInstanceIdentityActorsListOutputPagination: @@ -69,7 +33,7 @@ class mapDashboardInstanceIdentityActorsListOutput: @staticmethod def from_dict(data: Dict[str, Any]) -> DashboardInstanceIdentityActorsListOutput: return DashboardInstanceIdentityActorsListOutput( - items=[mapDashboardInstanceIdentityActorsListOutputItems.from_dict(item) for item in data.get('items', []) if item], + items=data.get('items', []), pagination=mapDashboardInstanceIdentityActorsListOutputPagination.from_dict(data.get('pagination')) if data.get('pagination') else None ) @@ -101,6 +65,7 @@ class DashboardInstanceIdentityActorsListQuery: status: Optional[Union[str, List[str]]] = None id: Optional[Union[str, List[str]]] = None agent_id: Optional[Union[str, List[str]]] = None + consumer_id: Optional[Union[str, List[str]]] = None created_at: Optional[DashboardInstanceIdentityActorsListQueryCreatedAt] = None updated_at: Optional[DashboardInstanceIdentityActorsListQueryUpdatedAt] = None @@ -118,6 +83,7 @@ def from_dict(data: Dict[str, Any]) -> DashboardInstanceIdentityActorsListQuery: status=data.get('status'), id=data.get('id'), agent_id=data.get('agent_id'), + consumer_id=data.get('consumer_id'), created_at=mapDashboardInstanceIdentityActorsListQueryCreatedAt.from_dict(data.get('created_at')) if data.get('created_at') else None, updated_at=mapDashboardInstanceIdentityActorsListQueryUpdatedAt.from_dict(data.get('updated_at')) if data.get('updated_at') else None ) diff --git a/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/dashboard/instance/identity_actors/update.py b/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/dashboard/instance/identity_actors/update.py index b7a6e830..5fdc06a4 100644 --- a/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/dashboard/instance/identity_actors/update.py +++ b/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/dashboard/instance/identity_actors/update.py @@ -15,6 +15,7 @@ class DashboardInstanceIdentityActorsUpdateOutput: description: Optional[str] = None metadata: Optional[Dict[str, Any]] = None agent_id: Optional[str] = None + consumer: Optional[Dict[str, Any]] = None class mapDashboardInstanceIdentityActorsUpdateOutput: @@ -30,7 +31,8 @@ def from_dict(data: Dict[str, Any]) -> DashboardInstanceIdentityActorsUpdateOutp metadata=data.get('metadata'), agent_id=data.get('agent_id'), created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, - updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + consumer=data.get('consumer') ) @staticmethod diff --git a/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/dashboard/instance/magic_mcp_servers/create.py b/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/dashboard/instance/magic_mcp_servers/create.py index 09b0d9e4..21afd673 100644 --- a/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/dashboard/instance/magic_mcp_servers/create.py +++ b/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/dashboard/instance/magic_mcp_servers/create.py @@ -71,6 +71,7 @@ class DashboardInstanceMagicMcpServersCreateBody: name: Optional[str] = None description: Optional[str] = None metadata: Optional[Dict[str, Any]] = None + consumer_profile_id: Optional[str] = None class mapDashboardInstanceMagicMcpServersCreateBody: @@ -79,7 +80,8 @@ def from_dict(data: Dict[str, Any]) -> DashboardInstanceMagicMcpServersCreateBod return DashboardInstanceMagicMcpServersCreateBody( name=data.get('name'), description=data.get('description'), - metadata=data.get('metadata') + metadata=data.get('metadata'), + consumer_profile_id=data.get('consumer_profile_id') ) @staticmethod diff --git a/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/dashboard/instance/magic_mcp_servers/list.py b/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/dashboard/instance/magic_mcp_servers/list.py index aeff1c20..2623acdd 100644 --- a/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/dashboard/instance/magic_mcp_servers/list.py +++ b/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/dashboard/instance/magic_mcp_servers/list.py @@ -115,6 +115,8 @@ class DashboardInstanceMagicMcpServersListQuery: order: Optional[str] = None status: Optional[Union[str, List[str]]] = None magic_mcp_group_id: Optional[Union[str, List[str]]] = None + consumer_id: Optional[Union[str, List[str]]] = None + consumer_profile_id: Optional[Union[str, List[str]]] = None search: Optional[str] = None @@ -129,6 +131,8 @@ def from_dict(data: Dict[str, Any]) -> DashboardInstanceMagicMcpServersListQuery order=data.get('order'), status=data.get('status'), magic_mcp_group_id=data.get('magic_mcp_group_id'), + consumer_id=data.get('consumer_id'), + consumer_profile_id=data.get('consumer_profile_id'), search=data.get('search') ) diff --git a/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/dashboard/instance/portals/consumer_profiles/assign_groups.py b/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/dashboard/instance/portals/consumer_profiles/assign_groups.py index edd23de3..93f588bb 100644 --- a/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/dashboard/instance/portals/consumer_profiles/assign_groups.py +++ b/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/dashboard/instance/portals/consumer_profiles/assign_groups.py @@ -20,6 +20,20 @@ class DashboardInstancePortalsConsumerProfilesAssignGroupsOutputGroups: group: DashboardInstancePortalsConsumerProfilesAssignGroupsOutputGroupsGroup assigned_via: str @dataclass +class DashboardInstancePortalsConsumerProfilesAssignGroupsOutputSurfaceAuth: + object: str + session_expiry_time_in_seconds: float +@dataclass +class DashboardInstancePortalsConsumerProfilesAssignGroupsOutputSurface: + object: str + id: str + status: str + name: str + auth: DashboardInstancePortalsConsumerProfilesAssignGroupsOutputSurfaceAuth + created_at: datetime + updated_at: datetime + description: Optional[str] = None +@dataclass class DashboardInstancePortalsConsumerProfilesAssignGroupsOutput: object: str id: str @@ -29,49 +43,10 @@ class DashboardInstancePortalsConsumerProfilesAssignGroupsOutput: consumer_id: str created_at: datetime updated_at: datetime + surface: DashboardInstancePortalsConsumerProfilesAssignGroupsOutputSurface groups: Optional[List[DashboardInstancePortalsConsumerProfilesAssignGroupsOutputGroups]] = None -class mapDashboardInstancePortalsConsumerProfilesAssignGroupsOutputGroupsGroup: - @staticmethod - def from_dict(data: Dict[str, Any]) -> DashboardInstancePortalsConsumerProfilesAssignGroupsOutputGroupsGroup: - return DashboardInstancePortalsConsumerProfilesAssignGroupsOutputGroupsGroup( - object=data.get('object'), - id=data.get('id'), - status=data.get('status'), - name=data.get('name'), - description=data.get('description'), - is_default=data.get('is_default'), - sso_group_ids=data.get('sso_group_ids', []), - created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, - updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None - ) - - @staticmethod - def to_dict(value: Union[DashboardInstancePortalsConsumerProfilesAssignGroupsOutputGroupsGroup, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: - if value is None: - return None - if isinstance(value, dict): - return value - return dataclasses.asdict(value) - -class mapDashboardInstancePortalsConsumerProfilesAssignGroupsOutputGroups: - @staticmethod - def from_dict(data: Dict[str, Any]) -> DashboardInstancePortalsConsumerProfilesAssignGroupsOutputGroups: - return DashboardInstancePortalsConsumerProfilesAssignGroupsOutputGroups( - object=data.get('object'), - group=mapDashboardInstancePortalsConsumerProfilesAssignGroupsOutputGroupsGroup.from_dict(data.get('group')) if data.get('group') else None, - assigned_via=data.get('assigned_via') - ) - - @staticmethod - def to_dict(value: Union[DashboardInstancePortalsConsumerProfilesAssignGroupsOutputGroups, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: - if value is None: - return None - if isinstance(value, dict): - return value - return dataclasses.asdict(value) - class mapDashboardInstancePortalsConsumerProfilesAssignGroupsOutput: @staticmethod def from_dict(data: Dict[str, Any]) -> DashboardInstancePortalsConsumerProfilesAssignGroupsOutput: @@ -84,7 +59,8 @@ def from_dict(data: Dict[str, Any]) -> DashboardInstancePortalsConsumerProfilesA groups=[mapDashboardInstancePortalsConsumerProfilesAssignGroupsOutputGroups.from_dict(item) for item in data.get('groups', []) if item], consumer_id=data.get('consumer_id'), created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, - updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + surface=mapDashboardInstancePortalsConsumerProfilesAssignGroupsOutputSurface.from_dict(data.get('surface')) if data.get('surface') else None ) @staticmethod diff --git a/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/dashboard/instance/portals/consumer_profiles/get.py b/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/dashboard/instance/portals/consumer_profiles/get.py index 50e8744a..99f405b3 100644 --- a/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/dashboard/instance/portals/consumer_profiles/get.py +++ b/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/dashboard/instance/portals/consumer_profiles/get.py @@ -20,6 +20,20 @@ class DashboardInstancePortalsConsumerProfilesGetOutputGroups: group: DashboardInstancePortalsConsumerProfilesGetOutputGroupsGroup assigned_via: str @dataclass +class DashboardInstancePortalsConsumerProfilesGetOutputSurfaceAuth: + object: str + session_expiry_time_in_seconds: float +@dataclass +class DashboardInstancePortalsConsumerProfilesGetOutputSurface: + object: str + id: str + status: str + name: str + auth: DashboardInstancePortalsConsumerProfilesGetOutputSurfaceAuth + created_at: datetime + updated_at: datetime + description: Optional[str] = None +@dataclass class DashboardInstancePortalsConsumerProfilesGetOutput: object: str id: str @@ -29,49 +43,10 @@ class DashboardInstancePortalsConsumerProfilesGetOutput: consumer_id: str created_at: datetime updated_at: datetime + surface: DashboardInstancePortalsConsumerProfilesGetOutputSurface groups: Optional[List[DashboardInstancePortalsConsumerProfilesGetOutputGroups]] = None -class mapDashboardInstancePortalsConsumerProfilesGetOutputGroupsGroup: - @staticmethod - def from_dict(data: Dict[str, Any]) -> DashboardInstancePortalsConsumerProfilesGetOutputGroupsGroup: - return DashboardInstancePortalsConsumerProfilesGetOutputGroupsGroup( - object=data.get('object'), - id=data.get('id'), - status=data.get('status'), - name=data.get('name'), - description=data.get('description'), - is_default=data.get('is_default'), - sso_group_ids=data.get('sso_group_ids', []), - created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, - updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None - ) - - @staticmethod - def to_dict(value: Union[DashboardInstancePortalsConsumerProfilesGetOutputGroupsGroup, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: - if value is None: - return None - if isinstance(value, dict): - return value - return dataclasses.asdict(value) - -class mapDashboardInstancePortalsConsumerProfilesGetOutputGroups: - @staticmethod - def from_dict(data: Dict[str, Any]) -> DashboardInstancePortalsConsumerProfilesGetOutputGroups: - return DashboardInstancePortalsConsumerProfilesGetOutputGroups( - object=data.get('object'), - group=mapDashboardInstancePortalsConsumerProfilesGetOutputGroupsGroup.from_dict(data.get('group')) if data.get('group') else None, - assigned_via=data.get('assigned_via') - ) - - @staticmethod - def to_dict(value: Union[DashboardInstancePortalsConsumerProfilesGetOutputGroups, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: - if value is None: - return None - if isinstance(value, dict): - return value - return dataclasses.asdict(value) - class mapDashboardInstancePortalsConsumerProfilesGetOutput: @staticmethod def from_dict(data: Dict[str, Any]) -> DashboardInstancePortalsConsumerProfilesGetOutput: @@ -84,7 +59,8 @@ def from_dict(data: Dict[str, Any]) -> DashboardInstancePortalsConsumerProfilesG groups=[mapDashboardInstancePortalsConsumerProfilesGetOutputGroups.from_dict(item) for item in data.get('groups', []) if item], consumer_id=data.get('consumer_id'), created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, - updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + surface=mapDashboardInstancePortalsConsumerProfilesGetOutputSurface.from_dict(data.get('surface')) if data.get('surface') else None ) @staticmethod diff --git a/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/dashboard/instance/portals/consumer_profiles/list.py b/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/dashboard/instance/portals/consumer_profiles/list.py index 63c78243..982d9490 100644 --- a/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/dashboard/instance/portals/consumer_profiles/list.py +++ b/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/dashboard/instance/portals/consumer_profiles/list.py @@ -3,106 +3,16 @@ from datetime import datetime import dataclasses -@dataclass -class DashboardInstancePortalsConsumerProfilesListOutputItemsGroupsGroup: - object: str - id: str - status: str - name: str - is_default: bool - sso_group_ids: List[str] - created_at: datetime - updated_at: datetime - description: Optional[str] = None -@dataclass -class DashboardInstancePortalsConsumerProfilesListOutputItemsGroups: - object: str - group: DashboardInstancePortalsConsumerProfilesListOutputItemsGroupsGroup - assigned_via: str -@dataclass -class DashboardInstancePortalsConsumerProfilesListOutputItems: - object: str - id: str - name: str - email: str - image_url: str - consumer_id: str - created_at: datetime - updated_at: datetime - groups: Optional[List[DashboardInstancePortalsConsumerProfilesListOutputItemsGroups]] = None @dataclass class DashboardInstancePortalsConsumerProfilesListOutputPagination: has_more_before: bool has_more_after: bool @dataclass class DashboardInstancePortalsConsumerProfilesListOutput: - items: List[DashboardInstancePortalsConsumerProfilesListOutputItems] + items: List[Dict[str, Any]] pagination: DashboardInstancePortalsConsumerProfilesListOutputPagination -class mapDashboardInstancePortalsConsumerProfilesListOutputItemsGroupsGroup: - @staticmethod - def from_dict(data: Dict[str, Any]) -> DashboardInstancePortalsConsumerProfilesListOutputItemsGroupsGroup: - return DashboardInstancePortalsConsumerProfilesListOutputItemsGroupsGroup( - object=data.get('object'), - id=data.get('id'), - status=data.get('status'), - name=data.get('name'), - description=data.get('description'), - is_default=data.get('is_default'), - sso_group_ids=data.get('sso_group_ids', []), - created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, - updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None - ) - - @staticmethod - def to_dict(value: Union[DashboardInstancePortalsConsumerProfilesListOutputItemsGroupsGroup, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: - if value is None: - return None - if isinstance(value, dict): - return value - return dataclasses.asdict(value) - -class mapDashboardInstancePortalsConsumerProfilesListOutputItemsGroups: - @staticmethod - def from_dict(data: Dict[str, Any]) -> DashboardInstancePortalsConsumerProfilesListOutputItemsGroups: - return DashboardInstancePortalsConsumerProfilesListOutputItemsGroups( - object=data.get('object'), - group=mapDashboardInstancePortalsConsumerProfilesListOutputItemsGroupsGroup.from_dict(data.get('group')) if data.get('group') else None, - assigned_via=data.get('assigned_via') - ) - - @staticmethod - def to_dict(value: Union[DashboardInstancePortalsConsumerProfilesListOutputItemsGroups, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: - if value is None: - return None - if isinstance(value, dict): - return value - return dataclasses.asdict(value) - -class mapDashboardInstancePortalsConsumerProfilesListOutputItems: - @staticmethod - def from_dict(data: Dict[str, Any]) -> DashboardInstancePortalsConsumerProfilesListOutputItems: - return DashboardInstancePortalsConsumerProfilesListOutputItems( - object=data.get('object'), - id=data.get('id'), - name=data.get('name'), - email=data.get('email'), - image_url=data.get('image_url'), - groups=[mapDashboardInstancePortalsConsumerProfilesListOutputItemsGroups.from_dict(item) for item in data.get('groups', []) if item], - consumer_id=data.get('consumer_id'), - created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, - updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None - ) - - @staticmethod - def to_dict(value: Union[DashboardInstancePortalsConsumerProfilesListOutputItems, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: - if value is None: - return None - if isinstance(value, dict): - return value - return dataclasses.asdict(value) - class mapDashboardInstancePortalsConsumerProfilesListOutputPagination: @staticmethod def from_dict(data: Dict[str, Any]) -> DashboardInstancePortalsConsumerProfilesListOutputPagination: @@ -123,7 +33,7 @@ class mapDashboardInstancePortalsConsumerProfilesListOutput: @staticmethod def from_dict(data: Dict[str, Any]) -> DashboardInstancePortalsConsumerProfilesListOutput: return DashboardInstancePortalsConsumerProfilesListOutput( - items=[mapDashboardInstancePortalsConsumerProfilesListOutputItems.from_dict(item) for item in data.get('items', []) if item], + items=data.get('items', []), pagination=mapDashboardInstancePortalsConsumerProfilesListOutputPagination.from_dict(data.get('pagination')) if data.get('pagination') else None ) diff --git a/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/dashboard/instance/portals/consumer_profiles/unassign_groups.py b/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/dashboard/instance/portals/consumer_profiles/unassign_groups.py index 20a14f47..f404a959 100644 --- a/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/dashboard/instance/portals/consumer_profiles/unassign_groups.py +++ b/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/dashboard/instance/portals/consumer_profiles/unassign_groups.py @@ -20,6 +20,20 @@ class DashboardInstancePortalsConsumerProfilesUnassignGroupsOutputGroups: group: DashboardInstancePortalsConsumerProfilesUnassignGroupsOutputGroupsGroup assigned_via: str @dataclass +class DashboardInstancePortalsConsumerProfilesUnassignGroupsOutputSurfaceAuth: + object: str + session_expiry_time_in_seconds: float +@dataclass +class DashboardInstancePortalsConsumerProfilesUnassignGroupsOutputSurface: + object: str + id: str + status: str + name: str + auth: DashboardInstancePortalsConsumerProfilesUnassignGroupsOutputSurfaceAuth + created_at: datetime + updated_at: datetime + description: Optional[str] = None +@dataclass class DashboardInstancePortalsConsumerProfilesUnassignGroupsOutput: object: str id: str @@ -29,49 +43,10 @@ class DashboardInstancePortalsConsumerProfilesUnassignGroupsOutput: consumer_id: str created_at: datetime updated_at: datetime + surface: DashboardInstancePortalsConsumerProfilesUnassignGroupsOutputSurface groups: Optional[List[DashboardInstancePortalsConsumerProfilesUnassignGroupsOutputGroups]] = None -class mapDashboardInstancePortalsConsumerProfilesUnassignGroupsOutputGroupsGroup: - @staticmethod - def from_dict(data: Dict[str, Any]) -> DashboardInstancePortalsConsumerProfilesUnassignGroupsOutputGroupsGroup: - return DashboardInstancePortalsConsumerProfilesUnassignGroupsOutputGroupsGroup( - object=data.get('object'), - id=data.get('id'), - status=data.get('status'), - name=data.get('name'), - description=data.get('description'), - is_default=data.get('is_default'), - sso_group_ids=data.get('sso_group_ids', []), - created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, - updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None - ) - - @staticmethod - def to_dict(value: Union[DashboardInstancePortalsConsumerProfilesUnassignGroupsOutputGroupsGroup, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: - if value is None: - return None - if isinstance(value, dict): - return value - return dataclasses.asdict(value) - -class mapDashboardInstancePortalsConsumerProfilesUnassignGroupsOutputGroups: - @staticmethod - def from_dict(data: Dict[str, Any]) -> DashboardInstancePortalsConsumerProfilesUnassignGroupsOutputGroups: - return DashboardInstancePortalsConsumerProfilesUnassignGroupsOutputGroups( - object=data.get('object'), - group=mapDashboardInstancePortalsConsumerProfilesUnassignGroupsOutputGroupsGroup.from_dict(data.get('group')) if data.get('group') else None, - assigned_via=data.get('assigned_via') - ) - - @staticmethod - def to_dict(value: Union[DashboardInstancePortalsConsumerProfilesUnassignGroupsOutputGroups, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: - if value is None: - return None - if isinstance(value, dict): - return value - return dataclasses.asdict(value) - class mapDashboardInstancePortalsConsumerProfilesUnassignGroupsOutput: @staticmethod def from_dict(data: Dict[str, Any]) -> DashboardInstancePortalsConsumerProfilesUnassignGroupsOutput: @@ -84,7 +59,8 @@ def from_dict(data: Dict[str, Any]) -> DashboardInstancePortalsConsumerProfilesU groups=[mapDashboardInstancePortalsConsumerProfilesUnassignGroupsOutputGroups.from_dict(item) for item in data.get('groups', []) if item], consumer_id=data.get('consumer_id'), created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, - updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + surface=mapDashboardInstancePortalsConsumerProfilesUnassignGroupsOutputSurface.from_dict(data.get('surface')) if data.get('surface') else None ) @staticmethod diff --git a/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/dashboard/instance/provider_deployments/auth_configs/list.py b/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/dashboard/instance/provider_deployments/auth_configs/list.py index 8032cb0d..3e749c5d 100644 --- a/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/dashboard/instance/provider_deployments/auth_configs/list.py +++ b/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/dashboard/instance/provider_deployments/auth_configs/list.py @@ -297,6 +297,10 @@ class DashboardInstanceProviderDeploymentsAuthConfigsListQuery: provider_deployment_id: Optional[Union[str, List[str]]] = None provider_auth_credentials_id: Optional[Union[str, List[str]]] = None provider_auth_method_id: Optional[Union[str, List[str]]] = None + actor_id: Optional[Union[str, List[str]]] = None + consumer_id: Optional[Union[str, List[str]]] = None + identity_id: Optional[Union[str, List[str]]] = None + identity_credential_id: Optional[Union[str, List[str]]] = None search: Optional[str] = None created_at: Optional[DashboardInstanceProviderDeploymentsAuthConfigsListQueryCreatedAt] = None updated_at: Optional[DashboardInstanceProviderDeploymentsAuthConfigsListQueryUpdatedAt] = None @@ -317,6 +321,10 @@ def from_dict(data: Dict[str, Any]) -> DashboardInstanceProviderDeploymentsAuthC provider_deployment_id=data.get('provider_deployment_id'), provider_auth_credentials_id=data.get('provider_auth_credentials_id'), provider_auth_method_id=data.get('provider_auth_method_id'), + actor_id=data.get('actor_id'), + consumer_id=data.get('consumer_id'), + identity_id=data.get('identity_id'), + identity_credential_id=data.get('identity_credential_id'), search=data.get('search'), created_at=mapDashboardInstanceProviderDeploymentsAuthConfigsListQueryCreatedAt.from_dict(data.get('created_at')) if data.get('created_at') else None, updated_at=mapDashboardInstanceProviderDeploymentsAuthConfigsListQueryUpdatedAt.from_dict(data.get('updated_at')) if data.get('updated_at') else None diff --git a/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/dashboard/instance/provider_deployments/configs/list.py b/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/dashboard/instance/provider_deployments/configs/list.py index a07000b4..13598380 100644 --- a/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/dashboard/instance/provider_deployments/configs/list.py +++ b/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/dashboard/instance/provider_deployments/configs/list.py @@ -211,6 +211,10 @@ class DashboardInstanceProviderDeploymentsConfigsListQuery: provider_specification_id: Optional[Union[str, List[str]]] = None provider_deployment_id: Optional[Union[str, List[str]]] = None provider_config_vault_id: Optional[Union[str, List[str]]] = None + actor_id: Optional[Union[str, List[str]]] = None + consumer_id: Optional[Union[str, List[str]]] = None + identity_id: Optional[Union[str, List[str]]] = None + identity_credential_id: Optional[Union[str, List[str]]] = None search: Optional[str] = None created_at: Optional[DashboardInstanceProviderDeploymentsConfigsListQueryCreatedAt] = None updated_at: Optional[DashboardInstanceProviderDeploymentsConfigsListQueryUpdatedAt] = None @@ -231,6 +235,10 @@ def from_dict(data: Dict[str, Any]) -> DashboardInstanceProviderDeploymentsConfi provider_specification_id=data.get('provider_specification_id'), provider_deployment_id=data.get('provider_deployment_id'), provider_config_vault_id=data.get('provider_config_vault_id'), + actor_id=data.get('actor_id'), + consumer_id=data.get('consumer_id'), + identity_id=data.get('identity_id'), + identity_credential_id=data.get('identity_credential_id'), search=data.get('search'), created_at=mapDashboardInstanceProviderDeploymentsConfigsListQueryCreatedAt.from_dict(data.get('created_at')) if data.get('created_at') else None, updated_at=mapDashboardInstanceProviderDeploymentsConfigsListQueryUpdatedAt.from_dict(data.get('updated_at')) if data.get('updated_at') else None diff --git a/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/dashboard/instance/provider_deployments/list.py b/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/dashboard/instance/provider_deployments/list.py index 35d873b8..9d956eeb 100644 --- a/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/dashboard/instance/provider_deployments/list.py +++ b/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/dashboard/instance/provider_deployments/list.py @@ -185,6 +185,10 @@ class DashboardInstanceProviderDeploymentsListQuery: id: Optional[Union[str, List[str]]] = None provider_id: Optional[Union[str, List[str]]] = None provider_version_id: Optional[Union[str, List[str]]] = None + actor_id: Optional[Union[str, List[str]]] = None + consumer_id: Optional[Union[str, List[str]]] = None + identity_id: Optional[Union[str, List[str]]] = None + identity_credential_id: Optional[Union[str, List[str]]] = None status: Optional[Union[str, List[str]]] = None capabilities: Optional[DashboardInstanceProviderDeploymentsListQueryCapabilities] = None search: Optional[str] = None @@ -204,6 +208,10 @@ def from_dict(data: Dict[str, Any]) -> DashboardInstanceProviderDeploymentsListQ id=data.get('id'), provider_id=data.get('provider_id'), provider_version_id=data.get('provider_version_id'), + actor_id=data.get('actor_id'), + consumer_id=data.get('consumer_id'), + identity_id=data.get('identity_id'), + identity_credential_id=data.get('identity_credential_id'), status=data.get('status'), capabilities=mapDashboardInstanceProviderDeploymentsListQueryCapabilities.from_dict(data.get('capabilities')) if data.get('capabilities') else None, search=data.get('search'), diff --git a/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/dashboard/instance/provider_deployments/setup_sessions/create.py b/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/dashboard/instance/provider_deployments/setup_sessions/create.py index ea266b7e..8f19be1c 100644 --- a/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/dashboard/instance/provider_deployments/setup_sessions/create.py +++ b/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/dashboard/instance/provider_deployments/setup_sessions/create.py @@ -195,6 +195,8 @@ class DashboardInstanceProviderDeploymentsSetupSessionsCreateOutput: metadata: Optional[Dict[str, Any]] = None configuration: Optional[Dict[str, Any]] = None provider_id: Optional[str] = None + identity_id: Optional[str] = None + identity_credential_id: Optional[str] = None auth_method: Optional[DashboardInstanceProviderDeploymentsSetupSessionsCreateOutputAuthMethod] = None deployment: Optional[DashboardInstanceProviderDeploymentsSetupSessionsCreateOutputDeployment] = None credentials: Optional[DashboardInstanceProviderDeploymentsSetupSessionsCreateOutputCredentials] = None @@ -597,6 +599,8 @@ def from_dict(data: Dict[str, Any]) -> DashboardInstanceProviderDeploymentsSetup metadata=data.get('metadata'), configuration=data.get('configuration'), provider_id=data.get('provider_id'), + identity_id=data.get('identity_id'), + identity_credential_id=data.get('identity_credential_id'), auth_method=mapDashboardInstanceProviderDeploymentsSetupSessionsCreateOutputAuthMethod.from_dict(data.get('auth_method')) if data.get('auth_method') else None, deployment=mapDashboardInstanceProviderDeploymentsSetupSessionsCreateOutputDeployment.from_dict(data.get('deployment')) if data.get('deployment') else None, credentials=mapDashboardInstanceProviderDeploymentsSetupSessionsCreateOutputCredentials.from_dict(data.get('credentials')) if data.get('credentials') else None, diff --git a/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/dashboard/instance/provider_deployments/setup_sessions/delete.py b/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/dashboard/instance/provider_deployments/setup_sessions/delete.py index cda90a95..5c119d8b 100644 --- a/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/dashboard/instance/provider_deployments/setup_sessions/delete.py +++ b/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/dashboard/instance/provider_deployments/setup_sessions/delete.py @@ -195,6 +195,8 @@ class DashboardInstanceProviderDeploymentsSetupSessionsDeleteOutput: metadata: Optional[Dict[str, Any]] = None configuration: Optional[Dict[str, Any]] = None provider_id: Optional[str] = None + identity_id: Optional[str] = None + identity_credential_id: Optional[str] = None auth_method: Optional[DashboardInstanceProviderDeploymentsSetupSessionsDeleteOutputAuthMethod] = None deployment: Optional[DashboardInstanceProviderDeploymentsSetupSessionsDeleteOutputDeployment] = None credentials: Optional[DashboardInstanceProviderDeploymentsSetupSessionsDeleteOutputCredentials] = None @@ -597,6 +599,8 @@ def from_dict(data: Dict[str, Any]) -> DashboardInstanceProviderDeploymentsSetup metadata=data.get('metadata'), configuration=data.get('configuration'), provider_id=data.get('provider_id'), + identity_id=data.get('identity_id'), + identity_credential_id=data.get('identity_credential_id'), auth_method=mapDashboardInstanceProviderDeploymentsSetupSessionsDeleteOutputAuthMethod.from_dict(data.get('auth_method')) if data.get('auth_method') else None, deployment=mapDashboardInstanceProviderDeploymentsSetupSessionsDeleteOutputDeployment.from_dict(data.get('deployment')) if data.get('deployment') else None, credentials=mapDashboardInstanceProviderDeploymentsSetupSessionsDeleteOutputCredentials.from_dict(data.get('credentials')) if data.get('credentials') else None, diff --git a/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/dashboard/instance/provider_deployments/setup_sessions/get.py b/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/dashboard/instance/provider_deployments/setup_sessions/get.py index 81bd2fe9..e50ef67e 100644 --- a/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/dashboard/instance/provider_deployments/setup_sessions/get.py +++ b/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/dashboard/instance/provider_deployments/setup_sessions/get.py @@ -195,6 +195,8 @@ class DashboardInstanceProviderDeploymentsSetupSessionsGetOutput: metadata: Optional[Dict[str, Any]] = None configuration: Optional[Dict[str, Any]] = None provider_id: Optional[str] = None + identity_id: Optional[str] = None + identity_credential_id: Optional[str] = None auth_method: Optional[DashboardInstanceProviderDeploymentsSetupSessionsGetOutputAuthMethod] = None deployment: Optional[DashboardInstanceProviderDeploymentsSetupSessionsGetOutputDeployment] = None credentials: Optional[DashboardInstanceProviderDeploymentsSetupSessionsGetOutputCredentials] = None @@ -597,6 +599,8 @@ def from_dict(data: Dict[str, Any]) -> DashboardInstanceProviderDeploymentsSetup metadata=data.get('metadata'), configuration=data.get('configuration'), provider_id=data.get('provider_id'), + identity_id=data.get('identity_id'), + identity_credential_id=data.get('identity_credential_id'), auth_method=mapDashboardInstanceProviderDeploymentsSetupSessionsGetOutputAuthMethod.from_dict(data.get('auth_method')) if data.get('auth_method') else None, deployment=mapDashboardInstanceProviderDeploymentsSetupSessionsGetOutputDeployment.from_dict(data.get('deployment')) if data.get('deployment') else None, credentials=mapDashboardInstanceProviderDeploymentsSetupSessionsGetOutputCredentials.from_dict(data.get('credentials')) if data.get('credentials') else None, diff --git a/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/dashboard/instance/provider_deployments/setup_sessions/list.py b/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/dashboard/instance/provider_deployments/setup_sessions/list.py index a52fc60b..4188283c 100644 --- a/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/dashboard/instance/provider_deployments/setup_sessions/list.py +++ b/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/dashboard/instance/provider_deployments/setup_sessions/list.py @@ -195,6 +195,8 @@ class DashboardInstanceProviderDeploymentsSetupSessionsListOutputItems: metadata: Optional[Dict[str, Any]] = None configuration: Optional[Dict[str, Any]] = None provider_id: Optional[str] = None + identity_id: Optional[str] = None + identity_credential_id: Optional[str] = None auth_method: Optional[DashboardInstanceProviderDeploymentsSetupSessionsListOutputItemsAuthMethod] = None deployment: Optional[DashboardInstanceProviderDeploymentsSetupSessionsListOutputItemsDeployment] = None credentials: Optional[DashboardInstanceProviderDeploymentsSetupSessionsListOutputItemsCredentials] = None @@ -605,6 +607,8 @@ def from_dict(data: Dict[str, Any]) -> DashboardInstanceProviderDeploymentsSetup metadata=data.get('metadata'), configuration=data.get('configuration'), provider_id=data.get('provider_id'), + identity_id=data.get('identity_id'), + identity_credential_id=data.get('identity_credential_id'), auth_method=mapDashboardInstanceProviderDeploymentsSetupSessionsListOutputItemsAuthMethod.from_dict(data.get('auth_method')) if data.get('auth_method') else None, deployment=mapDashboardInstanceProviderDeploymentsSetupSessionsListOutputItemsDeployment.from_dict(data.get('deployment')) if data.get('deployment') else None, credentials=mapDashboardInstanceProviderDeploymentsSetupSessionsListOutputItemsCredentials.from_dict(data.get('credentials')) if data.get('credentials') else None, diff --git a/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/dashboard/instance/provider_deployments/setup_sessions/update.py b/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/dashboard/instance/provider_deployments/setup_sessions/update.py index f81f694a..8737d7d9 100644 --- a/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/dashboard/instance/provider_deployments/setup_sessions/update.py +++ b/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/dashboard/instance/provider_deployments/setup_sessions/update.py @@ -195,6 +195,8 @@ class DashboardInstanceProviderDeploymentsSetupSessionsUpdateOutput: metadata: Optional[Dict[str, Any]] = None configuration: Optional[Dict[str, Any]] = None provider_id: Optional[str] = None + identity_id: Optional[str] = None + identity_credential_id: Optional[str] = None auth_method: Optional[DashboardInstanceProviderDeploymentsSetupSessionsUpdateOutputAuthMethod] = None deployment: Optional[DashboardInstanceProviderDeploymentsSetupSessionsUpdateOutputDeployment] = None credentials: Optional[DashboardInstanceProviderDeploymentsSetupSessionsUpdateOutputCredentials] = None @@ -597,6 +599,8 @@ def from_dict(data: Dict[str, Any]) -> DashboardInstanceProviderDeploymentsSetup metadata=data.get('metadata'), configuration=data.get('configuration'), provider_id=data.get('provider_id'), + identity_id=data.get('identity_id'), + identity_credential_id=data.get('identity_credential_id'), auth_method=mapDashboardInstanceProviderDeploymentsSetupSessionsUpdateOutputAuthMethod.from_dict(data.get('auth_method')) if data.get('auth_method') else None, deployment=mapDashboardInstanceProviderDeploymentsSetupSessionsUpdateOutputDeployment.from_dict(data.get('deployment')) if data.get('deployment') else None, credentials=mapDashboardInstanceProviderDeploymentsSetupSessionsUpdateOutputCredentials.from_dict(data.get('credentials')) if data.get('credentials') else None, diff --git a/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/dashboard/organizations/__init__.py b/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/dashboard/organizations/__init__.py index b3f2cac6..75e7d16a 100644 --- a/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/dashboard/organizations/__init__.py +++ b/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/dashboard/organizations/__init__.py @@ -1,5 +1,6 @@ from .access_policies import * from .access_roles import * +from .api_keys import * from .create import * from .delete import * from .get import * diff --git a/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/dashboard/organizations/api_keys/__init__.py b/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/dashboard/organizations/api_keys/__init__.py new file mode 100644 index 00000000..2764f766 --- /dev/null +++ b/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/dashboard/organizations/api_keys/__init__.py @@ -0,0 +1,5 @@ +from .create import * +from .get import * +from .list import * +from .revoke import * +from .update import * \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/dashboard/organizations/api_keys/create.py b/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/dashboard/organizations/api_keys/create.py new file mode 100644 index 00000000..98db0b1a --- /dev/null +++ b/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/dashboard/organizations/api_keys/create.py @@ -0,0 +1,351 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class DashboardOrganizationsApiKeysCreateOutputMachineAccessActorTeams: + id: str + name: str + slug: str + assignment_id: str + created_at: datetime + updated_at: datetime +@dataclass +class DashboardOrganizationsApiKeysCreateOutputMachineAccessActor: + object: str + id: str + type: str + organization_id: str + name: str + image_url: str + teams: List[DashboardOrganizationsApiKeysCreateOutputMachineAccessActorTeams] + created_at: datetime + updated_at: datetime + email: Optional[str] = None +@dataclass +class DashboardOrganizationsApiKeysCreateOutputMachineAccessInstanceProject: + object: str + id: str + status: str + slug: str + name: str + organization_id: str + created_at: datetime + updated_at: datetime +@dataclass +class DashboardOrganizationsApiKeysCreateOutputMachineAccessInstance: + object: str + id: str + slug: str + name: str + organization_id: str + type: str + created_at: datetime + updated_at: datetime + project: DashboardOrganizationsApiKeysCreateOutputMachineAccessInstanceProject +@dataclass +class DashboardOrganizationsApiKeysCreateOutputMachineAccessOrganization: + object: str + id: str + type: str + slug: str + name: str + image_url: str + created_at: datetime + updated_at: datetime +@dataclass +class DashboardOrganizationsApiKeysCreateOutputMachineAccessUser: + object: str + id: str + status: str + type: str + email: str + name: str + first_name: str + last_name: str + image_url: str + created_at: datetime + updated_at: datetime +@dataclass +class DashboardOrganizationsApiKeysCreateOutputMachineAccess: + object: str + id: str + status: str + type: str + name: str + last_used_at: datetime + created_at: datetime + updated_at: datetime + deleted_at: datetime + actor: Optional[DashboardOrganizationsApiKeysCreateOutputMachineAccessActor] = None + instance: Optional[DashboardOrganizationsApiKeysCreateOutputMachineAccessInstance] = None + organization: Optional[DashboardOrganizationsApiKeysCreateOutputMachineAccessOrganization] = None + user: Optional[DashboardOrganizationsApiKeysCreateOutputMachineAccessUser] = None +@dataclass +class DashboardOrganizationsApiKeysCreateOutputRevealInfo: + until: datetime + forever: bool +@dataclass +class DashboardOrganizationsApiKeysCreateOutput: + object: str + id: str + status: str + secret_redacted: str + secret_redacted_long: str + type: str + name: str + ip_filters: List[str] + machine_access: DashboardOrganizationsApiKeysCreateOutputMachineAccess + created_at: datetime + updated_at: datetime + secret: Optional[str] = None + description: Optional[str] = None + deleted_at: Optional[datetime] = None + last_used_at: Optional[datetime] = None + expires_at: Optional[datetime] = None + reveal_info: Optional[DashboardOrganizationsApiKeysCreateOutputRevealInfo] = None + + +class mapDashboardOrganizationsApiKeysCreateOutputMachineAccessActorTeams: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardOrganizationsApiKeysCreateOutputMachineAccessActorTeams: + return DashboardOrganizationsApiKeysCreateOutputMachineAccessActorTeams( + id=data.get('id'), + name=data.get('name'), + slug=data.get('slug'), + assignment_id=data.get('assignment_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardOrganizationsApiKeysCreateOutputMachineAccessActorTeams, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardOrganizationsApiKeysCreateOutputMachineAccessActor: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardOrganizationsApiKeysCreateOutputMachineAccessActor: + return DashboardOrganizationsApiKeysCreateOutputMachineAccessActor( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + organization_id=data.get('organization_id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + teams=[mapDashboardOrganizationsApiKeysCreateOutputMachineAccessActorTeams.from_dict(item) for item in data.get('teams', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardOrganizationsApiKeysCreateOutputMachineAccessActor, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardOrganizationsApiKeysCreateOutputMachineAccessInstanceProject: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardOrganizationsApiKeysCreateOutputMachineAccessInstanceProject: + return DashboardOrganizationsApiKeysCreateOutputMachineAccessInstanceProject( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + slug=data.get('slug'), + name=data.get('name'), + organization_id=data.get('organization_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardOrganizationsApiKeysCreateOutputMachineAccessInstanceProject, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardOrganizationsApiKeysCreateOutputMachineAccessInstance: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardOrganizationsApiKeysCreateOutputMachineAccessInstance: + return DashboardOrganizationsApiKeysCreateOutputMachineAccessInstance( + object=data.get('object'), + id=data.get('id'), + slug=data.get('slug'), + name=data.get('name'), + organization_id=data.get('organization_id'), + type=data.get('type'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + project=mapDashboardOrganizationsApiKeysCreateOutputMachineAccessInstanceProject.from_dict(data.get('project')) if data.get('project') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardOrganizationsApiKeysCreateOutputMachineAccessInstance, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardOrganizationsApiKeysCreateOutputMachineAccessOrganization: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardOrganizationsApiKeysCreateOutputMachineAccessOrganization: + return DashboardOrganizationsApiKeysCreateOutputMachineAccessOrganization( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + slug=data.get('slug'), + name=data.get('name'), + image_url=data.get('image_url'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardOrganizationsApiKeysCreateOutputMachineAccessOrganization, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardOrganizationsApiKeysCreateOutputMachineAccessUser: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardOrganizationsApiKeysCreateOutputMachineAccessUser: + return DashboardOrganizationsApiKeysCreateOutputMachineAccessUser( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + type=data.get('type'), + email=data.get('email'), + name=data.get('name'), + first_name=data.get('first_name'), + last_name=data.get('last_name'), + image_url=data.get('image_url'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardOrganizationsApiKeysCreateOutputMachineAccessUser, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardOrganizationsApiKeysCreateOutputMachineAccess: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardOrganizationsApiKeysCreateOutputMachineAccess: + return DashboardOrganizationsApiKeysCreateOutputMachineAccess( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + type=data.get('type'), + name=data.get('name'), + last_used_at=datetime.fromisoformat(data.get('last_used_at').replace('Z', '+00:00')) if data.get('last_used_at') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + deleted_at=datetime.fromisoformat(data.get('deleted_at').replace('Z', '+00:00')) if data.get('deleted_at') else None, + actor=mapDashboardOrganizationsApiKeysCreateOutputMachineAccessActor.from_dict(data.get('actor')) if data.get('actor') else None, + instance=mapDashboardOrganizationsApiKeysCreateOutputMachineAccessInstance.from_dict(data.get('instance')) if data.get('instance') else None, + organization=mapDashboardOrganizationsApiKeysCreateOutputMachineAccessOrganization.from_dict(data.get('organization')) if data.get('organization') else None, + user=mapDashboardOrganizationsApiKeysCreateOutputMachineAccessUser.from_dict(data.get('user')) if data.get('user') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardOrganizationsApiKeysCreateOutputMachineAccess, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardOrganizationsApiKeysCreateOutputRevealInfo: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardOrganizationsApiKeysCreateOutputRevealInfo: + return DashboardOrganizationsApiKeysCreateOutputRevealInfo( + until=datetime.fromisoformat(data.get('until').replace('Z', '+00:00')) if data.get('until') else None, + forever=data.get('forever') + ) + + @staticmethod + def to_dict(value: Union[DashboardOrganizationsApiKeysCreateOutputRevealInfo, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardOrganizationsApiKeysCreateOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardOrganizationsApiKeysCreateOutput: + return DashboardOrganizationsApiKeysCreateOutput( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + secret_redacted=data.get('secret_redacted'), + secret_redacted_long=data.get('secret_redacted_long'), + secret=data.get('secret'), + type=data.get('type'), + name=data.get('name'), + description=data.get('description'), + ip_filters=data.get('ip_filters', []), + machine_access=mapDashboardOrganizationsApiKeysCreateOutputMachineAccess.from_dict(data.get('machine_access')) if data.get('machine_access') else None, + deleted_at=datetime.fromisoformat(data.get('deleted_at').replace('Z', '+00:00')) if data.get('deleted_at') else None, + last_used_at=datetime.fromisoformat(data.get('last_used_at').replace('Z', '+00:00')) if data.get('last_used_at') else None, + expires_at=datetime.fromisoformat(data.get('expires_at').replace('Z', '+00:00')) if data.get('expires_at') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + reveal_info=mapDashboardOrganizationsApiKeysCreateOutputRevealInfo.from_dict(data.get('reveal_info')) if data.get('reveal_info') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardOrganizationsApiKeysCreateOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class DashboardOrganizationsApiKeysCreateBody: + name: str + type: Optional[str] = None + instance_id: Optional[str] = None + description: Optional[str] = None + expires_at: Optional[datetime] = None + ip_filters: Optional[List[str]] = None + + +class mapDashboardOrganizationsApiKeysCreateBody: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardOrganizationsApiKeysCreateBody: + return DashboardOrganizationsApiKeysCreateBody( + type=data.get('type'), + instance_id=data.get('instance_id'), + name=data.get('name'), + description=data.get('description'), + expires_at=datetime.fromisoformat(data.get('expires_at').replace('Z', '+00:00')) if data.get('expires_at') else None, + ip_filters=data.get('ip_filters', []) + ) + + @staticmethod + def to_dict(value: Union[DashboardOrganizationsApiKeysCreateBody, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/dashboard/organizations/api_keys/get.py b/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/dashboard/organizations/api_keys/get.py new file mode 100644 index 00000000..786ffa02 --- /dev/null +++ b/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/dashboard/organizations/api_keys/get.py @@ -0,0 +1,320 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class DashboardOrganizationsApiKeysGetOutputMachineAccessActorTeams: + id: str + name: str + slug: str + assignment_id: str + created_at: datetime + updated_at: datetime +@dataclass +class DashboardOrganizationsApiKeysGetOutputMachineAccessActor: + object: str + id: str + type: str + organization_id: str + name: str + image_url: str + teams: List[DashboardOrganizationsApiKeysGetOutputMachineAccessActorTeams] + created_at: datetime + updated_at: datetime + email: Optional[str] = None +@dataclass +class DashboardOrganizationsApiKeysGetOutputMachineAccessInstanceProject: + object: str + id: str + status: str + slug: str + name: str + organization_id: str + created_at: datetime + updated_at: datetime +@dataclass +class DashboardOrganizationsApiKeysGetOutputMachineAccessInstance: + object: str + id: str + slug: str + name: str + organization_id: str + type: str + created_at: datetime + updated_at: datetime + project: DashboardOrganizationsApiKeysGetOutputMachineAccessInstanceProject +@dataclass +class DashboardOrganizationsApiKeysGetOutputMachineAccessOrganization: + object: str + id: str + type: str + slug: str + name: str + image_url: str + created_at: datetime + updated_at: datetime +@dataclass +class DashboardOrganizationsApiKeysGetOutputMachineAccessUser: + object: str + id: str + status: str + type: str + email: str + name: str + first_name: str + last_name: str + image_url: str + created_at: datetime + updated_at: datetime +@dataclass +class DashboardOrganizationsApiKeysGetOutputMachineAccess: + object: str + id: str + status: str + type: str + name: str + last_used_at: datetime + created_at: datetime + updated_at: datetime + deleted_at: datetime + actor: Optional[DashboardOrganizationsApiKeysGetOutputMachineAccessActor] = None + instance: Optional[DashboardOrganizationsApiKeysGetOutputMachineAccessInstance] = None + organization: Optional[DashboardOrganizationsApiKeysGetOutputMachineAccessOrganization] = None + user: Optional[DashboardOrganizationsApiKeysGetOutputMachineAccessUser] = None +@dataclass +class DashboardOrganizationsApiKeysGetOutputRevealInfo: + until: datetime + forever: bool +@dataclass +class DashboardOrganizationsApiKeysGetOutput: + object: str + id: str + status: str + secret_redacted: str + secret_redacted_long: str + type: str + name: str + ip_filters: List[str] + machine_access: DashboardOrganizationsApiKeysGetOutputMachineAccess + created_at: datetime + updated_at: datetime + secret: Optional[str] = None + description: Optional[str] = None + deleted_at: Optional[datetime] = None + last_used_at: Optional[datetime] = None + expires_at: Optional[datetime] = None + reveal_info: Optional[DashboardOrganizationsApiKeysGetOutputRevealInfo] = None + + +class mapDashboardOrganizationsApiKeysGetOutputMachineAccessActorTeams: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardOrganizationsApiKeysGetOutputMachineAccessActorTeams: + return DashboardOrganizationsApiKeysGetOutputMachineAccessActorTeams( + id=data.get('id'), + name=data.get('name'), + slug=data.get('slug'), + assignment_id=data.get('assignment_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardOrganizationsApiKeysGetOutputMachineAccessActorTeams, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardOrganizationsApiKeysGetOutputMachineAccessActor: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardOrganizationsApiKeysGetOutputMachineAccessActor: + return DashboardOrganizationsApiKeysGetOutputMachineAccessActor( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + organization_id=data.get('organization_id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + teams=[mapDashboardOrganizationsApiKeysGetOutputMachineAccessActorTeams.from_dict(item) for item in data.get('teams', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardOrganizationsApiKeysGetOutputMachineAccessActor, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardOrganizationsApiKeysGetOutputMachineAccessInstanceProject: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardOrganizationsApiKeysGetOutputMachineAccessInstanceProject: + return DashboardOrganizationsApiKeysGetOutputMachineAccessInstanceProject( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + slug=data.get('slug'), + name=data.get('name'), + organization_id=data.get('organization_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardOrganizationsApiKeysGetOutputMachineAccessInstanceProject, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardOrganizationsApiKeysGetOutputMachineAccessInstance: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardOrganizationsApiKeysGetOutputMachineAccessInstance: + return DashboardOrganizationsApiKeysGetOutputMachineAccessInstance( + object=data.get('object'), + id=data.get('id'), + slug=data.get('slug'), + name=data.get('name'), + organization_id=data.get('organization_id'), + type=data.get('type'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + project=mapDashboardOrganizationsApiKeysGetOutputMachineAccessInstanceProject.from_dict(data.get('project')) if data.get('project') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardOrganizationsApiKeysGetOutputMachineAccessInstance, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardOrganizationsApiKeysGetOutputMachineAccessOrganization: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardOrganizationsApiKeysGetOutputMachineAccessOrganization: + return DashboardOrganizationsApiKeysGetOutputMachineAccessOrganization( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + slug=data.get('slug'), + name=data.get('name'), + image_url=data.get('image_url'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardOrganizationsApiKeysGetOutputMachineAccessOrganization, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardOrganizationsApiKeysGetOutputMachineAccessUser: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardOrganizationsApiKeysGetOutputMachineAccessUser: + return DashboardOrganizationsApiKeysGetOutputMachineAccessUser( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + type=data.get('type'), + email=data.get('email'), + name=data.get('name'), + first_name=data.get('first_name'), + last_name=data.get('last_name'), + image_url=data.get('image_url'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardOrganizationsApiKeysGetOutputMachineAccessUser, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardOrganizationsApiKeysGetOutputMachineAccess: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardOrganizationsApiKeysGetOutputMachineAccess: + return DashboardOrganizationsApiKeysGetOutputMachineAccess( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + type=data.get('type'), + name=data.get('name'), + last_used_at=datetime.fromisoformat(data.get('last_used_at').replace('Z', '+00:00')) if data.get('last_used_at') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + deleted_at=datetime.fromisoformat(data.get('deleted_at').replace('Z', '+00:00')) if data.get('deleted_at') else None, + actor=mapDashboardOrganizationsApiKeysGetOutputMachineAccessActor.from_dict(data.get('actor')) if data.get('actor') else None, + instance=mapDashboardOrganizationsApiKeysGetOutputMachineAccessInstance.from_dict(data.get('instance')) if data.get('instance') else None, + organization=mapDashboardOrganizationsApiKeysGetOutputMachineAccessOrganization.from_dict(data.get('organization')) if data.get('organization') else None, + user=mapDashboardOrganizationsApiKeysGetOutputMachineAccessUser.from_dict(data.get('user')) if data.get('user') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardOrganizationsApiKeysGetOutputMachineAccess, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardOrganizationsApiKeysGetOutputRevealInfo: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardOrganizationsApiKeysGetOutputRevealInfo: + return DashboardOrganizationsApiKeysGetOutputRevealInfo( + until=datetime.fromisoformat(data.get('until').replace('Z', '+00:00')) if data.get('until') else None, + forever=data.get('forever') + ) + + @staticmethod + def to_dict(value: Union[DashboardOrganizationsApiKeysGetOutputRevealInfo, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardOrganizationsApiKeysGetOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardOrganizationsApiKeysGetOutput: + return DashboardOrganizationsApiKeysGetOutput( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + secret_redacted=data.get('secret_redacted'), + secret_redacted_long=data.get('secret_redacted_long'), + secret=data.get('secret'), + type=data.get('type'), + name=data.get('name'), + description=data.get('description'), + ip_filters=data.get('ip_filters', []), + machine_access=mapDashboardOrganizationsApiKeysGetOutputMachineAccess.from_dict(data.get('machine_access')) if data.get('machine_access') else None, + deleted_at=datetime.fromisoformat(data.get('deleted_at').replace('Z', '+00:00')) if data.get('deleted_at') else None, + last_used_at=datetime.fromisoformat(data.get('last_used_at').replace('Z', '+00:00')) if data.get('last_used_at') else None, + expires_at=datetime.fromisoformat(data.get('expires_at').replace('Z', '+00:00')) if data.get('expires_at') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + reveal_info=mapDashboardOrganizationsApiKeysGetOutputRevealInfo.from_dict(data.get('reveal_info')) if data.get('reveal_info') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardOrganizationsApiKeysGetOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/dashboard/organizations/api_keys/list.py b/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/dashboard/organizations/api_keys/list.py new file mode 100644 index 00000000..dc98adc6 --- /dev/null +++ b/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/dashboard/organizations/api_keys/list.py @@ -0,0 +1,393 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class DashboardOrganizationsApiKeysListOutputItemsMachineAccessActorTeams: + id: str + name: str + slug: str + assignment_id: str + created_at: datetime + updated_at: datetime +@dataclass +class DashboardOrganizationsApiKeysListOutputItemsMachineAccessActor: + object: str + id: str + type: str + organization_id: str + name: str + image_url: str + teams: List[DashboardOrganizationsApiKeysListOutputItemsMachineAccessActorTeams] + created_at: datetime + updated_at: datetime + email: Optional[str] = None +@dataclass +class DashboardOrganizationsApiKeysListOutputItemsMachineAccessInstanceProject: + object: str + id: str + status: str + slug: str + name: str + organization_id: str + created_at: datetime + updated_at: datetime +@dataclass +class DashboardOrganizationsApiKeysListOutputItemsMachineAccessInstance: + object: str + id: str + slug: str + name: str + organization_id: str + type: str + created_at: datetime + updated_at: datetime + project: DashboardOrganizationsApiKeysListOutputItemsMachineAccessInstanceProject +@dataclass +class DashboardOrganizationsApiKeysListOutputItemsMachineAccessOrganization: + object: str + id: str + type: str + slug: str + name: str + image_url: str + created_at: datetime + updated_at: datetime +@dataclass +class DashboardOrganizationsApiKeysListOutputItemsMachineAccessUser: + object: str + id: str + status: str + type: str + email: str + name: str + first_name: str + last_name: str + image_url: str + created_at: datetime + updated_at: datetime +@dataclass +class DashboardOrganizationsApiKeysListOutputItemsMachineAccess: + object: str + id: str + status: str + type: str + name: str + last_used_at: datetime + created_at: datetime + updated_at: datetime + deleted_at: datetime + actor: Optional[DashboardOrganizationsApiKeysListOutputItemsMachineAccessActor] = None + instance: Optional[DashboardOrganizationsApiKeysListOutputItemsMachineAccessInstance] = None + organization: Optional[DashboardOrganizationsApiKeysListOutputItemsMachineAccessOrganization] = None + user: Optional[DashboardOrganizationsApiKeysListOutputItemsMachineAccessUser] = None +@dataclass +class DashboardOrganizationsApiKeysListOutputItemsRevealInfo: + until: datetime + forever: bool +@dataclass +class DashboardOrganizationsApiKeysListOutputItems: + object: str + id: str + status: str + secret_redacted: str + secret_redacted_long: str + type: str + name: str + ip_filters: List[str] + machine_access: DashboardOrganizationsApiKeysListOutputItemsMachineAccess + created_at: datetime + updated_at: datetime + secret: Optional[str] = None + description: Optional[str] = None + deleted_at: Optional[datetime] = None + last_used_at: Optional[datetime] = None + expires_at: Optional[datetime] = None + reveal_info: Optional[DashboardOrganizationsApiKeysListOutputItemsRevealInfo] = None +@dataclass +class DashboardOrganizationsApiKeysListOutputPagination: + has_more_before: bool + has_more_after: bool +@dataclass +class DashboardOrganizationsApiKeysListOutput: + items: List[DashboardOrganizationsApiKeysListOutputItems] + pagination: DashboardOrganizationsApiKeysListOutputPagination + + +class mapDashboardOrganizationsApiKeysListOutputItemsMachineAccessActorTeams: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardOrganizationsApiKeysListOutputItemsMachineAccessActorTeams: + return DashboardOrganizationsApiKeysListOutputItemsMachineAccessActorTeams( + id=data.get('id'), + name=data.get('name'), + slug=data.get('slug'), + assignment_id=data.get('assignment_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardOrganizationsApiKeysListOutputItemsMachineAccessActorTeams, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardOrganizationsApiKeysListOutputItemsMachineAccessActor: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardOrganizationsApiKeysListOutputItemsMachineAccessActor: + return DashboardOrganizationsApiKeysListOutputItemsMachineAccessActor( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + organization_id=data.get('organization_id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + teams=[mapDashboardOrganizationsApiKeysListOutputItemsMachineAccessActorTeams.from_dict(item) for item in data.get('teams', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardOrganizationsApiKeysListOutputItemsMachineAccessActor, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardOrganizationsApiKeysListOutputItemsMachineAccessInstanceProject: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardOrganizationsApiKeysListOutputItemsMachineAccessInstanceProject: + return DashboardOrganizationsApiKeysListOutputItemsMachineAccessInstanceProject( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + slug=data.get('slug'), + name=data.get('name'), + organization_id=data.get('organization_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardOrganizationsApiKeysListOutputItemsMachineAccessInstanceProject, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardOrganizationsApiKeysListOutputItemsMachineAccessInstance: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardOrganizationsApiKeysListOutputItemsMachineAccessInstance: + return DashboardOrganizationsApiKeysListOutputItemsMachineAccessInstance( + object=data.get('object'), + id=data.get('id'), + slug=data.get('slug'), + name=data.get('name'), + organization_id=data.get('organization_id'), + type=data.get('type'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + project=mapDashboardOrganizationsApiKeysListOutputItemsMachineAccessInstanceProject.from_dict(data.get('project')) if data.get('project') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardOrganizationsApiKeysListOutputItemsMachineAccessInstance, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardOrganizationsApiKeysListOutputItemsMachineAccessOrganization: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardOrganizationsApiKeysListOutputItemsMachineAccessOrganization: + return DashboardOrganizationsApiKeysListOutputItemsMachineAccessOrganization( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + slug=data.get('slug'), + name=data.get('name'), + image_url=data.get('image_url'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardOrganizationsApiKeysListOutputItemsMachineAccessOrganization, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardOrganizationsApiKeysListOutputItemsMachineAccessUser: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardOrganizationsApiKeysListOutputItemsMachineAccessUser: + return DashboardOrganizationsApiKeysListOutputItemsMachineAccessUser( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + type=data.get('type'), + email=data.get('email'), + name=data.get('name'), + first_name=data.get('first_name'), + last_name=data.get('last_name'), + image_url=data.get('image_url'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardOrganizationsApiKeysListOutputItemsMachineAccessUser, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardOrganizationsApiKeysListOutputItemsMachineAccess: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardOrganizationsApiKeysListOutputItemsMachineAccess: + return DashboardOrganizationsApiKeysListOutputItemsMachineAccess( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + type=data.get('type'), + name=data.get('name'), + last_used_at=datetime.fromisoformat(data.get('last_used_at').replace('Z', '+00:00')) if data.get('last_used_at') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + deleted_at=datetime.fromisoformat(data.get('deleted_at').replace('Z', '+00:00')) if data.get('deleted_at') else None, + actor=mapDashboardOrganizationsApiKeysListOutputItemsMachineAccessActor.from_dict(data.get('actor')) if data.get('actor') else None, + instance=mapDashboardOrganizationsApiKeysListOutputItemsMachineAccessInstance.from_dict(data.get('instance')) if data.get('instance') else None, + organization=mapDashboardOrganizationsApiKeysListOutputItemsMachineAccessOrganization.from_dict(data.get('organization')) if data.get('organization') else None, + user=mapDashboardOrganizationsApiKeysListOutputItemsMachineAccessUser.from_dict(data.get('user')) if data.get('user') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardOrganizationsApiKeysListOutputItemsMachineAccess, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardOrganizationsApiKeysListOutputItemsRevealInfo: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardOrganizationsApiKeysListOutputItemsRevealInfo: + return DashboardOrganizationsApiKeysListOutputItemsRevealInfo( + until=datetime.fromisoformat(data.get('until').replace('Z', '+00:00')) if data.get('until') else None, + forever=data.get('forever') + ) + + @staticmethod + def to_dict(value: Union[DashboardOrganizationsApiKeysListOutputItemsRevealInfo, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardOrganizationsApiKeysListOutputItems: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardOrganizationsApiKeysListOutputItems: + return DashboardOrganizationsApiKeysListOutputItems( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + secret_redacted=data.get('secret_redacted'), + secret_redacted_long=data.get('secret_redacted_long'), + secret=data.get('secret'), + type=data.get('type'), + name=data.get('name'), + description=data.get('description'), + ip_filters=data.get('ip_filters', []), + machine_access=mapDashboardOrganizationsApiKeysListOutputItemsMachineAccess.from_dict(data.get('machine_access')) if data.get('machine_access') else None, + deleted_at=datetime.fromisoformat(data.get('deleted_at').replace('Z', '+00:00')) if data.get('deleted_at') else None, + last_used_at=datetime.fromisoformat(data.get('last_used_at').replace('Z', '+00:00')) if data.get('last_used_at') else None, + expires_at=datetime.fromisoformat(data.get('expires_at').replace('Z', '+00:00')) if data.get('expires_at') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + reveal_info=mapDashboardOrganizationsApiKeysListOutputItemsRevealInfo.from_dict(data.get('reveal_info')) if data.get('reveal_info') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardOrganizationsApiKeysListOutputItems, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardOrganizationsApiKeysListOutputPagination: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardOrganizationsApiKeysListOutputPagination: + return DashboardOrganizationsApiKeysListOutputPagination( + has_more_before=data.get('has_more_before'), + has_more_after=data.get('has_more_after') + ) + + @staticmethod + def to_dict(value: Union[DashboardOrganizationsApiKeysListOutputPagination, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardOrganizationsApiKeysListOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardOrganizationsApiKeysListOutput: + return DashboardOrganizationsApiKeysListOutput( + items=[mapDashboardOrganizationsApiKeysListOutputItems.from_dict(item) for item in data.get('items', []) if item], + pagination=mapDashboardOrganizationsApiKeysListOutputPagination.from_dict(data.get('pagination')) if data.get('pagination') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardOrganizationsApiKeysListOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class DashboardOrganizationsApiKeysListQuery: + limit: Optional[float] = None + after: Optional[str] = None + before: Optional[str] = None + cursor: Optional[str] = None + order: Optional[str] = None + type: Optional[str] = None + instance_id: Optional[str] = None + + +class mapDashboardOrganizationsApiKeysListQuery: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardOrganizationsApiKeysListQuery: + return DashboardOrganizationsApiKeysListQuery( + limit=data.get('limit'), + after=data.get('after'), + before=data.get('before'), + cursor=data.get('cursor'), + order=data.get('order'), + type=data.get('type'), + instance_id=data.get('instance_id') + ) + + @staticmethod + def to_dict(value: Union[DashboardOrganizationsApiKeysListQuery, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/dashboard/organizations/api_keys/revoke.py b/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/dashboard/organizations/api_keys/revoke.py new file mode 100644 index 00000000..056d300e --- /dev/null +++ b/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/dashboard/organizations/api_keys/revoke.py @@ -0,0 +1,320 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class DashboardOrganizationsApiKeysRevokeOutputMachineAccessActorTeams: + id: str + name: str + slug: str + assignment_id: str + created_at: datetime + updated_at: datetime +@dataclass +class DashboardOrganizationsApiKeysRevokeOutputMachineAccessActor: + object: str + id: str + type: str + organization_id: str + name: str + image_url: str + teams: List[DashboardOrganizationsApiKeysRevokeOutputMachineAccessActorTeams] + created_at: datetime + updated_at: datetime + email: Optional[str] = None +@dataclass +class DashboardOrganizationsApiKeysRevokeOutputMachineAccessInstanceProject: + object: str + id: str + status: str + slug: str + name: str + organization_id: str + created_at: datetime + updated_at: datetime +@dataclass +class DashboardOrganizationsApiKeysRevokeOutputMachineAccessInstance: + object: str + id: str + slug: str + name: str + organization_id: str + type: str + created_at: datetime + updated_at: datetime + project: DashboardOrganizationsApiKeysRevokeOutputMachineAccessInstanceProject +@dataclass +class DashboardOrganizationsApiKeysRevokeOutputMachineAccessOrganization: + object: str + id: str + type: str + slug: str + name: str + image_url: str + created_at: datetime + updated_at: datetime +@dataclass +class DashboardOrganizationsApiKeysRevokeOutputMachineAccessUser: + object: str + id: str + status: str + type: str + email: str + name: str + first_name: str + last_name: str + image_url: str + created_at: datetime + updated_at: datetime +@dataclass +class DashboardOrganizationsApiKeysRevokeOutputMachineAccess: + object: str + id: str + status: str + type: str + name: str + last_used_at: datetime + created_at: datetime + updated_at: datetime + deleted_at: datetime + actor: Optional[DashboardOrganizationsApiKeysRevokeOutputMachineAccessActor] = None + instance: Optional[DashboardOrganizationsApiKeysRevokeOutputMachineAccessInstance] = None + organization: Optional[DashboardOrganizationsApiKeysRevokeOutputMachineAccessOrganization] = None + user: Optional[DashboardOrganizationsApiKeysRevokeOutputMachineAccessUser] = None +@dataclass +class DashboardOrganizationsApiKeysRevokeOutputRevealInfo: + until: datetime + forever: bool +@dataclass +class DashboardOrganizationsApiKeysRevokeOutput: + object: str + id: str + status: str + secret_redacted: str + secret_redacted_long: str + type: str + name: str + ip_filters: List[str] + machine_access: DashboardOrganizationsApiKeysRevokeOutputMachineAccess + created_at: datetime + updated_at: datetime + secret: Optional[str] = None + description: Optional[str] = None + deleted_at: Optional[datetime] = None + last_used_at: Optional[datetime] = None + expires_at: Optional[datetime] = None + reveal_info: Optional[DashboardOrganizationsApiKeysRevokeOutputRevealInfo] = None + + +class mapDashboardOrganizationsApiKeysRevokeOutputMachineAccessActorTeams: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardOrganizationsApiKeysRevokeOutputMachineAccessActorTeams: + return DashboardOrganizationsApiKeysRevokeOutputMachineAccessActorTeams( + id=data.get('id'), + name=data.get('name'), + slug=data.get('slug'), + assignment_id=data.get('assignment_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardOrganizationsApiKeysRevokeOutputMachineAccessActorTeams, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardOrganizationsApiKeysRevokeOutputMachineAccessActor: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardOrganizationsApiKeysRevokeOutputMachineAccessActor: + return DashboardOrganizationsApiKeysRevokeOutputMachineAccessActor( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + organization_id=data.get('organization_id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + teams=[mapDashboardOrganizationsApiKeysRevokeOutputMachineAccessActorTeams.from_dict(item) for item in data.get('teams', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardOrganizationsApiKeysRevokeOutputMachineAccessActor, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardOrganizationsApiKeysRevokeOutputMachineAccessInstanceProject: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardOrganizationsApiKeysRevokeOutputMachineAccessInstanceProject: + return DashboardOrganizationsApiKeysRevokeOutputMachineAccessInstanceProject( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + slug=data.get('slug'), + name=data.get('name'), + organization_id=data.get('organization_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardOrganizationsApiKeysRevokeOutputMachineAccessInstanceProject, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardOrganizationsApiKeysRevokeOutputMachineAccessInstance: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardOrganizationsApiKeysRevokeOutputMachineAccessInstance: + return DashboardOrganizationsApiKeysRevokeOutputMachineAccessInstance( + object=data.get('object'), + id=data.get('id'), + slug=data.get('slug'), + name=data.get('name'), + organization_id=data.get('organization_id'), + type=data.get('type'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + project=mapDashboardOrganizationsApiKeysRevokeOutputMachineAccessInstanceProject.from_dict(data.get('project')) if data.get('project') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardOrganizationsApiKeysRevokeOutputMachineAccessInstance, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardOrganizationsApiKeysRevokeOutputMachineAccessOrganization: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardOrganizationsApiKeysRevokeOutputMachineAccessOrganization: + return DashboardOrganizationsApiKeysRevokeOutputMachineAccessOrganization( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + slug=data.get('slug'), + name=data.get('name'), + image_url=data.get('image_url'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardOrganizationsApiKeysRevokeOutputMachineAccessOrganization, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardOrganizationsApiKeysRevokeOutputMachineAccessUser: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardOrganizationsApiKeysRevokeOutputMachineAccessUser: + return DashboardOrganizationsApiKeysRevokeOutputMachineAccessUser( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + type=data.get('type'), + email=data.get('email'), + name=data.get('name'), + first_name=data.get('first_name'), + last_name=data.get('last_name'), + image_url=data.get('image_url'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardOrganizationsApiKeysRevokeOutputMachineAccessUser, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardOrganizationsApiKeysRevokeOutputMachineAccess: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardOrganizationsApiKeysRevokeOutputMachineAccess: + return DashboardOrganizationsApiKeysRevokeOutputMachineAccess( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + type=data.get('type'), + name=data.get('name'), + last_used_at=datetime.fromisoformat(data.get('last_used_at').replace('Z', '+00:00')) if data.get('last_used_at') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + deleted_at=datetime.fromisoformat(data.get('deleted_at').replace('Z', '+00:00')) if data.get('deleted_at') else None, + actor=mapDashboardOrganizationsApiKeysRevokeOutputMachineAccessActor.from_dict(data.get('actor')) if data.get('actor') else None, + instance=mapDashboardOrganizationsApiKeysRevokeOutputMachineAccessInstance.from_dict(data.get('instance')) if data.get('instance') else None, + organization=mapDashboardOrganizationsApiKeysRevokeOutputMachineAccessOrganization.from_dict(data.get('organization')) if data.get('organization') else None, + user=mapDashboardOrganizationsApiKeysRevokeOutputMachineAccessUser.from_dict(data.get('user')) if data.get('user') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardOrganizationsApiKeysRevokeOutputMachineAccess, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardOrganizationsApiKeysRevokeOutputRevealInfo: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardOrganizationsApiKeysRevokeOutputRevealInfo: + return DashboardOrganizationsApiKeysRevokeOutputRevealInfo( + until=datetime.fromisoformat(data.get('until').replace('Z', '+00:00')) if data.get('until') else None, + forever=data.get('forever') + ) + + @staticmethod + def to_dict(value: Union[DashboardOrganizationsApiKeysRevokeOutputRevealInfo, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardOrganizationsApiKeysRevokeOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardOrganizationsApiKeysRevokeOutput: + return DashboardOrganizationsApiKeysRevokeOutput( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + secret_redacted=data.get('secret_redacted'), + secret_redacted_long=data.get('secret_redacted_long'), + secret=data.get('secret'), + type=data.get('type'), + name=data.get('name'), + description=data.get('description'), + ip_filters=data.get('ip_filters', []), + machine_access=mapDashboardOrganizationsApiKeysRevokeOutputMachineAccess.from_dict(data.get('machine_access')) if data.get('machine_access') else None, + deleted_at=datetime.fromisoformat(data.get('deleted_at').replace('Z', '+00:00')) if data.get('deleted_at') else None, + last_used_at=datetime.fromisoformat(data.get('last_used_at').replace('Z', '+00:00')) if data.get('last_used_at') else None, + expires_at=datetime.fromisoformat(data.get('expires_at').replace('Z', '+00:00')) if data.get('expires_at') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + reveal_info=mapDashboardOrganizationsApiKeysRevokeOutputRevealInfo.from_dict(data.get('reveal_info')) if data.get('reveal_info') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardOrganizationsApiKeysRevokeOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/dashboard/organizations/api_keys/update.py b/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/dashboard/organizations/api_keys/update.py new file mode 100644 index 00000000..fbf4538a --- /dev/null +++ b/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/dashboard/organizations/api_keys/update.py @@ -0,0 +1,347 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class DashboardOrganizationsApiKeysUpdateOutputMachineAccessActorTeams: + id: str + name: str + slug: str + assignment_id: str + created_at: datetime + updated_at: datetime +@dataclass +class DashboardOrganizationsApiKeysUpdateOutputMachineAccessActor: + object: str + id: str + type: str + organization_id: str + name: str + image_url: str + teams: List[DashboardOrganizationsApiKeysUpdateOutputMachineAccessActorTeams] + created_at: datetime + updated_at: datetime + email: Optional[str] = None +@dataclass +class DashboardOrganizationsApiKeysUpdateOutputMachineAccessInstanceProject: + object: str + id: str + status: str + slug: str + name: str + organization_id: str + created_at: datetime + updated_at: datetime +@dataclass +class DashboardOrganizationsApiKeysUpdateOutputMachineAccessInstance: + object: str + id: str + slug: str + name: str + organization_id: str + type: str + created_at: datetime + updated_at: datetime + project: DashboardOrganizationsApiKeysUpdateOutputMachineAccessInstanceProject +@dataclass +class DashboardOrganizationsApiKeysUpdateOutputMachineAccessOrganization: + object: str + id: str + type: str + slug: str + name: str + image_url: str + created_at: datetime + updated_at: datetime +@dataclass +class DashboardOrganizationsApiKeysUpdateOutputMachineAccessUser: + object: str + id: str + status: str + type: str + email: str + name: str + first_name: str + last_name: str + image_url: str + created_at: datetime + updated_at: datetime +@dataclass +class DashboardOrganizationsApiKeysUpdateOutputMachineAccess: + object: str + id: str + status: str + type: str + name: str + last_used_at: datetime + created_at: datetime + updated_at: datetime + deleted_at: datetime + actor: Optional[DashboardOrganizationsApiKeysUpdateOutputMachineAccessActor] = None + instance: Optional[DashboardOrganizationsApiKeysUpdateOutputMachineAccessInstance] = None + organization: Optional[DashboardOrganizationsApiKeysUpdateOutputMachineAccessOrganization] = None + user: Optional[DashboardOrganizationsApiKeysUpdateOutputMachineAccessUser] = None +@dataclass +class DashboardOrganizationsApiKeysUpdateOutputRevealInfo: + until: datetime + forever: bool +@dataclass +class DashboardOrganizationsApiKeysUpdateOutput: + object: str + id: str + status: str + secret_redacted: str + secret_redacted_long: str + type: str + name: str + ip_filters: List[str] + machine_access: DashboardOrganizationsApiKeysUpdateOutputMachineAccess + created_at: datetime + updated_at: datetime + secret: Optional[str] = None + description: Optional[str] = None + deleted_at: Optional[datetime] = None + last_used_at: Optional[datetime] = None + expires_at: Optional[datetime] = None + reveal_info: Optional[DashboardOrganizationsApiKeysUpdateOutputRevealInfo] = None + + +class mapDashboardOrganizationsApiKeysUpdateOutputMachineAccessActorTeams: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardOrganizationsApiKeysUpdateOutputMachineAccessActorTeams: + return DashboardOrganizationsApiKeysUpdateOutputMachineAccessActorTeams( + id=data.get('id'), + name=data.get('name'), + slug=data.get('slug'), + assignment_id=data.get('assignment_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardOrganizationsApiKeysUpdateOutputMachineAccessActorTeams, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardOrganizationsApiKeysUpdateOutputMachineAccessActor: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardOrganizationsApiKeysUpdateOutputMachineAccessActor: + return DashboardOrganizationsApiKeysUpdateOutputMachineAccessActor( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + organization_id=data.get('organization_id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + teams=[mapDashboardOrganizationsApiKeysUpdateOutputMachineAccessActorTeams.from_dict(item) for item in data.get('teams', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardOrganizationsApiKeysUpdateOutputMachineAccessActor, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardOrganizationsApiKeysUpdateOutputMachineAccessInstanceProject: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardOrganizationsApiKeysUpdateOutputMachineAccessInstanceProject: + return DashboardOrganizationsApiKeysUpdateOutputMachineAccessInstanceProject( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + slug=data.get('slug'), + name=data.get('name'), + organization_id=data.get('organization_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardOrganizationsApiKeysUpdateOutputMachineAccessInstanceProject, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardOrganizationsApiKeysUpdateOutputMachineAccessInstance: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardOrganizationsApiKeysUpdateOutputMachineAccessInstance: + return DashboardOrganizationsApiKeysUpdateOutputMachineAccessInstance( + object=data.get('object'), + id=data.get('id'), + slug=data.get('slug'), + name=data.get('name'), + organization_id=data.get('organization_id'), + type=data.get('type'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + project=mapDashboardOrganizationsApiKeysUpdateOutputMachineAccessInstanceProject.from_dict(data.get('project')) if data.get('project') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardOrganizationsApiKeysUpdateOutputMachineAccessInstance, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardOrganizationsApiKeysUpdateOutputMachineAccessOrganization: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardOrganizationsApiKeysUpdateOutputMachineAccessOrganization: + return DashboardOrganizationsApiKeysUpdateOutputMachineAccessOrganization( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + slug=data.get('slug'), + name=data.get('name'), + image_url=data.get('image_url'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardOrganizationsApiKeysUpdateOutputMachineAccessOrganization, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardOrganizationsApiKeysUpdateOutputMachineAccessUser: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardOrganizationsApiKeysUpdateOutputMachineAccessUser: + return DashboardOrganizationsApiKeysUpdateOutputMachineAccessUser( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + type=data.get('type'), + email=data.get('email'), + name=data.get('name'), + first_name=data.get('first_name'), + last_name=data.get('last_name'), + image_url=data.get('image_url'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardOrganizationsApiKeysUpdateOutputMachineAccessUser, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardOrganizationsApiKeysUpdateOutputMachineAccess: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardOrganizationsApiKeysUpdateOutputMachineAccess: + return DashboardOrganizationsApiKeysUpdateOutputMachineAccess( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + type=data.get('type'), + name=data.get('name'), + last_used_at=datetime.fromisoformat(data.get('last_used_at').replace('Z', '+00:00')) if data.get('last_used_at') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + deleted_at=datetime.fromisoformat(data.get('deleted_at').replace('Z', '+00:00')) if data.get('deleted_at') else None, + actor=mapDashboardOrganizationsApiKeysUpdateOutputMachineAccessActor.from_dict(data.get('actor')) if data.get('actor') else None, + instance=mapDashboardOrganizationsApiKeysUpdateOutputMachineAccessInstance.from_dict(data.get('instance')) if data.get('instance') else None, + organization=mapDashboardOrganizationsApiKeysUpdateOutputMachineAccessOrganization.from_dict(data.get('organization')) if data.get('organization') else None, + user=mapDashboardOrganizationsApiKeysUpdateOutputMachineAccessUser.from_dict(data.get('user')) if data.get('user') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardOrganizationsApiKeysUpdateOutputMachineAccess, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardOrganizationsApiKeysUpdateOutputRevealInfo: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardOrganizationsApiKeysUpdateOutputRevealInfo: + return DashboardOrganizationsApiKeysUpdateOutputRevealInfo( + until=datetime.fromisoformat(data.get('until').replace('Z', '+00:00')) if data.get('until') else None, + forever=data.get('forever') + ) + + @staticmethod + def to_dict(value: Union[DashboardOrganizationsApiKeysUpdateOutputRevealInfo, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardOrganizationsApiKeysUpdateOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardOrganizationsApiKeysUpdateOutput: + return DashboardOrganizationsApiKeysUpdateOutput( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + secret_redacted=data.get('secret_redacted'), + secret_redacted_long=data.get('secret_redacted_long'), + secret=data.get('secret'), + type=data.get('type'), + name=data.get('name'), + description=data.get('description'), + ip_filters=data.get('ip_filters', []), + machine_access=mapDashboardOrganizationsApiKeysUpdateOutputMachineAccess.from_dict(data.get('machine_access')) if data.get('machine_access') else None, + deleted_at=datetime.fromisoformat(data.get('deleted_at').replace('Z', '+00:00')) if data.get('deleted_at') else None, + last_used_at=datetime.fromisoformat(data.get('last_used_at').replace('Z', '+00:00')) if data.get('last_used_at') else None, + expires_at=datetime.fromisoformat(data.get('expires_at').replace('Z', '+00:00')) if data.get('expires_at') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + reveal_info=mapDashboardOrganizationsApiKeysUpdateOutputRevealInfo.from_dict(data.get('reveal_info')) if data.get('reveal_info') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardOrganizationsApiKeysUpdateOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class DashboardOrganizationsApiKeysUpdateBody: + name: Optional[str] = None + description: Optional[str] = None + expires_at: Optional[datetime] = None + ip_filters: Optional[List[str]] = None + + +class mapDashboardOrganizationsApiKeysUpdateBody: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardOrganizationsApiKeysUpdateBody: + return DashboardOrganizationsApiKeysUpdateBody( + name=data.get('name'), + description=data.get('description'), + expires_at=datetime.fromisoformat(data.get('expires_at').replace('Z', '+00:00')) if data.get('expires_at') else None, + ip_filters=data.get('ip_filters', []) + ) + + @staticmethod + def to_dict(value: Union[DashboardOrganizationsApiKeysUpdateBody, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/identity_actors/create.py b/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/identity_actors/create.py index 5f3eb0da..f92a827e 100644 --- a/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/identity_actors/create.py +++ b/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/identity_actors/create.py @@ -15,6 +15,7 @@ class IdentityActorsCreateOutput: description: Optional[str] = None metadata: Optional[Dict[str, Any]] = None agent_id: Optional[str] = None + consumer: Optional[Dict[str, Any]] = None class mapIdentityActorsCreateOutput: @@ -30,7 +31,8 @@ def from_dict(data: Dict[str, Any]) -> IdentityActorsCreateOutput: metadata=data.get('metadata'), agent_id=data.get('agent_id'), created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, - updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + consumer=data.get('consumer') ) @staticmethod diff --git a/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/identity_actors/delete.py b/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/identity_actors/delete.py index 2189a025..68bbc7b0 100644 --- a/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/identity_actors/delete.py +++ b/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/identity_actors/delete.py @@ -15,6 +15,7 @@ class IdentityActorsDeleteOutput: description: Optional[str] = None metadata: Optional[Dict[str, Any]] = None agent_id: Optional[str] = None + consumer: Optional[Dict[str, Any]] = None class mapIdentityActorsDeleteOutput: @@ -30,7 +31,8 @@ def from_dict(data: Dict[str, Any]) -> IdentityActorsDeleteOutput: metadata=data.get('metadata'), agent_id=data.get('agent_id'), created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, - updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + consumer=data.get('consumer') ) @staticmethod diff --git a/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/identity_actors/get.py b/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/identity_actors/get.py index 964af98a..48d5d9ae 100644 --- a/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/identity_actors/get.py +++ b/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/identity_actors/get.py @@ -15,6 +15,7 @@ class IdentityActorsGetOutput: description: Optional[str] = None metadata: Optional[Dict[str, Any]] = None agent_id: Optional[str] = None + consumer: Optional[Dict[str, Any]] = None class mapIdentityActorsGetOutput: @@ -30,7 +31,8 @@ def from_dict(data: Dict[str, Any]) -> IdentityActorsGetOutput: metadata=data.get('metadata'), agent_id=data.get('agent_id'), created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, - updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + consumer=data.get('consumer') ) @staticmethod diff --git a/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/identity_actors/list.py b/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/identity_actors/list.py index c649a77e..c8c3f3eb 100644 --- a/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/identity_actors/list.py +++ b/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/identity_actors/list.py @@ -3,52 +3,16 @@ from datetime import datetime import dataclasses -@dataclass -class IdentityActorsListOutputItems: - object: str - id: str - type: str - status: str - name: str - created_at: datetime - updated_at: datetime - description: Optional[str] = None - metadata: Optional[Dict[str, Any]] = None - agent_id: Optional[str] = None @dataclass class IdentityActorsListOutputPagination: has_more_before: bool has_more_after: bool @dataclass class IdentityActorsListOutput: - items: List[IdentityActorsListOutputItems] + items: List[Dict[str, Any]] pagination: IdentityActorsListOutputPagination -class mapIdentityActorsListOutputItems: - @staticmethod - def from_dict(data: Dict[str, Any]) -> IdentityActorsListOutputItems: - return IdentityActorsListOutputItems( - object=data.get('object'), - id=data.get('id'), - type=data.get('type'), - status=data.get('status'), - name=data.get('name'), - description=data.get('description'), - metadata=data.get('metadata'), - agent_id=data.get('agent_id'), - created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, - updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None - ) - - @staticmethod - def to_dict(value: Union[IdentityActorsListOutputItems, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: - if value is None: - return None - if isinstance(value, dict): - return value - return dataclasses.asdict(value) - class mapIdentityActorsListOutputPagination: @staticmethod def from_dict(data: Dict[str, Any]) -> IdentityActorsListOutputPagination: @@ -69,7 +33,7 @@ class mapIdentityActorsListOutput: @staticmethod def from_dict(data: Dict[str, Any]) -> IdentityActorsListOutput: return IdentityActorsListOutput( - items=[mapIdentityActorsListOutputItems.from_dict(item) for item in data.get('items', []) if item], + items=data.get('items', []), pagination=mapIdentityActorsListOutputPagination.from_dict(data.get('pagination')) if data.get('pagination') else None ) @@ -101,6 +65,7 @@ class IdentityActorsListQuery: status: Optional[Union[str, List[str]]] = None id: Optional[Union[str, List[str]]] = None agent_id: Optional[Union[str, List[str]]] = None + consumer_id: Optional[Union[str, List[str]]] = None created_at: Optional[IdentityActorsListQueryCreatedAt] = None updated_at: Optional[IdentityActorsListQueryUpdatedAt] = None @@ -118,6 +83,7 @@ def from_dict(data: Dict[str, Any]) -> IdentityActorsListQuery: status=data.get('status'), id=data.get('id'), agent_id=data.get('agent_id'), + consumer_id=data.get('consumer_id'), created_at=mapIdentityActorsListQueryCreatedAt.from_dict(data.get('created_at')) if data.get('created_at') else None, updated_at=mapIdentityActorsListQueryUpdatedAt.from_dict(data.get('updated_at')) if data.get('updated_at') else None ) diff --git a/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/identity_actors/update.py b/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/identity_actors/update.py index 9c1392c1..5cc1eaa4 100644 --- a/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/identity_actors/update.py +++ b/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/identity_actors/update.py @@ -15,6 +15,7 @@ class IdentityActorsUpdateOutput: description: Optional[str] = None metadata: Optional[Dict[str, Any]] = None agent_id: Optional[str] = None + consumer: Optional[Dict[str, Any]] = None class mapIdentityActorsUpdateOutput: @@ -30,7 +31,8 @@ def from_dict(data: Dict[str, Any]) -> IdentityActorsUpdateOutput: metadata=data.get('metadata'), agent_id=data.get('agent_id'), created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, - updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + consumer=data.get('consumer') ) @staticmethod diff --git a/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/magic_mcp_servers/create.py b/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/magic_mcp_servers/create.py index 6a0e422f..c146d23e 100644 --- a/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/magic_mcp_servers/create.py +++ b/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/magic_mcp_servers/create.py @@ -71,6 +71,7 @@ class MagicMcpServersCreateBody: name: Optional[str] = None description: Optional[str] = None metadata: Optional[Dict[str, Any]] = None + consumer_profile_id: Optional[str] = None class mapMagicMcpServersCreateBody: @@ -79,7 +80,8 @@ def from_dict(data: Dict[str, Any]) -> MagicMcpServersCreateBody: return MagicMcpServersCreateBody( name=data.get('name'), description=data.get('description'), - metadata=data.get('metadata') + metadata=data.get('metadata'), + consumer_profile_id=data.get('consumer_profile_id') ) @staticmethod diff --git a/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/magic_mcp_servers/list.py b/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/magic_mcp_servers/list.py index 223a150b..6d145e8f 100644 --- a/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/magic_mcp_servers/list.py +++ b/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/magic_mcp_servers/list.py @@ -115,6 +115,8 @@ class MagicMcpServersListQuery: order: Optional[str] = None status: Optional[Union[str, List[str]]] = None magic_mcp_group_id: Optional[Union[str, List[str]]] = None + consumer_id: Optional[Union[str, List[str]]] = None + consumer_profile_id: Optional[Union[str, List[str]]] = None search: Optional[str] = None @@ -129,6 +131,8 @@ def from_dict(data: Dict[str, Any]) -> MagicMcpServersListQuery: order=data.get('order'), status=data.get('status'), magic_mcp_group_id=data.get('magic_mcp_group_id'), + consumer_id=data.get('consumer_id'), + consumer_profile_id=data.get('consumer_profile_id'), search=data.get('search') ) diff --git a/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/management/instance/__init__.py b/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/management/instance/__init__.py index 43c40635..8eeea6c1 100644 --- a/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/management/instance/__init__.py +++ b/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/management/instance/__init__.py @@ -1,4 +1,6 @@ from .callbacks import * +from .consumer_surfaces import * +from .consumers import * from .custom_providers import * from .file_links import * from .files import * diff --git a/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/management/instance/consumer_surfaces/__init__.py b/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/management/instance/consumer_surfaces/__init__.py new file mode 100644 index 00000000..65eb373b --- /dev/null +++ b/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/management/instance/consumer_surfaces/__init__.py @@ -0,0 +1,2 @@ +from .get import * +from .list import * \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/management/instance/consumer_surfaces/get.py b/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/management/instance/consumer_surfaces/get.py new file mode 100644 index 00000000..ab3d209f --- /dev/null +++ b/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/management/instance/consumer_surfaces/get.py @@ -0,0 +1,60 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class ManagementInstanceConsumerSurfacesGetOutputAuth: + object: str + session_expiry_time_in_seconds: float +@dataclass +class ManagementInstanceConsumerSurfacesGetOutput: + object: str + id: str + status: str + name: str + auth: ManagementInstanceConsumerSurfacesGetOutputAuth + created_at: datetime + updated_at: datetime + description: Optional[str] = None + + +class mapManagementInstanceConsumerSurfacesGetOutputAuth: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceConsumerSurfacesGetOutputAuth: + return ManagementInstanceConsumerSurfacesGetOutputAuth( + object=data.get('object'), + session_expiry_time_in_seconds=data.get('session_expiry_time_in_seconds') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceConsumerSurfacesGetOutputAuth, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceConsumerSurfacesGetOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceConsumerSurfacesGetOutput: + return ManagementInstanceConsumerSurfacesGetOutput( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + name=data.get('name'), + description=data.get('description'), + auth=mapManagementInstanceConsumerSurfacesGetOutputAuth.from_dict(data.get('auth')) if data.get('auth') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceConsumerSurfacesGetOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/management/instance/consumer_surfaces/list.py b/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/management/instance/consumer_surfaces/list.py new file mode 100644 index 00000000..b514f537 --- /dev/null +++ b/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/management/instance/consumer_surfaces/list.py @@ -0,0 +1,129 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class ManagementInstanceConsumerSurfacesListOutputItemsAuth: + object: str + session_expiry_time_in_seconds: float +@dataclass +class ManagementInstanceConsumerSurfacesListOutputItems: + object: str + id: str + status: str + name: str + auth: ManagementInstanceConsumerSurfacesListOutputItemsAuth + created_at: datetime + updated_at: datetime + description: Optional[str] = None +@dataclass +class ManagementInstanceConsumerSurfacesListOutputPagination: + has_more_before: bool + has_more_after: bool +@dataclass +class ManagementInstanceConsumerSurfacesListOutput: + items: List[ManagementInstanceConsumerSurfacesListOutputItems] + pagination: ManagementInstanceConsumerSurfacesListOutputPagination + + +class mapManagementInstanceConsumerSurfacesListOutputItemsAuth: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceConsumerSurfacesListOutputItemsAuth: + return ManagementInstanceConsumerSurfacesListOutputItemsAuth( + object=data.get('object'), + session_expiry_time_in_seconds=data.get('session_expiry_time_in_seconds') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceConsumerSurfacesListOutputItemsAuth, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceConsumerSurfacesListOutputItems: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceConsumerSurfacesListOutputItems: + return ManagementInstanceConsumerSurfacesListOutputItems( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + name=data.get('name'), + description=data.get('description'), + auth=mapManagementInstanceConsumerSurfacesListOutputItemsAuth.from_dict(data.get('auth')) if data.get('auth') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceConsumerSurfacesListOutputItems, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceConsumerSurfacesListOutputPagination: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceConsumerSurfacesListOutputPagination: + return ManagementInstanceConsumerSurfacesListOutputPagination( + has_more_before=data.get('has_more_before'), + has_more_after=data.get('has_more_after') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceConsumerSurfacesListOutputPagination, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceConsumerSurfacesListOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceConsumerSurfacesListOutput: + return ManagementInstanceConsumerSurfacesListOutput( + items=[mapManagementInstanceConsumerSurfacesListOutputItems.from_dict(item) for item in data.get('items', []) if item], + pagination=mapManagementInstanceConsumerSurfacesListOutputPagination.from_dict(data.get('pagination')) if data.get('pagination') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceConsumerSurfacesListOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class ManagementInstanceConsumerSurfacesListQuery: + limit: Optional[float] = None + after: Optional[str] = None + before: Optional[str] = None + cursor: Optional[str] = None + order: Optional[str] = None + + +class mapManagementInstanceConsumerSurfacesListQuery: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceConsumerSurfacesListQuery: + return ManagementInstanceConsumerSurfacesListQuery( + limit=data.get('limit'), + after=data.get('after'), + before=data.get('before'), + cursor=data.get('cursor'), + order=data.get('order') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceConsumerSurfacesListQuery, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/management/instance/consumers/__init__.py b/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/management/instance/consumers/__init__.py new file mode 100644 index 00000000..16e3415d --- /dev/null +++ b/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/management/instance/consumers/__init__.py @@ -0,0 +1,6 @@ +from .create import * +from .get import * +from .get_member_consumer import * +from .list import * +from .profiles import * +from .update import * \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/management/instance/consumers/create.py b/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/management/instance/consumers/create.py new file mode 100644 index 00000000..e3b6261a --- /dev/null +++ b/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/management/instance/consumers/create.py @@ -0,0 +1,63 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class ManagementInstanceConsumersCreateOutput: + object: str + id: str + name: str + email: str + created_at: datetime + updated_at: datetime + is_portal_consumer: bool + is_organization_member: bool + + +class mapManagementInstanceConsumersCreateOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceConsumersCreateOutput: + return ManagementInstanceConsumersCreateOutput( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + email=data.get('email'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + is_portal_consumer=data.get('is_portal_consumer'), + is_organization_member=data.get('is_organization_member') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceConsumersCreateOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class ManagementInstanceConsumersCreateBody: + name: str + email: str + + +class mapManagementInstanceConsumersCreateBody: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceConsumersCreateBody: + return ManagementInstanceConsumersCreateBody( + name=data.get('name'), + email=data.get('email') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceConsumersCreateBody, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/management/instance/consumers/get.py b/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/management/instance/consumers/get.py new file mode 100644 index 00000000..827eb0b3 --- /dev/null +++ b/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/management/instance/consumers/get.py @@ -0,0 +1,40 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class ManagementInstanceConsumersGetOutput: + object: str + id: str + name: str + email: str + created_at: datetime + updated_at: datetime + is_portal_consumer: bool + is_organization_member: bool + + +class mapManagementInstanceConsumersGetOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceConsumersGetOutput: + return ManagementInstanceConsumersGetOutput( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + email=data.get('email'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + is_portal_consumer=data.get('is_portal_consumer'), + is_organization_member=data.get('is_organization_member') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceConsumersGetOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/management/instance/consumers/get_member_consumer.py b/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/management/instance/consumers/get_member_consumer.py new file mode 100644 index 00000000..bce50826 --- /dev/null +++ b/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/management/instance/consumers/get_member_consumer.py @@ -0,0 +1,61 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class ManagementInstanceConsumersGetMemberConsumerOutput: + object: str + id: str + name: str + email: str + created_at: datetime + updated_at: datetime + is_portal_consumer: bool + is_organization_member: bool + + +class mapManagementInstanceConsumersGetMemberConsumerOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceConsumersGetMemberConsumerOutput: + return ManagementInstanceConsumersGetMemberConsumerOutput( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + email=data.get('email'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + is_portal_consumer=data.get('is_portal_consumer'), + is_organization_member=data.get('is_organization_member') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceConsumersGetMemberConsumerOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class ManagementInstanceConsumersGetMemberConsumerBody: + surface_identifier: str + + +class mapManagementInstanceConsumersGetMemberConsumerBody: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceConsumersGetMemberConsumerBody: + return ManagementInstanceConsumersGetMemberConsumerBody( + surface_identifier=data.get('surface_identifier') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceConsumersGetMemberConsumerBody, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/management/instance/consumers/list.py b/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/management/instance/consumers/list.py new file mode 100644 index 00000000..894437ef --- /dev/null +++ b/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/management/instance/consumers/list.py @@ -0,0 +1,77 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class ManagementInstanceConsumersListOutputPagination: + has_more_before: bool + has_more_after: bool +@dataclass +class ManagementInstanceConsumersListOutput: + items: List[Dict[str, Any]] + pagination: ManagementInstanceConsumersListOutputPagination + + +class mapManagementInstanceConsumersListOutputPagination: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceConsumersListOutputPagination: + return ManagementInstanceConsumersListOutputPagination( + has_more_before=data.get('has_more_before'), + has_more_after=data.get('has_more_after') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceConsumersListOutputPagination, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceConsumersListOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceConsumersListOutput: + return ManagementInstanceConsumersListOutput( + items=data.get('items', []), + pagination=mapManagementInstanceConsumersListOutputPagination.from_dict(data.get('pagination')) if data.get('pagination') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceConsumersListOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class ManagementInstanceConsumersListQuery: + limit: Optional[float] = None + after: Optional[str] = None + before: Optional[str] = None + cursor: Optional[str] = None + order: Optional[str] = None + + +class mapManagementInstanceConsumersListQuery: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceConsumersListQuery: + return ManagementInstanceConsumersListQuery( + limit=data.get('limit'), + after=data.get('after'), + before=data.get('before'), + cursor=data.get('cursor'), + order=data.get('order') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceConsumersListQuery, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/management/instance/consumers/profiles/__init__.py b/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/management/instance/consumers/profiles/__init__.py new file mode 100644 index 00000000..65eb373b --- /dev/null +++ b/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/management/instance/consumers/profiles/__init__.py @@ -0,0 +1,2 @@ +from .get import * +from .list import * \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/management/instance/consumers/profiles/get.py b/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/management/instance/consumers/profiles/get.py new file mode 100644 index 00000000..99506788 --- /dev/null +++ b/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/management/instance/consumers/profiles/get.py @@ -0,0 +1,74 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class ManagementInstanceConsumersProfilesGetOutputGroupsGroup: + object: str + id: str + status: str + name: str + is_default: bool + sso_group_ids: List[str] + created_at: datetime + updated_at: datetime + description: Optional[str] = None +@dataclass +class ManagementInstanceConsumersProfilesGetOutputGroups: + object: str + group: ManagementInstanceConsumersProfilesGetOutputGroupsGroup + assigned_via: str +@dataclass +class ManagementInstanceConsumersProfilesGetOutputSurfaceAuth: + object: str + session_expiry_time_in_seconds: float +@dataclass +class ManagementInstanceConsumersProfilesGetOutputSurface: + object: str + id: str + status: str + name: str + auth: ManagementInstanceConsumersProfilesGetOutputSurfaceAuth + created_at: datetime + updated_at: datetime + description: Optional[str] = None +@dataclass +class ManagementInstanceConsumersProfilesGetOutput: + object: str + id: str + name: str + email: str + image_url: str + consumer_id: str + created_at: datetime + updated_at: datetime + surface: ManagementInstanceConsumersProfilesGetOutputSurface + groups: Optional[List[ManagementInstanceConsumersProfilesGetOutputGroups]] = None + + +class mapManagementInstanceConsumersProfilesGetOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceConsumersProfilesGetOutput: + return ManagementInstanceConsumersProfilesGetOutput( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + groups=[mapManagementInstanceConsumersProfilesGetOutputGroups.from_dict(item) for item in data.get('groups', []) if item], + consumer_id=data.get('consumer_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + surface=mapManagementInstanceConsumersProfilesGetOutputSurface.from_dict(data.get('surface')) if data.get('surface') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceConsumersProfilesGetOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/management/instance/consumers/profiles/list.py b/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/management/instance/consumers/profiles/list.py new file mode 100644 index 00000000..ca0e26c0 --- /dev/null +++ b/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/management/instance/consumers/profiles/list.py @@ -0,0 +1,77 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class ManagementInstanceConsumersProfilesListOutputPagination: + has_more_before: bool + has_more_after: bool +@dataclass +class ManagementInstanceConsumersProfilesListOutput: + items: List[Dict[str, Any]] + pagination: ManagementInstanceConsumersProfilesListOutputPagination + + +class mapManagementInstanceConsumersProfilesListOutputPagination: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceConsumersProfilesListOutputPagination: + return ManagementInstanceConsumersProfilesListOutputPagination( + has_more_before=data.get('has_more_before'), + has_more_after=data.get('has_more_after') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceConsumersProfilesListOutputPagination, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceConsumersProfilesListOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceConsumersProfilesListOutput: + return ManagementInstanceConsumersProfilesListOutput( + items=data.get('items', []), + pagination=mapManagementInstanceConsumersProfilesListOutputPagination.from_dict(data.get('pagination')) if data.get('pagination') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceConsumersProfilesListOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class ManagementInstanceConsumersProfilesListQuery: + limit: Optional[float] = None + after: Optional[str] = None + before: Optional[str] = None + cursor: Optional[str] = None + order: Optional[str] = None + + +class mapManagementInstanceConsumersProfilesListQuery: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceConsumersProfilesListQuery: + return ManagementInstanceConsumersProfilesListQuery( + limit=data.get('limit'), + after=data.get('after'), + before=data.get('before'), + cursor=data.get('cursor'), + order=data.get('order') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceConsumersProfilesListQuery, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/management/instance/consumers/update.py b/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/management/instance/consumers/update.py new file mode 100644 index 00000000..300b4a34 --- /dev/null +++ b/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/management/instance/consumers/update.py @@ -0,0 +1,63 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class ManagementInstanceConsumersUpdateOutput: + object: str + id: str + name: str + email: str + created_at: datetime + updated_at: datetime + is_portal_consumer: bool + is_organization_member: bool + + +class mapManagementInstanceConsumersUpdateOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceConsumersUpdateOutput: + return ManagementInstanceConsumersUpdateOutput( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + email=data.get('email'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + is_portal_consumer=data.get('is_portal_consumer'), + is_organization_member=data.get('is_organization_member') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceConsumersUpdateOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class ManagementInstanceConsumersUpdateBody: + name: Optional[str] = None + email: Optional[str] = None + + +class mapManagementInstanceConsumersUpdateBody: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceConsumersUpdateBody: + return ManagementInstanceConsumersUpdateBody( + name=data.get('name'), + email=data.get('email') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceConsumersUpdateBody, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/management/instance/identity_actors/create.py b/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/management/instance/identity_actors/create.py index ba7d895f..ae046fc8 100644 --- a/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/management/instance/identity_actors/create.py +++ b/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/management/instance/identity_actors/create.py @@ -15,6 +15,7 @@ class ManagementInstanceIdentityActorsCreateOutput: description: Optional[str] = None metadata: Optional[Dict[str, Any]] = None agent_id: Optional[str] = None + consumer: Optional[Dict[str, Any]] = None class mapManagementInstanceIdentityActorsCreateOutput: @@ -30,7 +31,8 @@ def from_dict(data: Dict[str, Any]) -> ManagementInstanceIdentityActorsCreateOut metadata=data.get('metadata'), agent_id=data.get('agent_id'), created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, - updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + consumer=data.get('consumer') ) @staticmethod diff --git a/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/management/instance/identity_actors/delete.py b/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/management/instance/identity_actors/delete.py index 9f9df09b..e4f409d4 100644 --- a/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/management/instance/identity_actors/delete.py +++ b/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/management/instance/identity_actors/delete.py @@ -15,6 +15,7 @@ class ManagementInstanceIdentityActorsDeleteOutput: description: Optional[str] = None metadata: Optional[Dict[str, Any]] = None agent_id: Optional[str] = None + consumer: Optional[Dict[str, Any]] = None class mapManagementInstanceIdentityActorsDeleteOutput: @@ -30,7 +31,8 @@ def from_dict(data: Dict[str, Any]) -> ManagementInstanceIdentityActorsDeleteOut metadata=data.get('metadata'), agent_id=data.get('agent_id'), created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, - updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + consumer=data.get('consumer') ) @staticmethod diff --git a/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/management/instance/identity_actors/get.py b/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/management/instance/identity_actors/get.py index 3e6823b3..472eac69 100644 --- a/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/management/instance/identity_actors/get.py +++ b/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/management/instance/identity_actors/get.py @@ -15,6 +15,7 @@ class ManagementInstanceIdentityActorsGetOutput: description: Optional[str] = None metadata: Optional[Dict[str, Any]] = None agent_id: Optional[str] = None + consumer: Optional[Dict[str, Any]] = None class mapManagementInstanceIdentityActorsGetOutput: @@ -30,7 +31,8 @@ def from_dict(data: Dict[str, Any]) -> ManagementInstanceIdentityActorsGetOutput metadata=data.get('metadata'), agent_id=data.get('agent_id'), created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, - updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + consumer=data.get('consumer') ) @staticmethod diff --git a/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/management/instance/identity_actors/list.py b/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/management/instance/identity_actors/list.py index 4a67c5bc..eea858de 100644 --- a/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/management/instance/identity_actors/list.py +++ b/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/management/instance/identity_actors/list.py @@ -3,52 +3,16 @@ from datetime import datetime import dataclasses -@dataclass -class ManagementInstanceIdentityActorsListOutputItems: - object: str - id: str - type: str - status: str - name: str - created_at: datetime - updated_at: datetime - description: Optional[str] = None - metadata: Optional[Dict[str, Any]] = None - agent_id: Optional[str] = None @dataclass class ManagementInstanceIdentityActorsListOutputPagination: has_more_before: bool has_more_after: bool @dataclass class ManagementInstanceIdentityActorsListOutput: - items: List[ManagementInstanceIdentityActorsListOutputItems] + items: List[Dict[str, Any]] pagination: ManagementInstanceIdentityActorsListOutputPagination -class mapManagementInstanceIdentityActorsListOutputItems: - @staticmethod - def from_dict(data: Dict[str, Any]) -> ManagementInstanceIdentityActorsListOutputItems: - return ManagementInstanceIdentityActorsListOutputItems( - object=data.get('object'), - id=data.get('id'), - type=data.get('type'), - status=data.get('status'), - name=data.get('name'), - description=data.get('description'), - metadata=data.get('metadata'), - agent_id=data.get('agent_id'), - created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, - updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None - ) - - @staticmethod - def to_dict(value: Union[ManagementInstanceIdentityActorsListOutputItems, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: - if value is None: - return None - if isinstance(value, dict): - return value - return dataclasses.asdict(value) - class mapManagementInstanceIdentityActorsListOutputPagination: @staticmethod def from_dict(data: Dict[str, Any]) -> ManagementInstanceIdentityActorsListOutputPagination: @@ -69,7 +33,7 @@ class mapManagementInstanceIdentityActorsListOutput: @staticmethod def from_dict(data: Dict[str, Any]) -> ManagementInstanceIdentityActorsListOutput: return ManagementInstanceIdentityActorsListOutput( - items=[mapManagementInstanceIdentityActorsListOutputItems.from_dict(item) for item in data.get('items', []) if item], + items=data.get('items', []), pagination=mapManagementInstanceIdentityActorsListOutputPagination.from_dict(data.get('pagination')) if data.get('pagination') else None ) @@ -101,6 +65,7 @@ class ManagementInstanceIdentityActorsListQuery: status: Optional[Union[str, List[str]]] = None id: Optional[Union[str, List[str]]] = None agent_id: Optional[Union[str, List[str]]] = None + consumer_id: Optional[Union[str, List[str]]] = None created_at: Optional[ManagementInstanceIdentityActorsListQueryCreatedAt] = None updated_at: Optional[ManagementInstanceIdentityActorsListQueryUpdatedAt] = None @@ -118,6 +83,7 @@ def from_dict(data: Dict[str, Any]) -> ManagementInstanceIdentityActorsListQuery status=data.get('status'), id=data.get('id'), agent_id=data.get('agent_id'), + consumer_id=data.get('consumer_id'), created_at=mapManagementInstanceIdentityActorsListQueryCreatedAt.from_dict(data.get('created_at')) if data.get('created_at') else None, updated_at=mapManagementInstanceIdentityActorsListQueryUpdatedAt.from_dict(data.get('updated_at')) if data.get('updated_at') else None ) diff --git a/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/management/instance/identity_actors/update.py b/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/management/instance/identity_actors/update.py index 7febce4d..717e0cc0 100644 --- a/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/management/instance/identity_actors/update.py +++ b/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/management/instance/identity_actors/update.py @@ -15,6 +15,7 @@ class ManagementInstanceIdentityActorsUpdateOutput: description: Optional[str] = None metadata: Optional[Dict[str, Any]] = None agent_id: Optional[str] = None + consumer: Optional[Dict[str, Any]] = None class mapManagementInstanceIdentityActorsUpdateOutput: @@ -30,7 +31,8 @@ def from_dict(data: Dict[str, Any]) -> ManagementInstanceIdentityActorsUpdateOut metadata=data.get('metadata'), agent_id=data.get('agent_id'), created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, - updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + consumer=data.get('consumer') ) @staticmethod diff --git a/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/management/instance/magic_mcp_servers/create.py b/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/management/instance/magic_mcp_servers/create.py index a5228698..b8e23116 100644 --- a/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/management/instance/magic_mcp_servers/create.py +++ b/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/management/instance/magic_mcp_servers/create.py @@ -71,6 +71,7 @@ class ManagementInstanceMagicMcpServersCreateBody: name: Optional[str] = None description: Optional[str] = None metadata: Optional[Dict[str, Any]] = None + consumer_profile_id: Optional[str] = None class mapManagementInstanceMagicMcpServersCreateBody: @@ -79,7 +80,8 @@ def from_dict(data: Dict[str, Any]) -> ManagementInstanceMagicMcpServersCreateBo return ManagementInstanceMagicMcpServersCreateBody( name=data.get('name'), description=data.get('description'), - metadata=data.get('metadata') + metadata=data.get('metadata'), + consumer_profile_id=data.get('consumer_profile_id') ) @staticmethod diff --git a/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/management/instance/magic_mcp_servers/list.py b/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/management/instance/magic_mcp_servers/list.py index f60fc7a4..92be168d 100644 --- a/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/management/instance/magic_mcp_servers/list.py +++ b/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/management/instance/magic_mcp_servers/list.py @@ -115,6 +115,8 @@ class ManagementInstanceMagicMcpServersListQuery: order: Optional[str] = None status: Optional[Union[str, List[str]]] = None magic_mcp_group_id: Optional[Union[str, List[str]]] = None + consumer_id: Optional[Union[str, List[str]]] = None + consumer_profile_id: Optional[Union[str, List[str]]] = None search: Optional[str] = None @@ -129,6 +131,8 @@ def from_dict(data: Dict[str, Any]) -> ManagementInstanceMagicMcpServersListQuer order=data.get('order'), status=data.get('status'), magic_mcp_group_id=data.get('magic_mcp_group_id'), + consumer_id=data.get('consumer_id'), + consumer_profile_id=data.get('consumer_profile_id'), search=data.get('search') ) diff --git a/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/management/instance/portals/consumer_profiles/assign_groups.py b/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/management/instance/portals/consumer_profiles/assign_groups.py index c79d7033..b9a7261e 100644 --- a/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/management/instance/portals/consumer_profiles/assign_groups.py +++ b/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/management/instance/portals/consumer_profiles/assign_groups.py @@ -20,6 +20,20 @@ class ManagementInstancePortalsConsumerProfilesAssignGroupsOutputGroups: group: ManagementInstancePortalsConsumerProfilesAssignGroupsOutputGroupsGroup assigned_via: str @dataclass +class ManagementInstancePortalsConsumerProfilesAssignGroupsOutputSurfaceAuth: + object: str + session_expiry_time_in_seconds: float +@dataclass +class ManagementInstancePortalsConsumerProfilesAssignGroupsOutputSurface: + object: str + id: str + status: str + name: str + auth: ManagementInstancePortalsConsumerProfilesAssignGroupsOutputSurfaceAuth + created_at: datetime + updated_at: datetime + description: Optional[str] = None +@dataclass class ManagementInstancePortalsConsumerProfilesAssignGroupsOutput: object: str id: str @@ -29,49 +43,10 @@ class ManagementInstancePortalsConsumerProfilesAssignGroupsOutput: consumer_id: str created_at: datetime updated_at: datetime + surface: ManagementInstancePortalsConsumerProfilesAssignGroupsOutputSurface groups: Optional[List[ManagementInstancePortalsConsumerProfilesAssignGroupsOutputGroups]] = None -class mapManagementInstancePortalsConsumerProfilesAssignGroupsOutputGroupsGroup: - @staticmethod - def from_dict(data: Dict[str, Any]) -> ManagementInstancePortalsConsumerProfilesAssignGroupsOutputGroupsGroup: - return ManagementInstancePortalsConsumerProfilesAssignGroupsOutputGroupsGroup( - object=data.get('object'), - id=data.get('id'), - status=data.get('status'), - name=data.get('name'), - description=data.get('description'), - is_default=data.get('is_default'), - sso_group_ids=data.get('sso_group_ids', []), - created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, - updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None - ) - - @staticmethod - def to_dict(value: Union[ManagementInstancePortalsConsumerProfilesAssignGroupsOutputGroupsGroup, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: - if value is None: - return None - if isinstance(value, dict): - return value - return dataclasses.asdict(value) - -class mapManagementInstancePortalsConsumerProfilesAssignGroupsOutputGroups: - @staticmethod - def from_dict(data: Dict[str, Any]) -> ManagementInstancePortalsConsumerProfilesAssignGroupsOutputGroups: - return ManagementInstancePortalsConsumerProfilesAssignGroupsOutputGroups( - object=data.get('object'), - group=mapManagementInstancePortalsConsumerProfilesAssignGroupsOutputGroupsGroup.from_dict(data.get('group')) if data.get('group') else None, - assigned_via=data.get('assigned_via') - ) - - @staticmethod - def to_dict(value: Union[ManagementInstancePortalsConsumerProfilesAssignGroupsOutputGroups, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: - if value is None: - return None - if isinstance(value, dict): - return value - return dataclasses.asdict(value) - class mapManagementInstancePortalsConsumerProfilesAssignGroupsOutput: @staticmethod def from_dict(data: Dict[str, Any]) -> ManagementInstancePortalsConsumerProfilesAssignGroupsOutput: @@ -84,7 +59,8 @@ def from_dict(data: Dict[str, Any]) -> ManagementInstancePortalsConsumerProfiles groups=[mapManagementInstancePortalsConsumerProfilesAssignGroupsOutputGroups.from_dict(item) for item in data.get('groups', []) if item], consumer_id=data.get('consumer_id'), created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, - updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + surface=mapManagementInstancePortalsConsumerProfilesAssignGroupsOutputSurface.from_dict(data.get('surface')) if data.get('surface') else None ) @staticmethod diff --git a/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/management/instance/portals/consumer_profiles/get.py b/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/management/instance/portals/consumer_profiles/get.py index 4e08cf3c..53fc98f0 100644 --- a/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/management/instance/portals/consumer_profiles/get.py +++ b/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/management/instance/portals/consumer_profiles/get.py @@ -20,6 +20,20 @@ class ManagementInstancePortalsConsumerProfilesGetOutputGroups: group: ManagementInstancePortalsConsumerProfilesGetOutputGroupsGroup assigned_via: str @dataclass +class ManagementInstancePortalsConsumerProfilesGetOutputSurfaceAuth: + object: str + session_expiry_time_in_seconds: float +@dataclass +class ManagementInstancePortalsConsumerProfilesGetOutputSurface: + object: str + id: str + status: str + name: str + auth: ManagementInstancePortalsConsumerProfilesGetOutputSurfaceAuth + created_at: datetime + updated_at: datetime + description: Optional[str] = None +@dataclass class ManagementInstancePortalsConsumerProfilesGetOutput: object: str id: str @@ -29,49 +43,10 @@ class ManagementInstancePortalsConsumerProfilesGetOutput: consumer_id: str created_at: datetime updated_at: datetime + surface: ManagementInstancePortalsConsumerProfilesGetOutputSurface groups: Optional[List[ManagementInstancePortalsConsumerProfilesGetOutputGroups]] = None -class mapManagementInstancePortalsConsumerProfilesGetOutputGroupsGroup: - @staticmethod - def from_dict(data: Dict[str, Any]) -> ManagementInstancePortalsConsumerProfilesGetOutputGroupsGroup: - return ManagementInstancePortalsConsumerProfilesGetOutputGroupsGroup( - object=data.get('object'), - id=data.get('id'), - status=data.get('status'), - name=data.get('name'), - description=data.get('description'), - is_default=data.get('is_default'), - sso_group_ids=data.get('sso_group_ids', []), - created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, - updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None - ) - - @staticmethod - def to_dict(value: Union[ManagementInstancePortalsConsumerProfilesGetOutputGroupsGroup, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: - if value is None: - return None - if isinstance(value, dict): - return value - return dataclasses.asdict(value) - -class mapManagementInstancePortalsConsumerProfilesGetOutputGroups: - @staticmethod - def from_dict(data: Dict[str, Any]) -> ManagementInstancePortalsConsumerProfilesGetOutputGroups: - return ManagementInstancePortalsConsumerProfilesGetOutputGroups( - object=data.get('object'), - group=mapManagementInstancePortalsConsumerProfilesGetOutputGroupsGroup.from_dict(data.get('group')) if data.get('group') else None, - assigned_via=data.get('assigned_via') - ) - - @staticmethod - def to_dict(value: Union[ManagementInstancePortalsConsumerProfilesGetOutputGroups, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: - if value is None: - return None - if isinstance(value, dict): - return value - return dataclasses.asdict(value) - class mapManagementInstancePortalsConsumerProfilesGetOutput: @staticmethod def from_dict(data: Dict[str, Any]) -> ManagementInstancePortalsConsumerProfilesGetOutput: @@ -84,7 +59,8 @@ def from_dict(data: Dict[str, Any]) -> ManagementInstancePortalsConsumerProfiles groups=[mapManagementInstancePortalsConsumerProfilesGetOutputGroups.from_dict(item) for item in data.get('groups', []) if item], consumer_id=data.get('consumer_id'), created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, - updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + surface=mapManagementInstancePortalsConsumerProfilesGetOutputSurface.from_dict(data.get('surface')) if data.get('surface') else None ) @staticmethod diff --git a/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/management/instance/portals/consumer_profiles/list.py b/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/management/instance/portals/consumer_profiles/list.py index 806d8822..834fce7a 100644 --- a/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/management/instance/portals/consumer_profiles/list.py +++ b/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/management/instance/portals/consumer_profiles/list.py @@ -3,106 +3,16 @@ from datetime import datetime import dataclasses -@dataclass -class ManagementInstancePortalsConsumerProfilesListOutputItemsGroupsGroup: - object: str - id: str - status: str - name: str - is_default: bool - sso_group_ids: List[str] - created_at: datetime - updated_at: datetime - description: Optional[str] = None -@dataclass -class ManagementInstancePortalsConsumerProfilesListOutputItemsGroups: - object: str - group: ManagementInstancePortalsConsumerProfilesListOutputItemsGroupsGroup - assigned_via: str -@dataclass -class ManagementInstancePortalsConsumerProfilesListOutputItems: - object: str - id: str - name: str - email: str - image_url: str - consumer_id: str - created_at: datetime - updated_at: datetime - groups: Optional[List[ManagementInstancePortalsConsumerProfilesListOutputItemsGroups]] = None @dataclass class ManagementInstancePortalsConsumerProfilesListOutputPagination: has_more_before: bool has_more_after: bool @dataclass class ManagementInstancePortalsConsumerProfilesListOutput: - items: List[ManagementInstancePortalsConsumerProfilesListOutputItems] + items: List[Dict[str, Any]] pagination: ManagementInstancePortalsConsumerProfilesListOutputPagination -class mapManagementInstancePortalsConsumerProfilesListOutputItemsGroupsGroup: - @staticmethod - def from_dict(data: Dict[str, Any]) -> ManagementInstancePortalsConsumerProfilesListOutputItemsGroupsGroup: - return ManagementInstancePortalsConsumerProfilesListOutputItemsGroupsGroup( - object=data.get('object'), - id=data.get('id'), - status=data.get('status'), - name=data.get('name'), - description=data.get('description'), - is_default=data.get('is_default'), - sso_group_ids=data.get('sso_group_ids', []), - created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, - updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None - ) - - @staticmethod - def to_dict(value: Union[ManagementInstancePortalsConsumerProfilesListOutputItemsGroupsGroup, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: - if value is None: - return None - if isinstance(value, dict): - return value - return dataclasses.asdict(value) - -class mapManagementInstancePortalsConsumerProfilesListOutputItemsGroups: - @staticmethod - def from_dict(data: Dict[str, Any]) -> ManagementInstancePortalsConsumerProfilesListOutputItemsGroups: - return ManagementInstancePortalsConsumerProfilesListOutputItemsGroups( - object=data.get('object'), - group=mapManagementInstancePortalsConsumerProfilesListOutputItemsGroupsGroup.from_dict(data.get('group')) if data.get('group') else None, - assigned_via=data.get('assigned_via') - ) - - @staticmethod - def to_dict(value: Union[ManagementInstancePortalsConsumerProfilesListOutputItemsGroups, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: - if value is None: - return None - if isinstance(value, dict): - return value - return dataclasses.asdict(value) - -class mapManagementInstancePortalsConsumerProfilesListOutputItems: - @staticmethod - def from_dict(data: Dict[str, Any]) -> ManagementInstancePortalsConsumerProfilesListOutputItems: - return ManagementInstancePortalsConsumerProfilesListOutputItems( - object=data.get('object'), - id=data.get('id'), - name=data.get('name'), - email=data.get('email'), - image_url=data.get('image_url'), - groups=[mapManagementInstancePortalsConsumerProfilesListOutputItemsGroups.from_dict(item) for item in data.get('groups', []) if item], - consumer_id=data.get('consumer_id'), - created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, - updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None - ) - - @staticmethod - def to_dict(value: Union[ManagementInstancePortalsConsumerProfilesListOutputItems, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: - if value is None: - return None - if isinstance(value, dict): - return value - return dataclasses.asdict(value) - class mapManagementInstancePortalsConsumerProfilesListOutputPagination: @staticmethod def from_dict(data: Dict[str, Any]) -> ManagementInstancePortalsConsumerProfilesListOutputPagination: @@ -123,7 +33,7 @@ class mapManagementInstancePortalsConsumerProfilesListOutput: @staticmethod def from_dict(data: Dict[str, Any]) -> ManagementInstancePortalsConsumerProfilesListOutput: return ManagementInstancePortalsConsumerProfilesListOutput( - items=[mapManagementInstancePortalsConsumerProfilesListOutputItems.from_dict(item) for item in data.get('items', []) if item], + items=data.get('items', []), pagination=mapManagementInstancePortalsConsumerProfilesListOutputPagination.from_dict(data.get('pagination')) if data.get('pagination') else None ) diff --git a/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/management/instance/portals/consumer_profiles/unassign_groups.py b/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/management/instance/portals/consumer_profiles/unassign_groups.py index bf6d58cd..9d8a4c85 100644 --- a/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/management/instance/portals/consumer_profiles/unassign_groups.py +++ b/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/management/instance/portals/consumer_profiles/unassign_groups.py @@ -20,6 +20,20 @@ class ManagementInstancePortalsConsumerProfilesUnassignGroupsOutputGroups: group: ManagementInstancePortalsConsumerProfilesUnassignGroupsOutputGroupsGroup assigned_via: str @dataclass +class ManagementInstancePortalsConsumerProfilesUnassignGroupsOutputSurfaceAuth: + object: str + session_expiry_time_in_seconds: float +@dataclass +class ManagementInstancePortalsConsumerProfilesUnassignGroupsOutputSurface: + object: str + id: str + status: str + name: str + auth: ManagementInstancePortalsConsumerProfilesUnassignGroupsOutputSurfaceAuth + created_at: datetime + updated_at: datetime + description: Optional[str] = None +@dataclass class ManagementInstancePortalsConsumerProfilesUnassignGroupsOutput: object: str id: str @@ -29,49 +43,10 @@ class ManagementInstancePortalsConsumerProfilesUnassignGroupsOutput: consumer_id: str created_at: datetime updated_at: datetime + surface: ManagementInstancePortalsConsumerProfilesUnassignGroupsOutputSurface groups: Optional[List[ManagementInstancePortalsConsumerProfilesUnassignGroupsOutputGroups]] = None -class mapManagementInstancePortalsConsumerProfilesUnassignGroupsOutputGroupsGroup: - @staticmethod - def from_dict(data: Dict[str, Any]) -> ManagementInstancePortalsConsumerProfilesUnassignGroupsOutputGroupsGroup: - return ManagementInstancePortalsConsumerProfilesUnassignGroupsOutputGroupsGroup( - object=data.get('object'), - id=data.get('id'), - status=data.get('status'), - name=data.get('name'), - description=data.get('description'), - is_default=data.get('is_default'), - sso_group_ids=data.get('sso_group_ids', []), - created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, - updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None - ) - - @staticmethod - def to_dict(value: Union[ManagementInstancePortalsConsumerProfilesUnassignGroupsOutputGroupsGroup, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: - if value is None: - return None - if isinstance(value, dict): - return value - return dataclasses.asdict(value) - -class mapManagementInstancePortalsConsumerProfilesUnassignGroupsOutputGroups: - @staticmethod - def from_dict(data: Dict[str, Any]) -> ManagementInstancePortalsConsumerProfilesUnassignGroupsOutputGroups: - return ManagementInstancePortalsConsumerProfilesUnassignGroupsOutputGroups( - object=data.get('object'), - group=mapManagementInstancePortalsConsumerProfilesUnassignGroupsOutputGroupsGroup.from_dict(data.get('group')) if data.get('group') else None, - assigned_via=data.get('assigned_via') - ) - - @staticmethod - def to_dict(value: Union[ManagementInstancePortalsConsumerProfilesUnassignGroupsOutputGroups, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: - if value is None: - return None - if isinstance(value, dict): - return value - return dataclasses.asdict(value) - class mapManagementInstancePortalsConsumerProfilesUnassignGroupsOutput: @staticmethod def from_dict(data: Dict[str, Any]) -> ManagementInstancePortalsConsumerProfilesUnassignGroupsOutput: @@ -84,7 +59,8 @@ def from_dict(data: Dict[str, Any]) -> ManagementInstancePortalsConsumerProfiles groups=[mapManagementInstancePortalsConsumerProfilesUnassignGroupsOutputGroups.from_dict(item) for item in data.get('groups', []) if item], consumer_id=data.get('consumer_id'), created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, - updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + surface=mapManagementInstancePortalsConsumerProfilesUnassignGroupsOutputSurface.from_dict(data.get('surface')) if data.get('surface') else None ) @staticmethod diff --git a/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/management/instance/provider_deployments/auth_configs/list.py b/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/management/instance/provider_deployments/auth_configs/list.py index 5192dda3..1b0ffd43 100644 --- a/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/management/instance/provider_deployments/auth_configs/list.py +++ b/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/management/instance/provider_deployments/auth_configs/list.py @@ -297,6 +297,10 @@ class ManagementInstanceProviderDeploymentsAuthConfigsListQuery: provider_deployment_id: Optional[Union[str, List[str]]] = None provider_auth_credentials_id: Optional[Union[str, List[str]]] = None provider_auth_method_id: Optional[Union[str, List[str]]] = None + actor_id: Optional[Union[str, List[str]]] = None + consumer_id: Optional[Union[str, List[str]]] = None + identity_id: Optional[Union[str, List[str]]] = None + identity_credential_id: Optional[Union[str, List[str]]] = None search: Optional[str] = None created_at: Optional[ManagementInstanceProviderDeploymentsAuthConfigsListQueryCreatedAt] = None updated_at: Optional[ManagementInstanceProviderDeploymentsAuthConfigsListQueryUpdatedAt] = None @@ -317,6 +321,10 @@ def from_dict(data: Dict[str, Any]) -> ManagementInstanceProviderDeploymentsAuth provider_deployment_id=data.get('provider_deployment_id'), provider_auth_credentials_id=data.get('provider_auth_credentials_id'), provider_auth_method_id=data.get('provider_auth_method_id'), + actor_id=data.get('actor_id'), + consumer_id=data.get('consumer_id'), + identity_id=data.get('identity_id'), + identity_credential_id=data.get('identity_credential_id'), search=data.get('search'), created_at=mapManagementInstanceProviderDeploymentsAuthConfigsListQueryCreatedAt.from_dict(data.get('created_at')) if data.get('created_at') else None, updated_at=mapManagementInstanceProviderDeploymentsAuthConfigsListQueryUpdatedAt.from_dict(data.get('updated_at')) if data.get('updated_at') else None diff --git a/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/management/instance/provider_deployments/configs/list.py b/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/management/instance/provider_deployments/configs/list.py index f15b2a22..9483ab8e 100644 --- a/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/management/instance/provider_deployments/configs/list.py +++ b/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/management/instance/provider_deployments/configs/list.py @@ -211,6 +211,10 @@ class ManagementInstanceProviderDeploymentsConfigsListQuery: provider_specification_id: Optional[Union[str, List[str]]] = None provider_deployment_id: Optional[Union[str, List[str]]] = None provider_config_vault_id: Optional[Union[str, List[str]]] = None + actor_id: Optional[Union[str, List[str]]] = None + consumer_id: Optional[Union[str, List[str]]] = None + identity_id: Optional[Union[str, List[str]]] = None + identity_credential_id: Optional[Union[str, List[str]]] = None search: Optional[str] = None created_at: Optional[ManagementInstanceProviderDeploymentsConfigsListQueryCreatedAt] = None updated_at: Optional[ManagementInstanceProviderDeploymentsConfigsListQueryUpdatedAt] = None @@ -231,6 +235,10 @@ def from_dict(data: Dict[str, Any]) -> ManagementInstanceProviderDeploymentsConf provider_specification_id=data.get('provider_specification_id'), provider_deployment_id=data.get('provider_deployment_id'), provider_config_vault_id=data.get('provider_config_vault_id'), + actor_id=data.get('actor_id'), + consumer_id=data.get('consumer_id'), + identity_id=data.get('identity_id'), + identity_credential_id=data.get('identity_credential_id'), search=data.get('search'), created_at=mapManagementInstanceProviderDeploymentsConfigsListQueryCreatedAt.from_dict(data.get('created_at')) if data.get('created_at') else None, updated_at=mapManagementInstanceProviderDeploymentsConfigsListQueryUpdatedAt.from_dict(data.get('updated_at')) if data.get('updated_at') else None diff --git a/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/management/instance/provider_deployments/list.py b/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/management/instance/provider_deployments/list.py index b4ca2da4..c9642001 100644 --- a/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/management/instance/provider_deployments/list.py +++ b/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/management/instance/provider_deployments/list.py @@ -185,6 +185,10 @@ class ManagementInstanceProviderDeploymentsListQuery: id: Optional[Union[str, List[str]]] = None provider_id: Optional[Union[str, List[str]]] = None provider_version_id: Optional[Union[str, List[str]]] = None + actor_id: Optional[Union[str, List[str]]] = None + consumer_id: Optional[Union[str, List[str]]] = None + identity_id: Optional[Union[str, List[str]]] = None + identity_credential_id: Optional[Union[str, List[str]]] = None status: Optional[Union[str, List[str]]] = None capabilities: Optional[ManagementInstanceProviderDeploymentsListQueryCapabilities] = None search: Optional[str] = None @@ -204,6 +208,10 @@ def from_dict(data: Dict[str, Any]) -> ManagementInstanceProviderDeploymentsList id=data.get('id'), provider_id=data.get('provider_id'), provider_version_id=data.get('provider_version_id'), + actor_id=data.get('actor_id'), + consumer_id=data.get('consumer_id'), + identity_id=data.get('identity_id'), + identity_credential_id=data.get('identity_credential_id'), status=data.get('status'), capabilities=mapManagementInstanceProviderDeploymentsListQueryCapabilities.from_dict(data.get('capabilities')) if data.get('capabilities') else None, search=data.get('search'), diff --git a/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/management/organization/__init__.py b/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/management/organization/__init__.py index 49bed280..9c3e0b22 100644 --- a/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/management/organization/__init__.py +++ b/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/management/organization/__init__.py @@ -1,5 +1,6 @@ from .access_policies import * from .access_roles import * +from .api_keys import * from .get import * from .instances import * from .invites import * diff --git a/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/management/organization/api_keys/__init__.py b/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/management/organization/api_keys/__init__.py new file mode 100644 index 00000000..2764f766 --- /dev/null +++ b/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/management/organization/api_keys/__init__.py @@ -0,0 +1,5 @@ +from .create import * +from .get import * +from .list import * +from .revoke import * +from .update import * \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/management/organization/api_keys/create.py b/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/management/organization/api_keys/create.py new file mode 100644 index 00000000..0d6ed038 --- /dev/null +++ b/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/management/organization/api_keys/create.py @@ -0,0 +1,351 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class ManagementOrganizationApiKeysCreateOutputMachineAccessActorTeams: + id: str + name: str + slug: str + assignment_id: str + created_at: datetime + updated_at: datetime +@dataclass +class ManagementOrganizationApiKeysCreateOutputMachineAccessActor: + object: str + id: str + type: str + organization_id: str + name: str + image_url: str + teams: List[ManagementOrganizationApiKeysCreateOutputMachineAccessActorTeams] + created_at: datetime + updated_at: datetime + email: Optional[str] = None +@dataclass +class ManagementOrganizationApiKeysCreateOutputMachineAccessInstanceProject: + object: str + id: str + status: str + slug: str + name: str + organization_id: str + created_at: datetime + updated_at: datetime +@dataclass +class ManagementOrganizationApiKeysCreateOutputMachineAccessInstance: + object: str + id: str + slug: str + name: str + organization_id: str + type: str + created_at: datetime + updated_at: datetime + project: ManagementOrganizationApiKeysCreateOutputMachineAccessInstanceProject +@dataclass +class ManagementOrganizationApiKeysCreateOutputMachineAccessOrganization: + object: str + id: str + type: str + slug: str + name: str + image_url: str + created_at: datetime + updated_at: datetime +@dataclass +class ManagementOrganizationApiKeysCreateOutputMachineAccessUser: + object: str + id: str + status: str + type: str + email: str + name: str + first_name: str + last_name: str + image_url: str + created_at: datetime + updated_at: datetime +@dataclass +class ManagementOrganizationApiKeysCreateOutputMachineAccess: + object: str + id: str + status: str + type: str + name: str + last_used_at: datetime + created_at: datetime + updated_at: datetime + deleted_at: datetime + actor: Optional[ManagementOrganizationApiKeysCreateOutputMachineAccessActor] = None + instance: Optional[ManagementOrganizationApiKeysCreateOutputMachineAccessInstance] = None + organization: Optional[ManagementOrganizationApiKeysCreateOutputMachineAccessOrganization] = None + user: Optional[ManagementOrganizationApiKeysCreateOutputMachineAccessUser] = None +@dataclass +class ManagementOrganizationApiKeysCreateOutputRevealInfo: + until: datetime + forever: bool +@dataclass +class ManagementOrganizationApiKeysCreateOutput: + object: str + id: str + status: str + secret_redacted: str + secret_redacted_long: str + type: str + name: str + ip_filters: List[str] + machine_access: ManagementOrganizationApiKeysCreateOutputMachineAccess + created_at: datetime + updated_at: datetime + secret: Optional[str] = None + description: Optional[str] = None + deleted_at: Optional[datetime] = None + last_used_at: Optional[datetime] = None + expires_at: Optional[datetime] = None + reveal_info: Optional[ManagementOrganizationApiKeysCreateOutputRevealInfo] = None + + +class mapManagementOrganizationApiKeysCreateOutputMachineAccessActorTeams: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementOrganizationApiKeysCreateOutputMachineAccessActorTeams: + return ManagementOrganizationApiKeysCreateOutputMachineAccessActorTeams( + id=data.get('id'), + name=data.get('name'), + slug=data.get('slug'), + assignment_id=data.get('assignment_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementOrganizationApiKeysCreateOutputMachineAccessActorTeams, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementOrganizationApiKeysCreateOutputMachineAccessActor: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementOrganizationApiKeysCreateOutputMachineAccessActor: + return ManagementOrganizationApiKeysCreateOutputMachineAccessActor( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + organization_id=data.get('organization_id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + teams=[mapManagementOrganizationApiKeysCreateOutputMachineAccessActorTeams.from_dict(item) for item in data.get('teams', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementOrganizationApiKeysCreateOutputMachineAccessActor, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementOrganizationApiKeysCreateOutputMachineAccessInstanceProject: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementOrganizationApiKeysCreateOutputMachineAccessInstanceProject: + return ManagementOrganizationApiKeysCreateOutputMachineAccessInstanceProject( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + slug=data.get('slug'), + name=data.get('name'), + organization_id=data.get('organization_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementOrganizationApiKeysCreateOutputMachineAccessInstanceProject, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementOrganizationApiKeysCreateOutputMachineAccessInstance: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementOrganizationApiKeysCreateOutputMachineAccessInstance: + return ManagementOrganizationApiKeysCreateOutputMachineAccessInstance( + object=data.get('object'), + id=data.get('id'), + slug=data.get('slug'), + name=data.get('name'), + organization_id=data.get('organization_id'), + type=data.get('type'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + project=mapManagementOrganizationApiKeysCreateOutputMachineAccessInstanceProject.from_dict(data.get('project')) if data.get('project') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementOrganizationApiKeysCreateOutputMachineAccessInstance, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementOrganizationApiKeysCreateOutputMachineAccessOrganization: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementOrganizationApiKeysCreateOutputMachineAccessOrganization: + return ManagementOrganizationApiKeysCreateOutputMachineAccessOrganization( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + slug=data.get('slug'), + name=data.get('name'), + image_url=data.get('image_url'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementOrganizationApiKeysCreateOutputMachineAccessOrganization, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementOrganizationApiKeysCreateOutputMachineAccessUser: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementOrganizationApiKeysCreateOutputMachineAccessUser: + return ManagementOrganizationApiKeysCreateOutputMachineAccessUser( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + type=data.get('type'), + email=data.get('email'), + name=data.get('name'), + first_name=data.get('first_name'), + last_name=data.get('last_name'), + image_url=data.get('image_url'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementOrganizationApiKeysCreateOutputMachineAccessUser, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementOrganizationApiKeysCreateOutputMachineAccess: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementOrganizationApiKeysCreateOutputMachineAccess: + return ManagementOrganizationApiKeysCreateOutputMachineAccess( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + type=data.get('type'), + name=data.get('name'), + last_used_at=datetime.fromisoformat(data.get('last_used_at').replace('Z', '+00:00')) if data.get('last_used_at') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + deleted_at=datetime.fromisoformat(data.get('deleted_at').replace('Z', '+00:00')) if data.get('deleted_at') else None, + actor=mapManagementOrganizationApiKeysCreateOutputMachineAccessActor.from_dict(data.get('actor')) if data.get('actor') else None, + instance=mapManagementOrganizationApiKeysCreateOutputMachineAccessInstance.from_dict(data.get('instance')) if data.get('instance') else None, + organization=mapManagementOrganizationApiKeysCreateOutputMachineAccessOrganization.from_dict(data.get('organization')) if data.get('organization') else None, + user=mapManagementOrganizationApiKeysCreateOutputMachineAccessUser.from_dict(data.get('user')) if data.get('user') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementOrganizationApiKeysCreateOutputMachineAccess, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementOrganizationApiKeysCreateOutputRevealInfo: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementOrganizationApiKeysCreateOutputRevealInfo: + return ManagementOrganizationApiKeysCreateOutputRevealInfo( + until=datetime.fromisoformat(data.get('until').replace('Z', '+00:00')) if data.get('until') else None, + forever=data.get('forever') + ) + + @staticmethod + def to_dict(value: Union[ManagementOrganizationApiKeysCreateOutputRevealInfo, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementOrganizationApiKeysCreateOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementOrganizationApiKeysCreateOutput: + return ManagementOrganizationApiKeysCreateOutput( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + secret_redacted=data.get('secret_redacted'), + secret_redacted_long=data.get('secret_redacted_long'), + secret=data.get('secret'), + type=data.get('type'), + name=data.get('name'), + description=data.get('description'), + ip_filters=data.get('ip_filters', []), + machine_access=mapManagementOrganizationApiKeysCreateOutputMachineAccess.from_dict(data.get('machine_access')) if data.get('machine_access') else None, + deleted_at=datetime.fromisoformat(data.get('deleted_at').replace('Z', '+00:00')) if data.get('deleted_at') else None, + last_used_at=datetime.fromisoformat(data.get('last_used_at').replace('Z', '+00:00')) if data.get('last_used_at') else None, + expires_at=datetime.fromisoformat(data.get('expires_at').replace('Z', '+00:00')) if data.get('expires_at') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + reveal_info=mapManagementOrganizationApiKeysCreateOutputRevealInfo.from_dict(data.get('reveal_info')) if data.get('reveal_info') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementOrganizationApiKeysCreateOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class ManagementOrganizationApiKeysCreateBody: + name: str + type: Optional[str] = None + instance_id: Optional[str] = None + description: Optional[str] = None + expires_at: Optional[datetime] = None + ip_filters: Optional[List[str]] = None + + +class mapManagementOrganizationApiKeysCreateBody: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementOrganizationApiKeysCreateBody: + return ManagementOrganizationApiKeysCreateBody( + type=data.get('type'), + instance_id=data.get('instance_id'), + name=data.get('name'), + description=data.get('description'), + expires_at=datetime.fromisoformat(data.get('expires_at').replace('Z', '+00:00')) if data.get('expires_at') else None, + ip_filters=data.get('ip_filters', []) + ) + + @staticmethod + def to_dict(value: Union[ManagementOrganizationApiKeysCreateBody, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/management/organization/api_keys/get.py b/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/management/organization/api_keys/get.py new file mode 100644 index 00000000..a0095b4e --- /dev/null +++ b/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/management/organization/api_keys/get.py @@ -0,0 +1,320 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class ManagementOrganizationApiKeysGetOutputMachineAccessActorTeams: + id: str + name: str + slug: str + assignment_id: str + created_at: datetime + updated_at: datetime +@dataclass +class ManagementOrganizationApiKeysGetOutputMachineAccessActor: + object: str + id: str + type: str + organization_id: str + name: str + image_url: str + teams: List[ManagementOrganizationApiKeysGetOutputMachineAccessActorTeams] + created_at: datetime + updated_at: datetime + email: Optional[str] = None +@dataclass +class ManagementOrganizationApiKeysGetOutputMachineAccessInstanceProject: + object: str + id: str + status: str + slug: str + name: str + organization_id: str + created_at: datetime + updated_at: datetime +@dataclass +class ManagementOrganizationApiKeysGetOutputMachineAccessInstance: + object: str + id: str + slug: str + name: str + organization_id: str + type: str + created_at: datetime + updated_at: datetime + project: ManagementOrganizationApiKeysGetOutputMachineAccessInstanceProject +@dataclass +class ManagementOrganizationApiKeysGetOutputMachineAccessOrganization: + object: str + id: str + type: str + slug: str + name: str + image_url: str + created_at: datetime + updated_at: datetime +@dataclass +class ManagementOrganizationApiKeysGetOutputMachineAccessUser: + object: str + id: str + status: str + type: str + email: str + name: str + first_name: str + last_name: str + image_url: str + created_at: datetime + updated_at: datetime +@dataclass +class ManagementOrganizationApiKeysGetOutputMachineAccess: + object: str + id: str + status: str + type: str + name: str + last_used_at: datetime + created_at: datetime + updated_at: datetime + deleted_at: datetime + actor: Optional[ManagementOrganizationApiKeysGetOutputMachineAccessActor] = None + instance: Optional[ManagementOrganizationApiKeysGetOutputMachineAccessInstance] = None + organization: Optional[ManagementOrganizationApiKeysGetOutputMachineAccessOrganization] = None + user: Optional[ManagementOrganizationApiKeysGetOutputMachineAccessUser] = None +@dataclass +class ManagementOrganizationApiKeysGetOutputRevealInfo: + until: datetime + forever: bool +@dataclass +class ManagementOrganizationApiKeysGetOutput: + object: str + id: str + status: str + secret_redacted: str + secret_redacted_long: str + type: str + name: str + ip_filters: List[str] + machine_access: ManagementOrganizationApiKeysGetOutputMachineAccess + created_at: datetime + updated_at: datetime + secret: Optional[str] = None + description: Optional[str] = None + deleted_at: Optional[datetime] = None + last_used_at: Optional[datetime] = None + expires_at: Optional[datetime] = None + reveal_info: Optional[ManagementOrganizationApiKeysGetOutputRevealInfo] = None + + +class mapManagementOrganizationApiKeysGetOutputMachineAccessActorTeams: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementOrganizationApiKeysGetOutputMachineAccessActorTeams: + return ManagementOrganizationApiKeysGetOutputMachineAccessActorTeams( + id=data.get('id'), + name=data.get('name'), + slug=data.get('slug'), + assignment_id=data.get('assignment_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementOrganizationApiKeysGetOutputMachineAccessActorTeams, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementOrganizationApiKeysGetOutputMachineAccessActor: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementOrganizationApiKeysGetOutputMachineAccessActor: + return ManagementOrganizationApiKeysGetOutputMachineAccessActor( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + organization_id=data.get('organization_id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + teams=[mapManagementOrganizationApiKeysGetOutputMachineAccessActorTeams.from_dict(item) for item in data.get('teams', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementOrganizationApiKeysGetOutputMachineAccessActor, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementOrganizationApiKeysGetOutputMachineAccessInstanceProject: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementOrganizationApiKeysGetOutputMachineAccessInstanceProject: + return ManagementOrganizationApiKeysGetOutputMachineAccessInstanceProject( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + slug=data.get('slug'), + name=data.get('name'), + organization_id=data.get('organization_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementOrganizationApiKeysGetOutputMachineAccessInstanceProject, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementOrganizationApiKeysGetOutputMachineAccessInstance: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementOrganizationApiKeysGetOutputMachineAccessInstance: + return ManagementOrganizationApiKeysGetOutputMachineAccessInstance( + object=data.get('object'), + id=data.get('id'), + slug=data.get('slug'), + name=data.get('name'), + organization_id=data.get('organization_id'), + type=data.get('type'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + project=mapManagementOrganizationApiKeysGetOutputMachineAccessInstanceProject.from_dict(data.get('project')) if data.get('project') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementOrganizationApiKeysGetOutputMachineAccessInstance, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementOrganizationApiKeysGetOutputMachineAccessOrganization: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementOrganizationApiKeysGetOutputMachineAccessOrganization: + return ManagementOrganizationApiKeysGetOutputMachineAccessOrganization( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + slug=data.get('slug'), + name=data.get('name'), + image_url=data.get('image_url'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementOrganizationApiKeysGetOutputMachineAccessOrganization, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementOrganizationApiKeysGetOutputMachineAccessUser: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementOrganizationApiKeysGetOutputMachineAccessUser: + return ManagementOrganizationApiKeysGetOutputMachineAccessUser( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + type=data.get('type'), + email=data.get('email'), + name=data.get('name'), + first_name=data.get('first_name'), + last_name=data.get('last_name'), + image_url=data.get('image_url'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementOrganizationApiKeysGetOutputMachineAccessUser, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementOrganizationApiKeysGetOutputMachineAccess: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementOrganizationApiKeysGetOutputMachineAccess: + return ManagementOrganizationApiKeysGetOutputMachineAccess( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + type=data.get('type'), + name=data.get('name'), + last_used_at=datetime.fromisoformat(data.get('last_used_at').replace('Z', '+00:00')) if data.get('last_used_at') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + deleted_at=datetime.fromisoformat(data.get('deleted_at').replace('Z', '+00:00')) if data.get('deleted_at') else None, + actor=mapManagementOrganizationApiKeysGetOutputMachineAccessActor.from_dict(data.get('actor')) if data.get('actor') else None, + instance=mapManagementOrganizationApiKeysGetOutputMachineAccessInstance.from_dict(data.get('instance')) if data.get('instance') else None, + organization=mapManagementOrganizationApiKeysGetOutputMachineAccessOrganization.from_dict(data.get('organization')) if data.get('organization') else None, + user=mapManagementOrganizationApiKeysGetOutputMachineAccessUser.from_dict(data.get('user')) if data.get('user') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementOrganizationApiKeysGetOutputMachineAccess, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementOrganizationApiKeysGetOutputRevealInfo: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementOrganizationApiKeysGetOutputRevealInfo: + return ManagementOrganizationApiKeysGetOutputRevealInfo( + until=datetime.fromisoformat(data.get('until').replace('Z', '+00:00')) if data.get('until') else None, + forever=data.get('forever') + ) + + @staticmethod + def to_dict(value: Union[ManagementOrganizationApiKeysGetOutputRevealInfo, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementOrganizationApiKeysGetOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementOrganizationApiKeysGetOutput: + return ManagementOrganizationApiKeysGetOutput( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + secret_redacted=data.get('secret_redacted'), + secret_redacted_long=data.get('secret_redacted_long'), + secret=data.get('secret'), + type=data.get('type'), + name=data.get('name'), + description=data.get('description'), + ip_filters=data.get('ip_filters', []), + machine_access=mapManagementOrganizationApiKeysGetOutputMachineAccess.from_dict(data.get('machine_access')) if data.get('machine_access') else None, + deleted_at=datetime.fromisoformat(data.get('deleted_at').replace('Z', '+00:00')) if data.get('deleted_at') else None, + last_used_at=datetime.fromisoformat(data.get('last_used_at').replace('Z', '+00:00')) if data.get('last_used_at') else None, + expires_at=datetime.fromisoformat(data.get('expires_at').replace('Z', '+00:00')) if data.get('expires_at') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + reveal_info=mapManagementOrganizationApiKeysGetOutputRevealInfo.from_dict(data.get('reveal_info')) if data.get('reveal_info') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementOrganizationApiKeysGetOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/management/organization/api_keys/list.py b/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/management/organization/api_keys/list.py new file mode 100644 index 00000000..d85f394c --- /dev/null +++ b/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/management/organization/api_keys/list.py @@ -0,0 +1,393 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class ManagementOrganizationApiKeysListOutputItemsMachineAccessActorTeams: + id: str + name: str + slug: str + assignment_id: str + created_at: datetime + updated_at: datetime +@dataclass +class ManagementOrganizationApiKeysListOutputItemsMachineAccessActor: + object: str + id: str + type: str + organization_id: str + name: str + image_url: str + teams: List[ManagementOrganizationApiKeysListOutputItemsMachineAccessActorTeams] + created_at: datetime + updated_at: datetime + email: Optional[str] = None +@dataclass +class ManagementOrganizationApiKeysListOutputItemsMachineAccessInstanceProject: + object: str + id: str + status: str + slug: str + name: str + organization_id: str + created_at: datetime + updated_at: datetime +@dataclass +class ManagementOrganizationApiKeysListOutputItemsMachineAccessInstance: + object: str + id: str + slug: str + name: str + organization_id: str + type: str + created_at: datetime + updated_at: datetime + project: ManagementOrganizationApiKeysListOutputItemsMachineAccessInstanceProject +@dataclass +class ManagementOrganizationApiKeysListOutputItemsMachineAccessOrganization: + object: str + id: str + type: str + slug: str + name: str + image_url: str + created_at: datetime + updated_at: datetime +@dataclass +class ManagementOrganizationApiKeysListOutputItemsMachineAccessUser: + object: str + id: str + status: str + type: str + email: str + name: str + first_name: str + last_name: str + image_url: str + created_at: datetime + updated_at: datetime +@dataclass +class ManagementOrganizationApiKeysListOutputItemsMachineAccess: + object: str + id: str + status: str + type: str + name: str + last_used_at: datetime + created_at: datetime + updated_at: datetime + deleted_at: datetime + actor: Optional[ManagementOrganizationApiKeysListOutputItemsMachineAccessActor] = None + instance: Optional[ManagementOrganizationApiKeysListOutputItemsMachineAccessInstance] = None + organization: Optional[ManagementOrganizationApiKeysListOutputItemsMachineAccessOrganization] = None + user: Optional[ManagementOrganizationApiKeysListOutputItemsMachineAccessUser] = None +@dataclass +class ManagementOrganizationApiKeysListOutputItemsRevealInfo: + until: datetime + forever: bool +@dataclass +class ManagementOrganizationApiKeysListOutputItems: + object: str + id: str + status: str + secret_redacted: str + secret_redacted_long: str + type: str + name: str + ip_filters: List[str] + machine_access: ManagementOrganizationApiKeysListOutputItemsMachineAccess + created_at: datetime + updated_at: datetime + secret: Optional[str] = None + description: Optional[str] = None + deleted_at: Optional[datetime] = None + last_used_at: Optional[datetime] = None + expires_at: Optional[datetime] = None + reveal_info: Optional[ManagementOrganizationApiKeysListOutputItemsRevealInfo] = None +@dataclass +class ManagementOrganizationApiKeysListOutputPagination: + has_more_before: bool + has_more_after: bool +@dataclass +class ManagementOrganizationApiKeysListOutput: + items: List[ManagementOrganizationApiKeysListOutputItems] + pagination: ManagementOrganizationApiKeysListOutputPagination + + +class mapManagementOrganizationApiKeysListOutputItemsMachineAccessActorTeams: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementOrganizationApiKeysListOutputItemsMachineAccessActorTeams: + return ManagementOrganizationApiKeysListOutputItemsMachineAccessActorTeams( + id=data.get('id'), + name=data.get('name'), + slug=data.get('slug'), + assignment_id=data.get('assignment_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementOrganizationApiKeysListOutputItemsMachineAccessActorTeams, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementOrganizationApiKeysListOutputItemsMachineAccessActor: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementOrganizationApiKeysListOutputItemsMachineAccessActor: + return ManagementOrganizationApiKeysListOutputItemsMachineAccessActor( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + organization_id=data.get('organization_id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + teams=[mapManagementOrganizationApiKeysListOutputItemsMachineAccessActorTeams.from_dict(item) for item in data.get('teams', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementOrganizationApiKeysListOutputItemsMachineAccessActor, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementOrganizationApiKeysListOutputItemsMachineAccessInstanceProject: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementOrganizationApiKeysListOutputItemsMachineAccessInstanceProject: + return ManagementOrganizationApiKeysListOutputItemsMachineAccessInstanceProject( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + slug=data.get('slug'), + name=data.get('name'), + organization_id=data.get('organization_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementOrganizationApiKeysListOutputItemsMachineAccessInstanceProject, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementOrganizationApiKeysListOutputItemsMachineAccessInstance: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementOrganizationApiKeysListOutputItemsMachineAccessInstance: + return ManagementOrganizationApiKeysListOutputItemsMachineAccessInstance( + object=data.get('object'), + id=data.get('id'), + slug=data.get('slug'), + name=data.get('name'), + organization_id=data.get('organization_id'), + type=data.get('type'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + project=mapManagementOrganizationApiKeysListOutputItemsMachineAccessInstanceProject.from_dict(data.get('project')) if data.get('project') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementOrganizationApiKeysListOutputItemsMachineAccessInstance, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementOrganizationApiKeysListOutputItemsMachineAccessOrganization: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementOrganizationApiKeysListOutputItemsMachineAccessOrganization: + return ManagementOrganizationApiKeysListOutputItemsMachineAccessOrganization( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + slug=data.get('slug'), + name=data.get('name'), + image_url=data.get('image_url'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementOrganizationApiKeysListOutputItemsMachineAccessOrganization, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementOrganizationApiKeysListOutputItemsMachineAccessUser: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementOrganizationApiKeysListOutputItemsMachineAccessUser: + return ManagementOrganizationApiKeysListOutputItemsMachineAccessUser( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + type=data.get('type'), + email=data.get('email'), + name=data.get('name'), + first_name=data.get('first_name'), + last_name=data.get('last_name'), + image_url=data.get('image_url'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementOrganizationApiKeysListOutputItemsMachineAccessUser, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementOrganizationApiKeysListOutputItemsMachineAccess: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementOrganizationApiKeysListOutputItemsMachineAccess: + return ManagementOrganizationApiKeysListOutputItemsMachineAccess( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + type=data.get('type'), + name=data.get('name'), + last_used_at=datetime.fromisoformat(data.get('last_used_at').replace('Z', '+00:00')) if data.get('last_used_at') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + deleted_at=datetime.fromisoformat(data.get('deleted_at').replace('Z', '+00:00')) if data.get('deleted_at') else None, + actor=mapManagementOrganizationApiKeysListOutputItemsMachineAccessActor.from_dict(data.get('actor')) if data.get('actor') else None, + instance=mapManagementOrganizationApiKeysListOutputItemsMachineAccessInstance.from_dict(data.get('instance')) if data.get('instance') else None, + organization=mapManagementOrganizationApiKeysListOutputItemsMachineAccessOrganization.from_dict(data.get('organization')) if data.get('organization') else None, + user=mapManagementOrganizationApiKeysListOutputItemsMachineAccessUser.from_dict(data.get('user')) if data.get('user') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementOrganizationApiKeysListOutputItemsMachineAccess, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementOrganizationApiKeysListOutputItemsRevealInfo: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementOrganizationApiKeysListOutputItemsRevealInfo: + return ManagementOrganizationApiKeysListOutputItemsRevealInfo( + until=datetime.fromisoformat(data.get('until').replace('Z', '+00:00')) if data.get('until') else None, + forever=data.get('forever') + ) + + @staticmethod + def to_dict(value: Union[ManagementOrganizationApiKeysListOutputItemsRevealInfo, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementOrganizationApiKeysListOutputItems: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementOrganizationApiKeysListOutputItems: + return ManagementOrganizationApiKeysListOutputItems( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + secret_redacted=data.get('secret_redacted'), + secret_redacted_long=data.get('secret_redacted_long'), + secret=data.get('secret'), + type=data.get('type'), + name=data.get('name'), + description=data.get('description'), + ip_filters=data.get('ip_filters', []), + machine_access=mapManagementOrganizationApiKeysListOutputItemsMachineAccess.from_dict(data.get('machine_access')) if data.get('machine_access') else None, + deleted_at=datetime.fromisoformat(data.get('deleted_at').replace('Z', '+00:00')) if data.get('deleted_at') else None, + last_used_at=datetime.fromisoformat(data.get('last_used_at').replace('Z', '+00:00')) if data.get('last_used_at') else None, + expires_at=datetime.fromisoformat(data.get('expires_at').replace('Z', '+00:00')) if data.get('expires_at') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + reveal_info=mapManagementOrganizationApiKeysListOutputItemsRevealInfo.from_dict(data.get('reveal_info')) if data.get('reveal_info') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementOrganizationApiKeysListOutputItems, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementOrganizationApiKeysListOutputPagination: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementOrganizationApiKeysListOutputPagination: + return ManagementOrganizationApiKeysListOutputPagination( + has_more_before=data.get('has_more_before'), + has_more_after=data.get('has_more_after') + ) + + @staticmethod + def to_dict(value: Union[ManagementOrganizationApiKeysListOutputPagination, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementOrganizationApiKeysListOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementOrganizationApiKeysListOutput: + return ManagementOrganizationApiKeysListOutput( + items=[mapManagementOrganizationApiKeysListOutputItems.from_dict(item) for item in data.get('items', []) if item], + pagination=mapManagementOrganizationApiKeysListOutputPagination.from_dict(data.get('pagination')) if data.get('pagination') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementOrganizationApiKeysListOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class ManagementOrganizationApiKeysListQuery: + limit: Optional[float] = None + after: Optional[str] = None + before: Optional[str] = None + cursor: Optional[str] = None + order: Optional[str] = None + type: Optional[str] = None + instance_id: Optional[str] = None + + +class mapManagementOrganizationApiKeysListQuery: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementOrganizationApiKeysListQuery: + return ManagementOrganizationApiKeysListQuery( + limit=data.get('limit'), + after=data.get('after'), + before=data.get('before'), + cursor=data.get('cursor'), + order=data.get('order'), + type=data.get('type'), + instance_id=data.get('instance_id') + ) + + @staticmethod + def to_dict(value: Union[ManagementOrganizationApiKeysListQuery, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/management/organization/api_keys/revoke.py b/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/management/organization/api_keys/revoke.py new file mode 100644 index 00000000..36e0d84e --- /dev/null +++ b/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/management/organization/api_keys/revoke.py @@ -0,0 +1,320 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class ManagementOrganizationApiKeysRevokeOutputMachineAccessActorTeams: + id: str + name: str + slug: str + assignment_id: str + created_at: datetime + updated_at: datetime +@dataclass +class ManagementOrganizationApiKeysRevokeOutputMachineAccessActor: + object: str + id: str + type: str + organization_id: str + name: str + image_url: str + teams: List[ManagementOrganizationApiKeysRevokeOutputMachineAccessActorTeams] + created_at: datetime + updated_at: datetime + email: Optional[str] = None +@dataclass +class ManagementOrganizationApiKeysRevokeOutputMachineAccessInstanceProject: + object: str + id: str + status: str + slug: str + name: str + organization_id: str + created_at: datetime + updated_at: datetime +@dataclass +class ManagementOrganizationApiKeysRevokeOutputMachineAccessInstance: + object: str + id: str + slug: str + name: str + organization_id: str + type: str + created_at: datetime + updated_at: datetime + project: ManagementOrganizationApiKeysRevokeOutputMachineAccessInstanceProject +@dataclass +class ManagementOrganizationApiKeysRevokeOutputMachineAccessOrganization: + object: str + id: str + type: str + slug: str + name: str + image_url: str + created_at: datetime + updated_at: datetime +@dataclass +class ManagementOrganizationApiKeysRevokeOutputMachineAccessUser: + object: str + id: str + status: str + type: str + email: str + name: str + first_name: str + last_name: str + image_url: str + created_at: datetime + updated_at: datetime +@dataclass +class ManagementOrganizationApiKeysRevokeOutputMachineAccess: + object: str + id: str + status: str + type: str + name: str + last_used_at: datetime + created_at: datetime + updated_at: datetime + deleted_at: datetime + actor: Optional[ManagementOrganizationApiKeysRevokeOutputMachineAccessActor] = None + instance: Optional[ManagementOrganizationApiKeysRevokeOutputMachineAccessInstance] = None + organization: Optional[ManagementOrganizationApiKeysRevokeOutputMachineAccessOrganization] = None + user: Optional[ManagementOrganizationApiKeysRevokeOutputMachineAccessUser] = None +@dataclass +class ManagementOrganizationApiKeysRevokeOutputRevealInfo: + until: datetime + forever: bool +@dataclass +class ManagementOrganizationApiKeysRevokeOutput: + object: str + id: str + status: str + secret_redacted: str + secret_redacted_long: str + type: str + name: str + ip_filters: List[str] + machine_access: ManagementOrganizationApiKeysRevokeOutputMachineAccess + created_at: datetime + updated_at: datetime + secret: Optional[str] = None + description: Optional[str] = None + deleted_at: Optional[datetime] = None + last_used_at: Optional[datetime] = None + expires_at: Optional[datetime] = None + reveal_info: Optional[ManagementOrganizationApiKeysRevokeOutputRevealInfo] = None + + +class mapManagementOrganizationApiKeysRevokeOutputMachineAccessActorTeams: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementOrganizationApiKeysRevokeOutputMachineAccessActorTeams: + return ManagementOrganizationApiKeysRevokeOutputMachineAccessActorTeams( + id=data.get('id'), + name=data.get('name'), + slug=data.get('slug'), + assignment_id=data.get('assignment_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementOrganizationApiKeysRevokeOutputMachineAccessActorTeams, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementOrganizationApiKeysRevokeOutputMachineAccessActor: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementOrganizationApiKeysRevokeOutputMachineAccessActor: + return ManagementOrganizationApiKeysRevokeOutputMachineAccessActor( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + organization_id=data.get('organization_id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + teams=[mapManagementOrganizationApiKeysRevokeOutputMachineAccessActorTeams.from_dict(item) for item in data.get('teams', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementOrganizationApiKeysRevokeOutputMachineAccessActor, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementOrganizationApiKeysRevokeOutputMachineAccessInstanceProject: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementOrganizationApiKeysRevokeOutputMachineAccessInstanceProject: + return ManagementOrganizationApiKeysRevokeOutputMachineAccessInstanceProject( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + slug=data.get('slug'), + name=data.get('name'), + organization_id=data.get('organization_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementOrganizationApiKeysRevokeOutputMachineAccessInstanceProject, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementOrganizationApiKeysRevokeOutputMachineAccessInstance: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementOrganizationApiKeysRevokeOutputMachineAccessInstance: + return ManagementOrganizationApiKeysRevokeOutputMachineAccessInstance( + object=data.get('object'), + id=data.get('id'), + slug=data.get('slug'), + name=data.get('name'), + organization_id=data.get('organization_id'), + type=data.get('type'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + project=mapManagementOrganizationApiKeysRevokeOutputMachineAccessInstanceProject.from_dict(data.get('project')) if data.get('project') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementOrganizationApiKeysRevokeOutputMachineAccessInstance, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementOrganizationApiKeysRevokeOutputMachineAccessOrganization: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementOrganizationApiKeysRevokeOutputMachineAccessOrganization: + return ManagementOrganizationApiKeysRevokeOutputMachineAccessOrganization( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + slug=data.get('slug'), + name=data.get('name'), + image_url=data.get('image_url'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementOrganizationApiKeysRevokeOutputMachineAccessOrganization, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementOrganizationApiKeysRevokeOutputMachineAccessUser: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementOrganizationApiKeysRevokeOutputMachineAccessUser: + return ManagementOrganizationApiKeysRevokeOutputMachineAccessUser( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + type=data.get('type'), + email=data.get('email'), + name=data.get('name'), + first_name=data.get('first_name'), + last_name=data.get('last_name'), + image_url=data.get('image_url'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementOrganizationApiKeysRevokeOutputMachineAccessUser, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementOrganizationApiKeysRevokeOutputMachineAccess: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementOrganizationApiKeysRevokeOutputMachineAccess: + return ManagementOrganizationApiKeysRevokeOutputMachineAccess( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + type=data.get('type'), + name=data.get('name'), + last_used_at=datetime.fromisoformat(data.get('last_used_at').replace('Z', '+00:00')) if data.get('last_used_at') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + deleted_at=datetime.fromisoformat(data.get('deleted_at').replace('Z', '+00:00')) if data.get('deleted_at') else None, + actor=mapManagementOrganizationApiKeysRevokeOutputMachineAccessActor.from_dict(data.get('actor')) if data.get('actor') else None, + instance=mapManagementOrganizationApiKeysRevokeOutputMachineAccessInstance.from_dict(data.get('instance')) if data.get('instance') else None, + organization=mapManagementOrganizationApiKeysRevokeOutputMachineAccessOrganization.from_dict(data.get('organization')) if data.get('organization') else None, + user=mapManagementOrganizationApiKeysRevokeOutputMachineAccessUser.from_dict(data.get('user')) if data.get('user') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementOrganizationApiKeysRevokeOutputMachineAccess, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementOrganizationApiKeysRevokeOutputRevealInfo: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementOrganizationApiKeysRevokeOutputRevealInfo: + return ManagementOrganizationApiKeysRevokeOutputRevealInfo( + until=datetime.fromisoformat(data.get('until').replace('Z', '+00:00')) if data.get('until') else None, + forever=data.get('forever') + ) + + @staticmethod + def to_dict(value: Union[ManagementOrganizationApiKeysRevokeOutputRevealInfo, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementOrganizationApiKeysRevokeOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementOrganizationApiKeysRevokeOutput: + return ManagementOrganizationApiKeysRevokeOutput( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + secret_redacted=data.get('secret_redacted'), + secret_redacted_long=data.get('secret_redacted_long'), + secret=data.get('secret'), + type=data.get('type'), + name=data.get('name'), + description=data.get('description'), + ip_filters=data.get('ip_filters', []), + machine_access=mapManagementOrganizationApiKeysRevokeOutputMachineAccess.from_dict(data.get('machine_access')) if data.get('machine_access') else None, + deleted_at=datetime.fromisoformat(data.get('deleted_at').replace('Z', '+00:00')) if data.get('deleted_at') else None, + last_used_at=datetime.fromisoformat(data.get('last_used_at').replace('Z', '+00:00')) if data.get('last_used_at') else None, + expires_at=datetime.fromisoformat(data.get('expires_at').replace('Z', '+00:00')) if data.get('expires_at') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + reveal_info=mapManagementOrganizationApiKeysRevokeOutputRevealInfo.from_dict(data.get('reveal_info')) if data.get('reveal_info') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementOrganizationApiKeysRevokeOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/management/organization/api_keys/update.py b/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/management/organization/api_keys/update.py new file mode 100644 index 00000000..8210f170 --- /dev/null +++ b/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/management/organization/api_keys/update.py @@ -0,0 +1,347 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class ManagementOrganizationApiKeysUpdateOutputMachineAccessActorTeams: + id: str + name: str + slug: str + assignment_id: str + created_at: datetime + updated_at: datetime +@dataclass +class ManagementOrganizationApiKeysUpdateOutputMachineAccessActor: + object: str + id: str + type: str + organization_id: str + name: str + image_url: str + teams: List[ManagementOrganizationApiKeysUpdateOutputMachineAccessActorTeams] + created_at: datetime + updated_at: datetime + email: Optional[str] = None +@dataclass +class ManagementOrganizationApiKeysUpdateOutputMachineAccessInstanceProject: + object: str + id: str + status: str + slug: str + name: str + organization_id: str + created_at: datetime + updated_at: datetime +@dataclass +class ManagementOrganizationApiKeysUpdateOutputMachineAccessInstance: + object: str + id: str + slug: str + name: str + organization_id: str + type: str + created_at: datetime + updated_at: datetime + project: ManagementOrganizationApiKeysUpdateOutputMachineAccessInstanceProject +@dataclass +class ManagementOrganizationApiKeysUpdateOutputMachineAccessOrganization: + object: str + id: str + type: str + slug: str + name: str + image_url: str + created_at: datetime + updated_at: datetime +@dataclass +class ManagementOrganizationApiKeysUpdateOutputMachineAccessUser: + object: str + id: str + status: str + type: str + email: str + name: str + first_name: str + last_name: str + image_url: str + created_at: datetime + updated_at: datetime +@dataclass +class ManagementOrganizationApiKeysUpdateOutputMachineAccess: + object: str + id: str + status: str + type: str + name: str + last_used_at: datetime + created_at: datetime + updated_at: datetime + deleted_at: datetime + actor: Optional[ManagementOrganizationApiKeysUpdateOutputMachineAccessActor] = None + instance: Optional[ManagementOrganizationApiKeysUpdateOutputMachineAccessInstance] = None + organization: Optional[ManagementOrganizationApiKeysUpdateOutputMachineAccessOrganization] = None + user: Optional[ManagementOrganizationApiKeysUpdateOutputMachineAccessUser] = None +@dataclass +class ManagementOrganizationApiKeysUpdateOutputRevealInfo: + until: datetime + forever: bool +@dataclass +class ManagementOrganizationApiKeysUpdateOutput: + object: str + id: str + status: str + secret_redacted: str + secret_redacted_long: str + type: str + name: str + ip_filters: List[str] + machine_access: ManagementOrganizationApiKeysUpdateOutputMachineAccess + created_at: datetime + updated_at: datetime + secret: Optional[str] = None + description: Optional[str] = None + deleted_at: Optional[datetime] = None + last_used_at: Optional[datetime] = None + expires_at: Optional[datetime] = None + reveal_info: Optional[ManagementOrganizationApiKeysUpdateOutputRevealInfo] = None + + +class mapManagementOrganizationApiKeysUpdateOutputMachineAccessActorTeams: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementOrganizationApiKeysUpdateOutputMachineAccessActorTeams: + return ManagementOrganizationApiKeysUpdateOutputMachineAccessActorTeams( + id=data.get('id'), + name=data.get('name'), + slug=data.get('slug'), + assignment_id=data.get('assignment_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementOrganizationApiKeysUpdateOutputMachineAccessActorTeams, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementOrganizationApiKeysUpdateOutputMachineAccessActor: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementOrganizationApiKeysUpdateOutputMachineAccessActor: + return ManagementOrganizationApiKeysUpdateOutputMachineAccessActor( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + organization_id=data.get('organization_id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + teams=[mapManagementOrganizationApiKeysUpdateOutputMachineAccessActorTeams.from_dict(item) for item in data.get('teams', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementOrganizationApiKeysUpdateOutputMachineAccessActor, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementOrganizationApiKeysUpdateOutputMachineAccessInstanceProject: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementOrganizationApiKeysUpdateOutputMachineAccessInstanceProject: + return ManagementOrganizationApiKeysUpdateOutputMachineAccessInstanceProject( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + slug=data.get('slug'), + name=data.get('name'), + organization_id=data.get('organization_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementOrganizationApiKeysUpdateOutputMachineAccessInstanceProject, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementOrganizationApiKeysUpdateOutputMachineAccessInstance: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementOrganizationApiKeysUpdateOutputMachineAccessInstance: + return ManagementOrganizationApiKeysUpdateOutputMachineAccessInstance( + object=data.get('object'), + id=data.get('id'), + slug=data.get('slug'), + name=data.get('name'), + organization_id=data.get('organization_id'), + type=data.get('type'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + project=mapManagementOrganizationApiKeysUpdateOutputMachineAccessInstanceProject.from_dict(data.get('project')) if data.get('project') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementOrganizationApiKeysUpdateOutputMachineAccessInstance, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementOrganizationApiKeysUpdateOutputMachineAccessOrganization: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementOrganizationApiKeysUpdateOutputMachineAccessOrganization: + return ManagementOrganizationApiKeysUpdateOutputMachineAccessOrganization( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + slug=data.get('slug'), + name=data.get('name'), + image_url=data.get('image_url'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementOrganizationApiKeysUpdateOutputMachineAccessOrganization, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementOrganizationApiKeysUpdateOutputMachineAccessUser: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementOrganizationApiKeysUpdateOutputMachineAccessUser: + return ManagementOrganizationApiKeysUpdateOutputMachineAccessUser( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + type=data.get('type'), + email=data.get('email'), + name=data.get('name'), + first_name=data.get('first_name'), + last_name=data.get('last_name'), + image_url=data.get('image_url'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementOrganizationApiKeysUpdateOutputMachineAccessUser, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementOrganizationApiKeysUpdateOutputMachineAccess: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementOrganizationApiKeysUpdateOutputMachineAccess: + return ManagementOrganizationApiKeysUpdateOutputMachineAccess( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + type=data.get('type'), + name=data.get('name'), + last_used_at=datetime.fromisoformat(data.get('last_used_at').replace('Z', '+00:00')) if data.get('last_used_at') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + deleted_at=datetime.fromisoformat(data.get('deleted_at').replace('Z', '+00:00')) if data.get('deleted_at') else None, + actor=mapManagementOrganizationApiKeysUpdateOutputMachineAccessActor.from_dict(data.get('actor')) if data.get('actor') else None, + instance=mapManagementOrganizationApiKeysUpdateOutputMachineAccessInstance.from_dict(data.get('instance')) if data.get('instance') else None, + organization=mapManagementOrganizationApiKeysUpdateOutputMachineAccessOrganization.from_dict(data.get('organization')) if data.get('organization') else None, + user=mapManagementOrganizationApiKeysUpdateOutputMachineAccessUser.from_dict(data.get('user')) if data.get('user') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementOrganizationApiKeysUpdateOutputMachineAccess, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementOrganizationApiKeysUpdateOutputRevealInfo: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementOrganizationApiKeysUpdateOutputRevealInfo: + return ManagementOrganizationApiKeysUpdateOutputRevealInfo( + until=datetime.fromisoformat(data.get('until').replace('Z', '+00:00')) if data.get('until') else None, + forever=data.get('forever') + ) + + @staticmethod + def to_dict(value: Union[ManagementOrganizationApiKeysUpdateOutputRevealInfo, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementOrganizationApiKeysUpdateOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementOrganizationApiKeysUpdateOutput: + return ManagementOrganizationApiKeysUpdateOutput( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + secret_redacted=data.get('secret_redacted'), + secret_redacted_long=data.get('secret_redacted_long'), + secret=data.get('secret'), + type=data.get('type'), + name=data.get('name'), + description=data.get('description'), + ip_filters=data.get('ip_filters', []), + machine_access=mapManagementOrganizationApiKeysUpdateOutputMachineAccess.from_dict(data.get('machine_access')) if data.get('machine_access') else None, + deleted_at=datetime.fromisoformat(data.get('deleted_at').replace('Z', '+00:00')) if data.get('deleted_at') else None, + last_used_at=datetime.fromisoformat(data.get('last_used_at').replace('Z', '+00:00')) if data.get('last_used_at') else None, + expires_at=datetime.fromisoformat(data.get('expires_at').replace('Z', '+00:00')) if data.get('expires_at') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + reveal_info=mapManagementOrganizationApiKeysUpdateOutputRevealInfo.from_dict(data.get('reveal_info')) if data.get('reveal_info') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementOrganizationApiKeysUpdateOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class ManagementOrganizationApiKeysUpdateBody: + name: Optional[str] = None + description: Optional[str] = None + expires_at: Optional[datetime] = None + ip_filters: Optional[List[str]] = None + + +class mapManagementOrganizationApiKeysUpdateBody: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementOrganizationApiKeysUpdateBody: + return ManagementOrganizationApiKeysUpdateBody( + name=data.get('name'), + description=data.get('description'), + expires_at=datetime.fromisoformat(data.get('expires_at').replace('Z', '+00:00')) if data.get('expires_at') else None, + ip_filters=data.get('ip_filters', []) + ) + + @staticmethod + def to_dict(value: Union[ManagementOrganizationApiKeysUpdateBody, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/portals/consumer_profiles/assign_groups.py b/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/portals/consumer_profiles/assign_groups.py index 67d66486..cc33c987 100644 --- a/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/portals/consumer_profiles/assign_groups.py +++ b/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/portals/consumer_profiles/assign_groups.py @@ -20,6 +20,20 @@ class PortalsConsumerProfilesAssignGroupsOutputGroups: group: PortalsConsumerProfilesAssignGroupsOutputGroupsGroup assigned_via: str @dataclass +class PortalsConsumerProfilesAssignGroupsOutputSurfaceAuth: + object: str + session_expiry_time_in_seconds: float +@dataclass +class PortalsConsumerProfilesAssignGroupsOutputSurface: + object: str + id: str + status: str + name: str + auth: PortalsConsumerProfilesAssignGroupsOutputSurfaceAuth + created_at: datetime + updated_at: datetime + description: Optional[str] = None +@dataclass class PortalsConsumerProfilesAssignGroupsOutput: object: str id: str @@ -29,49 +43,10 @@ class PortalsConsumerProfilesAssignGroupsOutput: consumer_id: str created_at: datetime updated_at: datetime + surface: PortalsConsumerProfilesAssignGroupsOutputSurface groups: Optional[List[PortalsConsumerProfilesAssignGroupsOutputGroups]] = None -class mapPortalsConsumerProfilesAssignGroupsOutputGroupsGroup: - @staticmethod - def from_dict(data: Dict[str, Any]) -> PortalsConsumerProfilesAssignGroupsOutputGroupsGroup: - return PortalsConsumerProfilesAssignGroupsOutputGroupsGroup( - object=data.get('object'), - id=data.get('id'), - status=data.get('status'), - name=data.get('name'), - description=data.get('description'), - is_default=data.get('is_default'), - sso_group_ids=data.get('sso_group_ids', []), - created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, - updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None - ) - - @staticmethod - def to_dict(value: Union[PortalsConsumerProfilesAssignGroupsOutputGroupsGroup, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: - if value is None: - return None - if isinstance(value, dict): - return value - return dataclasses.asdict(value) - -class mapPortalsConsumerProfilesAssignGroupsOutputGroups: - @staticmethod - def from_dict(data: Dict[str, Any]) -> PortalsConsumerProfilesAssignGroupsOutputGroups: - return PortalsConsumerProfilesAssignGroupsOutputGroups( - object=data.get('object'), - group=mapPortalsConsumerProfilesAssignGroupsOutputGroupsGroup.from_dict(data.get('group')) if data.get('group') else None, - assigned_via=data.get('assigned_via') - ) - - @staticmethod - def to_dict(value: Union[PortalsConsumerProfilesAssignGroupsOutputGroups, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: - if value is None: - return None - if isinstance(value, dict): - return value - return dataclasses.asdict(value) - class mapPortalsConsumerProfilesAssignGroupsOutput: @staticmethod def from_dict(data: Dict[str, Any]) -> PortalsConsumerProfilesAssignGroupsOutput: @@ -84,7 +59,8 @@ def from_dict(data: Dict[str, Any]) -> PortalsConsumerProfilesAssignGroupsOutput groups=[mapPortalsConsumerProfilesAssignGroupsOutputGroups.from_dict(item) for item in data.get('groups', []) if item], consumer_id=data.get('consumer_id'), created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, - updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + surface=mapPortalsConsumerProfilesAssignGroupsOutputSurface.from_dict(data.get('surface')) if data.get('surface') else None ) @staticmethod diff --git a/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/portals/consumer_profiles/get.py b/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/portals/consumer_profiles/get.py index 887f2b4c..4f7faa0a 100644 --- a/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/portals/consumer_profiles/get.py +++ b/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/portals/consumer_profiles/get.py @@ -20,6 +20,20 @@ class PortalsConsumerProfilesGetOutputGroups: group: PortalsConsumerProfilesGetOutputGroupsGroup assigned_via: str @dataclass +class PortalsConsumerProfilesGetOutputSurfaceAuth: + object: str + session_expiry_time_in_seconds: float +@dataclass +class PortalsConsumerProfilesGetOutputSurface: + object: str + id: str + status: str + name: str + auth: PortalsConsumerProfilesGetOutputSurfaceAuth + created_at: datetime + updated_at: datetime + description: Optional[str] = None +@dataclass class PortalsConsumerProfilesGetOutput: object: str id: str @@ -29,49 +43,10 @@ class PortalsConsumerProfilesGetOutput: consumer_id: str created_at: datetime updated_at: datetime + surface: PortalsConsumerProfilesGetOutputSurface groups: Optional[List[PortalsConsumerProfilesGetOutputGroups]] = None -class mapPortalsConsumerProfilesGetOutputGroupsGroup: - @staticmethod - def from_dict(data: Dict[str, Any]) -> PortalsConsumerProfilesGetOutputGroupsGroup: - return PortalsConsumerProfilesGetOutputGroupsGroup( - object=data.get('object'), - id=data.get('id'), - status=data.get('status'), - name=data.get('name'), - description=data.get('description'), - is_default=data.get('is_default'), - sso_group_ids=data.get('sso_group_ids', []), - created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, - updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None - ) - - @staticmethod - def to_dict(value: Union[PortalsConsumerProfilesGetOutputGroupsGroup, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: - if value is None: - return None - if isinstance(value, dict): - return value - return dataclasses.asdict(value) - -class mapPortalsConsumerProfilesGetOutputGroups: - @staticmethod - def from_dict(data: Dict[str, Any]) -> PortalsConsumerProfilesGetOutputGroups: - return PortalsConsumerProfilesGetOutputGroups( - object=data.get('object'), - group=mapPortalsConsumerProfilesGetOutputGroupsGroup.from_dict(data.get('group')) if data.get('group') else None, - assigned_via=data.get('assigned_via') - ) - - @staticmethod - def to_dict(value: Union[PortalsConsumerProfilesGetOutputGroups, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: - if value is None: - return None - if isinstance(value, dict): - return value - return dataclasses.asdict(value) - class mapPortalsConsumerProfilesGetOutput: @staticmethod def from_dict(data: Dict[str, Any]) -> PortalsConsumerProfilesGetOutput: @@ -84,7 +59,8 @@ def from_dict(data: Dict[str, Any]) -> PortalsConsumerProfilesGetOutput: groups=[mapPortalsConsumerProfilesGetOutputGroups.from_dict(item) for item in data.get('groups', []) if item], consumer_id=data.get('consumer_id'), created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, - updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + surface=mapPortalsConsumerProfilesGetOutputSurface.from_dict(data.get('surface')) if data.get('surface') else None ) @staticmethod diff --git a/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/portals/consumer_profiles/list.py b/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/portals/consumer_profiles/list.py index ee611fde..d37ade16 100644 --- a/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/portals/consumer_profiles/list.py +++ b/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/portals/consumer_profiles/list.py @@ -3,106 +3,16 @@ from datetime import datetime import dataclasses -@dataclass -class PortalsConsumerProfilesListOutputItemsGroupsGroup: - object: str - id: str - status: str - name: str - is_default: bool - sso_group_ids: List[str] - created_at: datetime - updated_at: datetime - description: Optional[str] = None -@dataclass -class PortalsConsumerProfilesListOutputItemsGroups: - object: str - group: PortalsConsumerProfilesListOutputItemsGroupsGroup - assigned_via: str -@dataclass -class PortalsConsumerProfilesListOutputItems: - object: str - id: str - name: str - email: str - image_url: str - consumer_id: str - created_at: datetime - updated_at: datetime - groups: Optional[List[PortalsConsumerProfilesListOutputItemsGroups]] = None @dataclass class PortalsConsumerProfilesListOutputPagination: has_more_before: bool has_more_after: bool @dataclass class PortalsConsumerProfilesListOutput: - items: List[PortalsConsumerProfilesListOutputItems] + items: List[Dict[str, Any]] pagination: PortalsConsumerProfilesListOutputPagination -class mapPortalsConsumerProfilesListOutputItemsGroupsGroup: - @staticmethod - def from_dict(data: Dict[str, Any]) -> PortalsConsumerProfilesListOutputItemsGroupsGroup: - return PortalsConsumerProfilesListOutputItemsGroupsGroup( - object=data.get('object'), - id=data.get('id'), - status=data.get('status'), - name=data.get('name'), - description=data.get('description'), - is_default=data.get('is_default'), - sso_group_ids=data.get('sso_group_ids', []), - created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, - updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None - ) - - @staticmethod - def to_dict(value: Union[PortalsConsumerProfilesListOutputItemsGroupsGroup, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: - if value is None: - return None - if isinstance(value, dict): - return value - return dataclasses.asdict(value) - -class mapPortalsConsumerProfilesListOutputItemsGroups: - @staticmethod - def from_dict(data: Dict[str, Any]) -> PortalsConsumerProfilesListOutputItemsGroups: - return PortalsConsumerProfilesListOutputItemsGroups( - object=data.get('object'), - group=mapPortalsConsumerProfilesListOutputItemsGroupsGroup.from_dict(data.get('group')) if data.get('group') else None, - assigned_via=data.get('assigned_via') - ) - - @staticmethod - def to_dict(value: Union[PortalsConsumerProfilesListOutputItemsGroups, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: - if value is None: - return None - if isinstance(value, dict): - return value - return dataclasses.asdict(value) - -class mapPortalsConsumerProfilesListOutputItems: - @staticmethod - def from_dict(data: Dict[str, Any]) -> PortalsConsumerProfilesListOutputItems: - return PortalsConsumerProfilesListOutputItems( - object=data.get('object'), - id=data.get('id'), - name=data.get('name'), - email=data.get('email'), - image_url=data.get('image_url'), - groups=[mapPortalsConsumerProfilesListOutputItemsGroups.from_dict(item) for item in data.get('groups', []) if item], - consumer_id=data.get('consumer_id'), - created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, - updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None - ) - - @staticmethod - def to_dict(value: Union[PortalsConsumerProfilesListOutputItems, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: - if value is None: - return None - if isinstance(value, dict): - return value - return dataclasses.asdict(value) - class mapPortalsConsumerProfilesListOutputPagination: @staticmethod def from_dict(data: Dict[str, Any]) -> PortalsConsumerProfilesListOutputPagination: @@ -123,7 +33,7 @@ class mapPortalsConsumerProfilesListOutput: @staticmethod def from_dict(data: Dict[str, Any]) -> PortalsConsumerProfilesListOutput: return PortalsConsumerProfilesListOutput( - items=[mapPortalsConsumerProfilesListOutputItems.from_dict(item) for item in data.get('items', []) if item], + items=data.get('items', []), pagination=mapPortalsConsumerProfilesListOutputPagination.from_dict(data.get('pagination')) if data.get('pagination') else None ) diff --git a/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/portals/consumer_profiles/unassign_groups.py b/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/portals/consumer_profiles/unassign_groups.py index 20a22a9c..3f00a1e3 100644 --- a/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/portals/consumer_profiles/unassign_groups.py +++ b/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/portals/consumer_profiles/unassign_groups.py @@ -20,6 +20,20 @@ class PortalsConsumerProfilesUnassignGroupsOutputGroups: group: PortalsConsumerProfilesUnassignGroupsOutputGroupsGroup assigned_via: str @dataclass +class PortalsConsumerProfilesUnassignGroupsOutputSurfaceAuth: + object: str + session_expiry_time_in_seconds: float +@dataclass +class PortalsConsumerProfilesUnassignGroupsOutputSurface: + object: str + id: str + status: str + name: str + auth: PortalsConsumerProfilesUnassignGroupsOutputSurfaceAuth + created_at: datetime + updated_at: datetime + description: Optional[str] = None +@dataclass class PortalsConsumerProfilesUnassignGroupsOutput: object: str id: str @@ -29,49 +43,10 @@ class PortalsConsumerProfilesUnassignGroupsOutput: consumer_id: str created_at: datetime updated_at: datetime + surface: PortalsConsumerProfilesUnassignGroupsOutputSurface groups: Optional[List[PortalsConsumerProfilesUnassignGroupsOutputGroups]] = None -class mapPortalsConsumerProfilesUnassignGroupsOutputGroupsGroup: - @staticmethod - def from_dict(data: Dict[str, Any]) -> PortalsConsumerProfilesUnassignGroupsOutputGroupsGroup: - return PortalsConsumerProfilesUnassignGroupsOutputGroupsGroup( - object=data.get('object'), - id=data.get('id'), - status=data.get('status'), - name=data.get('name'), - description=data.get('description'), - is_default=data.get('is_default'), - sso_group_ids=data.get('sso_group_ids', []), - created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, - updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None - ) - - @staticmethod - def to_dict(value: Union[PortalsConsumerProfilesUnassignGroupsOutputGroupsGroup, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: - if value is None: - return None - if isinstance(value, dict): - return value - return dataclasses.asdict(value) - -class mapPortalsConsumerProfilesUnassignGroupsOutputGroups: - @staticmethod - def from_dict(data: Dict[str, Any]) -> PortalsConsumerProfilesUnassignGroupsOutputGroups: - return PortalsConsumerProfilesUnassignGroupsOutputGroups( - object=data.get('object'), - group=mapPortalsConsumerProfilesUnassignGroupsOutputGroupsGroup.from_dict(data.get('group')) if data.get('group') else None, - assigned_via=data.get('assigned_via') - ) - - @staticmethod - def to_dict(value: Union[PortalsConsumerProfilesUnassignGroupsOutputGroups, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: - if value is None: - return None - if isinstance(value, dict): - return value - return dataclasses.asdict(value) - class mapPortalsConsumerProfilesUnassignGroupsOutput: @staticmethod def from_dict(data: Dict[str, Any]) -> PortalsConsumerProfilesUnassignGroupsOutput: @@ -84,7 +59,8 @@ def from_dict(data: Dict[str, Any]) -> PortalsConsumerProfilesUnassignGroupsOutp groups=[mapPortalsConsumerProfilesUnassignGroupsOutputGroups.from_dict(item) for item in data.get('groups', []) if item], consumer_id=data.get('consumer_id'), created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, - updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + surface=mapPortalsConsumerProfilesUnassignGroupsOutputSurface.from_dict(data.get('surface')) if data.get('surface') else None ) @staticmethod diff --git a/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/provider_deployments/auth_configs/list.py b/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/provider_deployments/auth_configs/list.py index 1541722a..e737cffe 100644 --- a/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/provider_deployments/auth_configs/list.py +++ b/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/provider_deployments/auth_configs/list.py @@ -297,6 +297,10 @@ class ProviderDeploymentsAuthConfigsListQuery: provider_deployment_id: Optional[Union[str, List[str]]] = None provider_auth_credentials_id: Optional[Union[str, List[str]]] = None provider_auth_method_id: Optional[Union[str, List[str]]] = None + actor_id: Optional[Union[str, List[str]]] = None + consumer_id: Optional[Union[str, List[str]]] = None + identity_id: Optional[Union[str, List[str]]] = None + identity_credential_id: Optional[Union[str, List[str]]] = None search: Optional[str] = None created_at: Optional[ProviderDeploymentsAuthConfigsListQueryCreatedAt] = None updated_at: Optional[ProviderDeploymentsAuthConfigsListQueryUpdatedAt] = None @@ -317,6 +321,10 @@ def from_dict(data: Dict[str, Any]) -> ProviderDeploymentsAuthConfigsListQuery: provider_deployment_id=data.get('provider_deployment_id'), provider_auth_credentials_id=data.get('provider_auth_credentials_id'), provider_auth_method_id=data.get('provider_auth_method_id'), + actor_id=data.get('actor_id'), + consumer_id=data.get('consumer_id'), + identity_id=data.get('identity_id'), + identity_credential_id=data.get('identity_credential_id'), search=data.get('search'), created_at=mapProviderDeploymentsAuthConfigsListQueryCreatedAt.from_dict(data.get('created_at')) if data.get('created_at') else None, updated_at=mapProviderDeploymentsAuthConfigsListQueryUpdatedAt.from_dict(data.get('updated_at')) if data.get('updated_at') else None diff --git a/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/provider_deployments/configs/list.py b/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/provider_deployments/configs/list.py index dc37ee06..de115a29 100644 --- a/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/provider_deployments/configs/list.py +++ b/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/provider_deployments/configs/list.py @@ -211,6 +211,10 @@ class ProviderDeploymentsConfigsListQuery: provider_specification_id: Optional[Union[str, List[str]]] = None provider_deployment_id: Optional[Union[str, List[str]]] = None provider_config_vault_id: Optional[Union[str, List[str]]] = None + actor_id: Optional[Union[str, List[str]]] = None + consumer_id: Optional[Union[str, List[str]]] = None + identity_id: Optional[Union[str, List[str]]] = None + identity_credential_id: Optional[Union[str, List[str]]] = None search: Optional[str] = None created_at: Optional[ProviderDeploymentsConfigsListQueryCreatedAt] = None updated_at: Optional[ProviderDeploymentsConfigsListQueryUpdatedAt] = None @@ -231,6 +235,10 @@ def from_dict(data: Dict[str, Any]) -> ProviderDeploymentsConfigsListQuery: provider_specification_id=data.get('provider_specification_id'), provider_deployment_id=data.get('provider_deployment_id'), provider_config_vault_id=data.get('provider_config_vault_id'), + actor_id=data.get('actor_id'), + consumer_id=data.get('consumer_id'), + identity_id=data.get('identity_id'), + identity_credential_id=data.get('identity_credential_id'), search=data.get('search'), created_at=mapProviderDeploymentsConfigsListQueryCreatedAt.from_dict(data.get('created_at')) if data.get('created_at') else None, updated_at=mapProviderDeploymentsConfigsListQueryUpdatedAt.from_dict(data.get('updated_at')) if data.get('updated_at') else None diff --git a/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/provider_deployments/list.py b/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/provider_deployments/list.py index f91add0c..1f4fcbfe 100644 --- a/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/provider_deployments/list.py +++ b/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/provider_deployments/list.py @@ -185,6 +185,10 @@ class ProviderDeploymentsListQuery: id: Optional[Union[str, List[str]]] = None provider_id: Optional[Union[str, List[str]]] = None provider_version_id: Optional[Union[str, List[str]]] = None + actor_id: Optional[Union[str, List[str]]] = None + consumer_id: Optional[Union[str, List[str]]] = None + identity_id: Optional[Union[str, List[str]]] = None + identity_credential_id: Optional[Union[str, List[str]]] = None status: Optional[Union[str, List[str]]] = None capabilities: Optional[ProviderDeploymentsListQueryCapabilities] = None search: Optional[str] = None @@ -204,6 +208,10 @@ def from_dict(data: Dict[str, Any]) -> ProviderDeploymentsListQuery: id=data.get('id'), provider_id=data.get('provider_id'), provider_version_id=data.get('provider_version_id'), + actor_id=data.get('actor_id'), + consumer_id=data.get('consumer_id'), + identity_id=data.get('identity_id'), + identity_credential_id=data.get('identity_credential_id'), status=data.get('status'), capabilities=mapProviderDeploymentsListQueryCapabilities.from_dict(data.get('capabilities')) if data.get('capabilities') else None, search=data.get('search'), diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/__init__.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/__init__.py index 00332c6c..7b8de1ee 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/__init__.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/__init__.py @@ -6,6 +6,9 @@ # These types are automatically exported for better IDE support # Type classes +# ApiKeysRevealOutput +# ApiKeysRotateBody +# ApiKeysRotateOutput # ConsumerProfileGetOutput # ConsumerProfileGroupsListOutput # ConsumerProfileGroupsListQuery @@ -48,6 +51,21 @@ # DashboardInstanceCallbacksNotificationsListQuery # DashboardInstanceCallbacksUpdateBody # DashboardInstanceCallbacksUpdateOutput +# DashboardInstanceConsumerSurfacesGetOutput +# DashboardInstanceConsumerSurfacesListOutput +# DashboardInstanceConsumerSurfacesListQuery +# DashboardInstanceConsumersCreateBody +# DashboardInstanceConsumersCreateOutput +# DashboardInstanceConsumersGetMemberConsumerBody +# DashboardInstanceConsumersGetMemberConsumerOutput +# DashboardInstanceConsumersGetOutput +# DashboardInstanceConsumersListOutput +# DashboardInstanceConsumersListQuery +# DashboardInstanceConsumersProfilesGetOutput +# DashboardInstanceConsumersProfilesListOutput +# DashboardInstanceConsumersProfilesListQuery +# DashboardInstanceConsumersUpdateBody +# DashboardInstanceConsumersUpdateOutput # DashboardInstanceCustomProvidersCommitsCreateBody # DashboardInstanceCustomProvidersCommitsCreateOutput # DashboardInstanceCustomProvidersCommitsGetOutput @@ -341,11 +359,22 @@ # DashboardInstanceToolCallsGetOutput # DashboardInstanceToolCallsListOutput # DashboardInstanceToolCallsListQuery +# DashboardOrganizationsApiKeysCreateBody +# DashboardOrganizationsApiKeysCreateOutput +# DashboardOrganizationsApiKeysGetOutput +# DashboardOrganizationsApiKeysListOutput +# DashboardOrganizationsApiKeysListQuery +# DashboardOrganizationsApiKeysRevokeOutput +# DashboardOrganizationsApiKeysUpdateBody +# DashboardOrganizationsApiKeysUpdateOutput # InstancesGetOutput # InstancesListOutput # TokenGetOutput # Mapper classes +# mapApiKeysRevealOutput +# mapApiKeysRotateBody +# mapApiKeysRotateOutput # mapConsumerProfileGetOutput # mapConsumerProfileGroupsListOutput # mapConsumerProfileGroupsListQuery @@ -388,6 +417,21 @@ # mapDashboardInstanceCallbacksNotificationsListQuery # mapDashboardInstanceCallbacksUpdateBody # mapDashboardInstanceCallbacksUpdateOutput +# mapDashboardInstanceConsumerSurfacesGetOutput +# mapDashboardInstanceConsumerSurfacesListOutput +# mapDashboardInstanceConsumerSurfacesListQuery +# mapDashboardInstanceConsumersCreateBody +# mapDashboardInstanceConsumersCreateOutput +# mapDashboardInstanceConsumersGetMemberConsumerBody +# mapDashboardInstanceConsumersGetMemberConsumerOutput +# mapDashboardInstanceConsumersGetOutput +# mapDashboardInstanceConsumersListOutput +# mapDashboardInstanceConsumersListQuery +# mapDashboardInstanceConsumersProfilesGetOutput +# mapDashboardInstanceConsumersProfilesListOutput +# mapDashboardInstanceConsumersProfilesListQuery +# mapDashboardInstanceConsumersUpdateBody +# mapDashboardInstanceConsumersUpdateOutput # mapDashboardInstanceCustomProvidersCommitsCreateBody # mapDashboardInstanceCustomProvidersCommitsCreateOutput # mapDashboardInstanceCustomProvidersCommitsGetOutput @@ -681,6 +725,14 @@ # mapDashboardInstanceToolCallsGetOutput # mapDashboardInstanceToolCallsListOutput # mapDashboardInstanceToolCallsListQuery +# mapDashboardOrganizationsApiKeysCreateBody +# mapDashboardOrganizationsApiKeysCreateOutput +# mapDashboardOrganizationsApiKeysGetOutput +# mapDashboardOrganizationsApiKeysListOutput +# mapDashboardOrganizationsApiKeysListQuery +# mapDashboardOrganizationsApiKeysRevokeOutput +# mapDashboardOrganizationsApiKeysUpdateBody +# mapDashboardOrganizationsApiKeysUpdateOutput # mapInstancesGetOutput # mapInstancesListOutput # mapTokenGetOutput diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/__init__.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/__init__.py index 0ff96f5a..55e56c6c 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/__init__.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/__init__.py @@ -1,3 +1,4 @@ +from .api_keys import * from .callbacks import * from .callbacks_destinations import * from .callbacks_events import * @@ -7,6 +8,9 @@ from .consumer_profile_groups import * from .consumer_providers import * from .consumer_session import * +from .consumer_surfaces import * +from .consumers import * +from .consumers_profiles import * from .custom_providers import * from .custom_providers_commits import * from .custom_providers_deployments import * @@ -17,6 +21,9 @@ from .dashboard_instance_callbacks_events import * from .dashboard_instance_callbacks_instances import * from .dashboard_instance_callbacks_notifications import * +from .dashboard_instance_consumer_surfaces import * +from .dashboard_instance_consumers import * +from .dashboard_instance_consumers_profiles import * from .dashboard_instance_custom_providers import * from .dashboard_instance_custom_providers_commits import * from .dashboard_instance_custom_providers_deployments import * @@ -68,6 +75,7 @@ from .dashboard_instance_sessions_participants import * from .dashboard_instance_sessions_providers import * from .dashboard_instance_tool_calls import * +from .dashboard_organizations_api_keys import * from .file_links import * from .files import * from .identities import * @@ -87,6 +95,9 @@ from .management_instance_callbacks_events import * from .management_instance_callbacks_instances import * from .management_instance_callbacks_notifications import * +from .management_instance_consumer_surfaces import * +from .management_instance_consumers import * +from .management_instance_consumers_profiles import * from .management_instance_custom_providers import * from .management_instance_custom_providers_commits import * from .management_instance_custom_providers_deployments import * @@ -138,6 +149,7 @@ from .management_instance_sessions_participants import * from .management_instance_sessions_providers import * from .management_instance_tool_calls import * +from .management_organization_api_keys import * from .portals import * from .provider_categories import * from .provider_collections import * diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/api_keys.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/api_keys.py new file mode 100644 index 00000000..72ddc8c2 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/api_keys.py @@ -0,0 +1,45 @@ +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +from metorial_util_endpoint import BaseMetorialEndpoint, MetorialEndpointManager, MetorialRequest +from ..resources import mapApiKeysRotateOutput, ApiKeysRotateOutput, mapApiKeysRotateBody, ApiKeysRotateBody, mapApiKeysRevealOutput, ApiKeysRevealOutput + +class MetorialApiKeysEndpoint(BaseMetorialEndpoint): + """Read and write API key information""" + + def __init__(self, config: MetorialEndpointManager): + super().__init__(config) + + def rotate(self, organization_id: str, api_key_id: str, *, current_expires_at: Optional[datetime] = None) -> ApiKeysRotateOutput: + """ + Rotate API key + Rotate a specific API key + + :param organization_id: str + :param api_key_id: str + :param current_expires_at: Optional[datetime] (optional) + :return: ApiKeysRotateOutput + """ + # Build body parameters from keyword arguments + body_dict = {} + if current_expires_at is not None: + body_dict["current_expires_at"] = current_expires_at + + request = MetorialRequest( + path=['dashboard', 'organizations', organization_id, 'api-keys', api_key_id, 'rotate'], + body=body_dict + ) + return self._post(request).transform(mapApiKeysRotateOutput.from_dict) + + def reveal(self, organization_id: str, api_key_id: str) -> ApiKeysRevealOutput: + """ + Reveal API key + Reveal a specific API key + + :param organization_id: str + :param api_key_id: str + :return: ApiKeysRevealOutput + """ + request = MetorialRequest( + path=['dashboard', 'organizations', organization_id, 'api-keys', api_key_id, 'reveal'] + ) + return self._post(request).transform(mapApiKeysRevealOutput.from_dict) \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/consumer_surfaces.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/consumer_surfaces.py new file mode 100644 index 00000000..f594afcd --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/consumer_surfaces.py @@ -0,0 +1,53 @@ +from typing import Any, Dict, List, Optional, Union +from metorial_util_endpoint import BaseMetorialEndpoint, MetorialEndpointManager, MetorialRequest +from ..resources import mapDashboardInstanceConsumerSurfacesListOutput, DashboardInstanceConsumerSurfacesListOutput, mapDashboardInstanceConsumerSurfacesListQuery, DashboardInstanceConsumerSurfacesListQuery, mapDashboardInstanceConsumerSurfacesGetOutput, DashboardInstanceConsumerSurfacesGetOutput + +class MetorialConsumerSurfacesEndpoint(BaseMetorialEndpoint): + """List and retrieve consumer surfaces for an instance.""" + + def __init__(self, config: MetorialEndpointManager): + super().__init__(config) + + def list(self, *, limit: Optional[float] = None, after: Optional[str] = None, before: Optional[str] = None, cursor: Optional[str] = None, order: Optional[str] = None) -> DashboardInstanceConsumerSurfacesListOutput: + """ + List consumer surfaces + Returns a paginated list of consumer surfaces for an instance. + + :param limit: Optional[float] (optional) + :param after: Optional[str] (optional) + :param before: Optional[str] (optional) + :param cursor: Optional[str] (optional) + :param order: Optional[str] (optional) + :return: DashboardInstanceConsumerSurfacesListOutput + """ + # Build query parameters from keyword arguments + query_dict = {} + if limit is not None: + query_dict["limit"] = limit + if after is not None: + query_dict["after"] = after + if before is not None: + query_dict["before"] = before + if cursor is not None: + query_dict["cursor"] = cursor + if order is not None: + query_dict["order"] = order + + request = MetorialRequest( + path=['consumer-surfaces'], + query=query_dict + ) + return self._get(request).transform(mapDashboardInstanceConsumerSurfacesListOutput.from_dict) + + def get(self, consumer_surface_id: str) -> DashboardInstanceConsumerSurfacesGetOutput: + """ + Get consumer surface + Retrieves a consumer surface by ID. + + :param consumer_surface_id: str + :return: DashboardInstanceConsumerSurfacesGetOutput + """ + request = MetorialRequest( + path=['consumer-surfaces', consumer_surface_id] + ) + return self._get(request).transform(mapDashboardInstanceConsumerSurfacesGetOutput.from_dict) \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/consumers.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/consumers.py new file mode 100644 index 00000000..188acf74 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/consumers.py @@ -0,0 +1,114 @@ +from typing import Any, Dict, List, Optional, Union +from metorial_util_endpoint import BaseMetorialEndpoint, MetorialEndpointManager, MetorialRequest +from ..resources import mapDashboardInstanceConsumersListOutput, DashboardInstanceConsumersListOutput, mapDashboardInstanceConsumersListQuery, DashboardInstanceConsumersListQuery, mapDashboardInstanceConsumersGetOutput, DashboardInstanceConsumersGetOutput, mapDashboardInstanceConsumersCreateOutput, DashboardInstanceConsumersCreateOutput, mapDashboardInstanceConsumersCreateBody, DashboardInstanceConsumersCreateBody, mapDashboardInstanceConsumersGetMemberConsumerOutput, DashboardInstanceConsumersGetMemberConsumerOutput, mapDashboardInstanceConsumersGetMemberConsumerBody, DashboardInstanceConsumersGetMemberConsumerBody, mapDashboardInstanceConsumersUpdateOutput, DashboardInstanceConsumersUpdateOutput, mapDashboardInstanceConsumersUpdateBody, DashboardInstanceConsumersUpdateBody + +class MetorialConsumersEndpoint(BaseMetorialEndpoint): + """Manage instance consumers independently from portals and inspect the profiles linked to each consumer.""" + + def __init__(self, config: MetorialEndpointManager): + super().__init__(config) + + def list(self, *, limit: Optional[float] = None, after: Optional[str] = None, before: Optional[str] = None, cursor: Optional[str] = None, order: Optional[str] = None) -> DashboardInstanceConsumersListOutput: + """ + List consumers + Returns a paginated list of consumers for an instance. + + :param limit: Optional[float] (optional) + :param after: Optional[str] (optional) + :param before: Optional[str] (optional) + :param cursor: Optional[str] (optional) + :param order: Optional[str] (optional) + :return: DashboardInstanceConsumersListOutput + """ + # Build query parameters from keyword arguments + query_dict = {} + if limit is not None: + query_dict["limit"] = limit + if after is not None: + query_dict["after"] = after + if before is not None: + query_dict["before"] = before + if cursor is not None: + query_dict["cursor"] = cursor + if order is not None: + query_dict["order"] = order + + request = MetorialRequest( + path=['consumers'], + query=query_dict + ) + return self._get(request).transform(mapDashboardInstanceConsumersListOutput.from_dict) + + def get(self, consumer_id: str) -> DashboardInstanceConsumersGetOutput: + """ + Get consumer + Retrieves a consumer by ID. + + :param consumer_id: str + :return: DashboardInstanceConsumersGetOutput + """ + request = MetorialRequest( + path=['consumers', consumer_id] + ) + return self._get(request).transform(mapDashboardInstanceConsumersGetOutput.from_dict) + + def create(self, *, name: str, email: str) -> DashboardInstanceConsumersCreateOutput: + """ + Create consumer + Creates or links a consumer for an instance. + + :param name: str + :param email: str + :return: DashboardInstanceConsumersCreateOutput + """ + # Build body parameters from keyword arguments + body_dict = {} + body_dict["name"] = name + body_dict["email"] = email + + request = MetorialRequest( + path=['consumers'], + body=body_dict + ) + return self._post(request).transform(mapDashboardInstanceConsumersCreateOutput.from_dict) + + def get_member_consumer(self, *, surface_identifier: str) -> DashboardInstanceConsumersGetMemberConsumerOutput: + """ + Get member consumer + Upserts and returns the consumer for the authenticated organization member. + + :param surface_identifier: str + :return: DashboardInstanceConsumersGetMemberConsumerOutput + """ + # Build body parameters from keyword arguments + body_dict = {} + body_dict["surface_identifier"] = surface_identifier + + request = MetorialRequest( + path=['get-member-consumer'], + body=body_dict + ) + return self._post(request).transform(mapDashboardInstanceConsumersGetMemberConsumerOutput.from_dict) + + def update(self, consumer_id: str, *, name: Optional[str] = None, email: Optional[str] = None) -> DashboardInstanceConsumersUpdateOutput: + """ + Update consumer + Updates a consumer for an instance. + + :param consumer_id: str + :param name: Optional[str] (optional) + :param email: Optional[str] (optional) + :return: DashboardInstanceConsumersUpdateOutput + """ + # Build body parameters from keyword arguments + body_dict = {} + if name is not None: + body_dict["name"] = name + if email is not None: + body_dict["email"] = email + + request = MetorialRequest( + path=['consumers', consumer_id], + body=body_dict + ) + return self._patch(request).transform(mapDashboardInstanceConsumersUpdateOutput.from_dict) \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/consumers_profiles.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/consumers_profiles.py new file mode 100644 index 00000000..58addccd --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/consumers_profiles.py @@ -0,0 +1,55 @@ +from typing import Any, Dict, List, Optional, Union +from metorial_util_endpoint import BaseMetorialEndpoint, MetorialEndpointManager, MetorialRequest +from ..resources import mapDashboardInstanceConsumersProfilesListOutput, DashboardInstanceConsumersProfilesListOutput, mapDashboardInstanceConsumersProfilesListQuery, DashboardInstanceConsumersProfilesListQuery, mapDashboardInstanceConsumersProfilesGetOutput, DashboardInstanceConsumersProfilesGetOutput + +class MetorialConsumersProfilesEndpoint(BaseMetorialEndpoint): + """Manage instance consumers independently from portals and inspect the profiles linked to each consumer.""" + + def __init__(self, config: MetorialEndpointManager): + super().__init__(config) + + def list(self, consumer_id: str, *, limit: Optional[float] = None, after: Optional[str] = None, before: Optional[str] = None, cursor: Optional[str] = None, order: Optional[str] = None) -> DashboardInstanceConsumersProfilesListOutput: + """ + List consumer profiles + Returns a paginated list of profiles for a consumer in an instance. + + :param consumer_id: str + :param limit: Optional[float] (optional) + :param after: Optional[str] (optional) + :param before: Optional[str] (optional) + :param cursor: Optional[str] (optional) + :param order: Optional[str] (optional) + :return: DashboardInstanceConsumersProfilesListOutput + """ + # Build query parameters from keyword arguments + query_dict = {} + if limit is not None: + query_dict["limit"] = limit + if after is not None: + query_dict["after"] = after + if before is not None: + query_dict["before"] = before + if cursor is not None: + query_dict["cursor"] = cursor + if order is not None: + query_dict["order"] = order + + request = MetorialRequest( + path=['consumers', consumer_id, 'profiles'], + query=query_dict + ) + return self._get(request).transform(mapDashboardInstanceConsumersProfilesListOutput.from_dict) + + def get(self, consumer_id: str, consumer_profile_id: str) -> DashboardInstanceConsumersProfilesGetOutput: + """ + Get consumer profile + Retrieves a consumer profile by ID for a consumer. + + :param consumer_id: str + :param consumer_profile_id: str + :return: DashboardInstanceConsumersProfilesGetOutput + """ + request = MetorialRequest( + path=['consumers', consumer_id, 'profiles', consumer_profile_id] + ) + return self._get(request).transform(mapDashboardInstanceConsumersProfilesGetOutput.from_dict) \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_consumer_surfaces.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_consumer_surfaces.py new file mode 100644 index 00000000..9380d539 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_consumer_surfaces.py @@ -0,0 +1,55 @@ +from typing import Any, Dict, List, Optional, Union +from metorial_util_endpoint import BaseMetorialEndpoint, MetorialEndpointManager, MetorialRequest +from ..resources import mapDashboardInstanceConsumerSurfacesListOutput, DashboardInstanceConsumerSurfacesListOutput, mapDashboardInstanceConsumerSurfacesListQuery, DashboardInstanceConsumerSurfacesListQuery, mapDashboardInstanceConsumerSurfacesGetOutput, DashboardInstanceConsumerSurfacesGetOutput + +class MetorialDashboardInstanceConsumerSurfacesEndpoint(BaseMetorialEndpoint): + """List and retrieve consumer surfaces for an instance.""" + + def __init__(self, config: MetorialEndpointManager): + super().__init__(config) + + def list(self, instance_id: str, *, limit: Optional[float] = None, after: Optional[str] = None, before: Optional[str] = None, cursor: Optional[str] = None, order: Optional[str] = None) -> DashboardInstanceConsumerSurfacesListOutput: + """ + List consumer surfaces + Returns a paginated list of consumer surfaces for an instance. + + :param instance_id: str + :param limit: Optional[float] (optional) + :param after: Optional[str] (optional) + :param before: Optional[str] (optional) + :param cursor: Optional[str] (optional) + :param order: Optional[str] (optional) + :return: DashboardInstanceConsumerSurfacesListOutput + """ + # Build query parameters from keyword arguments + query_dict = {} + if limit is not None: + query_dict["limit"] = limit + if after is not None: + query_dict["after"] = after + if before is not None: + query_dict["before"] = before + if cursor is not None: + query_dict["cursor"] = cursor + if order is not None: + query_dict["order"] = order + + request = MetorialRequest( + path=['dashboard', 'instances', instance_id, 'consumer-surfaces'], + query=query_dict + ) + return self._get(request).transform(mapDashboardInstanceConsumerSurfacesListOutput.from_dict) + + def get(self, instance_id: str, consumer_surface_id: str) -> DashboardInstanceConsumerSurfacesGetOutput: + """ + Get consumer surface + Retrieves a consumer surface by ID. + + :param instance_id: str + :param consumer_surface_id: str + :return: DashboardInstanceConsumerSurfacesGetOutput + """ + request = MetorialRequest( + path=['dashboard', 'instances', instance_id, 'consumer-surfaces', consumer_surface_id] + ) + return self._get(request).transform(mapDashboardInstanceConsumerSurfacesGetOutput.from_dict) \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_consumers.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_consumers.py new file mode 100644 index 00000000..befa2db4 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_consumers.py @@ -0,0 +1,119 @@ +from typing import Any, Dict, List, Optional, Union +from metorial_util_endpoint import BaseMetorialEndpoint, MetorialEndpointManager, MetorialRequest +from ..resources import mapDashboardInstanceConsumersListOutput, DashboardInstanceConsumersListOutput, mapDashboardInstanceConsumersListQuery, DashboardInstanceConsumersListQuery, mapDashboardInstanceConsumersGetOutput, DashboardInstanceConsumersGetOutput, mapDashboardInstanceConsumersCreateOutput, DashboardInstanceConsumersCreateOutput, mapDashboardInstanceConsumersCreateBody, DashboardInstanceConsumersCreateBody, mapDashboardInstanceConsumersGetMemberConsumerOutput, DashboardInstanceConsumersGetMemberConsumerOutput, mapDashboardInstanceConsumersGetMemberConsumerBody, DashboardInstanceConsumersGetMemberConsumerBody, mapDashboardInstanceConsumersUpdateOutput, DashboardInstanceConsumersUpdateOutput, mapDashboardInstanceConsumersUpdateBody, DashboardInstanceConsumersUpdateBody + +class MetorialDashboardInstanceConsumersEndpoint(BaseMetorialEndpoint): + """Manage instance consumers independently from portals and inspect the profiles linked to each consumer.""" + + def __init__(self, config: MetorialEndpointManager): + super().__init__(config) + + def list(self, instance_id: str, *, limit: Optional[float] = None, after: Optional[str] = None, before: Optional[str] = None, cursor: Optional[str] = None, order: Optional[str] = None) -> DashboardInstanceConsumersListOutput: + """ + List consumers + Returns a paginated list of consumers for an instance. + + :param instance_id: str + :param limit: Optional[float] (optional) + :param after: Optional[str] (optional) + :param before: Optional[str] (optional) + :param cursor: Optional[str] (optional) + :param order: Optional[str] (optional) + :return: DashboardInstanceConsumersListOutput + """ + # Build query parameters from keyword arguments + query_dict = {} + if limit is not None: + query_dict["limit"] = limit + if after is not None: + query_dict["after"] = after + if before is not None: + query_dict["before"] = before + if cursor is not None: + query_dict["cursor"] = cursor + if order is not None: + query_dict["order"] = order + + request = MetorialRequest( + path=['dashboard', 'instances', instance_id, 'consumers'], + query=query_dict + ) + return self._get(request).transform(mapDashboardInstanceConsumersListOutput.from_dict) + + def get(self, instance_id: str, consumer_id: str) -> DashboardInstanceConsumersGetOutput: + """ + Get consumer + Retrieves a consumer by ID. + + :param instance_id: str + :param consumer_id: str + :return: DashboardInstanceConsumersGetOutput + """ + request = MetorialRequest( + path=['dashboard', 'instances', instance_id, 'consumers', consumer_id] + ) + return self._get(request).transform(mapDashboardInstanceConsumersGetOutput.from_dict) + + def create(self, instance_id: str, *, name: str, email: str) -> DashboardInstanceConsumersCreateOutput: + """ + Create consumer + Creates or links a consumer for an instance. + + :param instance_id: str + :param name: str + :param email: str + :return: DashboardInstanceConsumersCreateOutput + """ + # Build body parameters from keyword arguments + body_dict = {} + body_dict["name"] = name + body_dict["email"] = email + + request = MetorialRequest( + path=['dashboard', 'instances', instance_id, 'consumers'], + body=body_dict + ) + return self._post(request).transform(mapDashboardInstanceConsumersCreateOutput.from_dict) + + def get_member_consumer(self, instance_id: str, *, surface_identifier: str) -> DashboardInstanceConsumersGetMemberConsumerOutput: + """ + Get member consumer + Upserts and returns the consumer for the authenticated organization member. + + :param instance_id: str + :param surface_identifier: str + :return: DashboardInstanceConsumersGetMemberConsumerOutput + """ + # Build body parameters from keyword arguments + body_dict = {} + body_dict["surface_identifier"] = surface_identifier + + request = MetorialRequest( + path=['dashboard', 'instances', instance_id, 'get-member-consumer'], + body=body_dict + ) + return self._post(request).transform(mapDashboardInstanceConsumersGetMemberConsumerOutput.from_dict) + + def update(self, instance_id: str, consumer_id: str, *, name: Optional[str] = None, email: Optional[str] = None) -> DashboardInstanceConsumersUpdateOutput: + """ + Update consumer + Updates a consumer for an instance. + + :param instance_id: str + :param consumer_id: str + :param name: Optional[str] (optional) + :param email: Optional[str] (optional) + :return: DashboardInstanceConsumersUpdateOutput + """ + # Build body parameters from keyword arguments + body_dict = {} + if name is not None: + body_dict["name"] = name + if email is not None: + body_dict["email"] = email + + request = MetorialRequest( + path=['dashboard', 'instances', instance_id, 'consumers', consumer_id], + body=body_dict + ) + return self._patch(request).transform(mapDashboardInstanceConsumersUpdateOutput.from_dict) \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_consumers_profiles.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_consumers_profiles.py new file mode 100644 index 00000000..9738431b --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_consumers_profiles.py @@ -0,0 +1,57 @@ +from typing import Any, Dict, List, Optional, Union +from metorial_util_endpoint import BaseMetorialEndpoint, MetorialEndpointManager, MetorialRequest +from ..resources import mapDashboardInstanceConsumersProfilesListOutput, DashboardInstanceConsumersProfilesListOutput, mapDashboardInstanceConsumersProfilesListQuery, DashboardInstanceConsumersProfilesListQuery, mapDashboardInstanceConsumersProfilesGetOutput, DashboardInstanceConsumersProfilesGetOutput + +class MetorialDashboardInstanceConsumersProfilesEndpoint(BaseMetorialEndpoint): + """Manage instance consumers independently from portals and inspect the profiles linked to each consumer.""" + + def __init__(self, config: MetorialEndpointManager): + super().__init__(config) + + def list(self, instance_id: str, consumer_id: str, *, limit: Optional[float] = None, after: Optional[str] = None, before: Optional[str] = None, cursor: Optional[str] = None, order: Optional[str] = None) -> DashboardInstanceConsumersProfilesListOutput: + """ + List consumer profiles + Returns a paginated list of profiles for a consumer in an instance. + + :param instance_id: str + :param consumer_id: str + :param limit: Optional[float] (optional) + :param after: Optional[str] (optional) + :param before: Optional[str] (optional) + :param cursor: Optional[str] (optional) + :param order: Optional[str] (optional) + :return: DashboardInstanceConsumersProfilesListOutput + """ + # Build query parameters from keyword arguments + query_dict = {} + if limit is not None: + query_dict["limit"] = limit + if after is not None: + query_dict["after"] = after + if before is not None: + query_dict["before"] = before + if cursor is not None: + query_dict["cursor"] = cursor + if order is not None: + query_dict["order"] = order + + request = MetorialRequest( + path=['dashboard', 'instances', instance_id, 'consumers', consumer_id, 'profiles'], + query=query_dict + ) + return self._get(request).transform(mapDashboardInstanceConsumersProfilesListOutput.from_dict) + + def get(self, instance_id: str, consumer_id: str, consumer_profile_id: str) -> DashboardInstanceConsumersProfilesGetOutput: + """ + Get consumer profile + Retrieves a consumer profile by ID for a consumer. + + :param instance_id: str + :param consumer_id: str + :param consumer_profile_id: str + :return: DashboardInstanceConsumersProfilesGetOutput + """ + request = MetorialRequest( + path=['dashboard', 'instances', instance_id, 'consumers', consumer_id, 'profiles', consumer_profile_id] + ) + return self._get(request).transform(mapDashboardInstanceConsumersProfilesGetOutput.from_dict) \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_identity_actors.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_identity_actors.py index 48bea363..314d3a91 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_identity_actors.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_identity_actors.py @@ -8,7 +8,7 @@ class MetorialDashboardInstanceIdentityActorsEndpoint(BaseMetorialEndpoint): def __init__(self, config: MetorialEndpointManager): super().__init__(config) - def list(self, instance_id: str, *, limit: Optional[float] = None, after: Optional[str] = None, before: Optional[str] = None, cursor: Optional[str] = None, order: Optional[str] = None, search: Optional[str] = None, status: Optional[Union[str, List[str]]] = None, id: Optional[Union[str, List[str]]] = None, agent_id: Optional[Union[str, List[str]]] = None, created_at: Optional[Dict[str, Any]] = None, updated_at: Optional[Dict[str, Any]] = None) -> DashboardInstanceIdentityActorsListOutput: + def list(self, instance_id: str, *, limit: Optional[float] = None, after: Optional[str] = None, before: Optional[str] = None, cursor: Optional[str] = None, order: Optional[str] = None, search: Optional[str] = None, status: Optional[Union[str, List[str]]] = None, id: Optional[Union[str, List[str]]] = None, agent_id: Optional[Union[str, List[str]]] = None, consumer_id: Optional[Union[str, List[str]]] = None, created_at: Optional[Dict[str, Any]] = None, updated_at: Optional[Dict[str, Any]] = None) -> DashboardInstanceIdentityActorsListOutput: """ List identity actors Returns a paginated list of identity actors for the instance. @@ -23,6 +23,7 @@ def list(self, instance_id: str, *, limit: Optional[float] = None, after: Option :param status: Optional[Union[str, List[str]]] (optional) :param id: Optional[Union[str, List[str]]] (optional) :param agent_id: Optional[Union[str, List[str]]] (optional) + :param consumer_id: Optional[Union[str, List[str]]] (optional) :param created_at: Optional[Dict[str, Any]] (optional) :param updated_at: Optional[Dict[str, Any]] (optional) :return: DashboardInstanceIdentityActorsListOutput @@ -47,6 +48,8 @@ def list(self, instance_id: str, *, limit: Optional[float] = None, after: Option query_dict["id"] = id if agent_id is not None: query_dict["agent_id"] = agent_id + if consumer_id is not None: + query_dict["consumer_id"] = consumer_id if created_at is not None: query_dict["created_at"] = created_at if updated_at is not None: diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_magic_mcp_servers.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_magic_mcp_servers.py index 3401cd5e..9416fbe1 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_magic_mcp_servers.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_magic_mcp_servers.py @@ -8,7 +8,7 @@ class MetorialDashboardInstanceMagicMcpServersEndpoint(BaseMetorialEndpoint): def __init__(self, config: MetorialEndpointManager): super().__init__(config) - def list(self, instance_id: str, *, limit: Optional[float] = None, after: Optional[str] = None, before: Optional[str] = None, cursor: Optional[str] = None, order: Optional[str] = None, status: Optional[Union[str, List[str]]] = None, magic_mcp_group_id: Optional[Union[str, List[str]]] = None, search: Optional[str] = None) -> DashboardInstanceMagicMcpServersListOutput: + def list(self, instance_id: str, *, limit: Optional[float] = None, after: Optional[str] = None, before: Optional[str] = None, cursor: Optional[str] = None, order: Optional[str] = None, status: Optional[Union[str, List[str]]] = None, magic_mcp_group_id: Optional[Union[str, List[str]]] = None, consumer_id: Optional[Union[str, List[str]]] = None, consumer_profile_id: Optional[Union[str, List[str]]] = None, search: Optional[str] = None) -> DashboardInstanceMagicMcpServersListOutput: """ List magic MCP servers Returns a paginated list of magic MCP servers. @@ -21,6 +21,8 @@ def list(self, instance_id: str, *, limit: Optional[float] = None, after: Option :param order: Optional[str] (optional) :param status: Optional[Union[str, List[str]]] (optional) :param magic_mcp_group_id: Optional[Union[str, List[str]]] (optional) + :param consumer_id: Optional[Union[str, List[str]]] (optional) + :param consumer_profile_id: Optional[Union[str, List[str]]] (optional) :param search: Optional[str] (optional) :return: DashboardInstanceMagicMcpServersListOutput """ @@ -40,6 +42,10 @@ def list(self, instance_id: str, *, limit: Optional[float] = None, after: Option query_dict["status"] = status if magic_mcp_group_id is not None: query_dict["magic_mcp_group_id"] = magic_mcp_group_id + if consumer_id is not None: + query_dict["consumer_id"] = consumer_id + if consumer_profile_id is not None: + query_dict["consumer_profile_id"] = consumer_profile_id if search is not None: query_dict["search"] = search @@ -63,7 +69,7 @@ def get(self, instance_id: str, magic_mcp_server_id: str) -> DashboardInstanceMa ) return self._get(request).transform(mapDashboardInstanceMagicMcpServersGetOutput.from_dict) - def create(self, instance_id: str, *, name: Optional[str] = None, description: Optional[str] = None, metadata: Optional[Dict[str, Any]] = None) -> DashboardInstanceMagicMcpServersCreateOutput: + def create(self, instance_id: str, *, name: Optional[str] = None, description: Optional[str] = None, metadata: Optional[Dict[str, Any]] = None, consumer_profile_id: Optional[str] = None) -> DashboardInstanceMagicMcpServersCreateOutput: """ Create magic MCP server Creates a magic MCP server with a new session template. A Subspace session is created automatically on first connection and then reused. @@ -72,6 +78,7 @@ def create(self, instance_id: str, *, name: Optional[str] = None, description: O :param name: Optional[str] (optional) :param description: Optional[str] (optional) :param metadata: Optional[Dict[str, Any]] (optional) + :param consumer_profile_id: Optional[str] (optional) :return: DashboardInstanceMagicMcpServersCreateOutput """ # Build body parameters from keyword arguments @@ -82,6 +89,8 @@ def create(self, instance_id: str, *, name: Optional[str] = None, description: O body_dict["description"] = description if metadata is not None: body_dict["metadata"] = metadata + if consumer_profile_id is not None: + body_dict["consumer_profile_id"] = consumer_profile_id request = MetorialRequest( path=['dashboard', 'instances', instance_id, 'magic-mcp-servers'], diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_provider_deployments.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_provider_deployments.py index a7885b6e..6c9eae00 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_provider_deployments.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_provider_deployments.py @@ -8,7 +8,7 @@ class MetorialDashboardInstanceProviderDeploymentsEndpoint(BaseMetorialEndpoint) def __init__(self, config: MetorialEndpointManager): super().__init__(config) - def list(self, instance_id: str, *, limit: Optional[float] = None, after: Optional[str] = None, before: Optional[str] = None, cursor: Optional[str] = None, order: Optional[str] = None, id: Optional[Union[str, List[str]]] = None, provider_id: Optional[Union[str, List[str]]] = None, provider_version_id: Optional[Union[str, List[str]]] = None, status: Optional[Union[str, List[str]]] = None, search: Optional[str] = None, created_at: Optional[Dict[str, Any]] = None, updated_at: Optional[Dict[str, Any]] = None) -> DashboardInstanceProviderDeploymentsListOutput: + def list(self, instance_id: str, *, limit: Optional[float] = None, after: Optional[str] = None, before: Optional[str] = None, cursor: Optional[str] = None, order: Optional[str] = None, id: Optional[Union[str, List[str]]] = None, provider_id: Optional[Union[str, List[str]]] = None, provider_version_id: Optional[Union[str, List[str]]] = None, actor_id: Optional[Union[str, List[str]]] = None, consumer_id: Optional[Union[str, List[str]]] = None, identity_id: Optional[Union[str, List[str]]] = None, identity_credential_id: Optional[Union[str, List[str]]] = None, status: Optional[Union[str, List[str]]] = None, search: Optional[str] = None, created_at: Optional[Dict[str, Any]] = None, updated_at: Optional[Dict[str, Any]] = None) -> DashboardInstanceProviderDeploymentsListOutput: """ List provider deployments Returns a paginated list of provider deployments. @@ -22,6 +22,10 @@ def list(self, instance_id: str, *, limit: Optional[float] = None, after: Option :param id: Optional[Union[str, List[str]]] (optional) :param provider_id: Optional[Union[str, List[str]]] (optional) :param provider_version_id: Optional[Union[str, List[str]]] (optional) + :param actor_id: Optional[Union[str, List[str]]] (optional) + :param consumer_id: Optional[Union[str, List[str]]] (optional) + :param identity_id: Optional[Union[str, List[str]]] (optional) + :param identity_credential_id: Optional[Union[str, List[str]]] (optional) :param status: Optional[Union[str, List[str]]] (optional) :param search: Optional[str] (optional) :param created_at: Optional[Dict[str, Any]] (optional) @@ -46,6 +50,14 @@ def list(self, instance_id: str, *, limit: Optional[float] = None, after: Option query_dict["provider_id"] = provider_id if provider_version_id is not None: query_dict["provider_version_id"] = provider_version_id + if actor_id is not None: + query_dict["actor_id"] = actor_id + if consumer_id is not None: + query_dict["consumer_id"] = consumer_id + if identity_id is not None: + query_dict["identity_id"] = identity_id + if identity_credential_id is not None: + query_dict["identity_credential_id"] = identity_credential_id if status is not None: query_dict["status"] = status if search is not None: diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_provider_deployments_auth_configs.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_provider_deployments_auth_configs.py index 83995ccb..c7d30722 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_provider_deployments_auth_configs.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_provider_deployments_auth_configs.py @@ -8,7 +8,7 @@ class MetorialDashboardInstanceProviderDeploymentsAuthConfigsEndpoint(BaseMetori def __init__(self, config: MetorialEndpointManager): super().__init__(config) - def list(self, instance_id: str, *, limit: Optional[float] = None, after: Optional[str] = None, before: Optional[str] = None, cursor: Optional[str] = None, order: Optional[str] = None, status: Optional[Union[str, List[str]]] = None, id: Optional[Union[str, List[str]]] = None, provider_id: Optional[Union[str, List[str]]] = None, provider_deployment_id: Optional[Union[str, List[str]]] = None, provider_auth_credentials_id: Optional[Union[str, List[str]]] = None, provider_auth_method_id: Optional[Union[str, List[str]]] = None, search: Optional[str] = None, created_at: Optional[Dict[str, Any]] = None, updated_at: Optional[Dict[str, Any]] = None) -> DashboardInstanceProviderDeploymentsAuthConfigsListOutput: + def list(self, instance_id: str, *, limit: Optional[float] = None, after: Optional[str] = None, before: Optional[str] = None, cursor: Optional[str] = None, order: Optional[str] = None, status: Optional[Union[str, List[str]]] = None, id: Optional[Union[str, List[str]]] = None, provider_id: Optional[Union[str, List[str]]] = None, provider_deployment_id: Optional[Union[str, List[str]]] = None, provider_auth_credentials_id: Optional[Union[str, List[str]]] = None, provider_auth_method_id: Optional[Union[str, List[str]]] = None, actor_id: Optional[Union[str, List[str]]] = None, consumer_id: Optional[Union[str, List[str]]] = None, identity_id: Optional[Union[str, List[str]]] = None, identity_credential_id: Optional[Union[str, List[str]]] = None, search: Optional[str] = None, created_at: Optional[Dict[str, Any]] = None, updated_at: Optional[Dict[str, Any]] = None) -> DashboardInstanceProviderDeploymentsAuthConfigsListOutput: """ List provider auth configs Returns a paginated list of provider auth configs. @@ -25,6 +25,10 @@ def list(self, instance_id: str, *, limit: Optional[float] = None, after: Option :param provider_deployment_id: Optional[Union[str, List[str]]] (optional) :param provider_auth_credentials_id: Optional[Union[str, List[str]]] (optional) :param provider_auth_method_id: Optional[Union[str, List[str]]] (optional) + :param actor_id: Optional[Union[str, List[str]]] (optional) + :param consumer_id: Optional[Union[str, List[str]]] (optional) + :param identity_id: Optional[Union[str, List[str]]] (optional) + :param identity_credential_id: Optional[Union[str, List[str]]] (optional) :param search: Optional[str] (optional) :param created_at: Optional[Dict[str, Any]] (optional) :param updated_at: Optional[Dict[str, Any]] (optional) @@ -54,6 +58,14 @@ def list(self, instance_id: str, *, limit: Optional[float] = None, after: Option query_dict["provider_auth_credentials_id"] = provider_auth_credentials_id if provider_auth_method_id is not None: query_dict["provider_auth_method_id"] = provider_auth_method_id + if actor_id is not None: + query_dict["actor_id"] = actor_id + if consumer_id is not None: + query_dict["consumer_id"] = consumer_id + if identity_id is not None: + query_dict["identity_id"] = identity_id + if identity_credential_id is not None: + query_dict["identity_credential_id"] = identity_credential_id if search is not None: query_dict["search"] = search if created_at is not None: diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_provider_deployments_configs.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_provider_deployments_configs.py index 20065fed..c5afb5e7 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_provider_deployments_configs.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_provider_deployments_configs.py @@ -8,7 +8,7 @@ class MetorialDashboardInstanceProviderDeploymentsConfigsEndpoint(BaseMetorialEn def __init__(self, config: MetorialEndpointManager): super().__init__(config) - def list(self, instance_id: str, *, limit: Optional[float] = None, after: Optional[str] = None, before: Optional[str] = None, cursor: Optional[str] = None, order: Optional[str] = None, status: Optional[Union[str, List[str]]] = None, id: Optional[Union[str, List[str]]] = None, provider_id: Optional[Union[str, List[str]]] = None, provider_specification_id: Optional[Union[str, List[str]]] = None, provider_deployment_id: Optional[Union[str, List[str]]] = None, provider_config_vault_id: Optional[Union[str, List[str]]] = None, search: Optional[str] = None, created_at: Optional[Dict[str, Any]] = None, updated_at: Optional[Dict[str, Any]] = None) -> DashboardInstanceProviderDeploymentsConfigsListOutput: + def list(self, instance_id: str, *, limit: Optional[float] = None, after: Optional[str] = None, before: Optional[str] = None, cursor: Optional[str] = None, order: Optional[str] = None, status: Optional[Union[str, List[str]]] = None, id: Optional[Union[str, List[str]]] = None, provider_id: Optional[Union[str, List[str]]] = None, provider_specification_id: Optional[Union[str, List[str]]] = None, provider_deployment_id: Optional[Union[str, List[str]]] = None, provider_config_vault_id: Optional[Union[str, List[str]]] = None, actor_id: Optional[Union[str, List[str]]] = None, consumer_id: Optional[Union[str, List[str]]] = None, identity_id: Optional[Union[str, List[str]]] = None, identity_credential_id: Optional[Union[str, List[str]]] = None, search: Optional[str] = None, created_at: Optional[Dict[str, Any]] = None, updated_at: Optional[Dict[str, Any]] = None) -> DashboardInstanceProviderDeploymentsConfigsListOutput: """ List provider configs Returns a paginated list of provider configs. @@ -25,6 +25,10 @@ def list(self, instance_id: str, *, limit: Optional[float] = None, after: Option :param provider_specification_id: Optional[Union[str, List[str]]] (optional) :param provider_deployment_id: Optional[Union[str, List[str]]] (optional) :param provider_config_vault_id: Optional[Union[str, List[str]]] (optional) + :param actor_id: Optional[Union[str, List[str]]] (optional) + :param consumer_id: Optional[Union[str, List[str]]] (optional) + :param identity_id: Optional[Union[str, List[str]]] (optional) + :param identity_credential_id: Optional[Union[str, List[str]]] (optional) :param search: Optional[str] (optional) :param created_at: Optional[Dict[str, Any]] (optional) :param updated_at: Optional[Dict[str, Any]] (optional) @@ -54,6 +58,14 @@ def list(self, instance_id: str, *, limit: Optional[float] = None, after: Option query_dict["provider_deployment_id"] = provider_deployment_id if provider_config_vault_id is not None: query_dict["provider_config_vault_id"] = provider_config_vault_id + if actor_id is not None: + query_dict["actor_id"] = actor_id + if consumer_id is not None: + query_dict["consumer_id"] = consumer_id + if identity_id is not None: + query_dict["identity_id"] = identity_id + if identity_credential_id is not None: + query_dict["identity_credential_id"] = identity_credential_id if search is not None: query_dict["search"] = search if created_at is not None: diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_provider_deployments_setup_sessions.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_provider_deployments_setup_sessions.py index f9d660ac..296bbb17 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_provider_deployments_setup_sessions.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/dashboard_instance_provider_deployments_setup_sessions.py @@ -81,7 +81,7 @@ def get(self, instance_id: str, provider_setup_session_id: str) -> DashboardInst ) return self._get(request).transform(mapDashboardInstanceProviderDeploymentsSetupSessionsGetOutput.from_dict) - def create(self, instance_id: str, *, provider_id: Optional[str] = None, provider_deployment_id: Optional[str] = None, name: Optional[str] = None, description: Optional[str] = None, metadata: Optional[Dict[str, Any]] = None, provider_auth_method_id: Optional[str] = None, provider_auth_credentials_id: Optional[str] = None, redirect_url: Optional[str] = None, configuration: Optional[Dict[str, Any]] = None) -> DashboardInstanceProviderDeploymentsSetupSessionsCreateOutput: + def create(self, instance_id: str, *, provider_id: Optional[str] = None, provider_deployment_id: Optional[str] = None, name: Optional[str] = None, description: Optional[str] = None, metadata: Optional[Dict[str, Any]] = None, provider_auth_method_id: Optional[str] = None, provider_auth_credentials_id: Optional[str] = None, identity_id: Optional[str] = None, redirect_url: Optional[str] = None, configuration: Optional[Dict[str, Any]] = None) -> DashboardInstanceProviderDeploymentsSetupSessionsCreateOutput: """ Create provider setup session Creates a new provider setup session for OAuth authentication. @@ -94,6 +94,7 @@ def create(self, instance_id: str, *, provider_id: Optional[str] = None, provide :param metadata: Optional[Dict[str, Any]] (optional) :param provider_auth_method_id: Optional[str] (optional) :param provider_auth_credentials_id: Optional[str] (optional) + :param identity_id: Optional[str] (optional) :param redirect_url: Optional[str] (optional) :param configuration: Optional[Dict[str, Any]] (optional) :return: DashboardInstanceProviderDeploymentsSetupSessionsCreateOutput @@ -114,6 +115,8 @@ def create(self, instance_id: str, *, provider_id: Optional[str] = None, provide body_dict["provider_auth_method_id"] = provider_auth_method_id if provider_auth_credentials_id is not None: body_dict["provider_auth_credentials_id"] = provider_auth_credentials_id + if identity_id is not None: + body_dict["identity_id"] = identity_id if redirect_url is not None: body_dict["redirect_url"] = redirect_url if configuration is not None: @@ -125,7 +128,7 @@ def create(self, instance_id: str, *, provider_id: Optional[str] = None, provide ) return self._post(request).transform(mapDashboardInstanceProviderDeploymentsSetupSessionsCreateOutput.from_dict) - def update(self, instance_id: str, provider_setup_session_id: str, *, name: Optional[str] = None, description: Optional[str] = None, metadata: Optional[Dict[str, Any]] = None) -> DashboardInstanceProviderDeploymentsSetupSessionsUpdateOutput: + def update(self, instance_id: str, provider_setup_session_id: str, *, name: Optional[str] = None, description: Optional[str] = None, metadata: Optional[Dict[str, Any]] = None, identity_id: Optional[str] = None) -> DashboardInstanceProviderDeploymentsSetupSessionsUpdateOutput: """ Update provider setup session Updates a specific provider setup session. @@ -135,6 +138,7 @@ def update(self, instance_id: str, provider_setup_session_id: str, *, name: Opti :param name: Optional[str] (optional) :param description: Optional[str] (optional) :param metadata: Optional[Dict[str, Any]] (optional) + :param identity_id: Optional[str] (optional) :return: DashboardInstanceProviderDeploymentsSetupSessionsUpdateOutput """ # Build body parameters from keyword arguments @@ -145,6 +149,8 @@ def update(self, instance_id: str, provider_setup_session_id: str, *, name: Opti body_dict["description"] = description if metadata is not None: body_dict["metadata"] = metadata + if identity_id is not None: + body_dict["identity_id"] = identity_id request = MetorialRequest( path=['dashboard', 'instances', instance_id, 'provider-setup-sessions', provider_setup_session_id], diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/dashboard_organizations_api_keys.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/dashboard_organizations_api_keys.py new file mode 100644 index 00000000..7aed0390 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/dashboard_organizations_api_keys.py @@ -0,0 +1,140 @@ +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +from metorial_util_endpoint import BaseMetorialEndpoint, MetorialEndpointManager, MetorialRequest +from ..resources import mapDashboardOrganizationsApiKeysListOutput, DashboardOrganizationsApiKeysListOutput, mapDashboardOrganizationsApiKeysListQuery, DashboardOrganizationsApiKeysListQuery, mapDashboardOrganizationsApiKeysGetOutput, DashboardOrganizationsApiKeysGetOutput, mapDashboardOrganizationsApiKeysCreateOutput, DashboardOrganizationsApiKeysCreateOutput, mapDashboardOrganizationsApiKeysCreateBody, DashboardOrganizationsApiKeysCreateBody, mapDashboardOrganizationsApiKeysUpdateOutput, DashboardOrganizationsApiKeysUpdateOutput, mapDashboardOrganizationsApiKeysUpdateBody, DashboardOrganizationsApiKeysUpdateBody, mapDashboardOrganizationsApiKeysRevokeOutput, DashboardOrganizationsApiKeysRevokeOutput + +class MetorialDashboardOrganizationsApiKeysEndpoint(BaseMetorialEndpoint): + """Read and write API key information""" + + def __init__(self, config: MetorialEndpointManager): + super().__init__(config) + + def list(self, organization_id: str, *, limit: Optional[float] = None, after: Optional[str] = None, before: Optional[str] = None, cursor: Optional[str] = None, order: Optional[str] = None, type: Any = None, instance_id: str = None) -> DashboardOrganizationsApiKeysListOutput: + """ + Get user + Get the current user information + + :param organization_id: str + :param limit: Optional[float] (optional) + :param after: Optional[str] (optional) + :param before: Optional[str] (optional) + :param cursor: Optional[str] (optional) + :param order: Optional[str] (optional) + :param type: Any (optional) + :param instance_id: str (optional) + :return: DashboardOrganizationsApiKeysListOutput + """ + # Build query parameters from keyword arguments + query_dict = {} + if limit is not None: + query_dict["limit"] = limit + if after is not None: + query_dict["after"] = after + if before is not None: + query_dict["before"] = before + if cursor is not None: + query_dict["cursor"] = cursor + if order is not None: + query_dict["order"] = order + if type is not None: + query_dict["type"] = type + if instance_id is not None: + query_dict["instance_id"] = instance_id + + request = MetorialRequest( + path=['dashboard', 'organizations', organization_id, 'api-keys'], + query=query_dict + ) + return self._get(request).transform(mapDashboardOrganizationsApiKeysListOutput.from_dict) + + def get(self, organization_id: str, api_key_id: str) -> DashboardOrganizationsApiKeysGetOutput: + """ + Get API key + Get the information of a specific API key + + :param organization_id: str + :param api_key_id: str + :return: DashboardOrganizationsApiKeysGetOutput + """ + request = MetorialRequest( + path=['dashboard', 'organizations', organization_id, 'api-keys', api_key_id] + ) + return self._get(request).transform(mapDashboardOrganizationsApiKeysGetOutput.from_dict) + + def create(self, organization_id: str, *, name: str, type: Any = None, instance_id: str = None, description: Optional[str] = None, expires_at: Optional[datetime] = None, ip_filters: Optional[List[str]] = None) -> DashboardOrganizationsApiKeysCreateOutput: + """ + Create API key + Create a new API key + + :param organization_id: str + :param type: Any (optional) + :param instance_id: str (optional) + :param name: str + :param description: Optional[str] (optional) + :param expires_at: Optional[datetime] (optional) + :param ip_filters: Optional[List[str]] (optional) + :return: DashboardOrganizationsApiKeysCreateOutput + """ + # Build body parameters from keyword arguments + body_dict = {} + if type is not None: + body_dict["type"] = type + if instance_id is not None: + body_dict["instance_id"] = instance_id + body_dict["name"] = name + if description is not None: + body_dict["description"] = description + if expires_at is not None: + body_dict["expires_at"] = expires_at + if ip_filters is not None: + body_dict["ip_filters"] = ip_filters + + request = MetorialRequest( + path=['dashboard', 'organizations', organization_id, 'api-keys'], + body=body_dict + ) + return self._post(request).transform(mapDashboardOrganizationsApiKeysCreateOutput.from_dict) + + def update(self, organization_id: str, api_key_id: str, *, name: Optional[str] = None, description: Optional[str] = None, expires_at: Optional[datetime] = None, ip_filters: Optional[List[str]] = None) -> DashboardOrganizationsApiKeysUpdateOutput: + """ + Update API key + Update the information of a specific API key + + :param organization_id: str + :param api_key_id: str + :param name: Optional[str] (optional) + :param description: Optional[str] (optional) + :param expires_at: Optional[datetime] (optional) + :param ip_filters: Optional[List[str]] (optional) + :return: DashboardOrganizationsApiKeysUpdateOutput + """ + # Build body parameters from keyword arguments + body_dict = {} + if name is not None: + body_dict["name"] = name + if description is not None: + body_dict["description"] = description + if expires_at is not None: + body_dict["expires_at"] = expires_at + if ip_filters is not None: + body_dict["ip_filters"] = ip_filters + + request = MetorialRequest( + path=['dashboard', 'organizations', organization_id, 'api-keys', api_key_id], + body=body_dict + ) + return self._post(request).transform(mapDashboardOrganizationsApiKeysUpdateOutput.from_dict) + + def revoke(self, organization_id: str, api_key_id: str) -> DashboardOrganizationsApiKeysRevokeOutput: + """ + Revoke API key + Revoke a specific API key + + :param organization_id: str + :param api_key_id: str + :return: DashboardOrganizationsApiKeysRevokeOutput + """ + request = MetorialRequest( + path=['dashboard', 'organizations', organization_id, 'api-keys', api_key_id] + ) + return self._delete(request).transform(mapDashboardOrganizationsApiKeysRevokeOutput.from_dict) \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/identity_actors.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/identity_actors.py index ec6c7191..a19f1095 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/identity_actors.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/identity_actors.py @@ -8,7 +8,7 @@ class MetorialIdentityActorsEndpoint(BaseMetorialEndpoint): def __init__(self, config: MetorialEndpointManager): super().__init__(config) - def list(self, *, limit: Optional[float] = None, after: Optional[str] = None, before: Optional[str] = None, cursor: Optional[str] = None, order: Optional[str] = None, search: Optional[str] = None, status: Optional[Union[str, List[str]]] = None, id: Optional[Union[str, List[str]]] = None, agent_id: Optional[Union[str, List[str]]] = None, created_at: Optional[Dict[str, Any]] = None, updated_at: Optional[Dict[str, Any]] = None) -> DashboardInstanceIdentityActorsListOutput: + def list(self, *, limit: Optional[float] = None, after: Optional[str] = None, before: Optional[str] = None, cursor: Optional[str] = None, order: Optional[str] = None, search: Optional[str] = None, status: Optional[Union[str, List[str]]] = None, id: Optional[Union[str, List[str]]] = None, agent_id: Optional[Union[str, List[str]]] = None, consumer_id: Optional[Union[str, List[str]]] = None, created_at: Optional[Dict[str, Any]] = None, updated_at: Optional[Dict[str, Any]] = None) -> DashboardInstanceIdentityActorsListOutput: """ List identity actors Returns a paginated list of identity actors for the instance. @@ -22,6 +22,7 @@ def list(self, *, limit: Optional[float] = None, after: Optional[str] = None, be :param status: Optional[Union[str, List[str]]] (optional) :param id: Optional[Union[str, List[str]]] (optional) :param agent_id: Optional[Union[str, List[str]]] (optional) + :param consumer_id: Optional[Union[str, List[str]]] (optional) :param created_at: Optional[Dict[str, Any]] (optional) :param updated_at: Optional[Dict[str, Any]] (optional) :return: DashboardInstanceIdentityActorsListOutput @@ -46,6 +47,8 @@ def list(self, *, limit: Optional[float] = None, after: Optional[str] = None, be query_dict["id"] = id if agent_id is not None: query_dict["agent_id"] = agent_id + if consumer_id is not None: + query_dict["consumer_id"] = consumer_id if created_at is not None: query_dict["created_at"] = created_at if updated_at is not None: diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/magic_mcp_servers.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/magic_mcp_servers.py index 21b18771..c31aee94 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/magic_mcp_servers.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/magic_mcp_servers.py @@ -8,7 +8,7 @@ class MetorialMagicMcpServersEndpoint(BaseMetorialEndpoint): def __init__(self, config: MetorialEndpointManager): super().__init__(config) - def list(self, *, limit: Optional[float] = None, after: Optional[str] = None, before: Optional[str] = None, cursor: Optional[str] = None, order: Optional[str] = None, status: Optional[Union[str, List[str]]] = None, magic_mcp_group_id: Optional[Union[str, List[str]]] = None, search: Optional[str] = None) -> DashboardInstanceMagicMcpServersListOutput: + def list(self, *, limit: Optional[float] = None, after: Optional[str] = None, before: Optional[str] = None, cursor: Optional[str] = None, order: Optional[str] = None, status: Optional[Union[str, List[str]]] = None, magic_mcp_group_id: Optional[Union[str, List[str]]] = None, consumer_id: Optional[Union[str, List[str]]] = None, consumer_profile_id: Optional[Union[str, List[str]]] = None, search: Optional[str] = None) -> DashboardInstanceMagicMcpServersListOutput: """ List magic MCP servers Returns a paginated list of magic MCP servers. @@ -20,6 +20,8 @@ def list(self, *, limit: Optional[float] = None, after: Optional[str] = None, be :param order: Optional[str] (optional) :param status: Optional[Union[str, List[str]]] (optional) :param magic_mcp_group_id: Optional[Union[str, List[str]]] (optional) + :param consumer_id: Optional[Union[str, List[str]]] (optional) + :param consumer_profile_id: Optional[Union[str, List[str]]] (optional) :param search: Optional[str] (optional) :return: DashboardInstanceMagicMcpServersListOutput """ @@ -39,6 +41,10 @@ def list(self, *, limit: Optional[float] = None, after: Optional[str] = None, be query_dict["status"] = status if magic_mcp_group_id is not None: query_dict["magic_mcp_group_id"] = magic_mcp_group_id + if consumer_id is not None: + query_dict["consumer_id"] = consumer_id + if consumer_profile_id is not None: + query_dict["consumer_profile_id"] = consumer_profile_id if search is not None: query_dict["search"] = search @@ -61,7 +67,7 @@ def get(self, magic_mcp_server_id: str) -> DashboardInstanceMagicMcpServersGetOu ) return self._get(request).transform(mapDashboardInstanceMagicMcpServersGetOutput.from_dict) - def create(self, *, name: Optional[str] = None, description: Optional[str] = None, metadata: Optional[Dict[str, Any]] = None) -> DashboardInstanceMagicMcpServersCreateOutput: + def create(self, *, name: Optional[str] = None, description: Optional[str] = None, metadata: Optional[Dict[str, Any]] = None, consumer_profile_id: Optional[str] = None) -> DashboardInstanceMagicMcpServersCreateOutput: """ Create magic MCP server Creates a magic MCP server with a new session template. A Subspace session is created automatically on first connection and then reused. @@ -69,6 +75,7 @@ def create(self, *, name: Optional[str] = None, description: Optional[str] = Non :param name: Optional[str] (optional) :param description: Optional[str] (optional) :param metadata: Optional[Dict[str, Any]] (optional) + :param consumer_profile_id: Optional[str] (optional) :return: DashboardInstanceMagicMcpServersCreateOutput """ # Build body parameters from keyword arguments @@ -79,6 +86,8 @@ def create(self, *, name: Optional[str] = None, description: Optional[str] = Non body_dict["description"] = description if metadata is not None: body_dict["metadata"] = metadata + if consumer_profile_id is not None: + body_dict["consumer_profile_id"] = consumer_profile_id request = MetorialRequest( path=['magic-mcp-servers'], diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/management_instance_consumer_surfaces.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/management_instance_consumer_surfaces.py new file mode 100644 index 00000000..b5f95f49 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/management_instance_consumer_surfaces.py @@ -0,0 +1,55 @@ +from typing import Any, Dict, List, Optional, Union +from metorial_util_endpoint import BaseMetorialEndpoint, MetorialEndpointManager, MetorialRequest +from ..resources import mapDashboardInstanceConsumerSurfacesListOutput, DashboardInstanceConsumerSurfacesListOutput, mapDashboardInstanceConsumerSurfacesListQuery, DashboardInstanceConsumerSurfacesListQuery, mapDashboardInstanceConsumerSurfacesGetOutput, DashboardInstanceConsumerSurfacesGetOutput + +class MetorialManagementInstanceConsumerSurfacesEndpoint(BaseMetorialEndpoint): + """List and retrieve consumer surfaces for an instance.""" + + def __init__(self, config: MetorialEndpointManager): + super().__init__(config) + + def list(self, instance_id: str, *, limit: Optional[float] = None, after: Optional[str] = None, before: Optional[str] = None, cursor: Optional[str] = None, order: Optional[str] = None) -> DashboardInstanceConsumerSurfacesListOutput: + """ + List consumer surfaces + Returns a paginated list of consumer surfaces for an instance. + + :param instance_id: str + :param limit: Optional[float] (optional) + :param after: Optional[str] (optional) + :param before: Optional[str] (optional) + :param cursor: Optional[str] (optional) + :param order: Optional[str] (optional) + :return: DashboardInstanceConsumerSurfacesListOutput + """ + # Build query parameters from keyword arguments + query_dict = {} + if limit is not None: + query_dict["limit"] = limit + if after is not None: + query_dict["after"] = after + if before is not None: + query_dict["before"] = before + if cursor is not None: + query_dict["cursor"] = cursor + if order is not None: + query_dict["order"] = order + + request = MetorialRequest( + path=['instances', instance_id, 'consumer-surfaces'], + query=query_dict + ) + return self._get(request).transform(mapDashboardInstanceConsumerSurfacesListOutput.from_dict) + + def get(self, instance_id: str, consumer_surface_id: str) -> DashboardInstanceConsumerSurfacesGetOutput: + """ + Get consumer surface + Retrieves a consumer surface by ID. + + :param instance_id: str + :param consumer_surface_id: str + :return: DashboardInstanceConsumerSurfacesGetOutput + """ + request = MetorialRequest( + path=['instances', instance_id, 'consumer-surfaces', consumer_surface_id] + ) + return self._get(request).transform(mapDashboardInstanceConsumerSurfacesGetOutput.from_dict) \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/management_instance_consumers.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/management_instance_consumers.py new file mode 100644 index 00000000..25629a50 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/management_instance_consumers.py @@ -0,0 +1,119 @@ +from typing import Any, Dict, List, Optional, Union +from metorial_util_endpoint import BaseMetorialEndpoint, MetorialEndpointManager, MetorialRequest +from ..resources import mapDashboardInstanceConsumersListOutput, DashboardInstanceConsumersListOutput, mapDashboardInstanceConsumersListQuery, DashboardInstanceConsumersListQuery, mapDashboardInstanceConsumersGetOutput, DashboardInstanceConsumersGetOutput, mapDashboardInstanceConsumersCreateOutput, DashboardInstanceConsumersCreateOutput, mapDashboardInstanceConsumersCreateBody, DashboardInstanceConsumersCreateBody, mapDashboardInstanceConsumersGetMemberConsumerOutput, DashboardInstanceConsumersGetMemberConsumerOutput, mapDashboardInstanceConsumersGetMemberConsumerBody, DashboardInstanceConsumersGetMemberConsumerBody, mapDashboardInstanceConsumersUpdateOutput, DashboardInstanceConsumersUpdateOutput, mapDashboardInstanceConsumersUpdateBody, DashboardInstanceConsumersUpdateBody + +class MetorialManagementInstanceConsumersEndpoint(BaseMetorialEndpoint): + """Manage instance consumers independently from portals and inspect the profiles linked to each consumer.""" + + def __init__(self, config: MetorialEndpointManager): + super().__init__(config) + + def list(self, instance_id: str, *, limit: Optional[float] = None, after: Optional[str] = None, before: Optional[str] = None, cursor: Optional[str] = None, order: Optional[str] = None) -> DashboardInstanceConsumersListOutput: + """ + List consumers + Returns a paginated list of consumers for an instance. + + :param instance_id: str + :param limit: Optional[float] (optional) + :param after: Optional[str] (optional) + :param before: Optional[str] (optional) + :param cursor: Optional[str] (optional) + :param order: Optional[str] (optional) + :return: DashboardInstanceConsumersListOutput + """ + # Build query parameters from keyword arguments + query_dict = {} + if limit is not None: + query_dict["limit"] = limit + if after is not None: + query_dict["after"] = after + if before is not None: + query_dict["before"] = before + if cursor is not None: + query_dict["cursor"] = cursor + if order is not None: + query_dict["order"] = order + + request = MetorialRequest( + path=['instances', instance_id, 'consumers'], + query=query_dict + ) + return self._get(request).transform(mapDashboardInstanceConsumersListOutput.from_dict) + + def get(self, instance_id: str, consumer_id: str) -> DashboardInstanceConsumersGetOutput: + """ + Get consumer + Retrieves a consumer by ID. + + :param instance_id: str + :param consumer_id: str + :return: DashboardInstanceConsumersGetOutput + """ + request = MetorialRequest( + path=['instances', instance_id, 'consumers', consumer_id] + ) + return self._get(request).transform(mapDashboardInstanceConsumersGetOutput.from_dict) + + def create(self, instance_id: str, *, name: str, email: str) -> DashboardInstanceConsumersCreateOutput: + """ + Create consumer + Creates or links a consumer for an instance. + + :param instance_id: str + :param name: str + :param email: str + :return: DashboardInstanceConsumersCreateOutput + """ + # Build body parameters from keyword arguments + body_dict = {} + body_dict["name"] = name + body_dict["email"] = email + + request = MetorialRequest( + path=['instances', instance_id, 'consumers'], + body=body_dict + ) + return self._post(request).transform(mapDashboardInstanceConsumersCreateOutput.from_dict) + + def get_member_consumer(self, instance_id: str, *, surface_identifier: str) -> DashboardInstanceConsumersGetMemberConsumerOutput: + """ + Get member consumer + Upserts and returns the consumer for the authenticated organization member. + + :param instance_id: str + :param surface_identifier: str + :return: DashboardInstanceConsumersGetMemberConsumerOutput + """ + # Build body parameters from keyword arguments + body_dict = {} + body_dict["surface_identifier"] = surface_identifier + + request = MetorialRequest( + path=['instances', instance_id, 'get-member-consumer'], + body=body_dict + ) + return self._post(request).transform(mapDashboardInstanceConsumersGetMemberConsumerOutput.from_dict) + + def update(self, instance_id: str, consumer_id: str, *, name: Optional[str] = None, email: Optional[str] = None) -> DashboardInstanceConsumersUpdateOutput: + """ + Update consumer + Updates a consumer for an instance. + + :param instance_id: str + :param consumer_id: str + :param name: Optional[str] (optional) + :param email: Optional[str] (optional) + :return: DashboardInstanceConsumersUpdateOutput + """ + # Build body parameters from keyword arguments + body_dict = {} + if name is not None: + body_dict["name"] = name + if email is not None: + body_dict["email"] = email + + request = MetorialRequest( + path=['instances', instance_id, 'consumers', consumer_id], + body=body_dict + ) + return self._patch(request).transform(mapDashboardInstanceConsumersUpdateOutput.from_dict) \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/management_instance_consumers_profiles.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/management_instance_consumers_profiles.py new file mode 100644 index 00000000..4be7fe90 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/management_instance_consumers_profiles.py @@ -0,0 +1,57 @@ +from typing import Any, Dict, List, Optional, Union +from metorial_util_endpoint import BaseMetorialEndpoint, MetorialEndpointManager, MetorialRequest +from ..resources import mapDashboardInstanceConsumersProfilesListOutput, DashboardInstanceConsumersProfilesListOutput, mapDashboardInstanceConsumersProfilesListQuery, DashboardInstanceConsumersProfilesListQuery, mapDashboardInstanceConsumersProfilesGetOutput, DashboardInstanceConsumersProfilesGetOutput + +class MetorialManagementInstanceConsumersProfilesEndpoint(BaseMetorialEndpoint): + """Manage instance consumers independently from portals and inspect the profiles linked to each consumer.""" + + def __init__(self, config: MetorialEndpointManager): + super().__init__(config) + + def list(self, instance_id: str, consumer_id: str, *, limit: Optional[float] = None, after: Optional[str] = None, before: Optional[str] = None, cursor: Optional[str] = None, order: Optional[str] = None) -> DashboardInstanceConsumersProfilesListOutput: + """ + List consumer profiles + Returns a paginated list of profiles for a consumer in an instance. + + :param instance_id: str + :param consumer_id: str + :param limit: Optional[float] (optional) + :param after: Optional[str] (optional) + :param before: Optional[str] (optional) + :param cursor: Optional[str] (optional) + :param order: Optional[str] (optional) + :return: DashboardInstanceConsumersProfilesListOutput + """ + # Build query parameters from keyword arguments + query_dict = {} + if limit is not None: + query_dict["limit"] = limit + if after is not None: + query_dict["after"] = after + if before is not None: + query_dict["before"] = before + if cursor is not None: + query_dict["cursor"] = cursor + if order is not None: + query_dict["order"] = order + + request = MetorialRequest( + path=['instances', instance_id, 'consumers', consumer_id, 'profiles'], + query=query_dict + ) + return self._get(request).transform(mapDashboardInstanceConsumersProfilesListOutput.from_dict) + + def get(self, instance_id: str, consumer_id: str, consumer_profile_id: str) -> DashboardInstanceConsumersProfilesGetOutput: + """ + Get consumer profile + Retrieves a consumer profile by ID for a consumer. + + :param instance_id: str + :param consumer_id: str + :param consumer_profile_id: str + :return: DashboardInstanceConsumersProfilesGetOutput + """ + request = MetorialRequest( + path=['instances', instance_id, 'consumers', consumer_id, 'profiles', consumer_profile_id] + ) + return self._get(request).transform(mapDashboardInstanceConsumersProfilesGetOutput.from_dict) \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/management_instance_identity_actors.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/management_instance_identity_actors.py index 96a95536..d55c5a1a 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/management_instance_identity_actors.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/management_instance_identity_actors.py @@ -8,7 +8,7 @@ class MetorialManagementInstanceIdentityActorsEndpoint(BaseMetorialEndpoint): def __init__(self, config: MetorialEndpointManager): super().__init__(config) - def list(self, instance_id: str, *, limit: Optional[float] = None, after: Optional[str] = None, before: Optional[str] = None, cursor: Optional[str] = None, order: Optional[str] = None, search: Optional[str] = None, status: Optional[Union[str, List[str]]] = None, id: Optional[Union[str, List[str]]] = None, agent_id: Optional[Union[str, List[str]]] = None, created_at: Optional[Dict[str, Any]] = None, updated_at: Optional[Dict[str, Any]] = None) -> DashboardInstanceIdentityActorsListOutput: + def list(self, instance_id: str, *, limit: Optional[float] = None, after: Optional[str] = None, before: Optional[str] = None, cursor: Optional[str] = None, order: Optional[str] = None, search: Optional[str] = None, status: Optional[Union[str, List[str]]] = None, id: Optional[Union[str, List[str]]] = None, agent_id: Optional[Union[str, List[str]]] = None, consumer_id: Optional[Union[str, List[str]]] = None, created_at: Optional[Dict[str, Any]] = None, updated_at: Optional[Dict[str, Any]] = None) -> DashboardInstanceIdentityActorsListOutput: """ List identity actors Returns a paginated list of identity actors for the instance. @@ -23,6 +23,7 @@ def list(self, instance_id: str, *, limit: Optional[float] = None, after: Option :param status: Optional[Union[str, List[str]]] (optional) :param id: Optional[Union[str, List[str]]] (optional) :param agent_id: Optional[Union[str, List[str]]] (optional) + :param consumer_id: Optional[Union[str, List[str]]] (optional) :param created_at: Optional[Dict[str, Any]] (optional) :param updated_at: Optional[Dict[str, Any]] (optional) :return: DashboardInstanceIdentityActorsListOutput @@ -47,6 +48,8 @@ def list(self, instance_id: str, *, limit: Optional[float] = None, after: Option query_dict["id"] = id if agent_id is not None: query_dict["agent_id"] = agent_id + if consumer_id is not None: + query_dict["consumer_id"] = consumer_id if created_at is not None: query_dict["created_at"] = created_at if updated_at is not None: diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/management_instance_magic_mcp_servers.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/management_instance_magic_mcp_servers.py index cea1682b..9ede79e4 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/management_instance_magic_mcp_servers.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/management_instance_magic_mcp_servers.py @@ -8,7 +8,7 @@ class MetorialManagementInstanceMagicMcpServersEndpoint(BaseMetorialEndpoint): def __init__(self, config: MetorialEndpointManager): super().__init__(config) - def list(self, instance_id: str, *, limit: Optional[float] = None, after: Optional[str] = None, before: Optional[str] = None, cursor: Optional[str] = None, order: Optional[str] = None, status: Optional[Union[str, List[str]]] = None, magic_mcp_group_id: Optional[Union[str, List[str]]] = None, search: Optional[str] = None) -> DashboardInstanceMagicMcpServersListOutput: + def list(self, instance_id: str, *, limit: Optional[float] = None, after: Optional[str] = None, before: Optional[str] = None, cursor: Optional[str] = None, order: Optional[str] = None, status: Optional[Union[str, List[str]]] = None, magic_mcp_group_id: Optional[Union[str, List[str]]] = None, consumer_id: Optional[Union[str, List[str]]] = None, consumer_profile_id: Optional[Union[str, List[str]]] = None, search: Optional[str] = None) -> DashboardInstanceMagicMcpServersListOutput: """ List magic MCP servers Returns a paginated list of magic MCP servers. @@ -21,6 +21,8 @@ def list(self, instance_id: str, *, limit: Optional[float] = None, after: Option :param order: Optional[str] (optional) :param status: Optional[Union[str, List[str]]] (optional) :param magic_mcp_group_id: Optional[Union[str, List[str]]] (optional) + :param consumer_id: Optional[Union[str, List[str]]] (optional) + :param consumer_profile_id: Optional[Union[str, List[str]]] (optional) :param search: Optional[str] (optional) :return: DashboardInstanceMagicMcpServersListOutput """ @@ -40,6 +42,10 @@ def list(self, instance_id: str, *, limit: Optional[float] = None, after: Option query_dict["status"] = status if magic_mcp_group_id is not None: query_dict["magic_mcp_group_id"] = magic_mcp_group_id + if consumer_id is not None: + query_dict["consumer_id"] = consumer_id + if consumer_profile_id is not None: + query_dict["consumer_profile_id"] = consumer_profile_id if search is not None: query_dict["search"] = search @@ -63,7 +69,7 @@ def get(self, instance_id: str, magic_mcp_server_id: str) -> DashboardInstanceMa ) return self._get(request).transform(mapDashboardInstanceMagicMcpServersGetOutput.from_dict) - def create(self, instance_id: str, *, name: Optional[str] = None, description: Optional[str] = None, metadata: Optional[Dict[str, Any]] = None) -> DashboardInstanceMagicMcpServersCreateOutput: + def create(self, instance_id: str, *, name: Optional[str] = None, description: Optional[str] = None, metadata: Optional[Dict[str, Any]] = None, consumer_profile_id: Optional[str] = None) -> DashboardInstanceMagicMcpServersCreateOutput: """ Create magic MCP server Creates a magic MCP server with a new session template. A Subspace session is created automatically on first connection and then reused. @@ -72,6 +78,7 @@ def create(self, instance_id: str, *, name: Optional[str] = None, description: O :param name: Optional[str] (optional) :param description: Optional[str] (optional) :param metadata: Optional[Dict[str, Any]] (optional) + :param consumer_profile_id: Optional[str] (optional) :return: DashboardInstanceMagicMcpServersCreateOutput """ # Build body parameters from keyword arguments @@ -82,6 +89,8 @@ def create(self, instance_id: str, *, name: Optional[str] = None, description: O body_dict["description"] = description if metadata is not None: body_dict["metadata"] = metadata + if consumer_profile_id is not None: + body_dict["consumer_profile_id"] = consumer_profile_id request = MetorialRequest( path=['instances', instance_id, 'magic-mcp-servers'], diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/management_instance_provider_deployments.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/management_instance_provider_deployments.py index 9f626dc4..8eee272c 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/management_instance_provider_deployments.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/management_instance_provider_deployments.py @@ -8,7 +8,7 @@ class MetorialManagementInstanceProviderDeploymentsEndpoint(BaseMetorialEndpoint def __init__(self, config: MetorialEndpointManager): super().__init__(config) - def list(self, instance_id: str, *, limit: Optional[float] = None, after: Optional[str] = None, before: Optional[str] = None, cursor: Optional[str] = None, order: Optional[str] = None, id: Optional[Union[str, List[str]]] = None, provider_id: Optional[Union[str, List[str]]] = None, provider_version_id: Optional[Union[str, List[str]]] = None, status: Optional[Union[str, List[str]]] = None, search: Optional[str] = None, created_at: Optional[Dict[str, Any]] = None, updated_at: Optional[Dict[str, Any]] = None) -> DashboardInstanceProviderDeploymentsListOutput: + def list(self, instance_id: str, *, limit: Optional[float] = None, after: Optional[str] = None, before: Optional[str] = None, cursor: Optional[str] = None, order: Optional[str] = None, id: Optional[Union[str, List[str]]] = None, provider_id: Optional[Union[str, List[str]]] = None, provider_version_id: Optional[Union[str, List[str]]] = None, actor_id: Optional[Union[str, List[str]]] = None, consumer_id: Optional[Union[str, List[str]]] = None, identity_id: Optional[Union[str, List[str]]] = None, identity_credential_id: Optional[Union[str, List[str]]] = None, status: Optional[Union[str, List[str]]] = None, search: Optional[str] = None, created_at: Optional[Dict[str, Any]] = None, updated_at: Optional[Dict[str, Any]] = None) -> DashboardInstanceProviderDeploymentsListOutput: """ List provider deployments Returns a paginated list of provider deployments. @@ -22,6 +22,10 @@ def list(self, instance_id: str, *, limit: Optional[float] = None, after: Option :param id: Optional[Union[str, List[str]]] (optional) :param provider_id: Optional[Union[str, List[str]]] (optional) :param provider_version_id: Optional[Union[str, List[str]]] (optional) + :param actor_id: Optional[Union[str, List[str]]] (optional) + :param consumer_id: Optional[Union[str, List[str]]] (optional) + :param identity_id: Optional[Union[str, List[str]]] (optional) + :param identity_credential_id: Optional[Union[str, List[str]]] (optional) :param status: Optional[Union[str, List[str]]] (optional) :param search: Optional[str] (optional) :param created_at: Optional[Dict[str, Any]] (optional) @@ -46,6 +50,14 @@ def list(self, instance_id: str, *, limit: Optional[float] = None, after: Option query_dict["provider_id"] = provider_id if provider_version_id is not None: query_dict["provider_version_id"] = provider_version_id + if actor_id is not None: + query_dict["actor_id"] = actor_id + if consumer_id is not None: + query_dict["consumer_id"] = consumer_id + if identity_id is not None: + query_dict["identity_id"] = identity_id + if identity_credential_id is not None: + query_dict["identity_credential_id"] = identity_credential_id if status is not None: query_dict["status"] = status if search is not None: diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/management_instance_provider_deployments_auth_configs.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/management_instance_provider_deployments_auth_configs.py index ec694848..88b175e8 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/management_instance_provider_deployments_auth_configs.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/management_instance_provider_deployments_auth_configs.py @@ -8,7 +8,7 @@ class MetorialManagementInstanceProviderDeploymentsAuthConfigsEndpoint(BaseMetor def __init__(self, config: MetorialEndpointManager): super().__init__(config) - def list(self, instance_id: str, *, limit: Optional[float] = None, after: Optional[str] = None, before: Optional[str] = None, cursor: Optional[str] = None, order: Optional[str] = None, status: Optional[Union[str, List[str]]] = None, id: Optional[Union[str, List[str]]] = None, provider_id: Optional[Union[str, List[str]]] = None, provider_deployment_id: Optional[Union[str, List[str]]] = None, provider_auth_credentials_id: Optional[Union[str, List[str]]] = None, provider_auth_method_id: Optional[Union[str, List[str]]] = None, search: Optional[str] = None, created_at: Optional[Dict[str, Any]] = None, updated_at: Optional[Dict[str, Any]] = None) -> DashboardInstanceProviderDeploymentsAuthConfigsListOutput: + def list(self, instance_id: str, *, limit: Optional[float] = None, after: Optional[str] = None, before: Optional[str] = None, cursor: Optional[str] = None, order: Optional[str] = None, status: Optional[Union[str, List[str]]] = None, id: Optional[Union[str, List[str]]] = None, provider_id: Optional[Union[str, List[str]]] = None, provider_deployment_id: Optional[Union[str, List[str]]] = None, provider_auth_credentials_id: Optional[Union[str, List[str]]] = None, provider_auth_method_id: Optional[Union[str, List[str]]] = None, actor_id: Optional[Union[str, List[str]]] = None, consumer_id: Optional[Union[str, List[str]]] = None, identity_id: Optional[Union[str, List[str]]] = None, identity_credential_id: Optional[Union[str, List[str]]] = None, search: Optional[str] = None, created_at: Optional[Dict[str, Any]] = None, updated_at: Optional[Dict[str, Any]] = None) -> DashboardInstanceProviderDeploymentsAuthConfigsListOutput: """ List provider auth configs Returns a paginated list of provider auth configs. @@ -25,6 +25,10 @@ def list(self, instance_id: str, *, limit: Optional[float] = None, after: Option :param provider_deployment_id: Optional[Union[str, List[str]]] (optional) :param provider_auth_credentials_id: Optional[Union[str, List[str]]] (optional) :param provider_auth_method_id: Optional[Union[str, List[str]]] (optional) + :param actor_id: Optional[Union[str, List[str]]] (optional) + :param consumer_id: Optional[Union[str, List[str]]] (optional) + :param identity_id: Optional[Union[str, List[str]]] (optional) + :param identity_credential_id: Optional[Union[str, List[str]]] (optional) :param search: Optional[str] (optional) :param created_at: Optional[Dict[str, Any]] (optional) :param updated_at: Optional[Dict[str, Any]] (optional) @@ -54,6 +58,14 @@ def list(self, instance_id: str, *, limit: Optional[float] = None, after: Option query_dict["provider_auth_credentials_id"] = provider_auth_credentials_id if provider_auth_method_id is not None: query_dict["provider_auth_method_id"] = provider_auth_method_id + if actor_id is not None: + query_dict["actor_id"] = actor_id + if consumer_id is not None: + query_dict["consumer_id"] = consumer_id + if identity_id is not None: + query_dict["identity_id"] = identity_id + if identity_credential_id is not None: + query_dict["identity_credential_id"] = identity_credential_id if search is not None: query_dict["search"] = search if created_at is not None: diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/management_instance_provider_deployments_configs.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/management_instance_provider_deployments_configs.py index c43910ed..99aa40d1 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/management_instance_provider_deployments_configs.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/management_instance_provider_deployments_configs.py @@ -8,7 +8,7 @@ class MetorialManagementInstanceProviderDeploymentsConfigsEndpoint(BaseMetorialE def __init__(self, config: MetorialEndpointManager): super().__init__(config) - def list(self, instance_id: str, *, limit: Optional[float] = None, after: Optional[str] = None, before: Optional[str] = None, cursor: Optional[str] = None, order: Optional[str] = None, status: Optional[Union[str, List[str]]] = None, id: Optional[Union[str, List[str]]] = None, provider_id: Optional[Union[str, List[str]]] = None, provider_specification_id: Optional[Union[str, List[str]]] = None, provider_deployment_id: Optional[Union[str, List[str]]] = None, provider_config_vault_id: Optional[Union[str, List[str]]] = None, search: Optional[str] = None, created_at: Optional[Dict[str, Any]] = None, updated_at: Optional[Dict[str, Any]] = None) -> DashboardInstanceProviderDeploymentsConfigsListOutput: + def list(self, instance_id: str, *, limit: Optional[float] = None, after: Optional[str] = None, before: Optional[str] = None, cursor: Optional[str] = None, order: Optional[str] = None, status: Optional[Union[str, List[str]]] = None, id: Optional[Union[str, List[str]]] = None, provider_id: Optional[Union[str, List[str]]] = None, provider_specification_id: Optional[Union[str, List[str]]] = None, provider_deployment_id: Optional[Union[str, List[str]]] = None, provider_config_vault_id: Optional[Union[str, List[str]]] = None, actor_id: Optional[Union[str, List[str]]] = None, consumer_id: Optional[Union[str, List[str]]] = None, identity_id: Optional[Union[str, List[str]]] = None, identity_credential_id: Optional[Union[str, List[str]]] = None, search: Optional[str] = None, created_at: Optional[Dict[str, Any]] = None, updated_at: Optional[Dict[str, Any]] = None) -> DashboardInstanceProviderDeploymentsConfigsListOutput: """ List provider configs Returns a paginated list of provider configs. @@ -25,6 +25,10 @@ def list(self, instance_id: str, *, limit: Optional[float] = None, after: Option :param provider_specification_id: Optional[Union[str, List[str]]] (optional) :param provider_deployment_id: Optional[Union[str, List[str]]] (optional) :param provider_config_vault_id: Optional[Union[str, List[str]]] (optional) + :param actor_id: Optional[Union[str, List[str]]] (optional) + :param consumer_id: Optional[Union[str, List[str]]] (optional) + :param identity_id: Optional[Union[str, List[str]]] (optional) + :param identity_credential_id: Optional[Union[str, List[str]]] (optional) :param search: Optional[str] (optional) :param created_at: Optional[Dict[str, Any]] (optional) :param updated_at: Optional[Dict[str, Any]] (optional) @@ -54,6 +58,14 @@ def list(self, instance_id: str, *, limit: Optional[float] = None, after: Option query_dict["provider_deployment_id"] = provider_deployment_id if provider_config_vault_id is not None: query_dict["provider_config_vault_id"] = provider_config_vault_id + if actor_id is not None: + query_dict["actor_id"] = actor_id + if consumer_id is not None: + query_dict["consumer_id"] = consumer_id + if identity_id is not None: + query_dict["identity_id"] = identity_id + if identity_credential_id is not None: + query_dict["identity_credential_id"] = identity_credential_id if search is not None: query_dict["search"] = search if created_at is not None: diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/management_instance_provider_deployments_setup_sessions.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/management_instance_provider_deployments_setup_sessions.py index 58f15341..c09a7ad0 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/management_instance_provider_deployments_setup_sessions.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/management_instance_provider_deployments_setup_sessions.py @@ -81,7 +81,7 @@ def get(self, instance_id: str, provider_setup_session_id: str) -> DashboardInst ) return self._get(request).transform(mapDashboardInstanceProviderDeploymentsSetupSessionsGetOutput.from_dict) - def create(self, instance_id: str, *, provider_id: Optional[str] = None, provider_deployment_id: Optional[str] = None, name: Optional[str] = None, description: Optional[str] = None, metadata: Optional[Dict[str, Any]] = None, provider_auth_method_id: Optional[str] = None, provider_auth_credentials_id: Optional[str] = None, redirect_url: Optional[str] = None, configuration: Optional[Dict[str, Any]] = None) -> DashboardInstanceProviderDeploymentsSetupSessionsCreateOutput: + def create(self, instance_id: str, *, provider_id: Optional[str] = None, provider_deployment_id: Optional[str] = None, name: Optional[str] = None, description: Optional[str] = None, metadata: Optional[Dict[str, Any]] = None, provider_auth_method_id: Optional[str] = None, provider_auth_credentials_id: Optional[str] = None, identity_id: Optional[str] = None, redirect_url: Optional[str] = None, configuration: Optional[Dict[str, Any]] = None) -> DashboardInstanceProviderDeploymentsSetupSessionsCreateOutput: """ Create provider setup session Creates a new provider setup session for OAuth authentication. @@ -94,6 +94,7 @@ def create(self, instance_id: str, *, provider_id: Optional[str] = None, provide :param metadata: Optional[Dict[str, Any]] (optional) :param provider_auth_method_id: Optional[str] (optional) :param provider_auth_credentials_id: Optional[str] (optional) + :param identity_id: Optional[str] (optional) :param redirect_url: Optional[str] (optional) :param configuration: Optional[Dict[str, Any]] (optional) :return: DashboardInstanceProviderDeploymentsSetupSessionsCreateOutput @@ -114,6 +115,8 @@ def create(self, instance_id: str, *, provider_id: Optional[str] = None, provide body_dict["provider_auth_method_id"] = provider_auth_method_id if provider_auth_credentials_id is not None: body_dict["provider_auth_credentials_id"] = provider_auth_credentials_id + if identity_id is not None: + body_dict["identity_id"] = identity_id if redirect_url is not None: body_dict["redirect_url"] = redirect_url if configuration is not None: @@ -125,7 +128,7 @@ def create(self, instance_id: str, *, provider_id: Optional[str] = None, provide ) return self._post(request).transform(mapDashboardInstanceProviderDeploymentsSetupSessionsCreateOutput.from_dict) - def update(self, instance_id: str, provider_setup_session_id: str, *, name: Optional[str] = None, description: Optional[str] = None, metadata: Optional[Dict[str, Any]] = None) -> DashboardInstanceProviderDeploymentsSetupSessionsUpdateOutput: + def update(self, instance_id: str, provider_setup_session_id: str, *, name: Optional[str] = None, description: Optional[str] = None, metadata: Optional[Dict[str, Any]] = None, identity_id: Optional[str] = None) -> DashboardInstanceProviderDeploymentsSetupSessionsUpdateOutput: """ Update provider setup session Updates a specific provider setup session. @@ -135,6 +138,7 @@ def update(self, instance_id: str, provider_setup_session_id: str, *, name: Opti :param name: Optional[str] (optional) :param description: Optional[str] (optional) :param metadata: Optional[Dict[str, Any]] (optional) + :param identity_id: Optional[str] (optional) :return: DashboardInstanceProviderDeploymentsSetupSessionsUpdateOutput """ # Build body parameters from keyword arguments @@ -145,6 +149,8 @@ def update(self, instance_id: str, provider_setup_session_id: str, *, name: Opti body_dict["description"] = description if metadata is not None: body_dict["metadata"] = metadata + if identity_id is not None: + body_dict["identity_id"] = identity_id request = MetorialRequest( path=['instances', instance_id, 'provider-setup-sessions', provider_setup_session_id], diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/management_organization_api_keys.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/management_organization_api_keys.py new file mode 100644 index 00000000..c62cb1e0 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/management_organization_api_keys.py @@ -0,0 +1,135 @@ +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +from metorial_util_endpoint import BaseMetorialEndpoint, MetorialEndpointManager, MetorialRequest +from ..resources import mapDashboardOrganizationsApiKeysListOutput, DashboardOrganizationsApiKeysListOutput, mapDashboardOrganizationsApiKeysListQuery, DashboardOrganizationsApiKeysListQuery, mapDashboardOrganizationsApiKeysGetOutput, DashboardOrganizationsApiKeysGetOutput, mapDashboardOrganizationsApiKeysCreateOutput, DashboardOrganizationsApiKeysCreateOutput, mapDashboardOrganizationsApiKeysCreateBody, DashboardOrganizationsApiKeysCreateBody, mapDashboardOrganizationsApiKeysUpdateOutput, DashboardOrganizationsApiKeysUpdateOutput, mapDashboardOrganizationsApiKeysUpdateBody, DashboardOrganizationsApiKeysUpdateBody, mapDashboardOrganizationsApiKeysRevokeOutput, DashboardOrganizationsApiKeysRevokeOutput + +class MetorialManagementOrganizationApiKeysEndpoint(BaseMetorialEndpoint): + """Read and write API key information""" + + def __init__(self, config: MetorialEndpointManager): + super().__init__(config) + + def list(self, *, limit: Optional[float] = None, after: Optional[str] = None, before: Optional[str] = None, cursor: Optional[str] = None, order: Optional[str] = None, type: Any = None, instance_id: str = None) -> DashboardOrganizationsApiKeysListOutput: + """ + Get user + Get the current user information + + :param limit: Optional[float] (optional) + :param after: Optional[str] (optional) + :param before: Optional[str] (optional) + :param cursor: Optional[str] (optional) + :param order: Optional[str] (optional) + :param type: Any (optional) + :param instance_id: str (optional) + :return: DashboardOrganizationsApiKeysListOutput + """ + # Build query parameters from keyword arguments + query_dict = {} + if limit is not None: + query_dict["limit"] = limit + if after is not None: + query_dict["after"] = after + if before is not None: + query_dict["before"] = before + if cursor is not None: + query_dict["cursor"] = cursor + if order is not None: + query_dict["order"] = order + if type is not None: + query_dict["type"] = type + if instance_id is not None: + query_dict["instance_id"] = instance_id + + request = MetorialRequest( + path=['organization', 'api-keys'], + query=query_dict + ) + return self._get(request).transform(mapDashboardOrganizationsApiKeysListOutput.from_dict) + + def get(self, api_key_id: str) -> DashboardOrganizationsApiKeysGetOutput: + """ + Get API key + Get the information of a specific API key + + :param api_key_id: str + :return: DashboardOrganizationsApiKeysGetOutput + """ + request = MetorialRequest( + path=['organization', 'api-keys', api_key_id] + ) + return self._get(request).transform(mapDashboardOrganizationsApiKeysGetOutput.from_dict) + + def create(self, *, name: str, type: Any = None, instance_id: str = None, description: Optional[str] = None, expires_at: Optional[datetime] = None, ip_filters: Optional[List[str]] = None) -> DashboardOrganizationsApiKeysCreateOutput: + """ + Create API key + Create a new API key + + :param type: Any (optional) + :param instance_id: str (optional) + :param name: str + :param description: Optional[str] (optional) + :param expires_at: Optional[datetime] (optional) + :param ip_filters: Optional[List[str]] (optional) + :return: DashboardOrganizationsApiKeysCreateOutput + """ + # Build body parameters from keyword arguments + body_dict = {} + if type is not None: + body_dict["type"] = type + if instance_id is not None: + body_dict["instance_id"] = instance_id + body_dict["name"] = name + if description is not None: + body_dict["description"] = description + if expires_at is not None: + body_dict["expires_at"] = expires_at + if ip_filters is not None: + body_dict["ip_filters"] = ip_filters + + request = MetorialRequest( + path=['organization', 'api-keys'], + body=body_dict + ) + return self._post(request).transform(mapDashboardOrganizationsApiKeysCreateOutput.from_dict) + + def update(self, api_key_id: str, *, name: Optional[str] = None, description: Optional[str] = None, expires_at: Optional[datetime] = None, ip_filters: Optional[List[str]] = None) -> DashboardOrganizationsApiKeysUpdateOutput: + """ + Update API key + Update the information of a specific API key + + :param api_key_id: str + :param name: Optional[str] (optional) + :param description: Optional[str] (optional) + :param expires_at: Optional[datetime] (optional) + :param ip_filters: Optional[List[str]] (optional) + :return: DashboardOrganizationsApiKeysUpdateOutput + """ + # Build body parameters from keyword arguments + body_dict = {} + if name is not None: + body_dict["name"] = name + if description is not None: + body_dict["description"] = description + if expires_at is not None: + body_dict["expires_at"] = expires_at + if ip_filters is not None: + body_dict["ip_filters"] = ip_filters + + request = MetorialRequest( + path=['organization', 'api-keys', api_key_id], + body=body_dict + ) + return self._post(request).transform(mapDashboardOrganizationsApiKeysUpdateOutput.from_dict) + + def revoke(self, api_key_id: str) -> DashboardOrganizationsApiKeysRevokeOutput: + """ + Revoke API key + Revoke a specific API key + + :param api_key_id: str + :return: DashboardOrganizationsApiKeysRevokeOutput + """ + request = MetorialRequest( + path=['organization', 'api-keys', api_key_id] + ) + return self._delete(request).transform(mapDashboardOrganizationsApiKeysRevokeOutput.from_dict) \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/provider_deployments.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/provider_deployments.py index 56859abf..f8094299 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/provider_deployments.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/provider_deployments.py @@ -8,7 +8,7 @@ class MetorialProviderDeploymentsEndpoint(BaseMetorialEndpoint): def __init__(self, config: MetorialEndpointManager): super().__init__(config) - def list(self, *, limit: Optional[float] = None, after: Optional[str] = None, before: Optional[str] = None, cursor: Optional[str] = None, order: Optional[str] = None, id: Optional[Union[str, List[str]]] = None, provider_id: Optional[Union[str, List[str]]] = None, provider_version_id: Optional[Union[str, List[str]]] = None, status: Optional[Union[str, List[str]]] = None, search: Optional[str] = None, created_at: Optional[Dict[str, Any]] = None, updated_at: Optional[Dict[str, Any]] = None) -> DashboardInstanceProviderDeploymentsListOutput: + def list(self, *, limit: Optional[float] = None, after: Optional[str] = None, before: Optional[str] = None, cursor: Optional[str] = None, order: Optional[str] = None, id: Optional[Union[str, List[str]]] = None, provider_id: Optional[Union[str, List[str]]] = None, provider_version_id: Optional[Union[str, List[str]]] = None, actor_id: Optional[Union[str, List[str]]] = None, consumer_id: Optional[Union[str, List[str]]] = None, identity_id: Optional[Union[str, List[str]]] = None, identity_credential_id: Optional[Union[str, List[str]]] = None, status: Optional[Union[str, List[str]]] = None, search: Optional[str] = None, created_at: Optional[Dict[str, Any]] = None, updated_at: Optional[Dict[str, Any]] = None) -> DashboardInstanceProviderDeploymentsListOutput: """ List provider deployments Returns a paginated list of provider deployments. @@ -21,6 +21,10 @@ def list(self, *, limit: Optional[float] = None, after: Optional[str] = None, be :param id: Optional[Union[str, List[str]]] (optional) :param provider_id: Optional[Union[str, List[str]]] (optional) :param provider_version_id: Optional[Union[str, List[str]]] (optional) + :param actor_id: Optional[Union[str, List[str]]] (optional) + :param consumer_id: Optional[Union[str, List[str]]] (optional) + :param identity_id: Optional[Union[str, List[str]]] (optional) + :param identity_credential_id: Optional[Union[str, List[str]]] (optional) :param status: Optional[Union[str, List[str]]] (optional) :param search: Optional[str] (optional) :param created_at: Optional[Dict[str, Any]] (optional) @@ -45,6 +49,14 @@ def list(self, *, limit: Optional[float] = None, after: Optional[str] = None, be query_dict["provider_id"] = provider_id if provider_version_id is not None: query_dict["provider_version_id"] = provider_version_id + if actor_id is not None: + query_dict["actor_id"] = actor_id + if consumer_id is not None: + query_dict["consumer_id"] = consumer_id + if identity_id is not None: + query_dict["identity_id"] = identity_id + if identity_credential_id is not None: + query_dict["identity_credential_id"] = identity_credential_id if status is not None: query_dict["status"] = status if search is not None: diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/provider_deployments_auth_configs.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/provider_deployments_auth_configs.py index e0e66276..5b244122 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/provider_deployments_auth_configs.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/provider_deployments_auth_configs.py @@ -8,7 +8,7 @@ class MetorialProviderDeploymentsAuthConfigsEndpoint(BaseMetorialEndpoint): def __init__(self, config: MetorialEndpointManager): super().__init__(config) - def list(self, *, limit: Optional[float] = None, after: Optional[str] = None, before: Optional[str] = None, cursor: Optional[str] = None, order: Optional[str] = None, status: Optional[Union[str, List[str]]] = None, id: Optional[Union[str, List[str]]] = None, provider_id: Optional[Union[str, List[str]]] = None, provider_deployment_id: Optional[Union[str, List[str]]] = None, provider_auth_credentials_id: Optional[Union[str, List[str]]] = None, provider_auth_method_id: Optional[Union[str, List[str]]] = None, search: Optional[str] = None, created_at: Optional[Dict[str, Any]] = None, updated_at: Optional[Dict[str, Any]] = None) -> DashboardInstanceProviderDeploymentsAuthConfigsListOutput: + def list(self, *, limit: Optional[float] = None, after: Optional[str] = None, before: Optional[str] = None, cursor: Optional[str] = None, order: Optional[str] = None, status: Optional[Union[str, List[str]]] = None, id: Optional[Union[str, List[str]]] = None, provider_id: Optional[Union[str, List[str]]] = None, provider_deployment_id: Optional[Union[str, List[str]]] = None, provider_auth_credentials_id: Optional[Union[str, List[str]]] = None, provider_auth_method_id: Optional[Union[str, List[str]]] = None, actor_id: Optional[Union[str, List[str]]] = None, consumer_id: Optional[Union[str, List[str]]] = None, identity_id: Optional[Union[str, List[str]]] = None, identity_credential_id: Optional[Union[str, List[str]]] = None, search: Optional[str] = None, created_at: Optional[Dict[str, Any]] = None, updated_at: Optional[Dict[str, Any]] = None) -> DashboardInstanceProviderDeploymentsAuthConfigsListOutput: """ List provider auth configs Returns a paginated list of provider auth configs. @@ -24,6 +24,10 @@ def list(self, *, limit: Optional[float] = None, after: Optional[str] = None, be :param provider_deployment_id: Optional[Union[str, List[str]]] (optional) :param provider_auth_credentials_id: Optional[Union[str, List[str]]] (optional) :param provider_auth_method_id: Optional[Union[str, List[str]]] (optional) + :param actor_id: Optional[Union[str, List[str]]] (optional) + :param consumer_id: Optional[Union[str, List[str]]] (optional) + :param identity_id: Optional[Union[str, List[str]]] (optional) + :param identity_credential_id: Optional[Union[str, List[str]]] (optional) :param search: Optional[str] (optional) :param created_at: Optional[Dict[str, Any]] (optional) :param updated_at: Optional[Dict[str, Any]] (optional) @@ -53,6 +57,14 @@ def list(self, *, limit: Optional[float] = None, after: Optional[str] = None, be query_dict["provider_auth_credentials_id"] = provider_auth_credentials_id if provider_auth_method_id is not None: query_dict["provider_auth_method_id"] = provider_auth_method_id + if actor_id is not None: + query_dict["actor_id"] = actor_id + if consumer_id is not None: + query_dict["consumer_id"] = consumer_id + if identity_id is not None: + query_dict["identity_id"] = identity_id + if identity_credential_id is not None: + query_dict["identity_credential_id"] = identity_credential_id if search is not None: query_dict["search"] = search if created_at is not None: diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/provider_deployments_configs.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/provider_deployments_configs.py index 03cee279..44c0c1d3 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/provider_deployments_configs.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/provider_deployments_configs.py @@ -8,7 +8,7 @@ class MetorialProviderDeploymentsConfigsEndpoint(BaseMetorialEndpoint): def __init__(self, config: MetorialEndpointManager): super().__init__(config) - def list(self, *, limit: Optional[float] = None, after: Optional[str] = None, before: Optional[str] = None, cursor: Optional[str] = None, order: Optional[str] = None, status: Optional[Union[str, List[str]]] = None, id: Optional[Union[str, List[str]]] = None, provider_id: Optional[Union[str, List[str]]] = None, provider_specification_id: Optional[Union[str, List[str]]] = None, provider_deployment_id: Optional[Union[str, List[str]]] = None, provider_config_vault_id: Optional[Union[str, List[str]]] = None, search: Optional[str] = None, created_at: Optional[Dict[str, Any]] = None, updated_at: Optional[Dict[str, Any]] = None) -> DashboardInstanceProviderDeploymentsConfigsListOutput: + def list(self, *, limit: Optional[float] = None, after: Optional[str] = None, before: Optional[str] = None, cursor: Optional[str] = None, order: Optional[str] = None, status: Optional[Union[str, List[str]]] = None, id: Optional[Union[str, List[str]]] = None, provider_id: Optional[Union[str, List[str]]] = None, provider_specification_id: Optional[Union[str, List[str]]] = None, provider_deployment_id: Optional[Union[str, List[str]]] = None, provider_config_vault_id: Optional[Union[str, List[str]]] = None, actor_id: Optional[Union[str, List[str]]] = None, consumer_id: Optional[Union[str, List[str]]] = None, identity_id: Optional[Union[str, List[str]]] = None, identity_credential_id: Optional[Union[str, List[str]]] = None, search: Optional[str] = None, created_at: Optional[Dict[str, Any]] = None, updated_at: Optional[Dict[str, Any]] = None) -> DashboardInstanceProviderDeploymentsConfigsListOutput: """ List provider configs Returns a paginated list of provider configs. @@ -24,6 +24,10 @@ def list(self, *, limit: Optional[float] = None, after: Optional[str] = None, be :param provider_specification_id: Optional[Union[str, List[str]]] (optional) :param provider_deployment_id: Optional[Union[str, List[str]]] (optional) :param provider_config_vault_id: Optional[Union[str, List[str]]] (optional) + :param actor_id: Optional[Union[str, List[str]]] (optional) + :param consumer_id: Optional[Union[str, List[str]]] (optional) + :param identity_id: Optional[Union[str, List[str]]] (optional) + :param identity_credential_id: Optional[Union[str, List[str]]] (optional) :param search: Optional[str] (optional) :param created_at: Optional[Dict[str, Any]] (optional) :param updated_at: Optional[Dict[str, Any]] (optional) @@ -53,6 +57,14 @@ def list(self, *, limit: Optional[float] = None, after: Optional[str] = None, be query_dict["provider_deployment_id"] = provider_deployment_id if provider_config_vault_id is not None: query_dict["provider_config_vault_id"] = provider_config_vault_id + if actor_id is not None: + query_dict["actor_id"] = actor_id + if consumer_id is not None: + query_dict["consumer_id"] = consumer_id + if identity_id is not None: + query_dict["identity_id"] = identity_id + if identity_credential_id is not None: + query_dict["identity_credential_id"] = identity_credential_id if search is not None: query_dict["search"] = search if created_at is not None: diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/provider_deployments_setup_sessions.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/provider_deployments_setup_sessions.py index be4b8dde..9d3fa373 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/provider_deployments_setup_sessions.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/endpoints/provider_deployments_setup_sessions.py @@ -79,7 +79,7 @@ def get(self, provider_setup_session_id: str) -> DashboardInstanceProviderDeploy ) return self._get(request).transform(mapDashboardInstanceProviderDeploymentsSetupSessionsGetOutput.from_dict) - def create(self, *, provider_id: Optional[str] = None, provider_deployment_id: Optional[str] = None, name: Optional[str] = None, description: Optional[str] = None, metadata: Optional[Dict[str, Any]] = None, provider_auth_method_id: Optional[str] = None, provider_auth_credentials_id: Optional[str] = None, redirect_url: Optional[str] = None, configuration: Optional[Dict[str, Any]] = None) -> DashboardInstanceProviderDeploymentsSetupSessionsCreateOutput: + def create(self, *, provider_id: Optional[str] = None, provider_deployment_id: Optional[str] = None, name: Optional[str] = None, description: Optional[str] = None, metadata: Optional[Dict[str, Any]] = None, provider_auth_method_id: Optional[str] = None, provider_auth_credentials_id: Optional[str] = None, identity_id: Optional[str] = None, redirect_url: Optional[str] = None, configuration: Optional[Dict[str, Any]] = None) -> DashboardInstanceProviderDeploymentsSetupSessionsCreateOutput: """ Create provider setup session Creates a new provider setup session for OAuth authentication. @@ -91,6 +91,7 @@ def create(self, *, provider_id: Optional[str] = None, provider_deployment_id: O :param metadata: Optional[Dict[str, Any]] (optional) :param provider_auth_method_id: Optional[str] (optional) :param provider_auth_credentials_id: Optional[str] (optional) + :param identity_id: Optional[str] (optional) :param redirect_url: Optional[str] (optional) :param configuration: Optional[Dict[str, Any]] (optional) :return: DashboardInstanceProviderDeploymentsSetupSessionsCreateOutput @@ -111,6 +112,8 @@ def create(self, *, provider_id: Optional[str] = None, provider_deployment_id: O body_dict["provider_auth_method_id"] = provider_auth_method_id if provider_auth_credentials_id is not None: body_dict["provider_auth_credentials_id"] = provider_auth_credentials_id + if identity_id is not None: + body_dict["identity_id"] = identity_id if redirect_url is not None: body_dict["redirect_url"] = redirect_url if configuration is not None: @@ -122,7 +125,7 @@ def create(self, *, provider_id: Optional[str] = None, provider_deployment_id: O ) return self._post(request).transform(mapDashboardInstanceProviderDeploymentsSetupSessionsCreateOutput.from_dict) - def update(self, provider_setup_session_id: str, *, name: Optional[str] = None, description: Optional[str] = None, metadata: Optional[Dict[str, Any]] = None) -> DashboardInstanceProviderDeploymentsSetupSessionsUpdateOutput: + def update(self, provider_setup_session_id: str, *, name: Optional[str] = None, description: Optional[str] = None, metadata: Optional[Dict[str, Any]] = None, identity_id: Optional[str] = None) -> DashboardInstanceProviderDeploymentsSetupSessionsUpdateOutput: """ Update provider setup session Updates a specific provider setup session. @@ -131,6 +134,7 @@ def update(self, provider_setup_session_id: str, *, name: Optional[str] = None, :param name: Optional[str] (optional) :param description: Optional[str] (optional) :param metadata: Optional[Dict[str, Any]] (optional) + :param identity_id: Optional[str] (optional) :return: DashboardInstanceProviderDeploymentsSetupSessionsUpdateOutput """ # Build body parameters from keyword arguments @@ -141,6 +145,8 @@ def update(self, provider_setup_session_id: str, *, name: Optional[str] = None, body_dict["description"] = description if metadata is not None: body_dict["metadata"] = metadata + if identity_id is not None: + body_dict["identity_id"] = identity_id request = MetorialRequest( path=['provider-setup-sessions', provider_setup_session_id], diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/__init__.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/__init__.py index 5af87b06..c94637d7 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/__init__.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/__init__.py @@ -1,5 +1,8 @@ +from .api_keys import * from .callbacks import * from .consumer import * +from .consumer_surfaces import * +from .consumers import * from .custom_providers import * from .dashboard import * from .file_links import * diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/api_keys/__init__.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/api_keys/__init__.py new file mode 100644 index 00000000..1a7fc983 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/api_keys/__init__.py @@ -0,0 +1,2 @@ +from .reveal import * +from .rotate import * \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/api_keys/update.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/api_keys/reveal.py similarity index 63% rename from src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/api_keys/update.py rename to src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/api_keys/reveal.py index 07cfe7eb..1f7d3737 100644 --- a/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/api_keys/update.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/api_keys/reveal.py @@ -4,7 +4,7 @@ import dataclasses @dataclass -class ApiKeysUpdateOutputMachineAccessActorTeams: +class ApiKeysRevealOutputMachineAccessActorTeams: id: str name: str slug: str @@ -12,19 +12,19 @@ class ApiKeysUpdateOutputMachineAccessActorTeams: created_at: datetime updated_at: datetime @dataclass -class ApiKeysUpdateOutputMachineAccessActor: +class ApiKeysRevealOutputMachineAccessActor: object: str id: str type: str organization_id: str name: str image_url: str - teams: List[ApiKeysUpdateOutputMachineAccessActorTeams] + teams: List[ApiKeysRevealOutputMachineAccessActorTeams] created_at: datetime updated_at: datetime email: Optional[str] = None @dataclass -class ApiKeysUpdateOutputMachineAccessInstanceProject: +class ApiKeysRevealOutputMachineAccessInstanceProject: object: str id: str status: str @@ -34,7 +34,7 @@ class ApiKeysUpdateOutputMachineAccessInstanceProject: created_at: datetime updated_at: datetime @dataclass -class ApiKeysUpdateOutputMachineAccessInstance: +class ApiKeysRevealOutputMachineAccessInstance: object: str id: str slug: str @@ -43,9 +43,9 @@ class ApiKeysUpdateOutputMachineAccessInstance: type: str created_at: datetime updated_at: datetime - project: ApiKeysUpdateOutputMachineAccessInstanceProject + project: ApiKeysRevealOutputMachineAccessInstanceProject @dataclass -class ApiKeysUpdateOutputMachineAccessOrganization: +class ApiKeysRevealOutputMachineAccessOrganization: object: str id: str type: str @@ -55,7 +55,7 @@ class ApiKeysUpdateOutputMachineAccessOrganization: created_at: datetime updated_at: datetime @dataclass -class ApiKeysUpdateOutputMachineAccessUser: +class ApiKeysRevealOutputMachineAccessUser: object: str id: str status: str @@ -68,7 +68,7 @@ class ApiKeysUpdateOutputMachineAccessUser: created_at: datetime updated_at: datetime @dataclass -class ApiKeysUpdateOutputMachineAccess: +class ApiKeysRevealOutputMachineAccess: object: str id: str status: str @@ -78,25 +78,20 @@ class ApiKeysUpdateOutputMachineAccess: created_at: datetime updated_at: datetime deleted_at: datetime - actor: Optional[ApiKeysUpdateOutputMachineAccessActor] = None - instance: Optional[ApiKeysUpdateOutputMachineAccessInstance] = None - organization: Optional[ApiKeysUpdateOutputMachineAccessOrganization] = None - user: Optional[ApiKeysUpdateOutputMachineAccessUser] = None + actor: Optional[ApiKeysRevealOutputMachineAccessActor] = None + instance: Optional[ApiKeysRevealOutputMachineAccessInstance] = None + organization: Optional[ApiKeysRevealOutputMachineAccessOrganization] = None + user: Optional[ApiKeysRevealOutputMachineAccessUser] = None @dataclass -class ApiKeysUpdateOutputRevealInfo: - until: datetime - forever: bool -@dataclass -class ApiKeysUpdateOutput: +class ApiKeysRevealOutput: object: str id: str status: str secret_redacted: str - secret_redacted_long: str type: str name: str ip_filters: List[str] - machine_access: ApiKeysUpdateOutputMachineAccess + machine_access: ApiKeysRevealOutputMachineAccess created_at: datetime updated_at: datetime secret: Optional[str] = None @@ -104,13 +99,12 @@ class ApiKeysUpdateOutput: deleted_at: Optional[datetime] = None last_used_at: Optional[datetime] = None expires_at: Optional[datetime] = None - reveal_info: Optional[ApiKeysUpdateOutputRevealInfo] = None -class mapApiKeysUpdateOutputMachineAccessActorTeams: +class mapApiKeysRevealOutputMachineAccessActorTeams: @staticmethod - def from_dict(data: Dict[str, Any]) -> ApiKeysUpdateOutputMachineAccessActorTeams: - return ApiKeysUpdateOutputMachineAccessActorTeams( + def from_dict(data: Dict[str, Any]) -> ApiKeysRevealOutputMachineAccessActorTeams: + return ApiKeysRevealOutputMachineAccessActorTeams( id=data.get('id'), name=data.get('name'), slug=data.get('slug'), @@ -120,17 +114,17 @@ def from_dict(data: Dict[str, Any]) -> ApiKeysUpdateOutputMachineAccessActorTeam ) @staticmethod - def to_dict(value: Union[ApiKeysUpdateOutputMachineAccessActorTeams, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + def to_dict(value: Union[ApiKeysRevealOutputMachineAccessActorTeams, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: if value is None: return None if isinstance(value, dict): return value return dataclasses.asdict(value) -class mapApiKeysUpdateOutputMachineAccessActor: +class mapApiKeysRevealOutputMachineAccessActor: @staticmethod - def from_dict(data: Dict[str, Any]) -> ApiKeysUpdateOutputMachineAccessActor: - return ApiKeysUpdateOutputMachineAccessActor( + def from_dict(data: Dict[str, Any]) -> ApiKeysRevealOutputMachineAccessActor: + return ApiKeysRevealOutputMachineAccessActor( object=data.get('object'), id=data.get('id'), type=data.get('type'), @@ -138,23 +132,23 @@ def from_dict(data: Dict[str, Any]) -> ApiKeysUpdateOutputMachineAccessActor: name=data.get('name'), email=data.get('email'), image_url=data.get('image_url'), - teams=[mapApiKeysUpdateOutputMachineAccessActorTeams.from_dict(item) for item in data.get('teams', []) if item], + teams=[mapApiKeysRevealOutputMachineAccessActorTeams.from_dict(item) for item in data.get('teams', []) if item], created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None ) @staticmethod - def to_dict(value: Union[ApiKeysUpdateOutputMachineAccessActor, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + def to_dict(value: Union[ApiKeysRevealOutputMachineAccessActor, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: if value is None: return None if isinstance(value, dict): return value return dataclasses.asdict(value) -class mapApiKeysUpdateOutputMachineAccessInstanceProject: +class mapApiKeysRevealOutputMachineAccessInstanceProject: @staticmethod - def from_dict(data: Dict[str, Any]) -> ApiKeysUpdateOutputMachineAccessInstanceProject: - return ApiKeysUpdateOutputMachineAccessInstanceProject( + def from_dict(data: Dict[str, Any]) -> ApiKeysRevealOutputMachineAccessInstanceProject: + return ApiKeysRevealOutputMachineAccessInstanceProject( object=data.get('object'), id=data.get('id'), status=data.get('status'), @@ -166,17 +160,17 @@ def from_dict(data: Dict[str, Any]) -> ApiKeysUpdateOutputMachineAccessInstanceP ) @staticmethod - def to_dict(value: Union[ApiKeysUpdateOutputMachineAccessInstanceProject, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + def to_dict(value: Union[ApiKeysRevealOutputMachineAccessInstanceProject, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: if value is None: return None if isinstance(value, dict): return value return dataclasses.asdict(value) -class mapApiKeysUpdateOutputMachineAccessInstance: +class mapApiKeysRevealOutputMachineAccessInstance: @staticmethod - def from_dict(data: Dict[str, Any]) -> ApiKeysUpdateOutputMachineAccessInstance: - return ApiKeysUpdateOutputMachineAccessInstance( + def from_dict(data: Dict[str, Any]) -> ApiKeysRevealOutputMachineAccessInstance: + return ApiKeysRevealOutputMachineAccessInstance( object=data.get('object'), id=data.get('id'), slug=data.get('slug'), @@ -185,21 +179,21 @@ def from_dict(data: Dict[str, Any]) -> ApiKeysUpdateOutputMachineAccessInstance: type=data.get('type'), created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, - project=mapApiKeysUpdateOutputMachineAccessInstanceProject.from_dict(data.get('project')) if data.get('project') else None + project=mapApiKeysRevealOutputMachineAccessInstanceProject.from_dict(data.get('project')) if data.get('project') else None ) @staticmethod - def to_dict(value: Union[ApiKeysUpdateOutputMachineAccessInstance, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + def to_dict(value: Union[ApiKeysRevealOutputMachineAccessInstance, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: if value is None: return None if isinstance(value, dict): return value return dataclasses.asdict(value) -class mapApiKeysUpdateOutputMachineAccessOrganization: +class mapApiKeysRevealOutputMachineAccessOrganization: @staticmethod - def from_dict(data: Dict[str, Any]) -> ApiKeysUpdateOutputMachineAccessOrganization: - return ApiKeysUpdateOutputMachineAccessOrganization( + def from_dict(data: Dict[str, Any]) -> ApiKeysRevealOutputMachineAccessOrganization: + return ApiKeysRevealOutputMachineAccessOrganization( object=data.get('object'), id=data.get('id'), type=data.get('type'), @@ -211,17 +205,17 @@ def from_dict(data: Dict[str, Any]) -> ApiKeysUpdateOutputMachineAccessOrganizat ) @staticmethod - def to_dict(value: Union[ApiKeysUpdateOutputMachineAccessOrganization, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + def to_dict(value: Union[ApiKeysRevealOutputMachineAccessOrganization, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: if value is None: return None if isinstance(value, dict): return value return dataclasses.asdict(value) -class mapApiKeysUpdateOutputMachineAccessUser: +class mapApiKeysRevealOutputMachineAccessUser: @staticmethod - def from_dict(data: Dict[str, Any]) -> ApiKeysUpdateOutputMachineAccessUser: - return ApiKeysUpdateOutputMachineAccessUser( + def from_dict(data: Dict[str, Any]) -> ApiKeysRevealOutputMachineAccessUser: + return ApiKeysRevealOutputMachineAccessUser( object=data.get('object'), id=data.get('id'), status=data.get('status'), @@ -236,17 +230,17 @@ def from_dict(data: Dict[str, Any]) -> ApiKeysUpdateOutputMachineAccessUser: ) @staticmethod - def to_dict(value: Union[ApiKeysUpdateOutputMachineAccessUser, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + def to_dict(value: Union[ApiKeysRevealOutputMachineAccessUser, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: if value is None: return None if isinstance(value, dict): return value return dataclasses.asdict(value) -class mapApiKeysUpdateOutputMachineAccess: +class mapApiKeysRevealOutputMachineAccess: @staticmethod - def from_dict(data: Dict[str, Any]) -> ApiKeysUpdateOutputMachineAccess: - return ApiKeysUpdateOutputMachineAccess( + def from_dict(data: Dict[str, Any]) -> ApiKeysRevealOutputMachineAccess: + return ApiKeysRevealOutputMachineAccess( object=data.get('object'), id=data.get('id'), status=data.get('status'), @@ -256,88 +250,43 @@ def from_dict(data: Dict[str, Any]) -> ApiKeysUpdateOutputMachineAccess: created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, deleted_at=datetime.fromisoformat(data.get('deleted_at').replace('Z', '+00:00')) if data.get('deleted_at') else None, - actor=mapApiKeysUpdateOutputMachineAccessActor.from_dict(data.get('actor')) if data.get('actor') else None, - instance=mapApiKeysUpdateOutputMachineAccessInstance.from_dict(data.get('instance')) if data.get('instance') else None, - organization=mapApiKeysUpdateOutputMachineAccessOrganization.from_dict(data.get('organization')) if data.get('organization') else None, - user=mapApiKeysUpdateOutputMachineAccessUser.from_dict(data.get('user')) if data.get('user') else None - ) - - @staticmethod - def to_dict(value: Union[ApiKeysUpdateOutputMachineAccess, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: - if value is None: - return None - if isinstance(value, dict): - return value - return dataclasses.asdict(value) - -class mapApiKeysUpdateOutputRevealInfo: - @staticmethod - def from_dict(data: Dict[str, Any]) -> ApiKeysUpdateOutputRevealInfo: - return ApiKeysUpdateOutputRevealInfo( - until=datetime.fromisoformat(data.get('until').replace('Z', '+00:00')) if data.get('until') else None, - forever=data.get('forever') + actor=mapApiKeysRevealOutputMachineAccessActor.from_dict(data.get('actor')) if data.get('actor') else None, + instance=mapApiKeysRevealOutputMachineAccessInstance.from_dict(data.get('instance')) if data.get('instance') else None, + organization=mapApiKeysRevealOutputMachineAccessOrganization.from_dict(data.get('organization')) if data.get('organization') else None, + user=mapApiKeysRevealOutputMachineAccessUser.from_dict(data.get('user')) if data.get('user') else None ) @staticmethod - def to_dict(value: Union[ApiKeysUpdateOutputRevealInfo, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + def to_dict(value: Union[ApiKeysRevealOutputMachineAccess, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: if value is None: return None if isinstance(value, dict): return value return dataclasses.asdict(value) -class mapApiKeysUpdateOutput: +class mapApiKeysRevealOutput: @staticmethod - def from_dict(data: Dict[str, Any]) -> ApiKeysUpdateOutput: - return ApiKeysUpdateOutput( + def from_dict(data: Dict[str, Any]) -> ApiKeysRevealOutput: + return ApiKeysRevealOutput( object=data.get('object'), id=data.get('id'), status=data.get('status'), secret_redacted=data.get('secret_redacted'), - secret_redacted_long=data.get('secret_redacted_long'), secret=data.get('secret'), type=data.get('type'), name=data.get('name'), description=data.get('description'), ip_filters=data.get('ip_filters', []), - machine_access=mapApiKeysUpdateOutputMachineAccess.from_dict(data.get('machine_access')) if data.get('machine_access') else None, + machine_access=mapApiKeysRevealOutputMachineAccess.from_dict(data.get('machine_access')) if data.get('machine_access') else None, deleted_at=datetime.fromisoformat(data.get('deleted_at').replace('Z', '+00:00')) if data.get('deleted_at') else None, last_used_at=datetime.fromisoformat(data.get('last_used_at').replace('Z', '+00:00')) if data.get('last_used_at') else None, expires_at=datetime.fromisoformat(data.get('expires_at').replace('Z', '+00:00')) if data.get('expires_at') else None, created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, - updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, - reveal_info=mapApiKeysUpdateOutputRevealInfo.from_dict(data.get('reveal_info')) if data.get('reveal_info') else None - ) - - @staticmethod - def to_dict(value: Union[ApiKeysUpdateOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: - if value is None: - return None - if isinstance(value, dict): - return value - # assume dataclass for generated models - return dataclasses.asdict(value) - -@dataclass -class ApiKeysUpdateBody: - name: Optional[str] = None - description: Optional[str] = None - expires_at: Optional[datetime] = None - ip_filters: Optional[List[str]] = None - - -class mapApiKeysUpdateBody: - @staticmethod - def from_dict(data: Dict[str, Any]) -> ApiKeysUpdateBody: - return ApiKeysUpdateBody( - name=data.get('name'), - description=data.get('description'), - expires_at=datetime.fromisoformat(data.get('expires_at').replace('Z', '+00:00')) if data.get('expires_at') else None, - ip_filters=data.get('ip_filters', []) + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None ) @staticmethod - def to_dict(value: Union[ApiKeysUpdateBody, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + def to_dict(value: Union[ApiKeysRevealOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: if value is None: return None if isinstance(value, dict): diff --git a/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/api_keys/revoke.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/api_keys/rotate.py similarity index 69% rename from src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/api_keys/revoke.py rename to src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/api_keys/rotate.py index a340da92..0de81b67 100644 --- a/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/api_keys/revoke.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/api_keys/rotate.py @@ -4,7 +4,7 @@ import dataclasses @dataclass -class ApiKeysRevokeOutputMachineAccessActorTeams: +class ApiKeysRotateOutputMachineAccessActorTeams: id: str name: str slug: str @@ -12,19 +12,19 @@ class ApiKeysRevokeOutputMachineAccessActorTeams: created_at: datetime updated_at: datetime @dataclass -class ApiKeysRevokeOutputMachineAccessActor: +class ApiKeysRotateOutputMachineAccessActor: object: str id: str type: str organization_id: str name: str image_url: str - teams: List[ApiKeysRevokeOutputMachineAccessActorTeams] + teams: List[ApiKeysRotateOutputMachineAccessActorTeams] created_at: datetime updated_at: datetime email: Optional[str] = None @dataclass -class ApiKeysRevokeOutputMachineAccessInstanceProject: +class ApiKeysRotateOutputMachineAccessInstanceProject: object: str id: str status: str @@ -34,7 +34,7 @@ class ApiKeysRevokeOutputMachineAccessInstanceProject: created_at: datetime updated_at: datetime @dataclass -class ApiKeysRevokeOutputMachineAccessInstance: +class ApiKeysRotateOutputMachineAccessInstance: object: str id: str slug: str @@ -43,9 +43,9 @@ class ApiKeysRevokeOutputMachineAccessInstance: type: str created_at: datetime updated_at: datetime - project: ApiKeysRevokeOutputMachineAccessInstanceProject + project: ApiKeysRotateOutputMachineAccessInstanceProject @dataclass -class ApiKeysRevokeOutputMachineAccessOrganization: +class ApiKeysRotateOutputMachineAccessOrganization: object: str id: str type: str @@ -55,7 +55,7 @@ class ApiKeysRevokeOutputMachineAccessOrganization: created_at: datetime updated_at: datetime @dataclass -class ApiKeysRevokeOutputMachineAccessUser: +class ApiKeysRotateOutputMachineAccessUser: object: str id: str status: str @@ -68,7 +68,7 @@ class ApiKeysRevokeOutputMachineAccessUser: created_at: datetime updated_at: datetime @dataclass -class ApiKeysRevokeOutputMachineAccess: +class ApiKeysRotateOutputMachineAccess: object: str id: str status: str @@ -78,25 +78,20 @@ class ApiKeysRevokeOutputMachineAccess: created_at: datetime updated_at: datetime deleted_at: datetime - actor: Optional[ApiKeysRevokeOutputMachineAccessActor] = None - instance: Optional[ApiKeysRevokeOutputMachineAccessInstance] = None - organization: Optional[ApiKeysRevokeOutputMachineAccessOrganization] = None - user: Optional[ApiKeysRevokeOutputMachineAccessUser] = None + actor: Optional[ApiKeysRotateOutputMachineAccessActor] = None + instance: Optional[ApiKeysRotateOutputMachineAccessInstance] = None + organization: Optional[ApiKeysRotateOutputMachineAccessOrganization] = None + user: Optional[ApiKeysRotateOutputMachineAccessUser] = None @dataclass -class ApiKeysRevokeOutputRevealInfo: - until: datetime - forever: bool -@dataclass -class ApiKeysRevokeOutput: +class ApiKeysRotateOutput: object: str id: str status: str secret_redacted: str - secret_redacted_long: str type: str name: str ip_filters: List[str] - machine_access: ApiKeysRevokeOutputMachineAccess + machine_access: ApiKeysRotateOutputMachineAccess created_at: datetime updated_at: datetime secret: Optional[str] = None @@ -104,13 +99,12 @@ class ApiKeysRevokeOutput: deleted_at: Optional[datetime] = None last_used_at: Optional[datetime] = None expires_at: Optional[datetime] = None - reveal_info: Optional[ApiKeysRevokeOutputRevealInfo] = None -class mapApiKeysRevokeOutputMachineAccessActorTeams: +class mapApiKeysRotateOutputMachineAccessActorTeams: @staticmethod - def from_dict(data: Dict[str, Any]) -> ApiKeysRevokeOutputMachineAccessActorTeams: - return ApiKeysRevokeOutputMachineAccessActorTeams( + def from_dict(data: Dict[str, Any]) -> ApiKeysRotateOutputMachineAccessActorTeams: + return ApiKeysRotateOutputMachineAccessActorTeams( id=data.get('id'), name=data.get('name'), slug=data.get('slug'), @@ -120,17 +114,17 @@ def from_dict(data: Dict[str, Any]) -> ApiKeysRevokeOutputMachineAccessActorTeam ) @staticmethod - def to_dict(value: Union[ApiKeysRevokeOutputMachineAccessActorTeams, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + def to_dict(value: Union[ApiKeysRotateOutputMachineAccessActorTeams, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: if value is None: return None if isinstance(value, dict): return value return dataclasses.asdict(value) -class mapApiKeysRevokeOutputMachineAccessActor: +class mapApiKeysRotateOutputMachineAccessActor: @staticmethod - def from_dict(data: Dict[str, Any]) -> ApiKeysRevokeOutputMachineAccessActor: - return ApiKeysRevokeOutputMachineAccessActor( + def from_dict(data: Dict[str, Any]) -> ApiKeysRotateOutputMachineAccessActor: + return ApiKeysRotateOutputMachineAccessActor( object=data.get('object'), id=data.get('id'), type=data.get('type'), @@ -138,23 +132,23 @@ def from_dict(data: Dict[str, Any]) -> ApiKeysRevokeOutputMachineAccessActor: name=data.get('name'), email=data.get('email'), image_url=data.get('image_url'), - teams=[mapApiKeysRevokeOutputMachineAccessActorTeams.from_dict(item) for item in data.get('teams', []) if item], + teams=[mapApiKeysRotateOutputMachineAccessActorTeams.from_dict(item) for item in data.get('teams', []) if item], created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None ) @staticmethod - def to_dict(value: Union[ApiKeysRevokeOutputMachineAccessActor, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + def to_dict(value: Union[ApiKeysRotateOutputMachineAccessActor, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: if value is None: return None if isinstance(value, dict): return value return dataclasses.asdict(value) -class mapApiKeysRevokeOutputMachineAccessInstanceProject: +class mapApiKeysRotateOutputMachineAccessInstanceProject: @staticmethod - def from_dict(data: Dict[str, Any]) -> ApiKeysRevokeOutputMachineAccessInstanceProject: - return ApiKeysRevokeOutputMachineAccessInstanceProject( + def from_dict(data: Dict[str, Any]) -> ApiKeysRotateOutputMachineAccessInstanceProject: + return ApiKeysRotateOutputMachineAccessInstanceProject( object=data.get('object'), id=data.get('id'), status=data.get('status'), @@ -166,17 +160,17 @@ def from_dict(data: Dict[str, Any]) -> ApiKeysRevokeOutputMachineAccessInstanceP ) @staticmethod - def to_dict(value: Union[ApiKeysRevokeOutputMachineAccessInstanceProject, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + def to_dict(value: Union[ApiKeysRotateOutputMachineAccessInstanceProject, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: if value is None: return None if isinstance(value, dict): return value return dataclasses.asdict(value) -class mapApiKeysRevokeOutputMachineAccessInstance: +class mapApiKeysRotateOutputMachineAccessInstance: @staticmethod - def from_dict(data: Dict[str, Any]) -> ApiKeysRevokeOutputMachineAccessInstance: - return ApiKeysRevokeOutputMachineAccessInstance( + def from_dict(data: Dict[str, Any]) -> ApiKeysRotateOutputMachineAccessInstance: + return ApiKeysRotateOutputMachineAccessInstance( object=data.get('object'), id=data.get('id'), slug=data.get('slug'), @@ -185,21 +179,21 @@ def from_dict(data: Dict[str, Any]) -> ApiKeysRevokeOutputMachineAccessInstance: type=data.get('type'), created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, - project=mapApiKeysRevokeOutputMachineAccessInstanceProject.from_dict(data.get('project')) if data.get('project') else None + project=mapApiKeysRotateOutputMachineAccessInstanceProject.from_dict(data.get('project')) if data.get('project') else None ) @staticmethod - def to_dict(value: Union[ApiKeysRevokeOutputMachineAccessInstance, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + def to_dict(value: Union[ApiKeysRotateOutputMachineAccessInstance, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: if value is None: return None if isinstance(value, dict): return value return dataclasses.asdict(value) -class mapApiKeysRevokeOutputMachineAccessOrganization: +class mapApiKeysRotateOutputMachineAccessOrganization: @staticmethod - def from_dict(data: Dict[str, Any]) -> ApiKeysRevokeOutputMachineAccessOrganization: - return ApiKeysRevokeOutputMachineAccessOrganization( + def from_dict(data: Dict[str, Any]) -> ApiKeysRotateOutputMachineAccessOrganization: + return ApiKeysRotateOutputMachineAccessOrganization( object=data.get('object'), id=data.get('id'), type=data.get('type'), @@ -211,17 +205,17 @@ def from_dict(data: Dict[str, Any]) -> ApiKeysRevokeOutputMachineAccessOrganizat ) @staticmethod - def to_dict(value: Union[ApiKeysRevokeOutputMachineAccessOrganization, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + def to_dict(value: Union[ApiKeysRotateOutputMachineAccessOrganization, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: if value is None: return None if isinstance(value, dict): return value return dataclasses.asdict(value) -class mapApiKeysRevokeOutputMachineAccessUser: +class mapApiKeysRotateOutputMachineAccessUser: @staticmethod - def from_dict(data: Dict[str, Any]) -> ApiKeysRevokeOutputMachineAccessUser: - return ApiKeysRevokeOutputMachineAccessUser( + def from_dict(data: Dict[str, Any]) -> ApiKeysRotateOutputMachineAccessUser: + return ApiKeysRotateOutputMachineAccessUser( object=data.get('object'), id=data.get('id'), status=data.get('status'), @@ -236,17 +230,17 @@ def from_dict(data: Dict[str, Any]) -> ApiKeysRevokeOutputMachineAccessUser: ) @staticmethod - def to_dict(value: Union[ApiKeysRevokeOutputMachineAccessUser, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + def to_dict(value: Union[ApiKeysRotateOutputMachineAccessUser, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: if value is None: return None if isinstance(value, dict): return value return dataclasses.asdict(value) -class mapApiKeysRevokeOutputMachineAccess: +class mapApiKeysRotateOutputMachineAccess: @staticmethod - def from_dict(data: Dict[str, Any]) -> ApiKeysRevokeOutputMachineAccess: - return ApiKeysRevokeOutputMachineAccess( + def from_dict(data: Dict[str, Any]) -> ApiKeysRotateOutputMachineAccess: + return ApiKeysRotateOutputMachineAccess( object=data.get('object'), id=data.get('id'), status=data.get('status'), @@ -256,61 +250,64 @@ def from_dict(data: Dict[str, Any]) -> ApiKeysRevokeOutputMachineAccess: created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, deleted_at=datetime.fromisoformat(data.get('deleted_at').replace('Z', '+00:00')) if data.get('deleted_at') else None, - actor=mapApiKeysRevokeOutputMachineAccessActor.from_dict(data.get('actor')) if data.get('actor') else None, - instance=mapApiKeysRevokeOutputMachineAccessInstance.from_dict(data.get('instance')) if data.get('instance') else None, - organization=mapApiKeysRevokeOutputMachineAccessOrganization.from_dict(data.get('organization')) if data.get('organization') else None, - user=mapApiKeysRevokeOutputMachineAccessUser.from_dict(data.get('user')) if data.get('user') else None - ) - - @staticmethod - def to_dict(value: Union[ApiKeysRevokeOutputMachineAccess, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: - if value is None: - return None - if isinstance(value, dict): - return value - return dataclasses.asdict(value) - -class mapApiKeysRevokeOutputRevealInfo: - @staticmethod - def from_dict(data: Dict[str, Any]) -> ApiKeysRevokeOutputRevealInfo: - return ApiKeysRevokeOutputRevealInfo( - until=datetime.fromisoformat(data.get('until').replace('Z', '+00:00')) if data.get('until') else None, - forever=data.get('forever') + actor=mapApiKeysRotateOutputMachineAccessActor.from_dict(data.get('actor')) if data.get('actor') else None, + instance=mapApiKeysRotateOutputMachineAccessInstance.from_dict(data.get('instance')) if data.get('instance') else None, + organization=mapApiKeysRotateOutputMachineAccessOrganization.from_dict(data.get('organization')) if data.get('organization') else None, + user=mapApiKeysRotateOutputMachineAccessUser.from_dict(data.get('user')) if data.get('user') else None ) @staticmethod - def to_dict(value: Union[ApiKeysRevokeOutputRevealInfo, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + def to_dict(value: Union[ApiKeysRotateOutputMachineAccess, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: if value is None: return None if isinstance(value, dict): return value return dataclasses.asdict(value) -class mapApiKeysRevokeOutput: +class mapApiKeysRotateOutput: @staticmethod - def from_dict(data: Dict[str, Any]) -> ApiKeysRevokeOutput: - return ApiKeysRevokeOutput( + def from_dict(data: Dict[str, Any]) -> ApiKeysRotateOutput: + return ApiKeysRotateOutput( object=data.get('object'), id=data.get('id'), status=data.get('status'), secret_redacted=data.get('secret_redacted'), - secret_redacted_long=data.get('secret_redacted_long'), secret=data.get('secret'), type=data.get('type'), name=data.get('name'), description=data.get('description'), ip_filters=data.get('ip_filters', []), - machine_access=mapApiKeysRevokeOutputMachineAccess.from_dict(data.get('machine_access')) if data.get('machine_access') else None, + machine_access=mapApiKeysRotateOutputMachineAccess.from_dict(data.get('machine_access')) if data.get('machine_access') else None, deleted_at=datetime.fromisoformat(data.get('deleted_at').replace('Z', '+00:00')) if data.get('deleted_at') else None, last_used_at=datetime.fromisoformat(data.get('last_used_at').replace('Z', '+00:00')) if data.get('last_used_at') else None, expires_at=datetime.fromisoformat(data.get('expires_at').replace('Z', '+00:00')) if data.get('expires_at') else None, created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, - updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, - reveal_info=mapApiKeysRevokeOutputRevealInfo.from_dict(data.get('reveal_info')) if data.get('reveal_info') else None + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ApiKeysRotateOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class ApiKeysRotateBody: + current_expires_at: Optional[datetime] = None + + +class mapApiKeysRotateBody: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ApiKeysRotateBody: + return ApiKeysRotateBody( + current_expires_at=datetime.fromisoformat(data.get('current_expires_at').replace('Z', '+00:00')) if data.get('current_expires_at') else None ) @staticmethod - def to_dict(value: Union[ApiKeysRevokeOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + def to_dict(value: Union[ApiKeysRotateBody, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: if value is None: return None if isinstance(value, dict): diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/consumer/providers/get_setup.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/consumer/providers/get_setup.py index b31e49ce..d6c6f39c 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/consumer/providers/get_setup.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/consumer/providers/get_setup.py @@ -195,6 +195,8 @@ class ConsumerProvidersGetSetupOutput: metadata: Optional[Dict[str, Any]] = None configuration: Optional[Dict[str, Any]] = None provider_id: Optional[str] = None + identity_id: Optional[str] = None + identity_credential_id: Optional[str] = None auth_method: Optional[ConsumerProvidersGetSetupOutputAuthMethod] = None deployment: Optional[ConsumerProvidersGetSetupOutputDeployment] = None credentials: Optional[ConsumerProvidersGetSetupOutputCredentials] = None @@ -597,6 +599,8 @@ def from_dict(data: Dict[str, Any]) -> ConsumerProvidersGetSetupOutput: metadata=data.get('metadata'), configuration=data.get('configuration'), provider_id=data.get('provider_id'), + identity_id=data.get('identity_id'), + identity_credential_id=data.get('identity_credential_id'), auth_method=mapConsumerProvidersGetSetupOutputAuthMethod.from_dict(data.get('auth_method')) if data.get('auth_method') else None, deployment=mapConsumerProvidersGetSetupOutputDeployment.from_dict(data.get('deployment')) if data.get('deployment') else None, credentials=mapConsumerProvidersGetSetupOutputCredentials.from_dict(data.get('credentials')) if data.get('credentials') else None, diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/consumer/providers/setup.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/consumer/providers/setup.py index a101ef5c..b4cc7f90 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/consumer/providers/setup.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/consumer/providers/setup.py @@ -195,6 +195,8 @@ class ConsumerProvidersSetupOutput: metadata: Optional[Dict[str, Any]] = None configuration: Optional[Dict[str, Any]] = None provider_id: Optional[str] = None + identity_id: Optional[str] = None + identity_credential_id: Optional[str] = None auth_method: Optional[ConsumerProvidersSetupOutputAuthMethod] = None deployment: Optional[ConsumerProvidersSetupOutputDeployment] = None credentials: Optional[ConsumerProvidersSetupOutputCredentials] = None @@ -597,6 +599,8 @@ def from_dict(data: Dict[str, Any]) -> ConsumerProvidersSetupOutput: metadata=data.get('metadata'), configuration=data.get('configuration'), provider_id=data.get('provider_id'), + identity_id=data.get('identity_id'), + identity_credential_id=data.get('identity_credential_id'), auth_method=mapConsumerProvidersSetupOutputAuthMethod.from_dict(data.get('auth_method')) if data.get('auth_method') else None, deployment=mapConsumerProvidersSetupOutputDeployment.from_dict(data.get('deployment')) if data.get('deployment') else None, credentials=mapConsumerProvidersSetupOutputCredentials.from_dict(data.get('credentials')) if data.get('credentials') else None, diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/consumer_surfaces/__init__.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/consumer_surfaces/__init__.py new file mode 100644 index 00000000..65eb373b --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/consumer_surfaces/__init__.py @@ -0,0 +1,2 @@ +from .get import * +from .list import * \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/consumer_surfaces/get.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/consumer_surfaces/get.py new file mode 100644 index 00000000..85ff061e --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/consumer_surfaces/get.py @@ -0,0 +1,60 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class ConsumerSurfacesGetOutputAuth: + object: str + session_expiry_time_in_seconds: float +@dataclass +class ConsumerSurfacesGetOutput: + object: str + id: str + status: str + name: str + auth: ConsumerSurfacesGetOutputAuth + created_at: datetime + updated_at: datetime + description: Optional[str] = None + + +class mapConsumerSurfacesGetOutputAuth: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ConsumerSurfacesGetOutputAuth: + return ConsumerSurfacesGetOutputAuth( + object=data.get('object'), + session_expiry_time_in_seconds=data.get('session_expiry_time_in_seconds') + ) + + @staticmethod + def to_dict(value: Union[ConsumerSurfacesGetOutputAuth, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapConsumerSurfacesGetOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ConsumerSurfacesGetOutput: + return ConsumerSurfacesGetOutput( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + name=data.get('name'), + description=data.get('description'), + auth=mapConsumerSurfacesGetOutputAuth.from_dict(data.get('auth')) if data.get('auth') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ConsumerSurfacesGetOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/consumer_surfaces/list.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/consumer_surfaces/list.py new file mode 100644 index 00000000..226bb03b --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/consumer_surfaces/list.py @@ -0,0 +1,129 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class ConsumerSurfacesListOutputItemsAuth: + object: str + session_expiry_time_in_seconds: float +@dataclass +class ConsumerSurfacesListOutputItems: + object: str + id: str + status: str + name: str + auth: ConsumerSurfacesListOutputItemsAuth + created_at: datetime + updated_at: datetime + description: Optional[str] = None +@dataclass +class ConsumerSurfacesListOutputPagination: + has_more_before: bool + has_more_after: bool +@dataclass +class ConsumerSurfacesListOutput: + items: List[ConsumerSurfacesListOutputItems] + pagination: ConsumerSurfacesListOutputPagination + + +class mapConsumerSurfacesListOutputItemsAuth: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ConsumerSurfacesListOutputItemsAuth: + return ConsumerSurfacesListOutputItemsAuth( + object=data.get('object'), + session_expiry_time_in_seconds=data.get('session_expiry_time_in_seconds') + ) + + @staticmethod + def to_dict(value: Union[ConsumerSurfacesListOutputItemsAuth, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapConsumerSurfacesListOutputItems: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ConsumerSurfacesListOutputItems: + return ConsumerSurfacesListOutputItems( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + name=data.get('name'), + description=data.get('description'), + auth=mapConsumerSurfacesListOutputItemsAuth.from_dict(data.get('auth')) if data.get('auth') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ConsumerSurfacesListOutputItems, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapConsumerSurfacesListOutputPagination: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ConsumerSurfacesListOutputPagination: + return ConsumerSurfacesListOutputPagination( + has_more_before=data.get('has_more_before'), + has_more_after=data.get('has_more_after') + ) + + @staticmethod + def to_dict(value: Union[ConsumerSurfacesListOutputPagination, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapConsumerSurfacesListOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ConsumerSurfacesListOutput: + return ConsumerSurfacesListOutput( + items=[mapConsumerSurfacesListOutputItems.from_dict(item) for item in data.get('items', []) if item], + pagination=mapConsumerSurfacesListOutputPagination.from_dict(data.get('pagination')) if data.get('pagination') else None + ) + + @staticmethod + def to_dict(value: Union[ConsumerSurfacesListOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class ConsumerSurfacesListQuery: + limit: Optional[float] = None + after: Optional[str] = None + before: Optional[str] = None + cursor: Optional[str] = None + order: Optional[str] = None + + +class mapConsumerSurfacesListQuery: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ConsumerSurfacesListQuery: + return ConsumerSurfacesListQuery( + limit=data.get('limit'), + after=data.get('after'), + before=data.get('before'), + cursor=data.get('cursor'), + order=data.get('order') + ) + + @staticmethod + def to_dict(value: Union[ConsumerSurfacesListQuery, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/consumers/__init__.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/consumers/__init__.py new file mode 100644 index 00000000..16e3415d --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/consumers/__init__.py @@ -0,0 +1,6 @@ +from .create import * +from .get import * +from .get_member_consumer import * +from .list import * +from .profiles import * +from .update import * \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/consumers/create.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/consumers/create.py new file mode 100644 index 00000000..9a204cda --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/consumers/create.py @@ -0,0 +1,59 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class ConsumersCreateOutput: + object: str + id: str + name: str + email: str + created_at: datetime + updated_at: datetime + + +class mapConsumersCreateOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ConsumersCreateOutput: + return ConsumersCreateOutput( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + email=data.get('email'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ConsumersCreateOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class ConsumersCreateBody: + name: str + email: str + + +class mapConsumersCreateBody: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ConsumersCreateBody: + return ConsumersCreateBody( + name=data.get('name'), + email=data.get('email') + ) + + @staticmethod + def to_dict(value: Union[ConsumersCreateBody, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/consumers/get.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/consumers/get.py new file mode 100644 index 00000000..6cadcc93 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/consumers/get.py @@ -0,0 +1,36 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class ConsumersGetOutput: + object: str + id: str + name: str + email: str + created_at: datetime + updated_at: datetime + + +class mapConsumersGetOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ConsumersGetOutput: + return ConsumersGetOutput( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + email=data.get('email'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ConsumersGetOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/consumers/get_member_consumer.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/consumers/get_member_consumer.py new file mode 100644 index 00000000..a29e8407 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/consumers/get_member_consumer.py @@ -0,0 +1,57 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class ConsumersGetMemberConsumerOutput: + object: str + id: str + name: str + email: str + created_at: datetime + updated_at: datetime + + +class mapConsumersGetMemberConsumerOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ConsumersGetMemberConsumerOutput: + return ConsumersGetMemberConsumerOutput( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + email=data.get('email'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ConsumersGetMemberConsumerOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class ConsumersGetMemberConsumerBody: + surface_identifier: str + + +class mapConsumersGetMemberConsumerBody: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ConsumersGetMemberConsumerBody: + return ConsumersGetMemberConsumerBody( + surface_identifier=data.get('surface_identifier') + ) + + @staticmethod + def to_dict(value: Union[ConsumersGetMemberConsumerBody, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/consumers/list.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/consumers/list.py new file mode 100644 index 00000000..8cb71529 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/consumers/list.py @@ -0,0 +1,105 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class ConsumersListOutputItems: + object: str + id: str + name: str + email: str + created_at: datetime + updated_at: datetime +@dataclass +class ConsumersListOutputPagination: + has_more_before: bool + has_more_after: bool +@dataclass +class ConsumersListOutput: + items: List[ConsumersListOutputItems] + pagination: ConsumersListOutputPagination + + +class mapConsumersListOutputItems: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ConsumersListOutputItems: + return ConsumersListOutputItems( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + email=data.get('email'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ConsumersListOutputItems, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapConsumersListOutputPagination: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ConsumersListOutputPagination: + return ConsumersListOutputPagination( + has_more_before=data.get('has_more_before'), + has_more_after=data.get('has_more_after') + ) + + @staticmethod + def to_dict(value: Union[ConsumersListOutputPagination, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapConsumersListOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ConsumersListOutput: + return ConsumersListOutput( + items=[mapConsumersListOutputItems.from_dict(item) for item in data.get('items', []) if item], + pagination=mapConsumersListOutputPagination.from_dict(data.get('pagination')) if data.get('pagination') else None + ) + + @staticmethod + def to_dict(value: Union[ConsumersListOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class ConsumersListQuery: + limit: Optional[float] = None + after: Optional[str] = None + before: Optional[str] = None + cursor: Optional[str] = None + order: Optional[str] = None + + +class mapConsumersListQuery: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ConsumersListQuery: + return ConsumersListQuery( + limit=data.get('limit'), + after=data.get('after'), + before=data.get('before'), + cursor=data.get('cursor'), + order=data.get('order') + ) + + @staticmethod + def to_dict(value: Union[ConsumersListQuery, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/consumers/profiles/__init__.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/consumers/profiles/__init__.py new file mode 100644 index 00000000..65eb373b --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/consumers/profiles/__init__.py @@ -0,0 +1,2 @@ +from .get import * +from .list import * \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/consumers/profiles/get.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/consumers/profiles/get.py new file mode 100644 index 00000000..d9765d1b --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/consumers/profiles/get.py @@ -0,0 +1,98 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class ConsumersProfilesGetOutputGroupsGroup: + object: str + id: str + status: str + name: str + is_default: bool + sso_group_ids: List[str] + created_at: datetime + updated_at: datetime + description: Optional[str] = None +@dataclass +class ConsumersProfilesGetOutputGroups: + object: str + group: ConsumersProfilesGetOutputGroupsGroup + assigned_via: str +@dataclass +class ConsumersProfilesGetOutput: + object: str + id: str + name: str + email: str + image_url: str + consumer_id: str + created_at: datetime + updated_at: datetime + groups: Optional[List[ConsumersProfilesGetOutputGroups]] = None + + +class mapConsumersProfilesGetOutputGroupsGroup: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ConsumersProfilesGetOutputGroupsGroup: + return ConsumersProfilesGetOutputGroupsGroup( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + name=data.get('name'), + description=data.get('description'), + is_default=data.get('is_default'), + sso_group_ids=data.get('sso_group_ids', []), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ConsumersProfilesGetOutputGroupsGroup, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapConsumersProfilesGetOutputGroups: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ConsumersProfilesGetOutputGroups: + return ConsumersProfilesGetOutputGroups( + object=data.get('object'), + group=mapConsumersProfilesGetOutputGroupsGroup.from_dict(data.get('group')) if data.get('group') else None, + assigned_via=data.get('assigned_via') + ) + + @staticmethod + def to_dict(value: Union[ConsumersProfilesGetOutputGroups, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapConsumersProfilesGetOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ConsumersProfilesGetOutput: + return ConsumersProfilesGetOutput( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + groups=[mapConsumersProfilesGetOutputGroups.from_dict(item) for item in data.get('groups', []) if item], + consumer_id=data.get('consumer_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ConsumersProfilesGetOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/consumers/profiles/list.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/consumers/profiles/list.py new file mode 100644 index 00000000..6510c1fe --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/consumers/profiles/list.py @@ -0,0 +1,167 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class ConsumersProfilesListOutputItemsGroupsGroup: + object: str + id: str + status: str + name: str + is_default: bool + sso_group_ids: List[str] + created_at: datetime + updated_at: datetime + description: Optional[str] = None +@dataclass +class ConsumersProfilesListOutputItemsGroups: + object: str + group: ConsumersProfilesListOutputItemsGroupsGroup + assigned_via: str +@dataclass +class ConsumersProfilesListOutputItems: + object: str + id: str + name: str + email: str + image_url: str + consumer_id: str + created_at: datetime + updated_at: datetime + groups: Optional[List[ConsumersProfilesListOutputItemsGroups]] = None +@dataclass +class ConsumersProfilesListOutputPagination: + has_more_before: bool + has_more_after: bool +@dataclass +class ConsumersProfilesListOutput: + items: List[ConsumersProfilesListOutputItems] + pagination: ConsumersProfilesListOutputPagination + + +class mapConsumersProfilesListOutputItemsGroupsGroup: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ConsumersProfilesListOutputItemsGroupsGroup: + return ConsumersProfilesListOutputItemsGroupsGroup( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + name=data.get('name'), + description=data.get('description'), + is_default=data.get('is_default'), + sso_group_ids=data.get('sso_group_ids', []), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ConsumersProfilesListOutputItemsGroupsGroup, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapConsumersProfilesListOutputItemsGroups: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ConsumersProfilesListOutputItemsGroups: + return ConsumersProfilesListOutputItemsGroups( + object=data.get('object'), + group=mapConsumersProfilesListOutputItemsGroupsGroup.from_dict(data.get('group')) if data.get('group') else None, + assigned_via=data.get('assigned_via') + ) + + @staticmethod + def to_dict(value: Union[ConsumersProfilesListOutputItemsGroups, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapConsumersProfilesListOutputItems: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ConsumersProfilesListOutputItems: + return ConsumersProfilesListOutputItems( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + groups=[mapConsumersProfilesListOutputItemsGroups.from_dict(item) for item in data.get('groups', []) if item], + consumer_id=data.get('consumer_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ConsumersProfilesListOutputItems, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapConsumersProfilesListOutputPagination: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ConsumersProfilesListOutputPagination: + return ConsumersProfilesListOutputPagination( + has_more_before=data.get('has_more_before'), + has_more_after=data.get('has_more_after') + ) + + @staticmethod + def to_dict(value: Union[ConsumersProfilesListOutputPagination, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapConsumersProfilesListOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ConsumersProfilesListOutput: + return ConsumersProfilesListOutput( + items=[mapConsumersProfilesListOutputItems.from_dict(item) for item in data.get('items', []) if item], + pagination=mapConsumersProfilesListOutputPagination.from_dict(data.get('pagination')) if data.get('pagination') else None + ) + + @staticmethod + def to_dict(value: Union[ConsumersProfilesListOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class ConsumersProfilesListQuery: + limit: Optional[float] = None + after: Optional[str] = None + before: Optional[str] = None + cursor: Optional[str] = None + order: Optional[str] = None + + +class mapConsumersProfilesListQuery: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ConsumersProfilesListQuery: + return ConsumersProfilesListQuery( + limit=data.get('limit'), + after=data.get('after'), + before=data.get('before'), + cursor=data.get('cursor'), + order=data.get('order') + ) + + @staticmethod + def to_dict(value: Union[ConsumersProfilesListQuery, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/consumers/update.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/consumers/update.py new file mode 100644 index 00000000..0eab80a7 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/consumers/update.py @@ -0,0 +1,59 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class ConsumersUpdateOutput: + object: str + id: str + name: str + email: str + created_at: datetime + updated_at: datetime + + +class mapConsumersUpdateOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ConsumersUpdateOutput: + return ConsumersUpdateOutput( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + email=data.get('email'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ConsumersUpdateOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class ConsumersUpdateBody: + name: Optional[str] = None + email: Optional[str] = None + + +class mapConsumersUpdateBody: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ConsumersUpdateBody: + return ConsumersUpdateBody( + name=data.get('name'), + email=data.get('email') + ) + + @staticmethod + def to_dict(value: Union[ConsumersUpdateBody, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/__init__.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/__init__.py index 4f7f4eec..41f0e718 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/__init__.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/__init__.py @@ -1 +1,2 @@ -from .instance import * \ No newline at end of file +from .instance import * +from .organizations import * \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/__init__.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/__init__.py index 205a7696..5bf2fe09 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/__init__.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/__init__.py @@ -1,4 +1,6 @@ from .callbacks import * +from .consumer_surfaces import * +from .consumers import * from .custom_providers import * from .file_links import * from .files import * diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/consumer_surfaces/__init__.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/consumer_surfaces/__init__.py new file mode 100644 index 00000000..65eb373b --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/consumer_surfaces/__init__.py @@ -0,0 +1,2 @@ +from .get import * +from .list import * \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/consumer_surfaces/get.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/consumer_surfaces/get.py new file mode 100644 index 00000000..fd9f0421 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/consumer_surfaces/get.py @@ -0,0 +1,60 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class DashboardInstanceConsumerSurfacesGetOutputAuth: + object: str + session_expiry_time_in_seconds: float +@dataclass +class DashboardInstanceConsumerSurfacesGetOutput: + object: str + id: str + status: str + name: str + auth: DashboardInstanceConsumerSurfacesGetOutputAuth + created_at: datetime + updated_at: datetime + description: Optional[str] = None + + +class mapDashboardInstanceConsumerSurfacesGetOutputAuth: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceConsumerSurfacesGetOutputAuth: + return DashboardInstanceConsumerSurfacesGetOutputAuth( + object=data.get('object'), + session_expiry_time_in_seconds=data.get('session_expiry_time_in_seconds') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceConsumerSurfacesGetOutputAuth, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceConsumerSurfacesGetOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceConsumerSurfacesGetOutput: + return DashboardInstanceConsumerSurfacesGetOutput( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + name=data.get('name'), + description=data.get('description'), + auth=mapDashboardInstanceConsumerSurfacesGetOutputAuth.from_dict(data.get('auth')) if data.get('auth') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceConsumerSurfacesGetOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/consumer_surfaces/list.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/consumer_surfaces/list.py new file mode 100644 index 00000000..69728c5a --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/consumer_surfaces/list.py @@ -0,0 +1,129 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class DashboardInstanceConsumerSurfacesListOutputItemsAuth: + object: str + session_expiry_time_in_seconds: float +@dataclass +class DashboardInstanceConsumerSurfacesListOutputItems: + object: str + id: str + status: str + name: str + auth: DashboardInstanceConsumerSurfacesListOutputItemsAuth + created_at: datetime + updated_at: datetime + description: Optional[str] = None +@dataclass +class DashboardInstanceConsumerSurfacesListOutputPagination: + has_more_before: bool + has_more_after: bool +@dataclass +class DashboardInstanceConsumerSurfacesListOutput: + items: List[DashboardInstanceConsumerSurfacesListOutputItems] + pagination: DashboardInstanceConsumerSurfacesListOutputPagination + + +class mapDashboardInstanceConsumerSurfacesListOutputItemsAuth: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceConsumerSurfacesListOutputItemsAuth: + return DashboardInstanceConsumerSurfacesListOutputItemsAuth( + object=data.get('object'), + session_expiry_time_in_seconds=data.get('session_expiry_time_in_seconds') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceConsumerSurfacesListOutputItemsAuth, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceConsumerSurfacesListOutputItems: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceConsumerSurfacesListOutputItems: + return DashboardInstanceConsumerSurfacesListOutputItems( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + name=data.get('name'), + description=data.get('description'), + auth=mapDashboardInstanceConsumerSurfacesListOutputItemsAuth.from_dict(data.get('auth')) if data.get('auth') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceConsumerSurfacesListOutputItems, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceConsumerSurfacesListOutputPagination: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceConsumerSurfacesListOutputPagination: + return DashboardInstanceConsumerSurfacesListOutputPagination( + has_more_before=data.get('has_more_before'), + has_more_after=data.get('has_more_after') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceConsumerSurfacesListOutputPagination, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceConsumerSurfacesListOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceConsumerSurfacesListOutput: + return DashboardInstanceConsumerSurfacesListOutput( + items=[mapDashboardInstanceConsumerSurfacesListOutputItems.from_dict(item) for item in data.get('items', []) if item], + pagination=mapDashboardInstanceConsumerSurfacesListOutputPagination.from_dict(data.get('pagination')) if data.get('pagination') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceConsumerSurfacesListOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class DashboardInstanceConsumerSurfacesListQuery: + limit: Optional[float] = None + after: Optional[str] = None + before: Optional[str] = None + cursor: Optional[str] = None + order: Optional[str] = None + + +class mapDashboardInstanceConsumerSurfacesListQuery: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceConsumerSurfacesListQuery: + return DashboardInstanceConsumerSurfacesListQuery( + limit=data.get('limit'), + after=data.get('after'), + before=data.get('before'), + cursor=data.get('cursor'), + order=data.get('order') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceConsumerSurfacesListQuery, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/consumers/__init__.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/consumers/__init__.py new file mode 100644 index 00000000..16e3415d --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/consumers/__init__.py @@ -0,0 +1,6 @@ +from .create import * +from .get import * +from .get_member_consumer import * +from .list import * +from .profiles import * +from .update import * \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/consumers/create.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/consumers/create.py new file mode 100644 index 00000000..8a22c429 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/consumers/create.py @@ -0,0 +1,59 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class DashboardInstanceConsumersCreateOutput: + object: str + id: str + name: str + email: str + created_at: datetime + updated_at: datetime + + +class mapDashboardInstanceConsumersCreateOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceConsumersCreateOutput: + return DashboardInstanceConsumersCreateOutput( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + email=data.get('email'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceConsumersCreateOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class DashboardInstanceConsumersCreateBody: + name: str + email: str + + +class mapDashboardInstanceConsumersCreateBody: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceConsumersCreateBody: + return DashboardInstanceConsumersCreateBody( + name=data.get('name'), + email=data.get('email') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceConsumersCreateBody, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/consumers/get.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/consumers/get.py new file mode 100644 index 00000000..99cc3f02 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/consumers/get.py @@ -0,0 +1,36 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class DashboardInstanceConsumersGetOutput: + object: str + id: str + name: str + email: str + created_at: datetime + updated_at: datetime + + +class mapDashboardInstanceConsumersGetOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceConsumersGetOutput: + return DashboardInstanceConsumersGetOutput( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + email=data.get('email'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceConsumersGetOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/consumers/get_member_consumer.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/consumers/get_member_consumer.py new file mode 100644 index 00000000..1bb72f5f --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/consumers/get_member_consumer.py @@ -0,0 +1,57 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class DashboardInstanceConsumersGetMemberConsumerOutput: + object: str + id: str + name: str + email: str + created_at: datetime + updated_at: datetime + + +class mapDashboardInstanceConsumersGetMemberConsumerOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceConsumersGetMemberConsumerOutput: + return DashboardInstanceConsumersGetMemberConsumerOutput( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + email=data.get('email'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceConsumersGetMemberConsumerOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class DashboardInstanceConsumersGetMemberConsumerBody: + surface_identifier: str + + +class mapDashboardInstanceConsumersGetMemberConsumerBody: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceConsumersGetMemberConsumerBody: + return DashboardInstanceConsumersGetMemberConsumerBody( + surface_identifier=data.get('surface_identifier') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceConsumersGetMemberConsumerBody, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/consumers/list.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/consumers/list.py new file mode 100644 index 00000000..a6b9b531 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/consumers/list.py @@ -0,0 +1,105 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class DashboardInstanceConsumersListOutputItems: + object: str + id: str + name: str + email: str + created_at: datetime + updated_at: datetime +@dataclass +class DashboardInstanceConsumersListOutputPagination: + has_more_before: bool + has_more_after: bool +@dataclass +class DashboardInstanceConsumersListOutput: + items: List[DashboardInstanceConsumersListOutputItems] + pagination: DashboardInstanceConsumersListOutputPagination + + +class mapDashboardInstanceConsumersListOutputItems: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceConsumersListOutputItems: + return DashboardInstanceConsumersListOutputItems( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + email=data.get('email'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceConsumersListOutputItems, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceConsumersListOutputPagination: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceConsumersListOutputPagination: + return DashboardInstanceConsumersListOutputPagination( + has_more_before=data.get('has_more_before'), + has_more_after=data.get('has_more_after') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceConsumersListOutputPagination, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceConsumersListOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceConsumersListOutput: + return DashboardInstanceConsumersListOutput( + items=[mapDashboardInstanceConsumersListOutputItems.from_dict(item) for item in data.get('items', []) if item], + pagination=mapDashboardInstanceConsumersListOutputPagination.from_dict(data.get('pagination')) if data.get('pagination') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceConsumersListOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class DashboardInstanceConsumersListQuery: + limit: Optional[float] = None + after: Optional[str] = None + before: Optional[str] = None + cursor: Optional[str] = None + order: Optional[str] = None + + +class mapDashboardInstanceConsumersListQuery: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceConsumersListQuery: + return DashboardInstanceConsumersListQuery( + limit=data.get('limit'), + after=data.get('after'), + before=data.get('before'), + cursor=data.get('cursor'), + order=data.get('order') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceConsumersListQuery, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/consumers/profiles/__init__.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/consumers/profiles/__init__.py new file mode 100644 index 00000000..65eb373b --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/consumers/profiles/__init__.py @@ -0,0 +1,2 @@ +from .get import * +from .list import * \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/consumers/profiles/get.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/consumers/profiles/get.py new file mode 100644 index 00000000..eb4a1364 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/consumers/profiles/get.py @@ -0,0 +1,98 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class DashboardInstanceConsumersProfilesGetOutputGroupsGroup: + object: str + id: str + status: str + name: str + is_default: bool + sso_group_ids: List[str] + created_at: datetime + updated_at: datetime + description: Optional[str] = None +@dataclass +class DashboardInstanceConsumersProfilesGetOutputGroups: + object: str + group: DashboardInstanceConsumersProfilesGetOutputGroupsGroup + assigned_via: str +@dataclass +class DashboardInstanceConsumersProfilesGetOutput: + object: str + id: str + name: str + email: str + image_url: str + consumer_id: str + created_at: datetime + updated_at: datetime + groups: Optional[List[DashboardInstanceConsumersProfilesGetOutputGroups]] = None + + +class mapDashboardInstanceConsumersProfilesGetOutputGroupsGroup: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceConsumersProfilesGetOutputGroupsGroup: + return DashboardInstanceConsumersProfilesGetOutputGroupsGroup( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + name=data.get('name'), + description=data.get('description'), + is_default=data.get('is_default'), + sso_group_ids=data.get('sso_group_ids', []), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceConsumersProfilesGetOutputGroupsGroup, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceConsumersProfilesGetOutputGroups: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceConsumersProfilesGetOutputGroups: + return DashboardInstanceConsumersProfilesGetOutputGroups( + object=data.get('object'), + group=mapDashboardInstanceConsumersProfilesGetOutputGroupsGroup.from_dict(data.get('group')) if data.get('group') else None, + assigned_via=data.get('assigned_via') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceConsumersProfilesGetOutputGroups, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceConsumersProfilesGetOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceConsumersProfilesGetOutput: + return DashboardInstanceConsumersProfilesGetOutput( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + groups=[mapDashboardInstanceConsumersProfilesGetOutputGroups.from_dict(item) for item in data.get('groups', []) if item], + consumer_id=data.get('consumer_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceConsumersProfilesGetOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/consumers/profiles/list.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/consumers/profiles/list.py new file mode 100644 index 00000000..09039767 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/consumers/profiles/list.py @@ -0,0 +1,167 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class DashboardInstanceConsumersProfilesListOutputItemsGroupsGroup: + object: str + id: str + status: str + name: str + is_default: bool + sso_group_ids: List[str] + created_at: datetime + updated_at: datetime + description: Optional[str] = None +@dataclass +class DashboardInstanceConsumersProfilesListOutputItemsGroups: + object: str + group: DashboardInstanceConsumersProfilesListOutputItemsGroupsGroup + assigned_via: str +@dataclass +class DashboardInstanceConsumersProfilesListOutputItems: + object: str + id: str + name: str + email: str + image_url: str + consumer_id: str + created_at: datetime + updated_at: datetime + groups: Optional[List[DashboardInstanceConsumersProfilesListOutputItemsGroups]] = None +@dataclass +class DashboardInstanceConsumersProfilesListOutputPagination: + has_more_before: bool + has_more_after: bool +@dataclass +class DashboardInstanceConsumersProfilesListOutput: + items: List[DashboardInstanceConsumersProfilesListOutputItems] + pagination: DashboardInstanceConsumersProfilesListOutputPagination + + +class mapDashboardInstanceConsumersProfilesListOutputItemsGroupsGroup: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceConsumersProfilesListOutputItemsGroupsGroup: + return DashboardInstanceConsumersProfilesListOutputItemsGroupsGroup( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + name=data.get('name'), + description=data.get('description'), + is_default=data.get('is_default'), + sso_group_ids=data.get('sso_group_ids', []), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceConsumersProfilesListOutputItemsGroupsGroup, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceConsumersProfilesListOutputItemsGroups: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceConsumersProfilesListOutputItemsGroups: + return DashboardInstanceConsumersProfilesListOutputItemsGroups( + object=data.get('object'), + group=mapDashboardInstanceConsumersProfilesListOutputItemsGroupsGroup.from_dict(data.get('group')) if data.get('group') else None, + assigned_via=data.get('assigned_via') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceConsumersProfilesListOutputItemsGroups, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceConsumersProfilesListOutputItems: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceConsumersProfilesListOutputItems: + return DashboardInstanceConsumersProfilesListOutputItems( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + groups=[mapDashboardInstanceConsumersProfilesListOutputItemsGroups.from_dict(item) for item in data.get('groups', []) if item], + consumer_id=data.get('consumer_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceConsumersProfilesListOutputItems, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceConsumersProfilesListOutputPagination: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceConsumersProfilesListOutputPagination: + return DashboardInstanceConsumersProfilesListOutputPagination( + has_more_before=data.get('has_more_before'), + has_more_after=data.get('has_more_after') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceConsumersProfilesListOutputPagination, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardInstanceConsumersProfilesListOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceConsumersProfilesListOutput: + return DashboardInstanceConsumersProfilesListOutput( + items=[mapDashboardInstanceConsumersProfilesListOutputItems.from_dict(item) for item in data.get('items', []) if item], + pagination=mapDashboardInstanceConsumersProfilesListOutputPagination.from_dict(data.get('pagination')) if data.get('pagination') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceConsumersProfilesListOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class DashboardInstanceConsumersProfilesListQuery: + limit: Optional[float] = None + after: Optional[str] = None + before: Optional[str] = None + cursor: Optional[str] = None + order: Optional[str] = None + + +class mapDashboardInstanceConsumersProfilesListQuery: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceConsumersProfilesListQuery: + return DashboardInstanceConsumersProfilesListQuery( + limit=data.get('limit'), + after=data.get('after'), + before=data.get('before'), + cursor=data.get('cursor'), + order=data.get('order') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceConsumersProfilesListQuery, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/consumers/update.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/consumers/update.py new file mode 100644 index 00000000..8d734bb7 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/consumers/update.py @@ -0,0 +1,59 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class DashboardInstanceConsumersUpdateOutput: + object: str + id: str + name: str + email: str + created_at: datetime + updated_at: datetime + + +class mapDashboardInstanceConsumersUpdateOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceConsumersUpdateOutput: + return DashboardInstanceConsumersUpdateOutput( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + email=data.get('email'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceConsumersUpdateOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class DashboardInstanceConsumersUpdateBody: + name: Optional[str] = None + email: Optional[str] = None + + +class mapDashboardInstanceConsumersUpdateBody: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardInstanceConsumersUpdateBody: + return DashboardInstanceConsumersUpdateBody( + name=data.get('name'), + email=data.get('email') + ) + + @staticmethod + def to_dict(value: Union[DashboardInstanceConsumersUpdateBody, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/identity_actors/list.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/identity_actors/list.py index 1ab5501d..3190d499 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/identity_actors/list.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/identity_actors/list.py @@ -101,6 +101,7 @@ class DashboardInstanceIdentityActorsListQuery: status: Optional[Union[str, List[str]]] = None id: Optional[Union[str, List[str]]] = None agent_id: Optional[Union[str, List[str]]] = None + consumer_id: Optional[Union[str, List[str]]] = None created_at: Optional[DashboardInstanceIdentityActorsListQueryCreatedAt] = None updated_at: Optional[DashboardInstanceIdentityActorsListQueryUpdatedAt] = None @@ -118,6 +119,7 @@ def from_dict(data: Dict[str, Any]) -> DashboardInstanceIdentityActorsListQuery: status=data.get('status'), id=data.get('id'), agent_id=data.get('agent_id'), + consumer_id=data.get('consumer_id'), created_at=mapDashboardInstanceIdentityActorsListQueryCreatedAt.from_dict(data.get('created_at')) if data.get('created_at') else None, updated_at=mapDashboardInstanceIdentityActorsListQueryUpdatedAt.from_dict(data.get('updated_at')) if data.get('updated_at') else None ) diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/magic_mcp_servers/create.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/magic_mcp_servers/create.py index 09b0d9e4..21afd673 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/magic_mcp_servers/create.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/magic_mcp_servers/create.py @@ -71,6 +71,7 @@ class DashboardInstanceMagicMcpServersCreateBody: name: Optional[str] = None description: Optional[str] = None metadata: Optional[Dict[str, Any]] = None + consumer_profile_id: Optional[str] = None class mapDashboardInstanceMagicMcpServersCreateBody: @@ -79,7 +80,8 @@ def from_dict(data: Dict[str, Any]) -> DashboardInstanceMagicMcpServersCreateBod return DashboardInstanceMagicMcpServersCreateBody( name=data.get('name'), description=data.get('description'), - metadata=data.get('metadata') + metadata=data.get('metadata'), + consumer_profile_id=data.get('consumer_profile_id') ) @staticmethod diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/magic_mcp_servers/list.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/magic_mcp_servers/list.py index aeff1c20..2623acdd 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/magic_mcp_servers/list.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/magic_mcp_servers/list.py @@ -115,6 +115,8 @@ class DashboardInstanceMagicMcpServersListQuery: order: Optional[str] = None status: Optional[Union[str, List[str]]] = None magic_mcp_group_id: Optional[Union[str, List[str]]] = None + consumer_id: Optional[Union[str, List[str]]] = None + consumer_profile_id: Optional[Union[str, List[str]]] = None search: Optional[str] = None @@ -129,6 +131,8 @@ def from_dict(data: Dict[str, Any]) -> DashboardInstanceMagicMcpServersListQuery order=data.get('order'), status=data.get('status'), magic_mcp_group_id=data.get('magic_mcp_group_id'), + consumer_id=data.get('consumer_id'), + consumer_profile_id=data.get('consumer_profile_id'), search=data.get('search') ) diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/provider_deployments/auth_configs/list.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/provider_deployments/auth_configs/list.py index 8032cb0d..3e749c5d 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/provider_deployments/auth_configs/list.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/provider_deployments/auth_configs/list.py @@ -297,6 +297,10 @@ class DashboardInstanceProviderDeploymentsAuthConfigsListQuery: provider_deployment_id: Optional[Union[str, List[str]]] = None provider_auth_credentials_id: Optional[Union[str, List[str]]] = None provider_auth_method_id: Optional[Union[str, List[str]]] = None + actor_id: Optional[Union[str, List[str]]] = None + consumer_id: Optional[Union[str, List[str]]] = None + identity_id: Optional[Union[str, List[str]]] = None + identity_credential_id: Optional[Union[str, List[str]]] = None search: Optional[str] = None created_at: Optional[DashboardInstanceProviderDeploymentsAuthConfigsListQueryCreatedAt] = None updated_at: Optional[DashboardInstanceProviderDeploymentsAuthConfigsListQueryUpdatedAt] = None @@ -317,6 +321,10 @@ def from_dict(data: Dict[str, Any]) -> DashboardInstanceProviderDeploymentsAuthC provider_deployment_id=data.get('provider_deployment_id'), provider_auth_credentials_id=data.get('provider_auth_credentials_id'), provider_auth_method_id=data.get('provider_auth_method_id'), + actor_id=data.get('actor_id'), + consumer_id=data.get('consumer_id'), + identity_id=data.get('identity_id'), + identity_credential_id=data.get('identity_credential_id'), search=data.get('search'), created_at=mapDashboardInstanceProviderDeploymentsAuthConfigsListQueryCreatedAt.from_dict(data.get('created_at')) if data.get('created_at') else None, updated_at=mapDashboardInstanceProviderDeploymentsAuthConfigsListQueryUpdatedAt.from_dict(data.get('updated_at')) if data.get('updated_at') else None diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/provider_deployments/configs/list.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/provider_deployments/configs/list.py index a07000b4..13598380 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/provider_deployments/configs/list.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/provider_deployments/configs/list.py @@ -211,6 +211,10 @@ class DashboardInstanceProviderDeploymentsConfigsListQuery: provider_specification_id: Optional[Union[str, List[str]]] = None provider_deployment_id: Optional[Union[str, List[str]]] = None provider_config_vault_id: Optional[Union[str, List[str]]] = None + actor_id: Optional[Union[str, List[str]]] = None + consumer_id: Optional[Union[str, List[str]]] = None + identity_id: Optional[Union[str, List[str]]] = None + identity_credential_id: Optional[Union[str, List[str]]] = None search: Optional[str] = None created_at: Optional[DashboardInstanceProviderDeploymentsConfigsListQueryCreatedAt] = None updated_at: Optional[DashboardInstanceProviderDeploymentsConfigsListQueryUpdatedAt] = None @@ -231,6 +235,10 @@ def from_dict(data: Dict[str, Any]) -> DashboardInstanceProviderDeploymentsConfi provider_specification_id=data.get('provider_specification_id'), provider_deployment_id=data.get('provider_deployment_id'), provider_config_vault_id=data.get('provider_config_vault_id'), + actor_id=data.get('actor_id'), + consumer_id=data.get('consumer_id'), + identity_id=data.get('identity_id'), + identity_credential_id=data.get('identity_credential_id'), search=data.get('search'), created_at=mapDashboardInstanceProviderDeploymentsConfigsListQueryCreatedAt.from_dict(data.get('created_at')) if data.get('created_at') else None, updated_at=mapDashboardInstanceProviderDeploymentsConfigsListQueryUpdatedAt.from_dict(data.get('updated_at')) if data.get('updated_at') else None diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/provider_deployments/list.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/provider_deployments/list.py index e30a63cb..b93d2586 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/provider_deployments/list.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/provider_deployments/list.py @@ -176,6 +176,10 @@ class DashboardInstanceProviderDeploymentsListQuery: id: Optional[Union[str, List[str]]] = None provider_id: Optional[Union[str, List[str]]] = None provider_version_id: Optional[Union[str, List[str]]] = None + actor_id: Optional[Union[str, List[str]]] = None + consumer_id: Optional[Union[str, List[str]]] = None + identity_id: Optional[Union[str, List[str]]] = None + identity_credential_id: Optional[Union[str, List[str]]] = None status: Optional[Union[str, List[str]]] = None search: Optional[str] = None created_at: Optional[DashboardInstanceProviderDeploymentsListQueryCreatedAt] = None @@ -194,6 +198,10 @@ def from_dict(data: Dict[str, Any]) -> DashboardInstanceProviderDeploymentsListQ id=data.get('id'), provider_id=data.get('provider_id'), provider_version_id=data.get('provider_version_id'), + actor_id=data.get('actor_id'), + consumer_id=data.get('consumer_id'), + identity_id=data.get('identity_id'), + identity_credential_id=data.get('identity_credential_id'), status=data.get('status'), search=data.get('search'), created_at=mapDashboardInstanceProviderDeploymentsListQueryCreatedAt.from_dict(data.get('created_at')) if data.get('created_at') else None, diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/provider_deployments/setup_sessions/create.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/provider_deployments/setup_sessions/create.py index ea266b7e..2c1ee2c2 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/provider_deployments/setup_sessions/create.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/provider_deployments/setup_sessions/create.py @@ -195,6 +195,8 @@ class DashboardInstanceProviderDeploymentsSetupSessionsCreateOutput: metadata: Optional[Dict[str, Any]] = None configuration: Optional[Dict[str, Any]] = None provider_id: Optional[str] = None + identity_id: Optional[str] = None + identity_credential_id: Optional[str] = None auth_method: Optional[DashboardInstanceProviderDeploymentsSetupSessionsCreateOutputAuthMethod] = None deployment: Optional[DashboardInstanceProviderDeploymentsSetupSessionsCreateOutputDeployment] = None credentials: Optional[DashboardInstanceProviderDeploymentsSetupSessionsCreateOutputCredentials] = None @@ -597,6 +599,8 @@ def from_dict(data: Dict[str, Any]) -> DashboardInstanceProviderDeploymentsSetup metadata=data.get('metadata'), configuration=data.get('configuration'), provider_id=data.get('provider_id'), + identity_id=data.get('identity_id'), + identity_credential_id=data.get('identity_credential_id'), auth_method=mapDashboardInstanceProviderDeploymentsSetupSessionsCreateOutputAuthMethod.from_dict(data.get('auth_method')) if data.get('auth_method') else None, deployment=mapDashboardInstanceProviderDeploymentsSetupSessionsCreateOutputDeployment.from_dict(data.get('deployment')) if data.get('deployment') else None, credentials=mapDashboardInstanceProviderDeploymentsSetupSessionsCreateOutputCredentials.from_dict(data.get('credentials')) if data.get('credentials') else None, @@ -652,6 +656,7 @@ class DashboardInstanceProviderDeploymentsSetupSessionsCreateBody: metadata: Optional[Dict[str, Any]] = None provider_auth_method_id: Optional[str] = None provider_auth_credentials_id: Optional[str] = None + identity_id: Optional[str] = None redirect_url: Optional[str] = None configuration: Optional[DashboardInstanceProviderDeploymentsSetupSessionsCreateBodyConfiguration] = None @@ -776,6 +781,7 @@ def from_dict(data: Dict[str, Any]) -> DashboardInstanceProviderDeploymentsSetup metadata=data.get('metadata'), provider_auth_method_id=data.get('provider_auth_method_id'), provider_auth_credentials_id=data.get('provider_auth_credentials_id'), + identity_id=data.get('identity_id'), redirect_url=data.get('redirect_url'), configuration=mapDashboardInstanceProviderDeploymentsSetupSessionsCreateBodyConfiguration.from_dict(data.get('configuration')) if data.get('configuration') else None ) diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/provider_deployments/setup_sessions/delete.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/provider_deployments/setup_sessions/delete.py index cda90a95..5c119d8b 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/provider_deployments/setup_sessions/delete.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/provider_deployments/setup_sessions/delete.py @@ -195,6 +195,8 @@ class DashboardInstanceProviderDeploymentsSetupSessionsDeleteOutput: metadata: Optional[Dict[str, Any]] = None configuration: Optional[Dict[str, Any]] = None provider_id: Optional[str] = None + identity_id: Optional[str] = None + identity_credential_id: Optional[str] = None auth_method: Optional[DashboardInstanceProviderDeploymentsSetupSessionsDeleteOutputAuthMethod] = None deployment: Optional[DashboardInstanceProviderDeploymentsSetupSessionsDeleteOutputDeployment] = None credentials: Optional[DashboardInstanceProviderDeploymentsSetupSessionsDeleteOutputCredentials] = None @@ -597,6 +599,8 @@ def from_dict(data: Dict[str, Any]) -> DashboardInstanceProviderDeploymentsSetup metadata=data.get('metadata'), configuration=data.get('configuration'), provider_id=data.get('provider_id'), + identity_id=data.get('identity_id'), + identity_credential_id=data.get('identity_credential_id'), auth_method=mapDashboardInstanceProviderDeploymentsSetupSessionsDeleteOutputAuthMethod.from_dict(data.get('auth_method')) if data.get('auth_method') else None, deployment=mapDashboardInstanceProviderDeploymentsSetupSessionsDeleteOutputDeployment.from_dict(data.get('deployment')) if data.get('deployment') else None, credentials=mapDashboardInstanceProviderDeploymentsSetupSessionsDeleteOutputCredentials.from_dict(data.get('credentials')) if data.get('credentials') else None, diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/provider_deployments/setup_sessions/get.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/provider_deployments/setup_sessions/get.py index 81bd2fe9..e50ef67e 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/provider_deployments/setup_sessions/get.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/provider_deployments/setup_sessions/get.py @@ -195,6 +195,8 @@ class DashboardInstanceProviderDeploymentsSetupSessionsGetOutput: metadata: Optional[Dict[str, Any]] = None configuration: Optional[Dict[str, Any]] = None provider_id: Optional[str] = None + identity_id: Optional[str] = None + identity_credential_id: Optional[str] = None auth_method: Optional[DashboardInstanceProviderDeploymentsSetupSessionsGetOutputAuthMethod] = None deployment: Optional[DashboardInstanceProviderDeploymentsSetupSessionsGetOutputDeployment] = None credentials: Optional[DashboardInstanceProviderDeploymentsSetupSessionsGetOutputCredentials] = None @@ -597,6 +599,8 @@ def from_dict(data: Dict[str, Any]) -> DashboardInstanceProviderDeploymentsSetup metadata=data.get('metadata'), configuration=data.get('configuration'), provider_id=data.get('provider_id'), + identity_id=data.get('identity_id'), + identity_credential_id=data.get('identity_credential_id'), auth_method=mapDashboardInstanceProviderDeploymentsSetupSessionsGetOutputAuthMethod.from_dict(data.get('auth_method')) if data.get('auth_method') else None, deployment=mapDashboardInstanceProviderDeploymentsSetupSessionsGetOutputDeployment.from_dict(data.get('deployment')) if data.get('deployment') else None, credentials=mapDashboardInstanceProviderDeploymentsSetupSessionsGetOutputCredentials.from_dict(data.get('credentials')) if data.get('credentials') else None, diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/provider_deployments/setup_sessions/list.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/provider_deployments/setup_sessions/list.py index 36920044..83d3ae3b 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/provider_deployments/setup_sessions/list.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/provider_deployments/setup_sessions/list.py @@ -195,6 +195,8 @@ class DashboardInstanceProviderDeploymentsSetupSessionsListOutputItems: metadata: Optional[Dict[str, Any]] = None configuration: Optional[Dict[str, Any]] = None provider_id: Optional[str] = None + identity_id: Optional[str] = None + identity_credential_id: Optional[str] = None auth_method: Optional[DashboardInstanceProviderDeploymentsSetupSessionsListOutputItemsAuthMethod] = None deployment: Optional[DashboardInstanceProviderDeploymentsSetupSessionsListOutputItemsDeployment] = None credentials: Optional[DashboardInstanceProviderDeploymentsSetupSessionsListOutputItemsCredentials] = None @@ -605,6 +607,8 @@ def from_dict(data: Dict[str, Any]) -> DashboardInstanceProviderDeploymentsSetup metadata=data.get('metadata'), configuration=data.get('configuration'), provider_id=data.get('provider_id'), + identity_id=data.get('identity_id'), + identity_credential_id=data.get('identity_credential_id'), auth_method=mapDashboardInstanceProviderDeploymentsSetupSessionsListOutputItemsAuthMethod.from_dict(data.get('auth_method')) if data.get('auth_method') else None, deployment=mapDashboardInstanceProviderDeploymentsSetupSessionsListOutputItemsDeployment.from_dict(data.get('deployment')) if data.get('deployment') else None, credentials=mapDashboardInstanceProviderDeploymentsSetupSessionsListOutputItemsCredentials.from_dict(data.get('credentials')) if data.get('credentials') else None, diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/provider_deployments/setup_sessions/update.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/provider_deployments/setup_sessions/update.py index f81f694a..9ca8d04c 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/provider_deployments/setup_sessions/update.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/instance/provider_deployments/setup_sessions/update.py @@ -195,6 +195,8 @@ class DashboardInstanceProviderDeploymentsSetupSessionsUpdateOutput: metadata: Optional[Dict[str, Any]] = None configuration: Optional[Dict[str, Any]] = None provider_id: Optional[str] = None + identity_id: Optional[str] = None + identity_credential_id: Optional[str] = None auth_method: Optional[DashboardInstanceProviderDeploymentsSetupSessionsUpdateOutputAuthMethod] = None deployment: Optional[DashboardInstanceProviderDeploymentsSetupSessionsUpdateOutputDeployment] = None credentials: Optional[DashboardInstanceProviderDeploymentsSetupSessionsUpdateOutputCredentials] = None @@ -597,6 +599,8 @@ def from_dict(data: Dict[str, Any]) -> DashboardInstanceProviderDeploymentsSetup metadata=data.get('metadata'), configuration=data.get('configuration'), provider_id=data.get('provider_id'), + identity_id=data.get('identity_id'), + identity_credential_id=data.get('identity_credential_id'), auth_method=mapDashboardInstanceProviderDeploymentsSetupSessionsUpdateOutputAuthMethod.from_dict(data.get('auth_method')) if data.get('auth_method') else None, deployment=mapDashboardInstanceProviderDeploymentsSetupSessionsUpdateOutputDeployment.from_dict(data.get('deployment')) if data.get('deployment') else None, credentials=mapDashboardInstanceProviderDeploymentsSetupSessionsUpdateOutputCredentials.from_dict(data.get('credentials')) if data.get('credentials') else None, @@ -623,6 +627,7 @@ class DashboardInstanceProviderDeploymentsSetupSessionsUpdateBody: name: Optional[str] = None description: Optional[str] = None metadata: Optional[Dict[str, Any]] = None + identity_id: Optional[str] = None class mapDashboardInstanceProviderDeploymentsSetupSessionsUpdateBody: @@ -631,7 +636,8 @@ def from_dict(data: Dict[str, Any]) -> DashboardInstanceProviderDeploymentsSetup return DashboardInstanceProviderDeploymentsSetupSessionsUpdateBody( name=data.get('name'), description=data.get('description'), - metadata=data.get('metadata') + metadata=data.get('metadata'), + identity_id=data.get('identity_id') ) @staticmethod diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/organizations/__init__.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/organizations/__init__.py new file mode 100644 index 00000000..f31495e4 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/organizations/__init__.py @@ -0,0 +1 @@ +from .api_keys import * \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/organizations/api_keys/__init__.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/organizations/api_keys/__init__.py new file mode 100644 index 00000000..2764f766 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/organizations/api_keys/__init__.py @@ -0,0 +1,5 @@ +from .create import * +from .get import * +from .list import * +from .revoke import * +from .update import * \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/api_keys/create.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/organizations/api_keys/create.py similarity index 60% rename from src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/api_keys/create.py rename to src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/organizations/api_keys/create.py index d9b08dbd..5263d356 100644 --- a/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/api_keys/create.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/organizations/api_keys/create.py @@ -4,7 +4,7 @@ import dataclasses @dataclass -class ApiKeysCreateOutputMachineAccessActorTeams: +class DashboardOrganizationsApiKeysCreateOutputMachineAccessActorTeams: id: str name: str slug: str @@ -12,19 +12,19 @@ class ApiKeysCreateOutputMachineAccessActorTeams: created_at: datetime updated_at: datetime @dataclass -class ApiKeysCreateOutputMachineAccessActor: +class DashboardOrganizationsApiKeysCreateOutputMachineAccessActor: object: str id: str type: str organization_id: str name: str image_url: str - teams: List[ApiKeysCreateOutputMachineAccessActorTeams] + teams: List[DashboardOrganizationsApiKeysCreateOutputMachineAccessActorTeams] created_at: datetime updated_at: datetime email: Optional[str] = None @dataclass -class ApiKeysCreateOutputMachineAccessInstanceProject: +class DashboardOrganizationsApiKeysCreateOutputMachineAccessInstanceProject: object: str id: str status: str @@ -34,7 +34,7 @@ class ApiKeysCreateOutputMachineAccessInstanceProject: created_at: datetime updated_at: datetime @dataclass -class ApiKeysCreateOutputMachineAccessInstance: +class DashboardOrganizationsApiKeysCreateOutputMachineAccessInstance: object: str id: str slug: str @@ -43,9 +43,9 @@ class ApiKeysCreateOutputMachineAccessInstance: type: str created_at: datetime updated_at: datetime - project: ApiKeysCreateOutputMachineAccessInstanceProject + project: DashboardOrganizationsApiKeysCreateOutputMachineAccessInstanceProject @dataclass -class ApiKeysCreateOutputMachineAccessOrganization: +class DashboardOrganizationsApiKeysCreateOutputMachineAccessOrganization: object: str id: str type: str @@ -55,7 +55,7 @@ class ApiKeysCreateOutputMachineAccessOrganization: created_at: datetime updated_at: datetime @dataclass -class ApiKeysCreateOutputMachineAccessUser: +class DashboardOrganizationsApiKeysCreateOutputMachineAccessUser: object: str id: str status: str @@ -68,7 +68,7 @@ class ApiKeysCreateOutputMachineAccessUser: created_at: datetime updated_at: datetime @dataclass -class ApiKeysCreateOutputMachineAccess: +class DashboardOrganizationsApiKeysCreateOutputMachineAccess: object: str id: str status: str @@ -78,25 +78,20 @@ class ApiKeysCreateOutputMachineAccess: created_at: datetime updated_at: datetime deleted_at: datetime - actor: Optional[ApiKeysCreateOutputMachineAccessActor] = None - instance: Optional[ApiKeysCreateOutputMachineAccessInstance] = None - organization: Optional[ApiKeysCreateOutputMachineAccessOrganization] = None - user: Optional[ApiKeysCreateOutputMachineAccessUser] = None + actor: Optional[DashboardOrganizationsApiKeysCreateOutputMachineAccessActor] = None + instance: Optional[DashboardOrganizationsApiKeysCreateOutputMachineAccessInstance] = None + organization: Optional[DashboardOrganizationsApiKeysCreateOutputMachineAccessOrganization] = None + user: Optional[DashboardOrganizationsApiKeysCreateOutputMachineAccessUser] = None @dataclass -class ApiKeysCreateOutputRevealInfo: - until: datetime - forever: bool -@dataclass -class ApiKeysCreateOutput: +class DashboardOrganizationsApiKeysCreateOutput: object: str id: str status: str secret_redacted: str - secret_redacted_long: str type: str name: str ip_filters: List[str] - machine_access: ApiKeysCreateOutputMachineAccess + machine_access: DashboardOrganizationsApiKeysCreateOutputMachineAccess created_at: datetime updated_at: datetime secret: Optional[str] = None @@ -104,13 +99,12 @@ class ApiKeysCreateOutput: deleted_at: Optional[datetime] = None last_used_at: Optional[datetime] = None expires_at: Optional[datetime] = None - reveal_info: Optional[ApiKeysCreateOutputRevealInfo] = None -class mapApiKeysCreateOutputMachineAccessActorTeams: +class mapDashboardOrganizationsApiKeysCreateOutputMachineAccessActorTeams: @staticmethod - def from_dict(data: Dict[str, Any]) -> ApiKeysCreateOutputMachineAccessActorTeams: - return ApiKeysCreateOutputMachineAccessActorTeams( + def from_dict(data: Dict[str, Any]) -> DashboardOrganizationsApiKeysCreateOutputMachineAccessActorTeams: + return DashboardOrganizationsApiKeysCreateOutputMachineAccessActorTeams( id=data.get('id'), name=data.get('name'), slug=data.get('slug'), @@ -120,17 +114,17 @@ def from_dict(data: Dict[str, Any]) -> ApiKeysCreateOutputMachineAccessActorTeam ) @staticmethod - def to_dict(value: Union[ApiKeysCreateOutputMachineAccessActorTeams, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + def to_dict(value: Union[DashboardOrganizationsApiKeysCreateOutputMachineAccessActorTeams, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: if value is None: return None if isinstance(value, dict): return value return dataclasses.asdict(value) -class mapApiKeysCreateOutputMachineAccessActor: +class mapDashboardOrganizationsApiKeysCreateOutputMachineAccessActor: @staticmethod - def from_dict(data: Dict[str, Any]) -> ApiKeysCreateOutputMachineAccessActor: - return ApiKeysCreateOutputMachineAccessActor( + def from_dict(data: Dict[str, Any]) -> DashboardOrganizationsApiKeysCreateOutputMachineAccessActor: + return DashboardOrganizationsApiKeysCreateOutputMachineAccessActor( object=data.get('object'), id=data.get('id'), type=data.get('type'), @@ -138,23 +132,23 @@ def from_dict(data: Dict[str, Any]) -> ApiKeysCreateOutputMachineAccessActor: name=data.get('name'), email=data.get('email'), image_url=data.get('image_url'), - teams=[mapApiKeysCreateOutputMachineAccessActorTeams.from_dict(item) for item in data.get('teams', []) if item], + teams=[mapDashboardOrganizationsApiKeysCreateOutputMachineAccessActorTeams.from_dict(item) for item in data.get('teams', []) if item], created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None ) @staticmethod - def to_dict(value: Union[ApiKeysCreateOutputMachineAccessActor, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + def to_dict(value: Union[DashboardOrganizationsApiKeysCreateOutputMachineAccessActor, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: if value is None: return None if isinstance(value, dict): return value return dataclasses.asdict(value) -class mapApiKeysCreateOutputMachineAccessInstanceProject: +class mapDashboardOrganizationsApiKeysCreateOutputMachineAccessInstanceProject: @staticmethod - def from_dict(data: Dict[str, Any]) -> ApiKeysCreateOutputMachineAccessInstanceProject: - return ApiKeysCreateOutputMachineAccessInstanceProject( + def from_dict(data: Dict[str, Any]) -> DashboardOrganizationsApiKeysCreateOutputMachineAccessInstanceProject: + return DashboardOrganizationsApiKeysCreateOutputMachineAccessInstanceProject( object=data.get('object'), id=data.get('id'), status=data.get('status'), @@ -166,17 +160,17 @@ def from_dict(data: Dict[str, Any]) -> ApiKeysCreateOutputMachineAccessInstanceP ) @staticmethod - def to_dict(value: Union[ApiKeysCreateOutputMachineAccessInstanceProject, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + def to_dict(value: Union[DashboardOrganizationsApiKeysCreateOutputMachineAccessInstanceProject, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: if value is None: return None if isinstance(value, dict): return value return dataclasses.asdict(value) -class mapApiKeysCreateOutputMachineAccessInstance: +class mapDashboardOrganizationsApiKeysCreateOutputMachineAccessInstance: @staticmethod - def from_dict(data: Dict[str, Any]) -> ApiKeysCreateOutputMachineAccessInstance: - return ApiKeysCreateOutputMachineAccessInstance( + def from_dict(data: Dict[str, Any]) -> DashboardOrganizationsApiKeysCreateOutputMachineAccessInstance: + return DashboardOrganizationsApiKeysCreateOutputMachineAccessInstance( object=data.get('object'), id=data.get('id'), slug=data.get('slug'), @@ -185,21 +179,21 @@ def from_dict(data: Dict[str, Any]) -> ApiKeysCreateOutputMachineAccessInstance: type=data.get('type'), created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, - project=mapApiKeysCreateOutputMachineAccessInstanceProject.from_dict(data.get('project')) if data.get('project') else None + project=mapDashboardOrganizationsApiKeysCreateOutputMachineAccessInstanceProject.from_dict(data.get('project')) if data.get('project') else None ) @staticmethod - def to_dict(value: Union[ApiKeysCreateOutputMachineAccessInstance, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + def to_dict(value: Union[DashboardOrganizationsApiKeysCreateOutputMachineAccessInstance, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: if value is None: return None if isinstance(value, dict): return value return dataclasses.asdict(value) -class mapApiKeysCreateOutputMachineAccessOrganization: +class mapDashboardOrganizationsApiKeysCreateOutputMachineAccessOrganization: @staticmethod - def from_dict(data: Dict[str, Any]) -> ApiKeysCreateOutputMachineAccessOrganization: - return ApiKeysCreateOutputMachineAccessOrganization( + def from_dict(data: Dict[str, Any]) -> DashboardOrganizationsApiKeysCreateOutputMachineAccessOrganization: + return DashboardOrganizationsApiKeysCreateOutputMachineAccessOrganization( object=data.get('object'), id=data.get('id'), type=data.get('type'), @@ -211,17 +205,17 @@ def from_dict(data: Dict[str, Any]) -> ApiKeysCreateOutputMachineAccessOrganizat ) @staticmethod - def to_dict(value: Union[ApiKeysCreateOutputMachineAccessOrganization, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + def to_dict(value: Union[DashboardOrganizationsApiKeysCreateOutputMachineAccessOrganization, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: if value is None: return None if isinstance(value, dict): return value return dataclasses.asdict(value) -class mapApiKeysCreateOutputMachineAccessUser: +class mapDashboardOrganizationsApiKeysCreateOutputMachineAccessUser: @staticmethod - def from_dict(data: Dict[str, Any]) -> ApiKeysCreateOutputMachineAccessUser: - return ApiKeysCreateOutputMachineAccessUser( + def from_dict(data: Dict[str, Any]) -> DashboardOrganizationsApiKeysCreateOutputMachineAccessUser: + return DashboardOrganizationsApiKeysCreateOutputMachineAccessUser( object=data.get('object'), id=data.get('id'), status=data.get('status'), @@ -236,17 +230,17 @@ def from_dict(data: Dict[str, Any]) -> ApiKeysCreateOutputMachineAccessUser: ) @staticmethod - def to_dict(value: Union[ApiKeysCreateOutputMachineAccessUser, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + def to_dict(value: Union[DashboardOrganizationsApiKeysCreateOutputMachineAccessUser, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: if value is None: return None if isinstance(value, dict): return value return dataclasses.asdict(value) -class mapApiKeysCreateOutputMachineAccess: +class mapDashboardOrganizationsApiKeysCreateOutputMachineAccess: @staticmethod - def from_dict(data: Dict[str, Any]) -> ApiKeysCreateOutputMachineAccess: - return ApiKeysCreateOutputMachineAccess( + def from_dict(data: Dict[str, Any]) -> DashboardOrganizationsApiKeysCreateOutputMachineAccess: + return DashboardOrganizationsApiKeysCreateOutputMachineAccess( object=data.get('object'), id=data.get('id'), status=data.get('status'), @@ -256,61 +250,43 @@ def from_dict(data: Dict[str, Any]) -> ApiKeysCreateOutputMachineAccess: created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, deleted_at=datetime.fromisoformat(data.get('deleted_at').replace('Z', '+00:00')) if data.get('deleted_at') else None, - actor=mapApiKeysCreateOutputMachineAccessActor.from_dict(data.get('actor')) if data.get('actor') else None, - instance=mapApiKeysCreateOutputMachineAccessInstance.from_dict(data.get('instance')) if data.get('instance') else None, - organization=mapApiKeysCreateOutputMachineAccessOrganization.from_dict(data.get('organization')) if data.get('organization') else None, - user=mapApiKeysCreateOutputMachineAccessUser.from_dict(data.get('user')) if data.get('user') else None + actor=mapDashboardOrganizationsApiKeysCreateOutputMachineAccessActor.from_dict(data.get('actor')) if data.get('actor') else None, + instance=mapDashboardOrganizationsApiKeysCreateOutputMachineAccessInstance.from_dict(data.get('instance')) if data.get('instance') else None, + organization=mapDashboardOrganizationsApiKeysCreateOutputMachineAccessOrganization.from_dict(data.get('organization')) if data.get('organization') else None, + user=mapDashboardOrganizationsApiKeysCreateOutputMachineAccessUser.from_dict(data.get('user')) if data.get('user') else None ) @staticmethod - def to_dict(value: Union[ApiKeysCreateOutputMachineAccess, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + def to_dict(value: Union[DashboardOrganizationsApiKeysCreateOutputMachineAccess, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: if value is None: return None if isinstance(value, dict): return value return dataclasses.asdict(value) -class mapApiKeysCreateOutputRevealInfo: - @staticmethod - def from_dict(data: Dict[str, Any]) -> ApiKeysCreateOutputRevealInfo: - return ApiKeysCreateOutputRevealInfo( - until=datetime.fromisoformat(data.get('until').replace('Z', '+00:00')) if data.get('until') else None, - forever=data.get('forever') - ) - +class mapDashboardOrganizationsApiKeysCreateOutput: @staticmethod - def to_dict(value: Union[ApiKeysCreateOutputRevealInfo, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: - if value is None: - return None - if isinstance(value, dict): - return value - return dataclasses.asdict(value) - -class mapApiKeysCreateOutput: - @staticmethod - def from_dict(data: Dict[str, Any]) -> ApiKeysCreateOutput: - return ApiKeysCreateOutput( + def from_dict(data: Dict[str, Any]) -> DashboardOrganizationsApiKeysCreateOutput: + return DashboardOrganizationsApiKeysCreateOutput( object=data.get('object'), id=data.get('id'), status=data.get('status'), secret_redacted=data.get('secret_redacted'), - secret_redacted_long=data.get('secret_redacted_long'), secret=data.get('secret'), type=data.get('type'), name=data.get('name'), description=data.get('description'), ip_filters=data.get('ip_filters', []), - machine_access=mapApiKeysCreateOutputMachineAccess.from_dict(data.get('machine_access')) if data.get('machine_access') else None, + machine_access=mapDashboardOrganizationsApiKeysCreateOutputMachineAccess.from_dict(data.get('machine_access')) if data.get('machine_access') else None, deleted_at=datetime.fromisoformat(data.get('deleted_at').replace('Z', '+00:00')) if data.get('deleted_at') else None, last_used_at=datetime.fromisoformat(data.get('last_used_at').replace('Z', '+00:00')) if data.get('last_used_at') else None, expires_at=datetime.fromisoformat(data.get('expires_at').replace('Z', '+00:00')) if data.get('expires_at') else None, created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, - updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, - reveal_info=mapApiKeysCreateOutputRevealInfo.from_dict(data.get('reveal_info')) if data.get('reveal_info') else None + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None ) @staticmethod - def to_dict(value: Union[ApiKeysCreateOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + def to_dict(value: Union[DashboardOrganizationsApiKeysCreateOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: if value is None: return None if isinstance(value, dict): @@ -319,7 +295,7 @@ def to_dict(value: Union[ApiKeysCreateOutput, Dict[str, Any], None]) -> Optional return dataclasses.asdict(value) @dataclass -class ApiKeysCreateBody: +class DashboardOrganizationsApiKeysCreateBody: name: str type: Optional[str] = None instance_id: Optional[str] = None @@ -328,10 +304,10 @@ class ApiKeysCreateBody: ip_filters: Optional[List[str]] = None -class mapApiKeysCreateBody: +class mapDashboardOrganizationsApiKeysCreateBody: @staticmethod - def from_dict(data: Dict[str, Any]) -> ApiKeysCreateBody: - return ApiKeysCreateBody( + def from_dict(data: Dict[str, Any]) -> DashboardOrganizationsApiKeysCreateBody: + return DashboardOrganizationsApiKeysCreateBody( type=data.get('type'), instance_id=data.get('instance_id'), name=data.get('name'), @@ -341,7 +317,7 @@ def from_dict(data: Dict[str, Any]) -> ApiKeysCreateBody: ) @staticmethod - def to_dict(value: Union[ApiKeysCreateBody, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + def to_dict(value: Union[DashboardOrganizationsApiKeysCreateBody, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: if value is None: return None if isinstance(value, dict): diff --git a/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/api_keys/get.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/organizations/api_keys/get.py similarity index 59% rename from src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/api_keys/get.py rename to src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/organizations/api_keys/get.py index 0783e91a..e4808698 100644 --- a/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/api_keys/get.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/organizations/api_keys/get.py @@ -4,7 +4,7 @@ import dataclasses @dataclass -class ApiKeysGetOutputMachineAccessActorTeams: +class DashboardOrganizationsApiKeysGetOutputMachineAccessActorTeams: id: str name: str slug: str @@ -12,19 +12,19 @@ class ApiKeysGetOutputMachineAccessActorTeams: created_at: datetime updated_at: datetime @dataclass -class ApiKeysGetOutputMachineAccessActor: +class DashboardOrganizationsApiKeysGetOutputMachineAccessActor: object: str id: str type: str organization_id: str name: str image_url: str - teams: List[ApiKeysGetOutputMachineAccessActorTeams] + teams: List[DashboardOrganizationsApiKeysGetOutputMachineAccessActorTeams] created_at: datetime updated_at: datetime email: Optional[str] = None @dataclass -class ApiKeysGetOutputMachineAccessInstanceProject: +class DashboardOrganizationsApiKeysGetOutputMachineAccessInstanceProject: object: str id: str status: str @@ -34,7 +34,7 @@ class ApiKeysGetOutputMachineAccessInstanceProject: created_at: datetime updated_at: datetime @dataclass -class ApiKeysGetOutputMachineAccessInstance: +class DashboardOrganizationsApiKeysGetOutputMachineAccessInstance: object: str id: str slug: str @@ -43,9 +43,9 @@ class ApiKeysGetOutputMachineAccessInstance: type: str created_at: datetime updated_at: datetime - project: ApiKeysGetOutputMachineAccessInstanceProject + project: DashboardOrganizationsApiKeysGetOutputMachineAccessInstanceProject @dataclass -class ApiKeysGetOutputMachineAccessOrganization: +class DashboardOrganizationsApiKeysGetOutputMachineAccessOrganization: object: str id: str type: str @@ -55,7 +55,7 @@ class ApiKeysGetOutputMachineAccessOrganization: created_at: datetime updated_at: datetime @dataclass -class ApiKeysGetOutputMachineAccessUser: +class DashboardOrganizationsApiKeysGetOutputMachineAccessUser: object: str id: str status: str @@ -68,7 +68,7 @@ class ApiKeysGetOutputMachineAccessUser: created_at: datetime updated_at: datetime @dataclass -class ApiKeysGetOutputMachineAccess: +class DashboardOrganizationsApiKeysGetOutputMachineAccess: object: str id: str status: str @@ -78,25 +78,20 @@ class ApiKeysGetOutputMachineAccess: created_at: datetime updated_at: datetime deleted_at: datetime - actor: Optional[ApiKeysGetOutputMachineAccessActor] = None - instance: Optional[ApiKeysGetOutputMachineAccessInstance] = None - organization: Optional[ApiKeysGetOutputMachineAccessOrganization] = None - user: Optional[ApiKeysGetOutputMachineAccessUser] = None + actor: Optional[DashboardOrganizationsApiKeysGetOutputMachineAccessActor] = None + instance: Optional[DashboardOrganizationsApiKeysGetOutputMachineAccessInstance] = None + organization: Optional[DashboardOrganizationsApiKeysGetOutputMachineAccessOrganization] = None + user: Optional[DashboardOrganizationsApiKeysGetOutputMachineAccessUser] = None @dataclass -class ApiKeysGetOutputRevealInfo: - until: datetime - forever: bool -@dataclass -class ApiKeysGetOutput: +class DashboardOrganizationsApiKeysGetOutput: object: str id: str status: str secret_redacted: str - secret_redacted_long: str type: str name: str ip_filters: List[str] - machine_access: ApiKeysGetOutputMachineAccess + machine_access: DashboardOrganizationsApiKeysGetOutputMachineAccess created_at: datetime updated_at: datetime secret: Optional[str] = None @@ -104,13 +99,12 @@ class ApiKeysGetOutput: deleted_at: Optional[datetime] = None last_used_at: Optional[datetime] = None expires_at: Optional[datetime] = None - reveal_info: Optional[ApiKeysGetOutputRevealInfo] = None -class mapApiKeysGetOutputMachineAccessActorTeams: +class mapDashboardOrganizationsApiKeysGetOutputMachineAccessActorTeams: @staticmethod - def from_dict(data: Dict[str, Any]) -> ApiKeysGetOutputMachineAccessActorTeams: - return ApiKeysGetOutputMachineAccessActorTeams( + def from_dict(data: Dict[str, Any]) -> DashboardOrganizationsApiKeysGetOutputMachineAccessActorTeams: + return DashboardOrganizationsApiKeysGetOutputMachineAccessActorTeams( id=data.get('id'), name=data.get('name'), slug=data.get('slug'), @@ -120,17 +114,17 @@ def from_dict(data: Dict[str, Any]) -> ApiKeysGetOutputMachineAccessActorTeams: ) @staticmethod - def to_dict(value: Union[ApiKeysGetOutputMachineAccessActorTeams, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + def to_dict(value: Union[DashboardOrganizationsApiKeysGetOutputMachineAccessActorTeams, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: if value is None: return None if isinstance(value, dict): return value return dataclasses.asdict(value) -class mapApiKeysGetOutputMachineAccessActor: +class mapDashboardOrganizationsApiKeysGetOutputMachineAccessActor: @staticmethod - def from_dict(data: Dict[str, Any]) -> ApiKeysGetOutputMachineAccessActor: - return ApiKeysGetOutputMachineAccessActor( + def from_dict(data: Dict[str, Any]) -> DashboardOrganizationsApiKeysGetOutputMachineAccessActor: + return DashboardOrganizationsApiKeysGetOutputMachineAccessActor( object=data.get('object'), id=data.get('id'), type=data.get('type'), @@ -138,23 +132,23 @@ def from_dict(data: Dict[str, Any]) -> ApiKeysGetOutputMachineAccessActor: name=data.get('name'), email=data.get('email'), image_url=data.get('image_url'), - teams=[mapApiKeysGetOutputMachineAccessActorTeams.from_dict(item) for item in data.get('teams', []) if item], + teams=[mapDashboardOrganizationsApiKeysGetOutputMachineAccessActorTeams.from_dict(item) for item in data.get('teams', []) if item], created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None ) @staticmethod - def to_dict(value: Union[ApiKeysGetOutputMachineAccessActor, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + def to_dict(value: Union[DashboardOrganizationsApiKeysGetOutputMachineAccessActor, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: if value is None: return None if isinstance(value, dict): return value return dataclasses.asdict(value) -class mapApiKeysGetOutputMachineAccessInstanceProject: +class mapDashboardOrganizationsApiKeysGetOutputMachineAccessInstanceProject: @staticmethod - def from_dict(data: Dict[str, Any]) -> ApiKeysGetOutputMachineAccessInstanceProject: - return ApiKeysGetOutputMachineAccessInstanceProject( + def from_dict(data: Dict[str, Any]) -> DashboardOrganizationsApiKeysGetOutputMachineAccessInstanceProject: + return DashboardOrganizationsApiKeysGetOutputMachineAccessInstanceProject( object=data.get('object'), id=data.get('id'), status=data.get('status'), @@ -166,17 +160,17 @@ def from_dict(data: Dict[str, Any]) -> ApiKeysGetOutputMachineAccessInstanceProj ) @staticmethod - def to_dict(value: Union[ApiKeysGetOutputMachineAccessInstanceProject, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + def to_dict(value: Union[DashboardOrganizationsApiKeysGetOutputMachineAccessInstanceProject, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: if value is None: return None if isinstance(value, dict): return value return dataclasses.asdict(value) -class mapApiKeysGetOutputMachineAccessInstance: +class mapDashboardOrganizationsApiKeysGetOutputMachineAccessInstance: @staticmethod - def from_dict(data: Dict[str, Any]) -> ApiKeysGetOutputMachineAccessInstance: - return ApiKeysGetOutputMachineAccessInstance( + def from_dict(data: Dict[str, Any]) -> DashboardOrganizationsApiKeysGetOutputMachineAccessInstance: + return DashboardOrganizationsApiKeysGetOutputMachineAccessInstance( object=data.get('object'), id=data.get('id'), slug=data.get('slug'), @@ -185,21 +179,21 @@ def from_dict(data: Dict[str, Any]) -> ApiKeysGetOutputMachineAccessInstance: type=data.get('type'), created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, - project=mapApiKeysGetOutputMachineAccessInstanceProject.from_dict(data.get('project')) if data.get('project') else None + project=mapDashboardOrganizationsApiKeysGetOutputMachineAccessInstanceProject.from_dict(data.get('project')) if data.get('project') else None ) @staticmethod - def to_dict(value: Union[ApiKeysGetOutputMachineAccessInstance, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + def to_dict(value: Union[DashboardOrganizationsApiKeysGetOutputMachineAccessInstance, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: if value is None: return None if isinstance(value, dict): return value return dataclasses.asdict(value) -class mapApiKeysGetOutputMachineAccessOrganization: +class mapDashboardOrganizationsApiKeysGetOutputMachineAccessOrganization: @staticmethod - def from_dict(data: Dict[str, Any]) -> ApiKeysGetOutputMachineAccessOrganization: - return ApiKeysGetOutputMachineAccessOrganization( + def from_dict(data: Dict[str, Any]) -> DashboardOrganizationsApiKeysGetOutputMachineAccessOrganization: + return DashboardOrganizationsApiKeysGetOutputMachineAccessOrganization( object=data.get('object'), id=data.get('id'), type=data.get('type'), @@ -211,17 +205,17 @@ def from_dict(data: Dict[str, Any]) -> ApiKeysGetOutputMachineAccessOrganization ) @staticmethod - def to_dict(value: Union[ApiKeysGetOutputMachineAccessOrganization, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + def to_dict(value: Union[DashboardOrganizationsApiKeysGetOutputMachineAccessOrganization, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: if value is None: return None if isinstance(value, dict): return value return dataclasses.asdict(value) -class mapApiKeysGetOutputMachineAccessUser: +class mapDashboardOrganizationsApiKeysGetOutputMachineAccessUser: @staticmethod - def from_dict(data: Dict[str, Any]) -> ApiKeysGetOutputMachineAccessUser: - return ApiKeysGetOutputMachineAccessUser( + def from_dict(data: Dict[str, Any]) -> DashboardOrganizationsApiKeysGetOutputMachineAccessUser: + return DashboardOrganizationsApiKeysGetOutputMachineAccessUser( object=data.get('object'), id=data.get('id'), status=data.get('status'), @@ -236,17 +230,17 @@ def from_dict(data: Dict[str, Any]) -> ApiKeysGetOutputMachineAccessUser: ) @staticmethod - def to_dict(value: Union[ApiKeysGetOutputMachineAccessUser, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + def to_dict(value: Union[DashboardOrganizationsApiKeysGetOutputMachineAccessUser, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: if value is None: return None if isinstance(value, dict): return value return dataclasses.asdict(value) -class mapApiKeysGetOutputMachineAccess: +class mapDashboardOrganizationsApiKeysGetOutputMachineAccess: @staticmethod - def from_dict(data: Dict[str, Any]) -> ApiKeysGetOutputMachineAccess: - return ApiKeysGetOutputMachineAccess( + def from_dict(data: Dict[str, Any]) -> DashboardOrganizationsApiKeysGetOutputMachineAccess: + return DashboardOrganizationsApiKeysGetOutputMachineAccess( object=data.get('object'), id=data.get('id'), status=data.get('status'), @@ -256,61 +250,43 @@ def from_dict(data: Dict[str, Any]) -> ApiKeysGetOutputMachineAccess: created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, deleted_at=datetime.fromisoformat(data.get('deleted_at').replace('Z', '+00:00')) if data.get('deleted_at') else None, - actor=mapApiKeysGetOutputMachineAccessActor.from_dict(data.get('actor')) if data.get('actor') else None, - instance=mapApiKeysGetOutputMachineAccessInstance.from_dict(data.get('instance')) if data.get('instance') else None, - organization=mapApiKeysGetOutputMachineAccessOrganization.from_dict(data.get('organization')) if data.get('organization') else None, - user=mapApiKeysGetOutputMachineAccessUser.from_dict(data.get('user')) if data.get('user') else None + actor=mapDashboardOrganizationsApiKeysGetOutputMachineAccessActor.from_dict(data.get('actor')) if data.get('actor') else None, + instance=mapDashboardOrganizationsApiKeysGetOutputMachineAccessInstance.from_dict(data.get('instance')) if data.get('instance') else None, + organization=mapDashboardOrganizationsApiKeysGetOutputMachineAccessOrganization.from_dict(data.get('organization')) if data.get('organization') else None, + user=mapDashboardOrganizationsApiKeysGetOutputMachineAccessUser.from_dict(data.get('user')) if data.get('user') else None ) @staticmethod - def to_dict(value: Union[ApiKeysGetOutputMachineAccess, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + def to_dict(value: Union[DashboardOrganizationsApiKeysGetOutputMachineAccess, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: if value is None: return None if isinstance(value, dict): return value return dataclasses.asdict(value) -class mapApiKeysGetOutputRevealInfo: - @staticmethod - def from_dict(data: Dict[str, Any]) -> ApiKeysGetOutputRevealInfo: - return ApiKeysGetOutputRevealInfo( - until=datetime.fromisoformat(data.get('until').replace('Z', '+00:00')) if data.get('until') else None, - forever=data.get('forever') - ) - +class mapDashboardOrganizationsApiKeysGetOutput: @staticmethod - def to_dict(value: Union[ApiKeysGetOutputRevealInfo, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: - if value is None: - return None - if isinstance(value, dict): - return value - return dataclasses.asdict(value) - -class mapApiKeysGetOutput: - @staticmethod - def from_dict(data: Dict[str, Any]) -> ApiKeysGetOutput: - return ApiKeysGetOutput( + def from_dict(data: Dict[str, Any]) -> DashboardOrganizationsApiKeysGetOutput: + return DashboardOrganizationsApiKeysGetOutput( object=data.get('object'), id=data.get('id'), status=data.get('status'), secret_redacted=data.get('secret_redacted'), - secret_redacted_long=data.get('secret_redacted_long'), secret=data.get('secret'), type=data.get('type'), name=data.get('name'), description=data.get('description'), ip_filters=data.get('ip_filters', []), - machine_access=mapApiKeysGetOutputMachineAccess.from_dict(data.get('machine_access')) if data.get('machine_access') else None, + machine_access=mapDashboardOrganizationsApiKeysGetOutputMachineAccess.from_dict(data.get('machine_access')) if data.get('machine_access') else None, deleted_at=datetime.fromisoformat(data.get('deleted_at').replace('Z', '+00:00')) if data.get('deleted_at') else None, last_used_at=datetime.fromisoformat(data.get('last_used_at').replace('Z', '+00:00')) if data.get('last_used_at') else None, expires_at=datetime.fromisoformat(data.get('expires_at').replace('Z', '+00:00')) if data.get('expires_at') else None, created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, - updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, - reveal_info=mapApiKeysGetOutputRevealInfo.from_dict(data.get('reveal_info')) if data.get('reveal_info') else None + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None ) @staticmethod - def to_dict(value: Union[ApiKeysGetOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + def to_dict(value: Union[DashboardOrganizationsApiKeysGetOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: if value is None: return None if isinstance(value, dict): diff --git a/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/api_keys/list.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/organizations/api_keys/list.py similarity index 56% rename from src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/api_keys/list.py rename to src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/organizations/api_keys/list.py index 3e010e93..0968f231 100644 --- a/src/metorial/_generated/src/mt_2025_01_01_dashboard/resources/api_keys/list.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/organizations/api_keys/list.py @@ -4,7 +4,7 @@ import dataclasses @dataclass -class ApiKeysListOutputItemsMachineAccessActorTeams: +class DashboardOrganizationsApiKeysListOutputItemsMachineAccessActorTeams: id: str name: str slug: str @@ -12,19 +12,19 @@ class ApiKeysListOutputItemsMachineAccessActorTeams: created_at: datetime updated_at: datetime @dataclass -class ApiKeysListOutputItemsMachineAccessActor: +class DashboardOrganizationsApiKeysListOutputItemsMachineAccessActor: object: str id: str type: str organization_id: str name: str image_url: str - teams: List[ApiKeysListOutputItemsMachineAccessActorTeams] + teams: List[DashboardOrganizationsApiKeysListOutputItemsMachineAccessActorTeams] created_at: datetime updated_at: datetime email: Optional[str] = None @dataclass -class ApiKeysListOutputItemsMachineAccessInstanceProject: +class DashboardOrganizationsApiKeysListOutputItemsMachineAccessInstanceProject: object: str id: str status: str @@ -34,7 +34,7 @@ class ApiKeysListOutputItemsMachineAccessInstanceProject: created_at: datetime updated_at: datetime @dataclass -class ApiKeysListOutputItemsMachineAccessInstance: +class DashboardOrganizationsApiKeysListOutputItemsMachineAccessInstance: object: str id: str slug: str @@ -43,9 +43,9 @@ class ApiKeysListOutputItemsMachineAccessInstance: type: str created_at: datetime updated_at: datetime - project: ApiKeysListOutputItemsMachineAccessInstanceProject + project: DashboardOrganizationsApiKeysListOutputItemsMachineAccessInstanceProject @dataclass -class ApiKeysListOutputItemsMachineAccessOrganization: +class DashboardOrganizationsApiKeysListOutputItemsMachineAccessOrganization: object: str id: str type: str @@ -55,7 +55,7 @@ class ApiKeysListOutputItemsMachineAccessOrganization: created_at: datetime updated_at: datetime @dataclass -class ApiKeysListOutputItemsMachineAccessUser: +class DashboardOrganizationsApiKeysListOutputItemsMachineAccessUser: object: str id: str status: str @@ -68,7 +68,7 @@ class ApiKeysListOutputItemsMachineAccessUser: created_at: datetime updated_at: datetime @dataclass -class ApiKeysListOutputItemsMachineAccess: +class DashboardOrganizationsApiKeysListOutputItemsMachineAccess: object: str id: str status: str @@ -78,25 +78,20 @@ class ApiKeysListOutputItemsMachineAccess: created_at: datetime updated_at: datetime deleted_at: datetime - actor: Optional[ApiKeysListOutputItemsMachineAccessActor] = None - instance: Optional[ApiKeysListOutputItemsMachineAccessInstance] = None - organization: Optional[ApiKeysListOutputItemsMachineAccessOrganization] = None - user: Optional[ApiKeysListOutputItemsMachineAccessUser] = None + actor: Optional[DashboardOrganizationsApiKeysListOutputItemsMachineAccessActor] = None + instance: Optional[DashboardOrganizationsApiKeysListOutputItemsMachineAccessInstance] = None + organization: Optional[DashboardOrganizationsApiKeysListOutputItemsMachineAccessOrganization] = None + user: Optional[DashboardOrganizationsApiKeysListOutputItemsMachineAccessUser] = None @dataclass -class ApiKeysListOutputItemsRevealInfo: - until: datetime - forever: bool -@dataclass -class ApiKeysListOutputItems: +class DashboardOrganizationsApiKeysListOutputItems: object: str id: str status: str secret_redacted: str - secret_redacted_long: str type: str name: str ip_filters: List[str] - machine_access: ApiKeysListOutputItemsMachineAccess + machine_access: DashboardOrganizationsApiKeysListOutputItemsMachineAccess created_at: datetime updated_at: datetime secret: Optional[str] = None @@ -104,21 +99,20 @@ class ApiKeysListOutputItems: deleted_at: Optional[datetime] = None last_used_at: Optional[datetime] = None expires_at: Optional[datetime] = None - reveal_info: Optional[ApiKeysListOutputItemsRevealInfo] = None @dataclass -class ApiKeysListOutputPagination: +class DashboardOrganizationsApiKeysListOutputPagination: has_more_before: bool has_more_after: bool @dataclass -class ApiKeysListOutput: - items: List[ApiKeysListOutputItems] - pagination: ApiKeysListOutputPagination +class DashboardOrganizationsApiKeysListOutput: + items: List[DashboardOrganizationsApiKeysListOutputItems] + pagination: DashboardOrganizationsApiKeysListOutputPagination -class mapApiKeysListOutputItemsMachineAccessActorTeams: +class mapDashboardOrganizationsApiKeysListOutputItemsMachineAccessActorTeams: @staticmethod - def from_dict(data: Dict[str, Any]) -> ApiKeysListOutputItemsMachineAccessActorTeams: - return ApiKeysListOutputItemsMachineAccessActorTeams( + def from_dict(data: Dict[str, Any]) -> DashboardOrganizationsApiKeysListOutputItemsMachineAccessActorTeams: + return DashboardOrganizationsApiKeysListOutputItemsMachineAccessActorTeams( id=data.get('id'), name=data.get('name'), slug=data.get('slug'), @@ -128,17 +122,17 @@ def from_dict(data: Dict[str, Any]) -> ApiKeysListOutputItemsMachineAccessActorT ) @staticmethod - def to_dict(value: Union[ApiKeysListOutputItemsMachineAccessActorTeams, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + def to_dict(value: Union[DashboardOrganizationsApiKeysListOutputItemsMachineAccessActorTeams, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: if value is None: return None if isinstance(value, dict): return value return dataclasses.asdict(value) -class mapApiKeysListOutputItemsMachineAccessActor: +class mapDashboardOrganizationsApiKeysListOutputItemsMachineAccessActor: @staticmethod - def from_dict(data: Dict[str, Any]) -> ApiKeysListOutputItemsMachineAccessActor: - return ApiKeysListOutputItemsMachineAccessActor( + def from_dict(data: Dict[str, Any]) -> DashboardOrganizationsApiKeysListOutputItemsMachineAccessActor: + return DashboardOrganizationsApiKeysListOutputItemsMachineAccessActor( object=data.get('object'), id=data.get('id'), type=data.get('type'), @@ -146,23 +140,23 @@ def from_dict(data: Dict[str, Any]) -> ApiKeysListOutputItemsMachineAccessActor: name=data.get('name'), email=data.get('email'), image_url=data.get('image_url'), - teams=[mapApiKeysListOutputItemsMachineAccessActorTeams.from_dict(item) for item in data.get('teams', []) if item], + teams=[mapDashboardOrganizationsApiKeysListOutputItemsMachineAccessActorTeams.from_dict(item) for item in data.get('teams', []) if item], created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None ) @staticmethod - def to_dict(value: Union[ApiKeysListOutputItemsMachineAccessActor, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + def to_dict(value: Union[DashboardOrganizationsApiKeysListOutputItemsMachineAccessActor, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: if value is None: return None if isinstance(value, dict): return value return dataclasses.asdict(value) -class mapApiKeysListOutputItemsMachineAccessInstanceProject: +class mapDashboardOrganizationsApiKeysListOutputItemsMachineAccessInstanceProject: @staticmethod - def from_dict(data: Dict[str, Any]) -> ApiKeysListOutputItemsMachineAccessInstanceProject: - return ApiKeysListOutputItemsMachineAccessInstanceProject( + def from_dict(data: Dict[str, Any]) -> DashboardOrganizationsApiKeysListOutputItemsMachineAccessInstanceProject: + return DashboardOrganizationsApiKeysListOutputItemsMachineAccessInstanceProject( object=data.get('object'), id=data.get('id'), status=data.get('status'), @@ -174,17 +168,17 @@ def from_dict(data: Dict[str, Any]) -> ApiKeysListOutputItemsMachineAccessInstan ) @staticmethod - def to_dict(value: Union[ApiKeysListOutputItemsMachineAccessInstanceProject, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + def to_dict(value: Union[DashboardOrganizationsApiKeysListOutputItemsMachineAccessInstanceProject, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: if value is None: return None if isinstance(value, dict): return value return dataclasses.asdict(value) -class mapApiKeysListOutputItemsMachineAccessInstance: +class mapDashboardOrganizationsApiKeysListOutputItemsMachineAccessInstance: @staticmethod - def from_dict(data: Dict[str, Any]) -> ApiKeysListOutputItemsMachineAccessInstance: - return ApiKeysListOutputItemsMachineAccessInstance( + def from_dict(data: Dict[str, Any]) -> DashboardOrganizationsApiKeysListOutputItemsMachineAccessInstance: + return DashboardOrganizationsApiKeysListOutputItemsMachineAccessInstance( object=data.get('object'), id=data.get('id'), slug=data.get('slug'), @@ -193,21 +187,21 @@ def from_dict(data: Dict[str, Any]) -> ApiKeysListOutputItemsMachineAccessInstan type=data.get('type'), created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, - project=mapApiKeysListOutputItemsMachineAccessInstanceProject.from_dict(data.get('project')) if data.get('project') else None + project=mapDashboardOrganizationsApiKeysListOutputItemsMachineAccessInstanceProject.from_dict(data.get('project')) if data.get('project') else None ) @staticmethod - def to_dict(value: Union[ApiKeysListOutputItemsMachineAccessInstance, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + def to_dict(value: Union[DashboardOrganizationsApiKeysListOutputItemsMachineAccessInstance, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: if value is None: return None if isinstance(value, dict): return value return dataclasses.asdict(value) -class mapApiKeysListOutputItemsMachineAccessOrganization: +class mapDashboardOrganizationsApiKeysListOutputItemsMachineAccessOrganization: @staticmethod - def from_dict(data: Dict[str, Any]) -> ApiKeysListOutputItemsMachineAccessOrganization: - return ApiKeysListOutputItemsMachineAccessOrganization( + def from_dict(data: Dict[str, Any]) -> DashboardOrganizationsApiKeysListOutputItemsMachineAccessOrganization: + return DashboardOrganizationsApiKeysListOutputItemsMachineAccessOrganization( object=data.get('object'), id=data.get('id'), type=data.get('type'), @@ -219,17 +213,17 @@ def from_dict(data: Dict[str, Any]) -> ApiKeysListOutputItemsMachineAccessOrgani ) @staticmethod - def to_dict(value: Union[ApiKeysListOutputItemsMachineAccessOrganization, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + def to_dict(value: Union[DashboardOrganizationsApiKeysListOutputItemsMachineAccessOrganization, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: if value is None: return None if isinstance(value, dict): return value return dataclasses.asdict(value) -class mapApiKeysListOutputItemsMachineAccessUser: +class mapDashboardOrganizationsApiKeysListOutputItemsMachineAccessUser: @staticmethod - def from_dict(data: Dict[str, Any]) -> ApiKeysListOutputItemsMachineAccessUser: - return ApiKeysListOutputItemsMachineAccessUser( + def from_dict(data: Dict[str, Any]) -> DashboardOrganizationsApiKeysListOutputItemsMachineAccessUser: + return DashboardOrganizationsApiKeysListOutputItemsMachineAccessUser( object=data.get('object'), id=data.get('id'), status=data.get('status'), @@ -244,17 +238,17 @@ def from_dict(data: Dict[str, Any]) -> ApiKeysListOutputItemsMachineAccessUser: ) @staticmethod - def to_dict(value: Union[ApiKeysListOutputItemsMachineAccessUser, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + def to_dict(value: Union[DashboardOrganizationsApiKeysListOutputItemsMachineAccessUser, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: if value is None: return None if isinstance(value, dict): return value return dataclasses.asdict(value) -class mapApiKeysListOutputItemsMachineAccess: +class mapDashboardOrganizationsApiKeysListOutputItemsMachineAccess: @staticmethod - def from_dict(data: Dict[str, Any]) -> ApiKeysListOutputItemsMachineAccess: - return ApiKeysListOutputItemsMachineAccess( + def from_dict(data: Dict[str, Any]) -> DashboardOrganizationsApiKeysListOutputItemsMachineAccess: + return DashboardOrganizationsApiKeysListOutputItemsMachineAccess( object=data.get('object'), id=data.get('id'), status=data.get('status'), @@ -264,93 +258,75 @@ def from_dict(data: Dict[str, Any]) -> ApiKeysListOutputItemsMachineAccess: created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, deleted_at=datetime.fromisoformat(data.get('deleted_at').replace('Z', '+00:00')) if data.get('deleted_at') else None, - actor=mapApiKeysListOutputItemsMachineAccessActor.from_dict(data.get('actor')) if data.get('actor') else None, - instance=mapApiKeysListOutputItemsMachineAccessInstance.from_dict(data.get('instance')) if data.get('instance') else None, - organization=mapApiKeysListOutputItemsMachineAccessOrganization.from_dict(data.get('organization')) if data.get('organization') else None, - user=mapApiKeysListOutputItemsMachineAccessUser.from_dict(data.get('user')) if data.get('user') else None + actor=mapDashboardOrganizationsApiKeysListOutputItemsMachineAccessActor.from_dict(data.get('actor')) if data.get('actor') else None, + instance=mapDashboardOrganizationsApiKeysListOutputItemsMachineAccessInstance.from_dict(data.get('instance')) if data.get('instance') else None, + organization=mapDashboardOrganizationsApiKeysListOutputItemsMachineAccessOrganization.from_dict(data.get('organization')) if data.get('organization') else None, + user=mapDashboardOrganizationsApiKeysListOutputItemsMachineAccessUser.from_dict(data.get('user')) if data.get('user') else None ) @staticmethod - def to_dict(value: Union[ApiKeysListOutputItemsMachineAccess, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + def to_dict(value: Union[DashboardOrganizationsApiKeysListOutputItemsMachineAccess, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: if value is None: return None if isinstance(value, dict): return value return dataclasses.asdict(value) -class mapApiKeysListOutputItemsRevealInfo: - @staticmethod - def from_dict(data: Dict[str, Any]) -> ApiKeysListOutputItemsRevealInfo: - return ApiKeysListOutputItemsRevealInfo( - until=datetime.fromisoformat(data.get('until').replace('Z', '+00:00')) if data.get('until') else None, - forever=data.get('forever') - ) - +class mapDashboardOrganizationsApiKeysListOutputItems: @staticmethod - def to_dict(value: Union[ApiKeysListOutputItemsRevealInfo, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: - if value is None: - return None - if isinstance(value, dict): - return value - return dataclasses.asdict(value) - -class mapApiKeysListOutputItems: - @staticmethod - def from_dict(data: Dict[str, Any]) -> ApiKeysListOutputItems: - return ApiKeysListOutputItems( + def from_dict(data: Dict[str, Any]) -> DashboardOrganizationsApiKeysListOutputItems: + return DashboardOrganizationsApiKeysListOutputItems( object=data.get('object'), id=data.get('id'), status=data.get('status'), secret_redacted=data.get('secret_redacted'), - secret_redacted_long=data.get('secret_redacted_long'), secret=data.get('secret'), type=data.get('type'), name=data.get('name'), description=data.get('description'), ip_filters=data.get('ip_filters', []), - machine_access=mapApiKeysListOutputItemsMachineAccess.from_dict(data.get('machine_access')) if data.get('machine_access') else None, + machine_access=mapDashboardOrganizationsApiKeysListOutputItemsMachineAccess.from_dict(data.get('machine_access')) if data.get('machine_access') else None, deleted_at=datetime.fromisoformat(data.get('deleted_at').replace('Z', '+00:00')) if data.get('deleted_at') else None, last_used_at=datetime.fromisoformat(data.get('last_used_at').replace('Z', '+00:00')) if data.get('last_used_at') else None, expires_at=datetime.fromisoformat(data.get('expires_at').replace('Z', '+00:00')) if data.get('expires_at') else None, created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, - updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, - reveal_info=mapApiKeysListOutputItemsRevealInfo.from_dict(data.get('reveal_info')) if data.get('reveal_info') else None + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None ) @staticmethod - def to_dict(value: Union[ApiKeysListOutputItems, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + def to_dict(value: Union[DashboardOrganizationsApiKeysListOutputItems, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: if value is None: return None if isinstance(value, dict): return value return dataclasses.asdict(value) -class mapApiKeysListOutputPagination: +class mapDashboardOrganizationsApiKeysListOutputPagination: @staticmethod - def from_dict(data: Dict[str, Any]) -> ApiKeysListOutputPagination: - return ApiKeysListOutputPagination( + def from_dict(data: Dict[str, Any]) -> DashboardOrganizationsApiKeysListOutputPagination: + return DashboardOrganizationsApiKeysListOutputPagination( has_more_before=data.get('has_more_before'), has_more_after=data.get('has_more_after') ) @staticmethod - def to_dict(value: Union[ApiKeysListOutputPagination, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + def to_dict(value: Union[DashboardOrganizationsApiKeysListOutputPagination, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: if value is None: return None if isinstance(value, dict): return value return dataclasses.asdict(value) -class mapApiKeysListOutput: +class mapDashboardOrganizationsApiKeysListOutput: @staticmethod - def from_dict(data: Dict[str, Any]) -> ApiKeysListOutput: - return ApiKeysListOutput( - items=[mapApiKeysListOutputItems.from_dict(item) for item in data.get('items', []) if item], - pagination=mapApiKeysListOutputPagination.from_dict(data.get('pagination')) if data.get('pagination') else None + def from_dict(data: Dict[str, Any]) -> DashboardOrganizationsApiKeysListOutput: + return DashboardOrganizationsApiKeysListOutput( + items=[mapDashboardOrganizationsApiKeysListOutputItems.from_dict(item) for item in data.get('items', []) if item], + pagination=mapDashboardOrganizationsApiKeysListOutputPagination.from_dict(data.get('pagination')) if data.get('pagination') else None ) @staticmethod - def to_dict(value: Union[ApiKeysListOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + def to_dict(value: Union[DashboardOrganizationsApiKeysListOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: if value is None: return None if isinstance(value, dict): @@ -359,7 +335,7 @@ def to_dict(value: Union[ApiKeysListOutput, Dict[str, Any], None]) -> Optional[D return dataclasses.asdict(value) @dataclass -class ApiKeysListQuery: +class DashboardOrganizationsApiKeysListQuery: limit: Optional[float] = None after: Optional[str] = None before: Optional[str] = None @@ -369,10 +345,10 @@ class ApiKeysListQuery: instance_id: Optional[str] = None -class mapApiKeysListQuery: +class mapDashboardOrganizationsApiKeysListQuery: @staticmethod - def from_dict(data: Dict[str, Any]) -> ApiKeysListQuery: - return ApiKeysListQuery( + def from_dict(data: Dict[str, Any]) -> DashboardOrganizationsApiKeysListQuery: + return DashboardOrganizationsApiKeysListQuery( limit=data.get('limit'), after=data.get('after'), before=data.get('before'), @@ -383,7 +359,7 @@ def from_dict(data: Dict[str, Any]) -> ApiKeysListQuery: ) @staticmethod - def to_dict(value: Union[ApiKeysListQuery, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + def to_dict(value: Union[DashboardOrganizationsApiKeysListQuery, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: if value is None: return None if isinstance(value, dict): diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/organizations/api_keys/revoke.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/organizations/api_keys/revoke.py new file mode 100644 index 00000000..3f4ea7e8 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/organizations/api_keys/revoke.py @@ -0,0 +1,296 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class DashboardOrganizationsApiKeysRevokeOutputMachineAccessActorTeams: + id: str + name: str + slug: str + assignment_id: str + created_at: datetime + updated_at: datetime +@dataclass +class DashboardOrganizationsApiKeysRevokeOutputMachineAccessActor: + object: str + id: str + type: str + organization_id: str + name: str + image_url: str + teams: List[DashboardOrganizationsApiKeysRevokeOutputMachineAccessActorTeams] + created_at: datetime + updated_at: datetime + email: Optional[str] = None +@dataclass +class DashboardOrganizationsApiKeysRevokeOutputMachineAccessInstanceProject: + object: str + id: str + status: str + slug: str + name: str + organization_id: str + created_at: datetime + updated_at: datetime +@dataclass +class DashboardOrganizationsApiKeysRevokeOutputMachineAccessInstance: + object: str + id: str + slug: str + name: str + organization_id: str + type: str + created_at: datetime + updated_at: datetime + project: DashboardOrganizationsApiKeysRevokeOutputMachineAccessInstanceProject +@dataclass +class DashboardOrganizationsApiKeysRevokeOutputMachineAccessOrganization: + object: str + id: str + type: str + slug: str + name: str + image_url: str + created_at: datetime + updated_at: datetime +@dataclass +class DashboardOrganizationsApiKeysRevokeOutputMachineAccessUser: + object: str + id: str + status: str + type: str + email: str + name: str + first_name: str + last_name: str + image_url: str + created_at: datetime + updated_at: datetime +@dataclass +class DashboardOrganizationsApiKeysRevokeOutputMachineAccess: + object: str + id: str + status: str + type: str + name: str + last_used_at: datetime + created_at: datetime + updated_at: datetime + deleted_at: datetime + actor: Optional[DashboardOrganizationsApiKeysRevokeOutputMachineAccessActor] = None + instance: Optional[DashboardOrganizationsApiKeysRevokeOutputMachineAccessInstance] = None + organization: Optional[DashboardOrganizationsApiKeysRevokeOutputMachineAccessOrganization] = None + user: Optional[DashboardOrganizationsApiKeysRevokeOutputMachineAccessUser] = None +@dataclass +class DashboardOrganizationsApiKeysRevokeOutput: + object: str + id: str + status: str + secret_redacted: str + type: str + name: str + ip_filters: List[str] + machine_access: DashboardOrganizationsApiKeysRevokeOutputMachineAccess + created_at: datetime + updated_at: datetime + secret: Optional[str] = None + description: Optional[str] = None + deleted_at: Optional[datetime] = None + last_used_at: Optional[datetime] = None + expires_at: Optional[datetime] = None + + +class mapDashboardOrganizationsApiKeysRevokeOutputMachineAccessActorTeams: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardOrganizationsApiKeysRevokeOutputMachineAccessActorTeams: + return DashboardOrganizationsApiKeysRevokeOutputMachineAccessActorTeams( + id=data.get('id'), + name=data.get('name'), + slug=data.get('slug'), + assignment_id=data.get('assignment_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardOrganizationsApiKeysRevokeOutputMachineAccessActorTeams, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardOrganizationsApiKeysRevokeOutputMachineAccessActor: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardOrganizationsApiKeysRevokeOutputMachineAccessActor: + return DashboardOrganizationsApiKeysRevokeOutputMachineAccessActor( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + organization_id=data.get('organization_id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + teams=[mapDashboardOrganizationsApiKeysRevokeOutputMachineAccessActorTeams.from_dict(item) for item in data.get('teams', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardOrganizationsApiKeysRevokeOutputMachineAccessActor, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardOrganizationsApiKeysRevokeOutputMachineAccessInstanceProject: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardOrganizationsApiKeysRevokeOutputMachineAccessInstanceProject: + return DashboardOrganizationsApiKeysRevokeOutputMachineAccessInstanceProject( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + slug=data.get('slug'), + name=data.get('name'), + organization_id=data.get('organization_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardOrganizationsApiKeysRevokeOutputMachineAccessInstanceProject, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardOrganizationsApiKeysRevokeOutputMachineAccessInstance: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardOrganizationsApiKeysRevokeOutputMachineAccessInstance: + return DashboardOrganizationsApiKeysRevokeOutputMachineAccessInstance( + object=data.get('object'), + id=data.get('id'), + slug=data.get('slug'), + name=data.get('name'), + organization_id=data.get('organization_id'), + type=data.get('type'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + project=mapDashboardOrganizationsApiKeysRevokeOutputMachineAccessInstanceProject.from_dict(data.get('project')) if data.get('project') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardOrganizationsApiKeysRevokeOutputMachineAccessInstance, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardOrganizationsApiKeysRevokeOutputMachineAccessOrganization: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardOrganizationsApiKeysRevokeOutputMachineAccessOrganization: + return DashboardOrganizationsApiKeysRevokeOutputMachineAccessOrganization( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + slug=data.get('slug'), + name=data.get('name'), + image_url=data.get('image_url'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardOrganizationsApiKeysRevokeOutputMachineAccessOrganization, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardOrganizationsApiKeysRevokeOutputMachineAccessUser: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardOrganizationsApiKeysRevokeOutputMachineAccessUser: + return DashboardOrganizationsApiKeysRevokeOutputMachineAccessUser( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + type=data.get('type'), + email=data.get('email'), + name=data.get('name'), + first_name=data.get('first_name'), + last_name=data.get('last_name'), + image_url=data.get('image_url'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardOrganizationsApiKeysRevokeOutputMachineAccessUser, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardOrganizationsApiKeysRevokeOutputMachineAccess: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardOrganizationsApiKeysRevokeOutputMachineAccess: + return DashboardOrganizationsApiKeysRevokeOutputMachineAccess( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + type=data.get('type'), + name=data.get('name'), + last_used_at=datetime.fromisoformat(data.get('last_used_at').replace('Z', '+00:00')) if data.get('last_used_at') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + deleted_at=datetime.fromisoformat(data.get('deleted_at').replace('Z', '+00:00')) if data.get('deleted_at') else None, + actor=mapDashboardOrganizationsApiKeysRevokeOutputMachineAccessActor.from_dict(data.get('actor')) if data.get('actor') else None, + instance=mapDashboardOrganizationsApiKeysRevokeOutputMachineAccessInstance.from_dict(data.get('instance')) if data.get('instance') else None, + organization=mapDashboardOrganizationsApiKeysRevokeOutputMachineAccessOrganization.from_dict(data.get('organization')) if data.get('organization') else None, + user=mapDashboardOrganizationsApiKeysRevokeOutputMachineAccessUser.from_dict(data.get('user')) if data.get('user') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardOrganizationsApiKeysRevokeOutputMachineAccess, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardOrganizationsApiKeysRevokeOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardOrganizationsApiKeysRevokeOutput: + return DashboardOrganizationsApiKeysRevokeOutput( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + secret_redacted=data.get('secret_redacted'), + secret=data.get('secret'), + type=data.get('type'), + name=data.get('name'), + description=data.get('description'), + ip_filters=data.get('ip_filters', []), + machine_access=mapDashboardOrganizationsApiKeysRevokeOutputMachineAccess.from_dict(data.get('machine_access')) if data.get('machine_access') else None, + deleted_at=datetime.fromisoformat(data.get('deleted_at').replace('Z', '+00:00')) if data.get('deleted_at') else None, + last_used_at=datetime.fromisoformat(data.get('last_used_at').replace('Z', '+00:00')) if data.get('last_used_at') else None, + expires_at=datetime.fromisoformat(data.get('expires_at').replace('Z', '+00:00')) if data.get('expires_at') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardOrganizationsApiKeysRevokeOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/organizations/api_keys/update.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/organizations/api_keys/update.py new file mode 100644 index 00000000..49057380 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/dashboard/organizations/api_keys/update.py @@ -0,0 +1,323 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class DashboardOrganizationsApiKeysUpdateOutputMachineAccessActorTeams: + id: str + name: str + slug: str + assignment_id: str + created_at: datetime + updated_at: datetime +@dataclass +class DashboardOrganizationsApiKeysUpdateOutputMachineAccessActor: + object: str + id: str + type: str + organization_id: str + name: str + image_url: str + teams: List[DashboardOrganizationsApiKeysUpdateOutputMachineAccessActorTeams] + created_at: datetime + updated_at: datetime + email: Optional[str] = None +@dataclass +class DashboardOrganizationsApiKeysUpdateOutputMachineAccessInstanceProject: + object: str + id: str + status: str + slug: str + name: str + organization_id: str + created_at: datetime + updated_at: datetime +@dataclass +class DashboardOrganizationsApiKeysUpdateOutputMachineAccessInstance: + object: str + id: str + slug: str + name: str + organization_id: str + type: str + created_at: datetime + updated_at: datetime + project: DashboardOrganizationsApiKeysUpdateOutputMachineAccessInstanceProject +@dataclass +class DashboardOrganizationsApiKeysUpdateOutputMachineAccessOrganization: + object: str + id: str + type: str + slug: str + name: str + image_url: str + created_at: datetime + updated_at: datetime +@dataclass +class DashboardOrganizationsApiKeysUpdateOutputMachineAccessUser: + object: str + id: str + status: str + type: str + email: str + name: str + first_name: str + last_name: str + image_url: str + created_at: datetime + updated_at: datetime +@dataclass +class DashboardOrganizationsApiKeysUpdateOutputMachineAccess: + object: str + id: str + status: str + type: str + name: str + last_used_at: datetime + created_at: datetime + updated_at: datetime + deleted_at: datetime + actor: Optional[DashboardOrganizationsApiKeysUpdateOutputMachineAccessActor] = None + instance: Optional[DashboardOrganizationsApiKeysUpdateOutputMachineAccessInstance] = None + organization: Optional[DashboardOrganizationsApiKeysUpdateOutputMachineAccessOrganization] = None + user: Optional[DashboardOrganizationsApiKeysUpdateOutputMachineAccessUser] = None +@dataclass +class DashboardOrganizationsApiKeysUpdateOutput: + object: str + id: str + status: str + secret_redacted: str + type: str + name: str + ip_filters: List[str] + machine_access: DashboardOrganizationsApiKeysUpdateOutputMachineAccess + created_at: datetime + updated_at: datetime + secret: Optional[str] = None + description: Optional[str] = None + deleted_at: Optional[datetime] = None + last_used_at: Optional[datetime] = None + expires_at: Optional[datetime] = None + + +class mapDashboardOrganizationsApiKeysUpdateOutputMachineAccessActorTeams: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardOrganizationsApiKeysUpdateOutputMachineAccessActorTeams: + return DashboardOrganizationsApiKeysUpdateOutputMachineAccessActorTeams( + id=data.get('id'), + name=data.get('name'), + slug=data.get('slug'), + assignment_id=data.get('assignment_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardOrganizationsApiKeysUpdateOutputMachineAccessActorTeams, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardOrganizationsApiKeysUpdateOutputMachineAccessActor: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardOrganizationsApiKeysUpdateOutputMachineAccessActor: + return DashboardOrganizationsApiKeysUpdateOutputMachineAccessActor( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + organization_id=data.get('organization_id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + teams=[mapDashboardOrganizationsApiKeysUpdateOutputMachineAccessActorTeams.from_dict(item) for item in data.get('teams', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardOrganizationsApiKeysUpdateOutputMachineAccessActor, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardOrganizationsApiKeysUpdateOutputMachineAccessInstanceProject: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardOrganizationsApiKeysUpdateOutputMachineAccessInstanceProject: + return DashboardOrganizationsApiKeysUpdateOutputMachineAccessInstanceProject( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + slug=data.get('slug'), + name=data.get('name'), + organization_id=data.get('organization_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardOrganizationsApiKeysUpdateOutputMachineAccessInstanceProject, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardOrganizationsApiKeysUpdateOutputMachineAccessInstance: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardOrganizationsApiKeysUpdateOutputMachineAccessInstance: + return DashboardOrganizationsApiKeysUpdateOutputMachineAccessInstance( + object=data.get('object'), + id=data.get('id'), + slug=data.get('slug'), + name=data.get('name'), + organization_id=data.get('organization_id'), + type=data.get('type'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + project=mapDashboardOrganizationsApiKeysUpdateOutputMachineAccessInstanceProject.from_dict(data.get('project')) if data.get('project') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardOrganizationsApiKeysUpdateOutputMachineAccessInstance, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardOrganizationsApiKeysUpdateOutputMachineAccessOrganization: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardOrganizationsApiKeysUpdateOutputMachineAccessOrganization: + return DashboardOrganizationsApiKeysUpdateOutputMachineAccessOrganization( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + slug=data.get('slug'), + name=data.get('name'), + image_url=data.get('image_url'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardOrganizationsApiKeysUpdateOutputMachineAccessOrganization, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardOrganizationsApiKeysUpdateOutputMachineAccessUser: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardOrganizationsApiKeysUpdateOutputMachineAccessUser: + return DashboardOrganizationsApiKeysUpdateOutputMachineAccessUser( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + type=data.get('type'), + email=data.get('email'), + name=data.get('name'), + first_name=data.get('first_name'), + last_name=data.get('last_name'), + image_url=data.get('image_url'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardOrganizationsApiKeysUpdateOutputMachineAccessUser, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardOrganizationsApiKeysUpdateOutputMachineAccess: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardOrganizationsApiKeysUpdateOutputMachineAccess: + return DashboardOrganizationsApiKeysUpdateOutputMachineAccess( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + type=data.get('type'), + name=data.get('name'), + last_used_at=datetime.fromisoformat(data.get('last_used_at').replace('Z', '+00:00')) if data.get('last_used_at') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + deleted_at=datetime.fromisoformat(data.get('deleted_at').replace('Z', '+00:00')) if data.get('deleted_at') else None, + actor=mapDashboardOrganizationsApiKeysUpdateOutputMachineAccessActor.from_dict(data.get('actor')) if data.get('actor') else None, + instance=mapDashboardOrganizationsApiKeysUpdateOutputMachineAccessInstance.from_dict(data.get('instance')) if data.get('instance') else None, + organization=mapDashboardOrganizationsApiKeysUpdateOutputMachineAccessOrganization.from_dict(data.get('organization')) if data.get('organization') else None, + user=mapDashboardOrganizationsApiKeysUpdateOutputMachineAccessUser.from_dict(data.get('user')) if data.get('user') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardOrganizationsApiKeysUpdateOutputMachineAccess, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapDashboardOrganizationsApiKeysUpdateOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardOrganizationsApiKeysUpdateOutput: + return DashboardOrganizationsApiKeysUpdateOutput( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + secret_redacted=data.get('secret_redacted'), + secret=data.get('secret'), + type=data.get('type'), + name=data.get('name'), + description=data.get('description'), + ip_filters=data.get('ip_filters', []), + machine_access=mapDashboardOrganizationsApiKeysUpdateOutputMachineAccess.from_dict(data.get('machine_access')) if data.get('machine_access') else None, + deleted_at=datetime.fromisoformat(data.get('deleted_at').replace('Z', '+00:00')) if data.get('deleted_at') else None, + last_used_at=datetime.fromisoformat(data.get('last_used_at').replace('Z', '+00:00')) if data.get('last_used_at') else None, + expires_at=datetime.fromisoformat(data.get('expires_at').replace('Z', '+00:00')) if data.get('expires_at') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[DashboardOrganizationsApiKeysUpdateOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class DashboardOrganizationsApiKeysUpdateBody: + name: Optional[str] = None + description: Optional[str] = None + expires_at: Optional[datetime] = None + ip_filters: Optional[List[str]] = None + + +class mapDashboardOrganizationsApiKeysUpdateBody: + @staticmethod + def from_dict(data: Dict[str, Any]) -> DashboardOrganizationsApiKeysUpdateBody: + return DashboardOrganizationsApiKeysUpdateBody( + name=data.get('name'), + description=data.get('description'), + expires_at=datetime.fromisoformat(data.get('expires_at').replace('Z', '+00:00')) if data.get('expires_at') else None, + ip_filters=data.get('ip_filters', []) + ) + + @staticmethod + def to_dict(value: Union[DashboardOrganizationsApiKeysUpdateBody, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/identity_actors/list.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/identity_actors/list.py index c649a77e..2a795377 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/identity_actors/list.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/identity_actors/list.py @@ -101,6 +101,7 @@ class IdentityActorsListQuery: status: Optional[Union[str, List[str]]] = None id: Optional[Union[str, List[str]]] = None agent_id: Optional[Union[str, List[str]]] = None + consumer_id: Optional[Union[str, List[str]]] = None created_at: Optional[IdentityActorsListQueryCreatedAt] = None updated_at: Optional[IdentityActorsListQueryUpdatedAt] = None @@ -118,6 +119,7 @@ def from_dict(data: Dict[str, Any]) -> IdentityActorsListQuery: status=data.get('status'), id=data.get('id'), agent_id=data.get('agent_id'), + consumer_id=data.get('consumer_id'), created_at=mapIdentityActorsListQueryCreatedAt.from_dict(data.get('created_at')) if data.get('created_at') else None, updated_at=mapIdentityActorsListQueryUpdatedAt.from_dict(data.get('updated_at')) if data.get('updated_at') else None ) diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/magic_mcp_servers/create.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/magic_mcp_servers/create.py index 6a0e422f..c146d23e 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/magic_mcp_servers/create.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/magic_mcp_servers/create.py @@ -71,6 +71,7 @@ class MagicMcpServersCreateBody: name: Optional[str] = None description: Optional[str] = None metadata: Optional[Dict[str, Any]] = None + consumer_profile_id: Optional[str] = None class mapMagicMcpServersCreateBody: @@ -79,7 +80,8 @@ def from_dict(data: Dict[str, Any]) -> MagicMcpServersCreateBody: return MagicMcpServersCreateBody( name=data.get('name'), description=data.get('description'), - metadata=data.get('metadata') + metadata=data.get('metadata'), + consumer_profile_id=data.get('consumer_profile_id') ) @staticmethod diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/magic_mcp_servers/list.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/magic_mcp_servers/list.py index 223a150b..6d145e8f 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/magic_mcp_servers/list.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/magic_mcp_servers/list.py @@ -115,6 +115,8 @@ class MagicMcpServersListQuery: order: Optional[str] = None status: Optional[Union[str, List[str]]] = None magic_mcp_group_id: Optional[Union[str, List[str]]] = None + consumer_id: Optional[Union[str, List[str]]] = None + consumer_profile_id: Optional[Union[str, List[str]]] = None search: Optional[str] = None @@ -129,6 +131,8 @@ def from_dict(data: Dict[str, Any]) -> MagicMcpServersListQuery: order=data.get('order'), status=data.get('status'), magic_mcp_group_id=data.get('magic_mcp_group_id'), + consumer_id=data.get('consumer_id'), + consumer_profile_id=data.get('consumer_profile_id'), search=data.get('search') ) diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/__init__.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/__init__.py index 4f7f4eec..892bbea7 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/__init__.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/__init__.py @@ -1 +1,2 @@ -from .instance import * \ No newline at end of file +from .instance import * +from .organization import * \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/__init__.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/__init__.py index 205a7696..5bf2fe09 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/__init__.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/__init__.py @@ -1,4 +1,6 @@ from .callbacks import * +from .consumer_surfaces import * +from .consumers import * from .custom_providers import * from .file_links import * from .files import * diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/consumer_surfaces/__init__.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/consumer_surfaces/__init__.py new file mode 100644 index 00000000..65eb373b --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/consumer_surfaces/__init__.py @@ -0,0 +1,2 @@ +from .get import * +from .list import * \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/consumer_surfaces/get.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/consumer_surfaces/get.py new file mode 100644 index 00000000..ab3d209f --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/consumer_surfaces/get.py @@ -0,0 +1,60 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class ManagementInstanceConsumerSurfacesGetOutputAuth: + object: str + session_expiry_time_in_seconds: float +@dataclass +class ManagementInstanceConsumerSurfacesGetOutput: + object: str + id: str + status: str + name: str + auth: ManagementInstanceConsumerSurfacesGetOutputAuth + created_at: datetime + updated_at: datetime + description: Optional[str] = None + + +class mapManagementInstanceConsumerSurfacesGetOutputAuth: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceConsumerSurfacesGetOutputAuth: + return ManagementInstanceConsumerSurfacesGetOutputAuth( + object=data.get('object'), + session_expiry_time_in_seconds=data.get('session_expiry_time_in_seconds') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceConsumerSurfacesGetOutputAuth, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceConsumerSurfacesGetOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceConsumerSurfacesGetOutput: + return ManagementInstanceConsumerSurfacesGetOutput( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + name=data.get('name'), + description=data.get('description'), + auth=mapManagementInstanceConsumerSurfacesGetOutputAuth.from_dict(data.get('auth')) if data.get('auth') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceConsumerSurfacesGetOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/consumer_surfaces/list.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/consumer_surfaces/list.py new file mode 100644 index 00000000..b514f537 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/consumer_surfaces/list.py @@ -0,0 +1,129 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class ManagementInstanceConsumerSurfacesListOutputItemsAuth: + object: str + session_expiry_time_in_seconds: float +@dataclass +class ManagementInstanceConsumerSurfacesListOutputItems: + object: str + id: str + status: str + name: str + auth: ManagementInstanceConsumerSurfacesListOutputItemsAuth + created_at: datetime + updated_at: datetime + description: Optional[str] = None +@dataclass +class ManagementInstanceConsumerSurfacesListOutputPagination: + has_more_before: bool + has_more_after: bool +@dataclass +class ManagementInstanceConsumerSurfacesListOutput: + items: List[ManagementInstanceConsumerSurfacesListOutputItems] + pagination: ManagementInstanceConsumerSurfacesListOutputPagination + + +class mapManagementInstanceConsumerSurfacesListOutputItemsAuth: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceConsumerSurfacesListOutputItemsAuth: + return ManagementInstanceConsumerSurfacesListOutputItemsAuth( + object=data.get('object'), + session_expiry_time_in_seconds=data.get('session_expiry_time_in_seconds') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceConsumerSurfacesListOutputItemsAuth, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceConsumerSurfacesListOutputItems: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceConsumerSurfacesListOutputItems: + return ManagementInstanceConsumerSurfacesListOutputItems( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + name=data.get('name'), + description=data.get('description'), + auth=mapManagementInstanceConsumerSurfacesListOutputItemsAuth.from_dict(data.get('auth')) if data.get('auth') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceConsumerSurfacesListOutputItems, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceConsumerSurfacesListOutputPagination: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceConsumerSurfacesListOutputPagination: + return ManagementInstanceConsumerSurfacesListOutputPagination( + has_more_before=data.get('has_more_before'), + has_more_after=data.get('has_more_after') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceConsumerSurfacesListOutputPagination, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceConsumerSurfacesListOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceConsumerSurfacesListOutput: + return ManagementInstanceConsumerSurfacesListOutput( + items=[mapManagementInstanceConsumerSurfacesListOutputItems.from_dict(item) for item in data.get('items', []) if item], + pagination=mapManagementInstanceConsumerSurfacesListOutputPagination.from_dict(data.get('pagination')) if data.get('pagination') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceConsumerSurfacesListOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class ManagementInstanceConsumerSurfacesListQuery: + limit: Optional[float] = None + after: Optional[str] = None + before: Optional[str] = None + cursor: Optional[str] = None + order: Optional[str] = None + + +class mapManagementInstanceConsumerSurfacesListQuery: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceConsumerSurfacesListQuery: + return ManagementInstanceConsumerSurfacesListQuery( + limit=data.get('limit'), + after=data.get('after'), + before=data.get('before'), + cursor=data.get('cursor'), + order=data.get('order') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceConsumerSurfacesListQuery, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/consumers/__init__.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/consumers/__init__.py new file mode 100644 index 00000000..16e3415d --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/consumers/__init__.py @@ -0,0 +1,6 @@ +from .create import * +from .get import * +from .get_member_consumer import * +from .list import * +from .profiles import * +from .update import * \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/consumers/create.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/consumers/create.py new file mode 100644 index 00000000..579fff17 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/consumers/create.py @@ -0,0 +1,59 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class ManagementInstanceConsumersCreateOutput: + object: str + id: str + name: str + email: str + created_at: datetime + updated_at: datetime + + +class mapManagementInstanceConsumersCreateOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceConsumersCreateOutput: + return ManagementInstanceConsumersCreateOutput( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + email=data.get('email'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceConsumersCreateOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class ManagementInstanceConsumersCreateBody: + name: str + email: str + + +class mapManagementInstanceConsumersCreateBody: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceConsumersCreateBody: + return ManagementInstanceConsumersCreateBody( + name=data.get('name'), + email=data.get('email') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceConsumersCreateBody, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/consumers/get.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/consumers/get.py new file mode 100644 index 00000000..d43261e5 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/consumers/get.py @@ -0,0 +1,36 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class ManagementInstanceConsumersGetOutput: + object: str + id: str + name: str + email: str + created_at: datetime + updated_at: datetime + + +class mapManagementInstanceConsumersGetOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceConsumersGetOutput: + return ManagementInstanceConsumersGetOutput( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + email=data.get('email'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceConsumersGetOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/consumers/get_member_consumer.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/consumers/get_member_consumer.py new file mode 100644 index 00000000..263538d6 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/consumers/get_member_consumer.py @@ -0,0 +1,57 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class ManagementInstanceConsumersGetMemberConsumerOutput: + object: str + id: str + name: str + email: str + created_at: datetime + updated_at: datetime + + +class mapManagementInstanceConsumersGetMemberConsumerOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceConsumersGetMemberConsumerOutput: + return ManagementInstanceConsumersGetMemberConsumerOutput( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + email=data.get('email'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceConsumersGetMemberConsumerOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class ManagementInstanceConsumersGetMemberConsumerBody: + surface_identifier: str + + +class mapManagementInstanceConsumersGetMemberConsumerBody: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceConsumersGetMemberConsumerBody: + return ManagementInstanceConsumersGetMemberConsumerBody( + surface_identifier=data.get('surface_identifier') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceConsumersGetMemberConsumerBody, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/consumers/list.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/consumers/list.py new file mode 100644 index 00000000..2fff5aab --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/consumers/list.py @@ -0,0 +1,105 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class ManagementInstanceConsumersListOutputItems: + object: str + id: str + name: str + email: str + created_at: datetime + updated_at: datetime +@dataclass +class ManagementInstanceConsumersListOutputPagination: + has_more_before: bool + has_more_after: bool +@dataclass +class ManagementInstanceConsumersListOutput: + items: List[ManagementInstanceConsumersListOutputItems] + pagination: ManagementInstanceConsumersListOutputPagination + + +class mapManagementInstanceConsumersListOutputItems: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceConsumersListOutputItems: + return ManagementInstanceConsumersListOutputItems( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + email=data.get('email'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceConsumersListOutputItems, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceConsumersListOutputPagination: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceConsumersListOutputPagination: + return ManagementInstanceConsumersListOutputPagination( + has_more_before=data.get('has_more_before'), + has_more_after=data.get('has_more_after') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceConsumersListOutputPagination, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceConsumersListOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceConsumersListOutput: + return ManagementInstanceConsumersListOutput( + items=[mapManagementInstanceConsumersListOutputItems.from_dict(item) for item in data.get('items', []) if item], + pagination=mapManagementInstanceConsumersListOutputPagination.from_dict(data.get('pagination')) if data.get('pagination') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceConsumersListOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class ManagementInstanceConsumersListQuery: + limit: Optional[float] = None + after: Optional[str] = None + before: Optional[str] = None + cursor: Optional[str] = None + order: Optional[str] = None + + +class mapManagementInstanceConsumersListQuery: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceConsumersListQuery: + return ManagementInstanceConsumersListQuery( + limit=data.get('limit'), + after=data.get('after'), + before=data.get('before'), + cursor=data.get('cursor'), + order=data.get('order') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceConsumersListQuery, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/consumers/profiles/__init__.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/consumers/profiles/__init__.py new file mode 100644 index 00000000..65eb373b --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/consumers/profiles/__init__.py @@ -0,0 +1,2 @@ +from .get import * +from .list import * \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/consumers/profiles/get.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/consumers/profiles/get.py new file mode 100644 index 00000000..4cd3e3e1 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/consumers/profiles/get.py @@ -0,0 +1,98 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class ManagementInstanceConsumersProfilesGetOutputGroupsGroup: + object: str + id: str + status: str + name: str + is_default: bool + sso_group_ids: List[str] + created_at: datetime + updated_at: datetime + description: Optional[str] = None +@dataclass +class ManagementInstanceConsumersProfilesGetOutputGroups: + object: str + group: ManagementInstanceConsumersProfilesGetOutputGroupsGroup + assigned_via: str +@dataclass +class ManagementInstanceConsumersProfilesGetOutput: + object: str + id: str + name: str + email: str + image_url: str + consumer_id: str + created_at: datetime + updated_at: datetime + groups: Optional[List[ManagementInstanceConsumersProfilesGetOutputGroups]] = None + + +class mapManagementInstanceConsumersProfilesGetOutputGroupsGroup: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceConsumersProfilesGetOutputGroupsGroup: + return ManagementInstanceConsumersProfilesGetOutputGroupsGroup( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + name=data.get('name'), + description=data.get('description'), + is_default=data.get('is_default'), + sso_group_ids=data.get('sso_group_ids', []), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceConsumersProfilesGetOutputGroupsGroup, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceConsumersProfilesGetOutputGroups: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceConsumersProfilesGetOutputGroups: + return ManagementInstanceConsumersProfilesGetOutputGroups( + object=data.get('object'), + group=mapManagementInstanceConsumersProfilesGetOutputGroupsGroup.from_dict(data.get('group')) if data.get('group') else None, + assigned_via=data.get('assigned_via') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceConsumersProfilesGetOutputGroups, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceConsumersProfilesGetOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceConsumersProfilesGetOutput: + return ManagementInstanceConsumersProfilesGetOutput( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + groups=[mapManagementInstanceConsumersProfilesGetOutputGroups.from_dict(item) for item in data.get('groups', []) if item], + consumer_id=data.get('consumer_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceConsumersProfilesGetOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/consumers/profiles/list.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/consumers/profiles/list.py new file mode 100644 index 00000000..2bb8efc0 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/consumers/profiles/list.py @@ -0,0 +1,167 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class ManagementInstanceConsumersProfilesListOutputItemsGroupsGroup: + object: str + id: str + status: str + name: str + is_default: bool + sso_group_ids: List[str] + created_at: datetime + updated_at: datetime + description: Optional[str] = None +@dataclass +class ManagementInstanceConsumersProfilesListOutputItemsGroups: + object: str + group: ManagementInstanceConsumersProfilesListOutputItemsGroupsGroup + assigned_via: str +@dataclass +class ManagementInstanceConsumersProfilesListOutputItems: + object: str + id: str + name: str + email: str + image_url: str + consumer_id: str + created_at: datetime + updated_at: datetime + groups: Optional[List[ManagementInstanceConsumersProfilesListOutputItemsGroups]] = None +@dataclass +class ManagementInstanceConsumersProfilesListOutputPagination: + has_more_before: bool + has_more_after: bool +@dataclass +class ManagementInstanceConsumersProfilesListOutput: + items: List[ManagementInstanceConsumersProfilesListOutputItems] + pagination: ManagementInstanceConsumersProfilesListOutputPagination + + +class mapManagementInstanceConsumersProfilesListOutputItemsGroupsGroup: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceConsumersProfilesListOutputItemsGroupsGroup: + return ManagementInstanceConsumersProfilesListOutputItemsGroupsGroup( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + name=data.get('name'), + description=data.get('description'), + is_default=data.get('is_default'), + sso_group_ids=data.get('sso_group_ids', []), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceConsumersProfilesListOutputItemsGroupsGroup, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceConsumersProfilesListOutputItemsGroups: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceConsumersProfilesListOutputItemsGroups: + return ManagementInstanceConsumersProfilesListOutputItemsGroups( + object=data.get('object'), + group=mapManagementInstanceConsumersProfilesListOutputItemsGroupsGroup.from_dict(data.get('group')) if data.get('group') else None, + assigned_via=data.get('assigned_via') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceConsumersProfilesListOutputItemsGroups, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceConsumersProfilesListOutputItems: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceConsumersProfilesListOutputItems: + return ManagementInstanceConsumersProfilesListOutputItems( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + groups=[mapManagementInstanceConsumersProfilesListOutputItemsGroups.from_dict(item) for item in data.get('groups', []) if item], + consumer_id=data.get('consumer_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceConsumersProfilesListOutputItems, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceConsumersProfilesListOutputPagination: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceConsumersProfilesListOutputPagination: + return ManagementInstanceConsumersProfilesListOutputPagination( + has_more_before=data.get('has_more_before'), + has_more_after=data.get('has_more_after') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceConsumersProfilesListOutputPagination, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementInstanceConsumersProfilesListOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceConsumersProfilesListOutput: + return ManagementInstanceConsumersProfilesListOutput( + items=[mapManagementInstanceConsumersProfilesListOutputItems.from_dict(item) for item in data.get('items', []) if item], + pagination=mapManagementInstanceConsumersProfilesListOutputPagination.from_dict(data.get('pagination')) if data.get('pagination') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceConsumersProfilesListOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class ManagementInstanceConsumersProfilesListQuery: + limit: Optional[float] = None + after: Optional[str] = None + before: Optional[str] = None + cursor: Optional[str] = None + order: Optional[str] = None + + +class mapManagementInstanceConsumersProfilesListQuery: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceConsumersProfilesListQuery: + return ManagementInstanceConsumersProfilesListQuery( + limit=data.get('limit'), + after=data.get('after'), + before=data.get('before'), + cursor=data.get('cursor'), + order=data.get('order') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceConsumersProfilesListQuery, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/consumers/update.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/consumers/update.py new file mode 100644 index 00000000..b7b29b9d --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/consumers/update.py @@ -0,0 +1,59 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class ManagementInstanceConsumersUpdateOutput: + object: str + id: str + name: str + email: str + created_at: datetime + updated_at: datetime + + +class mapManagementInstanceConsumersUpdateOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceConsumersUpdateOutput: + return ManagementInstanceConsumersUpdateOutput( + object=data.get('object'), + id=data.get('id'), + name=data.get('name'), + email=data.get('email'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceConsumersUpdateOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class ManagementInstanceConsumersUpdateBody: + name: Optional[str] = None + email: Optional[str] = None + + +class mapManagementInstanceConsumersUpdateBody: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementInstanceConsumersUpdateBody: + return ManagementInstanceConsumersUpdateBody( + name=data.get('name'), + email=data.get('email') + ) + + @staticmethod + def to_dict(value: Union[ManagementInstanceConsumersUpdateBody, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/identity_actors/list.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/identity_actors/list.py index 4a67c5bc..94188664 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/identity_actors/list.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/identity_actors/list.py @@ -101,6 +101,7 @@ class ManagementInstanceIdentityActorsListQuery: status: Optional[Union[str, List[str]]] = None id: Optional[Union[str, List[str]]] = None agent_id: Optional[Union[str, List[str]]] = None + consumer_id: Optional[Union[str, List[str]]] = None created_at: Optional[ManagementInstanceIdentityActorsListQueryCreatedAt] = None updated_at: Optional[ManagementInstanceIdentityActorsListQueryUpdatedAt] = None @@ -118,6 +119,7 @@ def from_dict(data: Dict[str, Any]) -> ManagementInstanceIdentityActorsListQuery status=data.get('status'), id=data.get('id'), agent_id=data.get('agent_id'), + consumer_id=data.get('consumer_id'), created_at=mapManagementInstanceIdentityActorsListQueryCreatedAt.from_dict(data.get('created_at')) if data.get('created_at') else None, updated_at=mapManagementInstanceIdentityActorsListQueryUpdatedAt.from_dict(data.get('updated_at')) if data.get('updated_at') else None ) diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/magic_mcp_servers/create.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/magic_mcp_servers/create.py index a5228698..b8e23116 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/magic_mcp_servers/create.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/magic_mcp_servers/create.py @@ -71,6 +71,7 @@ class ManagementInstanceMagicMcpServersCreateBody: name: Optional[str] = None description: Optional[str] = None metadata: Optional[Dict[str, Any]] = None + consumer_profile_id: Optional[str] = None class mapManagementInstanceMagicMcpServersCreateBody: @@ -79,7 +80,8 @@ def from_dict(data: Dict[str, Any]) -> ManagementInstanceMagicMcpServersCreateBo return ManagementInstanceMagicMcpServersCreateBody( name=data.get('name'), description=data.get('description'), - metadata=data.get('metadata') + metadata=data.get('metadata'), + consumer_profile_id=data.get('consumer_profile_id') ) @staticmethod diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/magic_mcp_servers/list.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/magic_mcp_servers/list.py index f60fc7a4..92be168d 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/magic_mcp_servers/list.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/magic_mcp_servers/list.py @@ -115,6 +115,8 @@ class ManagementInstanceMagicMcpServersListQuery: order: Optional[str] = None status: Optional[Union[str, List[str]]] = None magic_mcp_group_id: Optional[Union[str, List[str]]] = None + consumer_id: Optional[Union[str, List[str]]] = None + consumer_profile_id: Optional[Union[str, List[str]]] = None search: Optional[str] = None @@ -129,6 +131,8 @@ def from_dict(data: Dict[str, Any]) -> ManagementInstanceMagicMcpServersListQuer order=data.get('order'), status=data.get('status'), magic_mcp_group_id=data.get('magic_mcp_group_id'), + consumer_id=data.get('consumer_id'), + consumer_profile_id=data.get('consumer_profile_id'), search=data.get('search') ) diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/provider_deployments/auth_configs/list.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/provider_deployments/auth_configs/list.py index 5192dda3..1b0ffd43 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/provider_deployments/auth_configs/list.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/provider_deployments/auth_configs/list.py @@ -297,6 +297,10 @@ class ManagementInstanceProviderDeploymentsAuthConfigsListQuery: provider_deployment_id: Optional[Union[str, List[str]]] = None provider_auth_credentials_id: Optional[Union[str, List[str]]] = None provider_auth_method_id: Optional[Union[str, List[str]]] = None + actor_id: Optional[Union[str, List[str]]] = None + consumer_id: Optional[Union[str, List[str]]] = None + identity_id: Optional[Union[str, List[str]]] = None + identity_credential_id: Optional[Union[str, List[str]]] = None search: Optional[str] = None created_at: Optional[ManagementInstanceProviderDeploymentsAuthConfigsListQueryCreatedAt] = None updated_at: Optional[ManagementInstanceProviderDeploymentsAuthConfigsListQueryUpdatedAt] = None @@ -317,6 +321,10 @@ def from_dict(data: Dict[str, Any]) -> ManagementInstanceProviderDeploymentsAuth provider_deployment_id=data.get('provider_deployment_id'), provider_auth_credentials_id=data.get('provider_auth_credentials_id'), provider_auth_method_id=data.get('provider_auth_method_id'), + actor_id=data.get('actor_id'), + consumer_id=data.get('consumer_id'), + identity_id=data.get('identity_id'), + identity_credential_id=data.get('identity_credential_id'), search=data.get('search'), created_at=mapManagementInstanceProviderDeploymentsAuthConfigsListQueryCreatedAt.from_dict(data.get('created_at')) if data.get('created_at') else None, updated_at=mapManagementInstanceProviderDeploymentsAuthConfigsListQueryUpdatedAt.from_dict(data.get('updated_at')) if data.get('updated_at') else None diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/provider_deployments/configs/list.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/provider_deployments/configs/list.py index f15b2a22..9483ab8e 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/provider_deployments/configs/list.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/provider_deployments/configs/list.py @@ -211,6 +211,10 @@ class ManagementInstanceProviderDeploymentsConfigsListQuery: provider_specification_id: Optional[Union[str, List[str]]] = None provider_deployment_id: Optional[Union[str, List[str]]] = None provider_config_vault_id: Optional[Union[str, List[str]]] = None + actor_id: Optional[Union[str, List[str]]] = None + consumer_id: Optional[Union[str, List[str]]] = None + identity_id: Optional[Union[str, List[str]]] = None + identity_credential_id: Optional[Union[str, List[str]]] = None search: Optional[str] = None created_at: Optional[ManagementInstanceProviderDeploymentsConfigsListQueryCreatedAt] = None updated_at: Optional[ManagementInstanceProviderDeploymentsConfigsListQueryUpdatedAt] = None @@ -231,6 +235,10 @@ def from_dict(data: Dict[str, Any]) -> ManagementInstanceProviderDeploymentsConf provider_specification_id=data.get('provider_specification_id'), provider_deployment_id=data.get('provider_deployment_id'), provider_config_vault_id=data.get('provider_config_vault_id'), + actor_id=data.get('actor_id'), + consumer_id=data.get('consumer_id'), + identity_id=data.get('identity_id'), + identity_credential_id=data.get('identity_credential_id'), search=data.get('search'), created_at=mapManagementInstanceProviderDeploymentsConfigsListQueryCreatedAt.from_dict(data.get('created_at')) if data.get('created_at') else None, updated_at=mapManagementInstanceProviderDeploymentsConfigsListQueryUpdatedAt.from_dict(data.get('updated_at')) if data.get('updated_at') else None diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/provider_deployments/list.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/provider_deployments/list.py index 2d7d832f..1191a3fc 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/provider_deployments/list.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/provider_deployments/list.py @@ -176,6 +176,10 @@ class ManagementInstanceProviderDeploymentsListQuery: id: Optional[Union[str, List[str]]] = None provider_id: Optional[Union[str, List[str]]] = None provider_version_id: Optional[Union[str, List[str]]] = None + actor_id: Optional[Union[str, List[str]]] = None + consumer_id: Optional[Union[str, List[str]]] = None + identity_id: Optional[Union[str, List[str]]] = None + identity_credential_id: Optional[Union[str, List[str]]] = None status: Optional[Union[str, List[str]]] = None search: Optional[str] = None created_at: Optional[ManagementInstanceProviderDeploymentsListQueryCreatedAt] = None @@ -194,6 +198,10 @@ def from_dict(data: Dict[str, Any]) -> ManagementInstanceProviderDeploymentsList id=data.get('id'), provider_id=data.get('provider_id'), provider_version_id=data.get('provider_version_id'), + actor_id=data.get('actor_id'), + consumer_id=data.get('consumer_id'), + identity_id=data.get('identity_id'), + identity_credential_id=data.get('identity_credential_id'), status=data.get('status'), search=data.get('search'), created_at=mapManagementInstanceProviderDeploymentsListQueryCreatedAt.from_dict(data.get('created_at')) if data.get('created_at') else None, diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/provider_deployments/setup_sessions/create.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/provider_deployments/setup_sessions/create.py index 7b37d4c1..03c18bb6 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/provider_deployments/setup_sessions/create.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/provider_deployments/setup_sessions/create.py @@ -195,6 +195,8 @@ class ManagementInstanceProviderDeploymentsSetupSessionsCreateOutput: metadata: Optional[Dict[str, Any]] = None configuration: Optional[Dict[str, Any]] = None provider_id: Optional[str] = None + identity_id: Optional[str] = None + identity_credential_id: Optional[str] = None auth_method: Optional[ManagementInstanceProviderDeploymentsSetupSessionsCreateOutputAuthMethod] = None deployment: Optional[ManagementInstanceProviderDeploymentsSetupSessionsCreateOutputDeployment] = None credentials: Optional[ManagementInstanceProviderDeploymentsSetupSessionsCreateOutputCredentials] = None @@ -597,6 +599,8 @@ def from_dict(data: Dict[str, Any]) -> ManagementInstanceProviderDeploymentsSetu metadata=data.get('metadata'), configuration=data.get('configuration'), provider_id=data.get('provider_id'), + identity_id=data.get('identity_id'), + identity_credential_id=data.get('identity_credential_id'), auth_method=mapManagementInstanceProviderDeploymentsSetupSessionsCreateOutputAuthMethod.from_dict(data.get('auth_method')) if data.get('auth_method') else None, deployment=mapManagementInstanceProviderDeploymentsSetupSessionsCreateOutputDeployment.from_dict(data.get('deployment')) if data.get('deployment') else None, credentials=mapManagementInstanceProviderDeploymentsSetupSessionsCreateOutputCredentials.from_dict(data.get('credentials')) if data.get('credentials') else None, @@ -652,6 +656,7 @@ class ManagementInstanceProviderDeploymentsSetupSessionsCreateBody: metadata: Optional[Dict[str, Any]] = None provider_auth_method_id: Optional[str] = None provider_auth_credentials_id: Optional[str] = None + identity_id: Optional[str] = None redirect_url: Optional[str] = None configuration: Optional[ManagementInstanceProviderDeploymentsSetupSessionsCreateBodyConfiguration] = None @@ -776,6 +781,7 @@ def from_dict(data: Dict[str, Any]) -> ManagementInstanceProviderDeploymentsSetu metadata=data.get('metadata'), provider_auth_method_id=data.get('provider_auth_method_id'), provider_auth_credentials_id=data.get('provider_auth_credentials_id'), + identity_id=data.get('identity_id'), redirect_url=data.get('redirect_url'), configuration=mapManagementInstanceProviderDeploymentsSetupSessionsCreateBodyConfiguration.from_dict(data.get('configuration')) if data.get('configuration') else None ) diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/provider_deployments/setup_sessions/delete.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/provider_deployments/setup_sessions/delete.py index a561f65e..10f82013 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/provider_deployments/setup_sessions/delete.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/provider_deployments/setup_sessions/delete.py @@ -195,6 +195,8 @@ class ManagementInstanceProviderDeploymentsSetupSessionsDeleteOutput: metadata: Optional[Dict[str, Any]] = None configuration: Optional[Dict[str, Any]] = None provider_id: Optional[str] = None + identity_id: Optional[str] = None + identity_credential_id: Optional[str] = None auth_method: Optional[ManagementInstanceProviderDeploymentsSetupSessionsDeleteOutputAuthMethod] = None deployment: Optional[ManagementInstanceProviderDeploymentsSetupSessionsDeleteOutputDeployment] = None credentials: Optional[ManagementInstanceProviderDeploymentsSetupSessionsDeleteOutputCredentials] = None @@ -597,6 +599,8 @@ def from_dict(data: Dict[str, Any]) -> ManagementInstanceProviderDeploymentsSetu metadata=data.get('metadata'), configuration=data.get('configuration'), provider_id=data.get('provider_id'), + identity_id=data.get('identity_id'), + identity_credential_id=data.get('identity_credential_id'), auth_method=mapManagementInstanceProviderDeploymentsSetupSessionsDeleteOutputAuthMethod.from_dict(data.get('auth_method')) if data.get('auth_method') else None, deployment=mapManagementInstanceProviderDeploymentsSetupSessionsDeleteOutputDeployment.from_dict(data.get('deployment')) if data.get('deployment') else None, credentials=mapManagementInstanceProviderDeploymentsSetupSessionsDeleteOutputCredentials.from_dict(data.get('credentials')) if data.get('credentials') else None, diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/provider_deployments/setup_sessions/get.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/provider_deployments/setup_sessions/get.py index e3141254..aa4a429e 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/provider_deployments/setup_sessions/get.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/provider_deployments/setup_sessions/get.py @@ -195,6 +195,8 @@ class ManagementInstanceProviderDeploymentsSetupSessionsGetOutput: metadata: Optional[Dict[str, Any]] = None configuration: Optional[Dict[str, Any]] = None provider_id: Optional[str] = None + identity_id: Optional[str] = None + identity_credential_id: Optional[str] = None auth_method: Optional[ManagementInstanceProviderDeploymentsSetupSessionsGetOutputAuthMethod] = None deployment: Optional[ManagementInstanceProviderDeploymentsSetupSessionsGetOutputDeployment] = None credentials: Optional[ManagementInstanceProviderDeploymentsSetupSessionsGetOutputCredentials] = None @@ -597,6 +599,8 @@ def from_dict(data: Dict[str, Any]) -> ManagementInstanceProviderDeploymentsSetu metadata=data.get('metadata'), configuration=data.get('configuration'), provider_id=data.get('provider_id'), + identity_id=data.get('identity_id'), + identity_credential_id=data.get('identity_credential_id'), auth_method=mapManagementInstanceProviderDeploymentsSetupSessionsGetOutputAuthMethod.from_dict(data.get('auth_method')) if data.get('auth_method') else None, deployment=mapManagementInstanceProviderDeploymentsSetupSessionsGetOutputDeployment.from_dict(data.get('deployment')) if data.get('deployment') else None, credentials=mapManagementInstanceProviderDeploymentsSetupSessionsGetOutputCredentials.from_dict(data.get('credentials')) if data.get('credentials') else None, diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/provider_deployments/setup_sessions/list.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/provider_deployments/setup_sessions/list.py index dacbf31b..b1682303 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/provider_deployments/setup_sessions/list.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/provider_deployments/setup_sessions/list.py @@ -195,6 +195,8 @@ class ManagementInstanceProviderDeploymentsSetupSessionsListOutputItems: metadata: Optional[Dict[str, Any]] = None configuration: Optional[Dict[str, Any]] = None provider_id: Optional[str] = None + identity_id: Optional[str] = None + identity_credential_id: Optional[str] = None auth_method: Optional[ManagementInstanceProviderDeploymentsSetupSessionsListOutputItemsAuthMethod] = None deployment: Optional[ManagementInstanceProviderDeploymentsSetupSessionsListOutputItemsDeployment] = None credentials: Optional[ManagementInstanceProviderDeploymentsSetupSessionsListOutputItemsCredentials] = None @@ -605,6 +607,8 @@ def from_dict(data: Dict[str, Any]) -> ManagementInstanceProviderDeploymentsSetu metadata=data.get('metadata'), configuration=data.get('configuration'), provider_id=data.get('provider_id'), + identity_id=data.get('identity_id'), + identity_credential_id=data.get('identity_credential_id'), auth_method=mapManagementInstanceProviderDeploymentsSetupSessionsListOutputItemsAuthMethod.from_dict(data.get('auth_method')) if data.get('auth_method') else None, deployment=mapManagementInstanceProviderDeploymentsSetupSessionsListOutputItemsDeployment.from_dict(data.get('deployment')) if data.get('deployment') else None, credentials=mapManagementInstanceProviderDeploymentsSetupSessionsListOutputItemsCredentials.from_dict(data.get('credentials')) if data.get('credentials') else None, diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/provider_deployments/setup_sessions/update.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/provider_deployments/setup_sessions/update.py index af641aaa..c09569e1 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/provider_deployments/setup_sessions/update.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/instance/provider_deployments/setup_sessions/update.py @@ -195,6 +195,8 @@ class ManagementInstanceProviderDeploymentsSetupSessionsUpdateOutput: metadata: Optional[Dict[str, Any]] = None configuration: Optional[Dict[str, Any]] = None provider_id: Optional[str] = None + identity_id: Optional[str] = None + identity_credential_id: Optional[str] = None auth_method: Optional[ManagementInstanceProviderDeploymentsSetupSessionsUpdateOutputAuthMethod] = None deployment: Optional[ManagementInstanceProviderDeploymentsSetupSessionsUpdateOutputDeployment] = None credentials: Optional[ManagementInstanceProviderDeploymentsSetupSessionsUpdateOutputCredentials] = None @@ -597,6 +599,8 @@ def from_dict(data: Dict[str, Any]) -> ManagementInstanceProviderDeploymentsSetu metadata=data.get('metadata'), configuration=data.get('configuration'), provider_id=data.get('provider_id'), + identity_id=data.get('identity_id'), + identity_credential_id=data.get('identity_credential_id'), auth_method=mapManagementInstanceProviderDeploymentsSetupSessionsUpdateOutputAuthMethod.from_dict(data.get('auth_method')) if data.get('auth_method') else None, deployment=mapManagementInstanceProviderDeploymentsSetupSessionsUpdateOutputDeployment.from_dict(data.get('deployment')) if data.get('deployment') else None, credentials=mapManagementInstanceProviderDeploymentsSetupSessionsUpdateOutputCredentials.from_dict(data.get('credentials')) if data.get('credentials') else None, @@ -623,6 +627,7 @@ class ManagementInstanceProviderDeploymentsSetupSessionsUpdateBody: name: Optional[str] = None description: Optional[str] = None metadata: Optional[Dict[str, Any]] = None + identity_id: Optional[str] = None class mapManagementInstanceProviderDeploymentsSetupSessionsUpdateBody: @@ -631,7 +636,8 @@ def from_dict(data: Dict[str, Any]) -> ManagementInstanceProviderDeploymentsSetu return ManagementInstanceProviderDeploymentsSetupSessionsUpdateBody( name=data.get('name'), description=data.get('description'), - metadata=data.get('metadata') + metadata=data.get('metadata'), + identity_id=data.get('identity_id') ) @staticmethod diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/organization/__init__.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/organization/__init__.py new file mode 100644 index 00000000..f31495e4 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/organization/__init__.py @@ -0,0 +1 @@ +from .api_keys import * \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/organization/api_keys/__init__.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/organization/api_keys/__init__.py new file mode 100644 index 00000000..2764f766 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/organization/api_keys/__init__.py @@ -0,0 +1,5 @@ +from .create import * +from .get import * +from .list import * +from .revoke import * +from .update import * \ No newline at end of file diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/organization/api_keys/create.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/organization/api_keys/create.py new file mode 100644 index 00000000..3e5a2029 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/organization/api_keys/create.py @@ -0,0 +1,327 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class ManagementOrganizationApiKeysCreateOutputMachineAccessActorTeams: + id: str + name: str + slug: str + assignment_id: str + created_at: datetime + updated_at: datetime +@dataclass +class ManagementOrganizationApiKeysCreateOutputMachineAccessActor: + object: str + id: str + type: str + organization_id: str + name: str + image_url: str + teams: List[ManagementOrganizationApiKeysCreateOutputMachineAccessActorTeams] + created_at: datetime + updated_at: datetime + email: Optional[str] = None +@dataclass +class ManagementOrganizationApiKeysCreateOutputMachineAccessInstanceProject: + object: str + id: str + status: str + slug: str + name: str + organization_id: str + created_at: datetime + updated_at: datetime +@dataclass +class ManagementOrganizationApiKeysCreateOutputMachineAccessInstance: + object: str + id: str + slug: str + name: str + organization_id: str + type: str + created_at: datetime + updated_at: datetime + project: ManagementOrganizationApiKeysCreateOutputMachineAccessInstanceProject +@dataclass +class ManagementOrganizationApiKeysCreateOutputMachineAccessOrganization: + object: str + id: str + type: str + slug: str + name: str + image_url: str + created_at: datetime + updated_at: datetime +@dataclass +class ManagementOrganizationApiKeysCreateOutputMachineAccessUser: + object: str + id: str + status: str + type: str + email: str + name: str + first_name: str + last_name: str + image_url: str + created_at: datetime + updated_at: datetime +@dataclass +class ManagementOrganizationApiKeysCreateOutputMachineAccess: + object: str + id: str + status: str + type: str + name: str + last_used_at: datetime + created_at: datetime + updated_at: datetime + deleted_at: datetime + actor: Optional[ManagementOrganizationApiKeysCreateOutputMachineAccessActor] = None + instance: Optional[ManagementOrganizationApiKeysCreateOutputMachineAccessInstance] = None + organization: Optional[ManagementOrganizationApiKeysCreateOutputMachineAccessOrganization] = None + user: Optional[ManagementOrganizationApiKeysCreateOutputMachineAccessUser] = None +@dataclass +class ManagementOrganizationApiKeysCreateOutput: + object: str + id: str + status: str + secret_redacted: str + type: str + name: str + ip_filters: List[str] + machine_access: ManagementOrganizationApiKeysCreateOutputMachineAccess + created_at: datetime + updated_at: datetime + secret: Optional[str] = None + description: Optional[str] = None + deleted_at: Optional[datetime] = None + last_used_at: Optional[datetime] = None + expires_at: Optional[datetime] = None + + +class mapManagementOrganizationApiKeysCreateOutputMachineAccessActorTeams: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementOrganizationApiKeysCreateOutputMachineAccessActorTeams: + return ManagementOrganizationApiKeysCreateOutputMachineAccessActorTeams( + id=data.get('id'), + name=data.get('name'), + slug=data.get('slug'), + assignment_id=data.get('assignment_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementOrganizationApiKeysCreateOutputMachineAccessActorTeams, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementOrganizationApiKeysCreateOutputMachineAccessActor: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementOrganizationApiKeysCreateOutputMachineAccessActor: + return ManagementOrganizationApiKeysCreateOutputMachineAccessActor( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + organization_id=data.get('organization_id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + teams=[mapManagementOrganizationApiKeysCreateOutputMachineAccessActorTeams.from_dict(item) for item in data.get('teams', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementOrganizationApiKeysCreateOutputMachineAccessActor, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementOrganizationApiKeysCreateOutputMachineAccessInstanceProject: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementOrganizationApiKeysCreateOutputMachineAccessInstanceProject: + return ManagementOrganizationApiKeysCreateOutputMachineAccessInstanceProject( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + slug=data.get('slug'), + name=data.get('name'), + organization_id=data.get('organization_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementOrganizationApiKeysCreateOutputMachineAccessInstanceProject, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementOrganizationApiKeysCreateOutputMachineAccessInstance: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementOrganizationApiKeysCreateOutputMachineAccessInstance: + return ManagementOrganizationApiKeysCreateOutputMachineAccessInstance( + object=data.get('object'), + id=data.get('id'), + slug=data.get('slug'), + name=data.get('name'), + organization_id=data.get('organization_id'), + type=data.get('type'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + project=mapManagementOrganizationApiKeysCreateOutputMachineAccessInstanceProject.from_dict(data.get('project')) if data.get('project') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementOrganizationApiKeysCreateOutputMachineAccessInstance, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementOrganizationApiKeysCreateOutputMachineAccessOrganization: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementOrganizationApiKeysCreateOutputMachineAccessOrganization: + return ManagementOrganizationApiKeysCreateOutputMachineAccessOrganization( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + slug=data.get('slug'), + name=data.get('name'), + image_url=data.get('image_url'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementOrganizationApiKeysCreateOutputMachineAccessOrganization, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementOrganizationApiKeysCreateOutputMachineAccessUser: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementOrganizationApiKeysCreateOutputMachineAccessUser: + return ManagementOrganizationApiKeysCreateOutputMachineAccessUser( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + type=data.get('type'), + email=data.get('email'), + name=data.get('name'), + first_name=data.get('first_name'), + last_name=data.get('last_name'), + image_url=data.get('image_url'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementOrganizationApiKeysCreateOutputMachineAccessUser, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementOrganizationApiKeysCreateOutputMachineAccess: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementOrganizationApiKeysCreateOutputMachineAccess: + return ManagementOrganizationApiKeysCreateOutputMachineAccess( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + type=data.get('type'), + name=data.get('name'), + last_used_at=datetime.fromisoformat(data.get('last_used_at').replace('Z', '+00:00')) if data.get('last_used_at') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + deleted_at=datetime.fromisoformat(data.get('deleted_at').replace('Z', '+00:00')) if data.get('deleted_at') else None, + actor=mapManagementOrganizationApiKeysCreateOutputMachineAccessActor.from_dict(data.get('actor')) if data.get('actor') else None, + instance=mapManagementOrganizationApiKeysCreateOutputMachineAccessInstance.from_dict(data.get('instance')) if data.get('instance') else None, + organization=mapManagementOrganizationApiKeysCreateOutputMachineAccessOrganization.from_dict(data.get('organization')) if data.get('organization') else None, + user=mapManagementOrganizationApiKeysCreateOutputMachineAccessUser.from_dict(data.get('user')) if data.get('user') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementOrganizationApiKeysCreateOutputMachineAccess, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementOrganizationApiKeysCreateOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementOrganizationApiKeysCreateOutput: + return ManagementOrganizationApiKeysCreateOutput( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + secret_redacted=data.get('secret_redacted'), + secret=data.get('secret'), + type=data.get('type'), + name=data.get('name'), + description=data.get('description'), + ip_filters=data.get('ip_filters', []), + machine_access=mapManagementOrganizationApiKeysCreateOutputMachineAccess.from_dict(data.get('machine_access')) if data.get('machine_access') else None, + deleted_at=datetime.fromisoformat(data.get('deleted_at').replace('Z', '+00:00')) if data.get('deleted_at') else None, + last_used_at=datetime.fromisoformat(data.get('last_used_at').replace('Z', '+00:00')) if data.get('last_used_at') else None, + expires_at=datetime.fromisoformat(data.get('expires_at').replace('Z', '+00:00')) if data.get('expires_at') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementOrganizationApiKeysCreateOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class ManagementOrganizationApiKeysCreateBody: + name: str + type: Optional[str] = None + instance_id: Optional[str] = None + description: Optional[str] = None + expires_at: Optional[datetime] = None + ip_filters: Optional[List[str]] = None + + +class mapManagementOrganizationApiKeysCreateBody: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementOrganizationApiKeysCreateBody: + return ManagementOrganizationApiKeysCreateBody( + type=data.get('type'), + instance_id=data.get('instance_id'), + name=data.get('name'), + description=data.get('description'), + expires_at=datetime.fromisoformat(data.get('expires_at').replace('Z', '+00:00')) if data.get('expires_at') else None, + ip_filters=data.get('ip_filters', []) + ) + + @staticmethod + def to_dict(value: Union[ManagementOrganizationApiKeysCreateBody, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/organization/api_keys/get.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/organization/api_keys/get.py new file mode 100644 index 00000000..995e57c7 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/organization/api_keys/get.py @@ -0,0 +1,296 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class ManagementOrganizationApiKeysGetOutputMachineAccessActorTeams: + id: str + name: str + slug: str + assignment_id: str + created_at: datetime + updated_at: datetime +@dataclass +class ManagementOrganizationApiKeysGetOutputMachineAccessActor: + object: str + id: str + type: str + organization_id: str + name: str + image_url: str + teams: List[ManagementOrganizationApiKeysGetOutputMachineAccessActorTeams] + created_at: datetime + updated_at: datetime + email: Optional[str] = None +@dataclass +class ManagementOrganizationApiKeysGetOutputMachineAccessInstanceProject: + object: str + id: str + status: str + slug: str + name: str + organization_id: str + created_at: datetime + updated_at: datetime +@dataclass +class ManagementOrganizationApiKeysGetOutputMachineAccessInstance: + object: str + id: str + slug: str + name: str + organization_id: str + type: str + created_at: datetime + updated_at: datetime + project: ManagementOrganizationApiKeysGetOutputMachineAccessInstanceProject +@dataclass +class ManagementOrganizationApiKeysGetOutputMachineAccessOrganization: + object: str + id: str + type: str + slug: str + name: str + image_url: str + created_at: datetime + updated_at: datetime +@dataclass +class ManagementOrganizationApiKeysGetOutputMachineAccessUser: + object: str + id: str + status: str + type: str + email: str + name: str + first_name: str + last_name: str + image_url: str + created_at: datetime + updated_at: datetime +@dataclass +class ManagementOrganizationApiKeysGetOutputMachineAccess: + object: str + id: str + status: str + type: str + name: str + last_used_at: datetime + created_at: datetime + updated_at: datetime + deleted_at: datetime + actor: Optional[ManagementOrganizationApiKeysGetOutputMachineAccessActor] = None + instance: Optional[ManagementOrganizationApiKeysGetOutputMachineAccessInstance] = None + organization: Optional[ManagementOrganizationApiKeysGetOutputMachineAccessOrganization] = None + user: Optional[ManagementOrganizationApiKeysGetOutputMachineAccessUser] = None +@dataclass +class ManagementOrganizationApiKeysGetOutput: + object: str + id: str + status: str + secret_redacted: str + type: str + name: str + ip_filters: List[str] + machine_access: ManagementOrganizationApiKeysGetOutputMachineAccess + created_at: datetime + updated_at: datetime + secret: Optional[str] = None + description: Optional[str] = None + deleted_at: Optional[datetime] = None + last_used_at: Optional[datetime] = None + expires_at: Optional[datetime] = None + + +class mapManagementOrganizationApiKeysGetOutputMachineAccessActorTeams: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementOrganizationApiKeysGetOutputMachineAccessActorTeams: + return ManagementOrganizationApiKeysGetOutputMachineAccessActorTeams( + id=data.get('id'), + name=data.get('name'), + slug=data.get('slug'), + assignment_id=data.get('assignment_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementOrganizationApiKeysGetOutputMachineAccessActorTeams, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementOrganizationApiKeysGetOutputMachineAccessActor: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementOrganizationApiKeysGetOutputMachineAccessActor: + return ManagementOrganizationApiKeysGetOutputMachineAccessActor( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + organization_id=data.get('organization_id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + teams=[mapManagementOrganizationApiKeysGetOutputMachineAccessActorTeams.from_dict(item) for item in data.get('teams', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementOrganizationApiKeysGetOutputMachineAccessActor, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementOrganizationApiKeysGetOutputMachineAccessInstanceProject: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementOrganizationApiKeysGetOutputMachineAccessInstanceProject: + return ManagementOrganizationApiKeysGetOutputMachineAccessInstanceProject( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + slug=data.get('slug'), + name=data.get('name'), + organization_id=data.get('organization_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementOrganizationApiKeysGetOutputMachineAccessInstanceProject, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementOrganizationApiKeysGetOutputMachineAccessInstance: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementOrganizationApiKeysGetOutputMachineAccessInstance: + return ManagementOrganizationApiKeysGetOutputMachineAccessInstance( + object=data.get('object'), + id=data.get('id'), + slug=data.get('slug'), + name=data.get('name'), + organization_id=data.get('organization_id'), + type=data.get('type'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + project=mapManagementOrganizationApiKeysGetOutputMachineAccessInstanceProject.from_dict(data.get('project')) if data.get('project') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementOrganizationApiKeysGetOutputMachineAccessInstance, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementOrganizationApiKeysGetOutputMachineAccessOrganization: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementOrganizationApiKeysGetOutputMachineAccessOrganization: + return ManagementOrganizationApiKeysGetOutputMachineAccessOrganization( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + slug=data.get('slug'), + name=data.get('name'), + image_url=data.get('image_url'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementOrganizationApiKeysGetOutputMachineAccessOrganization, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementOrganizationApiKeysGetOutputMachineAccessUser: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementOrganizationApiKeysGetOutputMachineAccessUser: + return ManagementOrganizationApiKeysGetOutputMachineAccessUser( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + type=data.get('type'), + email=data.get('email'), + name=data.get('name'), + first_name=data.get('first_name'), + last_name=data.get('last_name'), + image_url=data.get('image_url'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementOrganizationApiKeysGetOutputMachineAccessUser, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementOrganizationApiKeysGetOutputMachineAccess: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementOrganizationApiKeysGetOutputMachineAccess: + return ManagementOrganizationApiKeysGetOutputMachineAccess( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + type=data.get('type'), + name=data.get('name'), + last_used_at=datetime.fromisoformat(data.get('last_used_at').replace('Z', '+00:00')) if data.get('last_used_at') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + deleted_at=datetime.fromisoformat(data.get('deleted_at').replace('Z', '+00:00')) if data.get('deleted_at') else None, + actor=mapManagementOrganizationApiKeysGetOutputMachineAccessActor.from_dict(data.get('actor')) if data.get('actor') else None, + instance=mapManagementOrganizationApiKeysGetOutputMachineAccessInstance.from_dict(data.get('instance')) if data.get('instance') else None, + organization=mapManagementOrganizationApiKeysGetOutputMachineAccessOrganization.from_dict(data.get('organization')) if data.get('organization') else None, + user=mapManagementOrganizationApiKeysGetOutputMachineAccessUser.from_dict(data.get('user')) if data.get('user') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementOrganizationApiKeysGetOutputMachineAccess, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementOrganizationApiKeysGetOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementOrganizationApiKeysGetOutput: + return ManagementOrganizationApiKeysGetOutput( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + secret_redacted=data.get('secret_redacted'), + secret=data.get('secret'), + type=data.get('type'), + name=data.get('name'), + description=data.get('description'), + ip_filters=data.get('ip_filters', []), + machine_access=mapManagementOrganizationApiKeysGetOutputMachineAccess.from_dict(data.get('machine_access')) if data.get('machine_access') else None, + deleted_at=datetime.fromisoformat(data.get('deleted_at').replace('Z', '+00:00')) if data.get('deleted_at') else None, + last_used_at=datetime.fromisoformat(data.get('last_used_at').replace('Z', '+00:00')) if data.get('last_used_at') else None, + expires_at=datetime.fromisoformat(data.get('expires_at').replace('Z', '+00:00')) if data.get('expires_at') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementOrganizationApiKeysGetOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/organization/api_keys/list.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/organization/api_keys/list.py new file mode 100644 index 00000000..c6166bae --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/organization/api_keys/list.py @@ -0,0 +1,369 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class ManagementOrganizationApiKeysListOutputItemsMachineAccessActorTeams: + id: str + name: str + slug: str + assignment_id: str + created_at: datetime + updated_at: datetime +@dataclass +class ManagementOrganizationApiKeysListOutputItemsMachineAccessActor: + object: str + id: str + type: str + organization_id: str + name: str + image_url: str + teams: List[ManagementOrganizationApiKeysListOutputItemsMachineAccessActorTeams] + created_at: datetime + updated_at: datetime + email: Optional[str] = None +@dataclass +class ManagementOrganizationApiKeysListOutputItemsMachineAccessInstanceProject: + object: str + id: str + status: str + slug: str + name: str + organization_id: str + created_at: datetime + updated_at: datetime +@dataclass +class ManagementOrganizationApiKeysListOutputItemsMachineAccessInstance: + object: str + id: str + slug: str + name: str + organization_id: str + type: str + created_at: datetime + updated_at: datetime + project: ManagementOrganizationApiKeysListOutputItemsMachineAccessInstanceProject +@dataclass +class ManagementOrganizationApiKeysListOutputItemsMachineAccessOrganization: + object: str + id: str + type: str + slug: str + name: str + image_url: str + created_at: datetime + updated_at: datetime +@dataclass +class ManagementOrganizationApiKeysListOutputItemsMachineAccessUser: + object: str + id: str + status: str + type: str + email: str + name: str + first_name: str + last_name: str + image_url: str + created_at: datetime + updated_at: datetime +@dataclass +class ManagementOrganizationApiKeysListOutputItemsMachineAccess: + object: str + id: str + status: str + type: str + name: str + last_used_at: datetime + created_at: datetime + updated_at: datetime + deleted_at: datetime + actor: Optional[ManagementOrganizationApiKeysListOutputItemsMachineAccessActor] = None + instance: Optional[ManagementOrganizationApiKeysListOutputItemsMachineAccessInstance] = None + organization: Optional[ManagementOrganizationApiKeysListOutputItemsMachineAccessOrganization] = None + user: Optional[ManagementOrganizationApiKeysListOutputItemsMachineAccessUser] = None +@dataclass +class ManagementOrganizationApiKeysListOutputItems: + object: str + id: str + status: str + secret_redacted: str + type: str + name: str + ip_filters: List[str] + machine_access: ManagementOrganizationApiKeysListOutputItemsMachineAccess + created_at: datetime + updated_at: datetime + secret: Optional[str] = None + description: Optional[str] = None + deleted_at: Optional[datetime] = None + last_used_at: Optional[datetime] = None + expires_at: Optional[datetime] = None +@dataclass +class ManagementOrganizationApiKeysListOutputPagination: + has_more_before: bool + has_more_after: bool +@dataclass +class ManagementOrganizationApiKeysListOutput: + items: List[ManagementOrganizationApiKeysListOutputItems] + pagination: ManagementOrganizationApiKeysListOutputPagination + + +class mapManagementOrganizationApiKeysListOutputItemsMachineAccessActorTeams: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementOrganizationApiKeysListOutputItemsMachineAccessActorTeams: + return ManagementOrganizationApiKeysListOutputItemsMachineAccessActorTeams( + id=data.get('id'), + name=data.get('name'), + slug=data.get('slug'), + assignment_id=data.get('assignment_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementOrganizationApiKeysListOutputItemsMachineAccessActorTeams, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementOrganizationApiKeysListOutputItemsMachineAccessActor: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementOrganizationApiKeysListOutputItemsMachineAccessActor: + return ManagementOrganizationApiKeysListOutputItemsMachineAccessActor( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + organization_id=data.get('organization_id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + teams=[mapManagementOrganizationApiKeysListOutputItemsMachineAccessActorTeams.from_dict(item) for item in data.get('teams', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementOrganizationApiKeysListOutputItemsMachineAccessActor, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementOrganizationApiKeysListOutputItemsMachineAccessInstanceProject: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementOrganizationApiKeysListOutputItemsMachineAccessInstanceProject: + return ManagementOrganizationApiKeysListOutputItemsMachineAccessInstanceProject( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + slug=data.get('slug'), + name=data.get('name'), + organization_id=data.get('organization_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementOrganizationApiKeysListOutputItemsMachineAccessInstanceProject, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementOrganizationApiKeysListOutputItemsMachineAccessInstance: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementOrganizationApiKeysListOutputItemsMachineAccessInstance: + return ManagementOrganizationApiKeysListOutputItemsMachineAccessInstance( + object=data.get('object'), + id=data.get('id'), + slug=data.get('slug'), + name=data.get('name'), + organization_id=data.get('organization_id'), + type=data.get('type'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + project=mapManagementOrganizationApiKeysListOutputItemsMachineAccessInstanceProject.from_dict(data.get('project')) if data.get('project') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementOrganizationApiKeysListOutputItemsMachineAccessInstance, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementOrganizationApiKeysListOutputItemsMachineAccessOrganization: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementOrganizationApiKeysListOutputItemsMachineAccessOrganization: + return ManagementOrganizationApiKeysListOutputItemsMachineAccessOrganization( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + slug=data.get('slug'), + name=data.get('name'), + image_url=data.get('image_url'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementOrganizationApiKeysListOutputItemsMachineAccessOrganization, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementOrganizationApiKeysListOutputItemsMachineAccessUser: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementOrganizationApiKeysListOutputItemsMachineAccessUser: + return ManagementOrganizationApiKeysListOutputItemsMachineAccessUser( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + type=data.get('type'), + email=data.get('email'), + name=data.get('name'), + first_name=data.get('first_name'), + last_name=data.get('last_name'), + image_url=data.get('image_url'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementOrganizationApiKeysListOutputItemsMachineAccessUser, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementOrganizationApiKeysListOutputItemsMachineAccess: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementOrganizationApiKeysListOutputItemsMachineAccess: + return ManagementOrganizationApiKeysListOutputItemsMachineAccess( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + type=data.get('type'), + name=data.get('name'), + last_used_at=datetime.fromisoformat(data.get('last_used_at').replace('Z', '+00:00')) if data.get('last_used_at') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + deleted_at=datetime.fromisoformat(data.get('deleted_at').replace('Z', '+00:00')) if data.get('deleted_at') else None, + actor=mapManagementOrganizationApiKeysListOutputItemsMachineAccessActor.from_dict(data.get('actor')) if data.get('actor') else None, + instance=mapManagementOrganizationApiKeysListOutputItemsMachineAccessInstance.from_dict(data.get('instance')) if data.get('instance') else None, + organization=mapManagementOrganizationApiKeysListOutputItemsMachineAccessOrganization.from_dict(data.get('organization')) if data.get('organization') else None, + user=mapManagementOrganizationApiKeysListOutputItemsMachineAccessUser.from_dict(data.get('user')) if data.get('user') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementOrganizationApiKeysListOutputItemsMachineAccess, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementOrganizationApiKeysListOutputItems: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementOrganizationApiKeysListOutputItems: + return ManagementOrganizationApiKeysListOutputItems( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + secret_redacted=data.get('secret_redacted'), + secret=data.get('secret'), + type=data.get('type'), + name=data.get('name'), + description=data.get('description'), + ip_filters=data.get('ip_filters', []), + machine_access=mapManagementOrganizationApiKeysListOutputItemsMachineAccess.from_dict(data.get('machine_access')) if data.get('machine_access') else None, + deleted_at=datetime.fromisoformat(data.get('deleted_at').replace('Z', '+00:00')) if data.get('deleted_at') else None, + last_used_at=datetime.fromisoformat(data.get('last_used_at').replace('Z', '+00:00')) if data.get('last_used_at') else None, + expires_at=datetime.fromisoformat(data.get('expires_at').replace('Z', '+00:00')) if data.get('expires_at') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementOrganizationApiKeysListOutputItems, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementOrganizationApiKeysListOutputPagination: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementOrganizationApiKeysListOutputPagination: + return ManagementOrganizationApiKeysListOutputPagination( + has_more_before=data.get('has_more_before'), + has_more_after=data.get('has_more_after') + ) + + @staticmethod + def to_dict(value: Union[ManagementOrganizationApiKeysListOutputPagination, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementOrganizationApiKeysListOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementOrganizationApiKeysListOutput: + return ManagementOrganizationApiKeysListOutput( + items=[mapManagementOrganizationApiKeysListOutputItems.from_dict(item) for item in data.get('items', []) if item], + pagination=mapManagementOrganizationApiKeysListOutputPagination.from_dict(data.get('pagination')) if data.get('pagination') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementOrganizationApiKeysListOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class ManagementOrganizationApiKeysListQuery: + limit: Optional[float] = None + after: Optional[str] = None + before: Optional[str] = None + cursor: Optional[str] = None + order: Optional[str] = None + type: Optional[str] = None + instance_id: Optional[str] = None + + +class mapManagementOrganizationApiKeysListQuery: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementOrganizationApiKeysListQuery: + return ManagementOrganizationApiKeysListQuery( + limit=data.get('limit'), + after=data.get('after'), + before=data.get('before'), + cursor=data.get('cursor'), + order=data.get('order'), + type=data.get('type'), + instance_id=data.get('instance_id') + ) + + @staticmethod + def to_dict(value: Union[ManagementOrganizationApiKeysListQuery, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/organization/api_keys/revoke.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/organization/api_keys/revoke.py new file mode 100644 index 00000000..1a330578 --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/organization/api_keys/revoke.py @@ -0,0 +1,296 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class ManagementOrganizationApiKeysRevokeOutputMachineAccessActorTeams: + id: str + name: str + slug: str + assignment_id: str + created_at: datetime + updated_at: datetime +@dataclass +class ManagementOrganizationApiKeysRevokeOutputMachineAccessActor: + object: str + id: str + type: str + organization_id: str + name: str + image_url: str + teams: List[ManagementOrganizationApiKeysRevokeOutputMachineAccessActorTeams] + created_at: datetime + updated_at: datetime + email: Optional[str] = None +@dataclass +class ManagementOrganizationApiKeysRevokeOutputMachineAccessInstanceProject: + object: str + id: str + status: str + slug: str + name: str + organization_id: str + created_at: datetime + updated_at: datetime +@dataclass +class ManagementOrganizationApiKeysRevokeOutputMachineAccessInstance: + object: str + id: str + slug: str + name: str + organization_id: str + type: str + created_at: datetime + updated_at: datetime + project: ManagementOrganizationApiKeysRevokeOutputMachineAccessInstanceProject +@dataclass +class ManagementOrganizationApiKeysRevokeOutputMachineAccessOrganization: + object: str + id: str + type: str + slug: str + name: str + image_url: str + created_at: datetime + updated_at: datetime +@dataclass +class ManagementOrganizationApiKeysRevokeOutputMachineAccessUser: + object: str + id: str + status: str + type: str + email: str + name: str + first_name: str + last_name: str + image_url: str + created_at: datetime + updated_at: datetime +@dataclass +class ManagementOrganizationApiKeysRevokeOutputMachineAccess: + object: str + id: str + status: str + type: str + name: str + last_used_at: datetime + created_at: datetime + updated_at: datetime + deleted_at: datetime + actor: Optional[ManagementOrganizationApiKeysRevokeOutputMachineAccessActor] = None + instance: Optional[ManagementOrganizationApiKeysRevokeOutputMachineAccessInstance] = None + organization: Optional[ManagementOrganizationApiKeysRevokeOutputMachineAccessOrganization] = None + user: Optional[ManagementOrganizationApiKeysRevokeOutputMachineAccessUser] = None +@dataclass +class ManagementOrganizationApiKeysRevokeOutput: + object: str + id: str + status: str + secret_redacted: str + type: str + name: str + ip_filters: List[str] + machine_access: ManagementOrganizationApiKeysRevokeOutputMachineAccess + created_at: datetime + updated_at: datetime + secret: Optional[str] = None + description: Optional[str] = None + deleted_at: Optional[datetime] = None + last_used_at: Optional[datetime] = None + expires_at: Optional[datetime] = None + + +class mapManagementOrganizationApiKeysRevokeOutputMachineAccessActorTeams: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementOrganizationApiKeysRevokeOutputMachineAccessActorTeams: + return ManagementOrganizationApiKeysRevokeOutputMachineAccessActorTeams( + id=data.get('id'), + name=data.get('name'), + slug=data.get('slug'), + assignment_id=data.get('assignment_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementOrganizationApiKeysRevokeOutputMachineAccessActorTeams, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementOrganizationApiKeysRevokeOutputMachineAccessActor: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementOrganizationApiKeysRevokeOutputMachineAccessActor: + return ManagementOrganizationApiKeysRevokeOutputMachineAccessActor( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + organization_id=data.get('organization_id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + teams=[mapManagementOrganizationApiKeysRevokeOutputMachineAccessActorTeams.from_dict(item) for item in data.get('teams', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementOrganizationApiKeysRevokeOutputMachineAccessActor, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementOrganizationApiKeysRevokeOutputMachineAccessInstanceProject: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementOrganizationApiKeysRevokeOutputMachineAccessInstanceProject: + return ManagementOrganizationApiKeysRevokeOutputMachineAccessInstanceProject( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + slug=data.get('slug'), + name=data.get('name'), + organization_id=data.get('organization_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementOrganizationApiKeysRevokeOutputMachineAccessInstanceProject, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementOrganizationApiKeysRevokeOutputMachineAccessInstance: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementOrganizationApiKeysRevokeOutputMachineAccessInstance: + return ManagementOrganizationApiKeysRevokeOutputMachineAccessInstance( + object=data.get('object'), + id=data.get('id'), + slug=data.get('slug'), + name=data.get('name'), + organization_id=data.get('organization_id'), + type=data.get('type'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + project=mapManagementOrganizationApiKeysRevokeOutputMachineAccessInstanceProject.from_dict(data.get('project')) if data.get('project') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementOrganizationApiKeysRevokeOutputMachineAccessInstance, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementOrganizationApiKeysRevokeOutputMachineAccessOrganization: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementOrganizationApiKeysRevokeOutputMachineAccessOrganization: + return ManagementOrganizationApiKeysRevokeOutputMachineAccessOrganization( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + slug=data.get('slug'), + name=data.get('name'), + image_url=data.get('image_url'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementOrganizationApiKeysRevokeOutputMachineAccessOrganization, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementOrganizationApiKeysRevokeOutputMachineAccessUser: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementOrganizationApiKeysRevokeOutputMachineAccessUser: + return ManagementOrganizationApiKeysRevokeOutputMachineAccessUser( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + type=data.get('type'), + email=data.get('email'), + name=data.get('name'), + first_name=data.get('first_name'), + last_name=data.get('last_name'), + image_url=data.get('image_url'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementOrganizationApiKeysRevokeOutputMachineAccessUser, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementOrganizationApiKeysRevokeOutputMachineAccess: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementOrganizationApiKeysRevokeOutputMachineAccess: + return ManagementOrganizationApiKeysRevokeOutputMachineAccess( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + type=data.get('type'), + name=data.get('name'), + last_used_at=datetime.fromisoformat(data.get('last_used_at').replace('Z', '+00:00')) if data.get('last_used_at') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + deleted_at=datetime.fromisoformat(data.get('deleted_at').replace('Z', '+00:00')) if data.get('deleted_at') else None, + actor=mapManagementOrganizationApiKeysRevokeOutputMachineAccessActor.from_dict(data.get('actor')) if data.get('actor') else None, + instance=mapManagementOrganizationApiKeysRevokeOutputMachineAccessInstance.from_dict(data.get('instance')) if data.get('instance') else None, + organization=mapManagementOrganizationApiKeysRevokeOutputMachineAccessOrganization.from_dict(data.get('organization')) if data.get('organization') else None, + user=mapManagementOrganizationApiKeysRevokeOutputMachineAccessUser.from_dict(data.get('user')) if data.get('user') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementOrganizationApiKeysRevokeOutputMachineAccess, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementOrganizationApiKeysRevokeOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementOrganizationApiKeysRevokeOutput: + return ManagementOrganizationApiKeysRevokeOutput( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + secret_redacted=data.get('secret_redacted'), + secret=data.get('secret'), + type=data.get('type'), + name=data.get('name'), + description=data.get('description'), + ip_filters=data.get('ip_filters', []), + machine_access=mapManagementOrganizationApiKeysRevokeOutputMachineAccess.from_dict(data.get('machine_access')) if data.get('machine_access') else None, + deleted_at=datetime.fromisoformat(data.get('deleted_at').replace('Z', '+00:00')) if data.get('deleted_at') else None, + last_used_at=datetime.fromisoformat(data.get('last_used_at').replace('Z', '+00:00')) if data.get('last_used_at') else None, + expires_at=datetime.fromisoformat(data.get('expires_at').replace('Z', '+00:00')) if data.get('expires_at') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementOrganizationApiKeysRevokeOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/organization/api_keys/update.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/organization/api_keys/update.py new file mode 100644 index 00000000..13fb108c --- /dev/null +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/management/organization/api_keys/update.py @@ -0,0 +1,323 @@ +from dataclasses import dataclass +from typing import Any, Dict, List, Optional, Union +from datetime import datetime +import dataclasses + +@dataclass +class ManagementOrganizationApiKeysUpdateOutputMachineAccessActorTeams: + id: str + name: str + slug: str + assignment_id: str + created_at: datetime + updated_at: datetime +@dataclass +class ManagementOrganizationApiKeysUpdateOutputMachineAccessActor: + object: str + id: str + type: str + organization_id: str + name: str + image_url: str + teams: List[ManagementOrganizationApiKeysUpdateOutputMachineAccessActorTeams] + created_at: datetime + updated_at: datetime + email: Optional[str] = None +@dataclass +class ManagementOrganizationApiKeysUpdateOutputMachineAccessInstanceProject: + object: str + id: str + status: str + slug: str + name: str + organization_id: str + created_at: datetime + updated_at: datetime +@dataclass +class ManagementOrganizationApiKeysUpdateOutputMachineAccessInstance: + object: str + id: str + slug: str + name: str + organization_id: str + type: str + created_at: datetime + updated_at: datetime + project: ManagementOrganizationApiKeysUpdateOutputMachineAccessInstanceProject +@dataclass +class ManagementOrganizationApiKeysUpdateOutputMachineAccessOrganization: + object: str + id: str + type: str + slug: str + name: str + image_url: str + created_at: datetime + updated_at: datetime +@dataclass +class ManagementOrganizationApiKeysUpdateOutputMachineAccessUser: + object: str + id: str + status: str + type: str + email: str + name: str + first_name: str + last_name: str + image_url: str + created_at: datetime + updated_at: datetime +@dataclass +class ManagementOrganizationApiKeysUpdateOutputMachineAccess: + object: str + id: str + status: str + type: str + name: str + last_used_at: datetime + created_at: datetime + updated_at: datetime + deleted_at: datetime + actor: Optional[ManagementOrganizationApiKeysUpdateOutputMachineAccessActor] = None + instance: Optional[ManagementOrganizationApiKeysUpdateOutputMachineAccessInstance] = None + organization: Optional[ManagementOrganizationApiKeysUpdateOutputMachineAccessOrganization] = None + user: Optional[ManagementOrganizationApiKeysUpdateOutputMachineAccessUser] = None +@dataclass +class ManagementOrganizationApiKeysUpdateOutput: + object: str + id: str + status: str + secret_redacted: str + type: str + name: str + ip_filters: List[str] + machine_access: ManagementOrganizationApiKeysUpdateOutputMachineAccess + created_at: datetime + updated_at: datetime + secret: Optional[str] = None + description: Optional[str] = None + deleted_at: Optional[datetime] = None + last_used_at: Optional[datetime] = None + expires_at: Optional[datetime] = None + + +class mapManagementOrganizationApiKeysUpdateOutputMachineAccessActorTeams: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementOrganizationApiKeysUpdateOutputMachineAccessActorTeams: + return ManagementOrganizationApiKeysUpdateOutputMachineAccessActorTeams( + id=data.get('id'), + name=data.get('name'), + slug=data.get('slug'), + assignment_id=data.get('assignment_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementOrganizationApiKeysUpdateOutputMachineAccessActorTeams, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementOrganizationApiKeysUpdateOutputMachineAccessActor: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementOrganizationApiKeysUpdateOutputMachineAccessActor: + return ManagementOrganizationApiKeysUpdateOutputMachineAccessActor( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + organization_id=data.get('organization_id'), + name=data.get('name'), + email=data.get('email'), + image_url=data.get('image_url'), + teams=[mapManagementOrganizationApiKeysUpdateOutputMachineAccessActorTeams.from_dict(item) for item in data.get('teams', []) if item], + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementOrganizationApiKeysUpdateOutputMachineAccessActor, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementOrganizationApiKeysUpdateOutputMachineAccessInstanceProject: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementOrganizationApiKeysUpdateOutputMachineAccessInstanceProject: + return ManagementOrganizationApiKeysUpdateOutputMachineAccessInstanceProject( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + slug=data.get('slug'), + name=data.get('name'), + organization_id=data.get('organization_id'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementOrganizationApiKeysUpdateOutputMachineAccessInstanceProject, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementOrganizationApiKeysUpdateOutputMachineAccessInstance: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementOrganizationApiKeysUpdateOutputMachineAccessInstance: + return ManagementOrganizationApiKeysUpdateOutputMachineAccessInstance( + object=data.get('object'), + id=data.get('id'), + slug=data.get('slug'), + name=data.get('name'), + organization_id=data.get('organization_id'), + type=data.get('type'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + project=mapManagementOrganizationApiKeysUpdateOutputMachineAccessInstanceProject.from_dict(data.get('project')) if data.get('project') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementOrganizationApiKeysUpdateOutputMachineAccessInstance, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementOrganizationApiKeysUpdateOutputMachineAccessOrganization: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementOrganizationApiKeysUpdateOutputMachineAccessOrganization: + return ManagementOrganizationApiKeysUpdateOutputMachineAccessOrganization( + object=data.get('object'), + id=data.get('id'), + type=data.get('type'), + slug=data.get('slug'), + name=data.get('name'), + image_url=data.get('image_url'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementOrganizationApiKeysUpdateOutputMachineAccessOrganization, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementOrganizationApiKeysUpdateOutputMachineAccessUser: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementOrganizationApiKeysUpdateOutputMachineAccessUser: + return ManagementOrganizationApiKeysUpdateOutputMachineAccessUser( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + type=data.get('type'), + email=data.get('email'), + name=data.get('name'), + first_name=data.get('first_name'), + last_name=data.get('last_name'), + image_url=data.get('image_url'), + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementOrganizationApiKeysUpdateOutputMachineAccessUser, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementOrganizationApiKeysUpdateOutputMachineAccess: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementOrganizationApiKeysUpdateOutputMachineAccess: + return ManagementOrganizationApiKeysUpdateOutputMachineAccess( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + type=data.get('type'), + name=data.get('name'), + last_used_at=datetime.fromisoformat(data.get('last_used_at').replace('Z', '+00:00')) if data.get('last_used_at') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None, + deleted_at=datetime.fromisoformat(data.get('deleted_at').replace('Z', '+00:00')) if data.get('deleted_at') else None, + actor=mapManagementOrganizationApiKeysUpdateOutputMachineAccessActor.from_dict(data.get('actor')) if data.get('actor') else None, + instance=mapManagementOrganizationApiKeysUpdateOutputMachineAccessInstance.from_dict(data.get('instance')) if data.get('instance') else None, + organization=mapManagementOrganizationApiKeysUpdateOutputMachineAccessOrganization.from_dict(data.get('organization')) if data.get('organization') else None, + user=mapManagementOrganizationApiKeysUpdateOutputMachineAccessUser.from_dict(data.get('user')) if data.get('user') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementOrganizationApiKeysUpdateOutputMachineAccess, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + return dataclasses.asdict(value) + +class mapManagementOrganizationApiKeysUpdateOutput: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementOrganizationApiKeysUpdateOutput: + return ManagementOrganizationApiKeysUpdateOutput( + object=data.get('object'), + id=data.get('id'), + status=data.get('status'), + secret_redacted=data.get('secret_redacted'), + secret=data.get('secret'), + type=data.get('type'), + name=data.get('name'), + description=data.get('description'), + ip_filters=data.get('ip_filters', []), + machine_access=mapManagementOrganizationApiKeysUpdateOutputMachineAccess.from_dict(data.get('machine_access')) if data.get('machine_access') else None, + deleted_at=datetime.fromisoformat(data.get('deleted_at').replace('Z', '+00:00')) if data.get('deleted_at') else None, + last_used_at=datetime.fromisoformat(data.get('last_used_at').replace('Z', '+00:00')) if data.get('last_used_at') else None, + expires_at=datetime.fromisoformat(data.get('expires_at').replace('Z', '+00:00')) if data.get('expires_at') else None, + created_at=datetime.fromisoformat(data.get('created_at').replace('Z', '+00:00')) if data.get('created_at') else None, + updated_at=datetime.fromisoformat(data.get('updated_at').replace('Z', '+00:00')) if data.get('updated_at') else None + ) + + @staticmethod + def to_dict(value: Union[ManagementOrganizationApiKeysUpdateOutput, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + +@dataclass +class ManagementOrganizationApiKeysUpdateBody: + name: Optional[str] = None + description: Optional[str] = None + expires_at: Optional[datetime] = None + ip_filters: Optional[List[str]] = None + + +class mapManagementOrganizationApiKeysUpdateBody: + @staticmethod + def from_dict(data: Dict[str, Any]) -> ManagementOrganizationApiKeysUpdateBody: + return ManagementOrganizationApiKeysUpdateBody( + name=data.get('name'), + description=data.get('description'), + expires_at=datetime.fromisoformat(data.get('expires_at').replace('Z', '+00:00')) if data.get('expires_at') else None, + ip_filters=data.get('ip_filters', []) + ) + + @staticmethod + def to_dict(value: Union[ManagementOrganizationApiKeysUpdateBody, Dict[str, Any], None]) -> Optional[Dict[str, Any]]: + if value is None: + return None + if isinstance(value, dict): + return value + # assume dataclass for generated models + return dataclasses.asdict(value) + diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/provider_deployments/auth_configs/list.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/provider_deployments/auth_configs/list.py index 1541722a..e737cffe 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/provider_deployments/auth_configs/list.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/provider_deployments/auth_configs/list.py @@ -297,6 +297,10 @@ class ProviderDeploymentsAuthConfigsListQuery: provider_deployment_id: Optional[Union[str, List[str]]] = None provider_auth_credentials_id: Optional[Union[str, List[str]]] = None provider_auth_method_id: Optional[Union[str, List[str]]] = None + actor_id: Optional[Union[str, List[str]]] = None + consumer_id: Optional[Union[str, List[str]]] = None + identity_id: Optional[Union[str, List[str]]] = None + identity_credential_id: Optional[Union[str, List[str]]] = None search: Optional[str] = None created_at: Optional[ProviderDeploymentsAuthConfigsListQueryCreatedAt] = None updated_at: Optional[ProviderDeploymentsAuthConfigsListQueryUpdatedAt] = None @@ -317,6 +321,10 @@ def from_dict(data: Dict[str, Any]) -> ProviderDeploymentsAuthConfigsListQuery: provider_deployment_id=data.get('provider_deployment_id'), provider_auth_credentials_id=data.get('provider_auth_credentials_id'), provider_auth_method_id=data.get('provider_auth_method_id'), + actor_id=data.get('actor_id'), + consumer_id=data.get('consumer_id'), + identity_id=data.get('identity_id'), + identity_credential_id=data.get('identity_credential_id'), search=data.get('search'), created_at=mapProviderDeploymentsAuthConfigsListQueryCreatedAt.from_dict(data.get('created_at')) if data.get('created_at') else None, updated_at=mapProviderDeploymentsAuthConfigsListQueryUpdatedAt.from_dict(data.get('updated_at')) if data.get('updated_at') else None diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/provider_deployments/configs/list.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/provider_deployments/configs/list.py index dc37ee06..de115a29 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/provider_deployments/configs/list.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/provider_deployments/configs/list.py @@ -211,6 +211,10 @@ class ProviderDeploymentsConfigsListQuery: provider_specification_id: Optional[Union[str, List[str]]] = None provider_deployment_id: Optional[Union[str, List[str]]] = None provider_config_vault_id: Optional[Union[str, List[str]]] = None + actor_id: Optional[Union[str, List[str]]] = None + consumer_id: Optional[Union[str, List[str]]] = None + identity_id: Optional[Union[str, List[str]]] = None + identity_credential_id: Optional[Union[str, List[str]]] = None search: Optional[str] = None created_at: Optional[ProviderDeploymentsConfigsListQueryCreatedAt] = None updated_at: Optional[ProviderDeploymentsConfigsListQueryUpdatedAt] = None @@ -231,6 +235,10 @@ def from_dict(data: Dict[str, Any]) -> ProviderDeploymentsConfigsListQuery: provider_specification_id=data.get('provider_specification_id'), provider_deployment_id=data.get('provider_deployment_id'), provider_config_vault_id=data.get('provider_config_vault_id'), + actor_id=data.get('actor_id'), + consumer_id=data.get('consumer_id'), + identity_id=data.get('identity_id'), + identity_credential_id=data.get('identity_credential_id'), search=data.get('search'), created_at=mapProviderDeploymentsConfigsListQueryCreatedAt.from_dict(data.get('created_at')) if data.get('created_at') else None, updated_at=mapProviderDeploymentsConfigsListQueryUpdatedAt.from_dict(data.get('updated_at')) if data.get('updated_at') else None diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/provider_deployments/list.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/provider_deployments/list.py index 1ab68dbf..0a4b0ee5 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/provider_deployments/list.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/provider_deployments/list.py @@ -176,6 +176,10 @@ class ProviderDeploymentsListQuery: id: Optional[Union[str, List[str]]] = None provider_id: Optional[Union[str, List[str]]] = None provider_version_id: Optional[Union[str, List[str]]] = None + actor_id: Optional[Union[str, List[str]]] = None + consumer_id: Optional[Union[str, List[str]]] = None + identity_id: Optional[Union[str, List[str]]] = None + identity_credential_id: Optional[Union[str, List[str]]] = None status: Optional[Union[str, List[str]]] = None search: Optional[str] = None created_at: Optional[ProviderDeploymentsListQueryCreatedAt] = None @@ -194,6 +198,10 @@ def from_dict(data: Dict[str, Any]) -> ProviderDeploymentsListQuery: id=data.get('id'), provider_id=data.get('provider_id'), provider_version_id=data.get('provider_version_id'), + actor_id=data.get('actor_id'), + consumer_id=data.get('consumer_id'), + identity_id=data.get('identity_id'), + identity_credential_id=data.get('identity_credential_id'), status=data.get('status'), search=data.get('search'), created_at=mapProviderDeploymentsListQueryCreatedAt.from_dict(data.get('created_at')) if data.get('created_at') else None, diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/provider_deployments/setup_sessions/create.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/provider_deployments/setup_sessions/create.py index 4cde5673..7cbbbfc1 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/provider_deployments/setup_sessions/create.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/provider_deployments/setup_sessions/create.py @@ -195,6 +195,8 @@ class ProviderDeploymentsSetupSessionsCreateOutput: metadata: Optional[Dict[str, Any]] = None configuration: Optional[Dict[str, Any]] = None provider_id: Optional[str] = None + identity_id: Optional[str] = None + identity_credential_id: Optional[str] = None auth_method: Optional[ProviderDeploymentsSetupSessionsCreateOutputAuthMethod] = None deployment: Optional[ProviderDeploymentsSetupSessionsCreateOutputDeployment] = None credentials: Optional[ProviderDeploymentsSetupSessionsCreateOutputCredentials] = None @@ -597,6 +599,8 @@ def from_dict(data: Dict[str, Any]) -> ProviderDeploymentsSetupSessionsCreateOut metadata=data.get('metadata'), configuration=data.get('configuration'), provider_id=data.get('provider_id'), + identity_id=data.get('identity_id'), + identity_credential_id=data.get('identity_credential_id'), auth_method=mapProviderDeploymentsSetupSessionsCreateOutputAuthMethod.from_dict(data.get('auth_method')) if data.get('auth_method') else None, deployment=mapProviderDeploymentsSetupSessionsCreateOutputDeployment.from_dict(data.get('deployment')) if data.get('deployment') else None, credentials=mapProviderDeploymentsSetupSessionsCreateOutputCredentials.from_dict(data.get('credentials')) if data.get('credentials') else None, @@ -652,6 +656,7 @@ class ProviderDeploymentsSetupSessionsCreateBody: metadata: Optional[Dict[str, Any]] = None provider_auth_method_id: Optional[str] = None provider_auth_credentials_id: Optional[str] = None + identity_id: Optional[str] = None redirect_url: Optional[str] = None configuration: Optional[ProviderDeploymentsSetupSessionsCreateBodyConfiguration] = None @@ -776,6 +781,7 @@ def from_dict(data: Dict[str, Any]) -> ProviderDeploymentsSetupSessionsCreateBod metadata=data.get('metadata'), provider_auth_method_id=data.get('provider_auth_method_id'), provider_auth_credentials_id=data.get('provider_auth_credentials_id'), + identity_id=data.get('identity_id'), redirect_url=data.get('redirect_url'), configuration=mapProviderDeploymentsSetupSessionsCreateBodyConfiguration.from_dict(data.get('configuration')) if data.get('configuration') else None ) diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/provider_deployments/setup_sessions/delete.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/provider_deployments/setup_sessions/delete.py index eaf71f2f..8c2b4223 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/provider_deployments/setup_sessions/delete.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/provider_deployments/setup_sessions/delete.py @@ -195,6 +195,8 @@ class ProviderDeploymentsSetupSessionsDeleteOutput: metadata: Optional[Dict[str, Any]] = None configuration: Optional[Dict[str, Any]] = None provider_id: Optional[str] = None + identity_id: Optional[str] = None + identity_credential_id: Optional[str] = None auth_method: Optional[ProviderDeploymentsSetupSessionsDeleteOutputAuthMethod] = None deployment: Optional[ProviderDeploymentsSetupSessionsDeleteOutputDeployment] = None credentials: Optional[ProviderDeploymentsSetupSessionsDeleteOutputCredentials] = None @@ -597,6 +599,8 @@ def from_dict(data: Dict[str, Any]) -> ProviderDeploymentsSetupSessionsDeleteOut metadata=data.get('metadata'), configuration=data.get('configuration'), provider_id=data.get('provider_id'), + identity_id=data.get('identity_id'), + identity_credential_id=data.get('identity_credential_id'), auth_method=mapProviderDeploymentsSetupSessionsDeleteOutputAuthMethod.from_dict(data.get('auth_method')) if data.get('auth_method') else None, deployment=mapProviderDeploymentsSetupSessionsDeleteOutputDeployment.from_dict(data.get('deployment')) if data.get('deployment') else None, credentials=mapProviderDeploymentsSetupSessionsDeleteOutputCredentials.from_dict(data.get('credentials')) if data.get('credentials') else None, diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/provider_deployments/setup_sessions/get.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/provider_deployments/setup_sessions/get.py index bf37e32c..92ffee90 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/provider_deployments/setup_sessions/get.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/provider_deployments/setup_sessions/get.py @@ -195,6 +195,8 @@ class ProviderDeploymentsSetupSessionsGetOutput: metadata: Optional[Dict[str, Any]] = None configuration: Optional[Dict[str, Any]] = None provider_id: Optional[str] = None + identity_id: Optional[str] = None + identity_credential_id: Optional[str] = None auth_method: Optional[ProviderDeploymentsSetupSessionsGetOutputAuthMethod] = None deployment: Optional[ProviderDeploymentsSetupSessionsGetOutputDeployment] = None credentials: Optional[ProviderDeploymentsSetupSessionsGetOutputCredentials] = None @@ -597,6 +599,8 @@ def from_dict(data: Dict[str, Any]) -> ProviderDeploymentsSetupSessionsGetOutput metadata=data.get('metadata'), configuration=data.get('configuration'), provider_id=data.get('provider_id'), + identity_id=data.get('identity_id'), + identity_credential_id=data.get('identity_credential_id'), auth_method=mapProviderDeploymentsSetupSessionsGetOutputAuthMethod.from_dict(data.get('auth_method')) if data.get('auth_method') else None, deployment=mapProviderDeploymentsSetupSessionsGetOutputDeployment.from_dict(data.get('deployment')) if data.get('deployment') else None, credentials=mapProviderDeploymentsSetupSessionsGetOutputCredentials.from_dict(data.get('credentials')) if data.get('credentials') else None, diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/provider_deployments/setup_sessions/list.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/provider_deployments/setup_sessions/list.py index 802cd745..e06e4df7 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/provider_deployments/setup_sessions/list.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/provider_deployments/setup_sessions/list.py @@ -195,6 +195,8 @@ class ProviderDeploymentsSetupSessionsListOutputItems: metadata: Optional[Dict[str, Any]] = None configuration: Optional[Dict[str, Any]] = None provider_id: Optional[str] = None + identity_id: Optional[str] = None + identity_credential_id: Optional[str] = None auth_method: Optional[ProviderDeploymentsSetupSessionsListOutputItemsAuthMethod] = None deployment: Optional[ProviderDeploymentsSetupSessionsListOutputItemsDeployment] = None credentials: Optional[ProviderDeploymentsSetupSessionsListOutputItemsCredentials] = None @@ -605,6 +607,8 @@ def from_dict(data: Dict[str, Any]) -> ProviderDeploymentsSetupSessionsListOutpu metadata=data.get('metadata'), configuration=data.get('configuration'), provider_id=data.get('provider_id'), + identity_id=data.get('identity_id'), + identity_credential_id=data.get('identity_credential_id'), auth_method=mapProviderDeploymentsSetupSessionsListOutputItemsAuthMethod.from_dict(data.get('auth_method')) if data.get('auth_method') else None, deployment=mapProviderDeploymentsSetupSessionsListOutputItemsDeployment.from_dict(data.get('deployment')) if data.get('deployment') else None, credentials=mapProviderDeploymentsSetupSessionsListOutputItemsCredentials.from_dict(data.get('credentials')) if data.get('credentials') else None, diff --git a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/provider_deployments/setup_sessions/update.py b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/provider_deployments/setup_sessions/update.py index 6ae2b371..ee8c5f5b 100644 --- a/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/provider_deployments/setup_sessions/update.py +++ b/src/metorial/_generated/src/mt_2026_01_01_magnetar/resources/provider_deployments/setup_sessions/update.py @@ -195,6 +195,8 @@ class ProviderDeploymentsSetupSessionsUpdateOutput: metadata: Optional[Dict[str, Any]] = None configuration: Optional[Dict[str, Any]] = None provider_id: Optional[str] = None + identity_id: Optional[str] = None + identity_credential_id: Optional[str] = None auth_method: Optional[ProviderDeploymentsSetupSessionsUpdateOutputAuthMethod] = None deployment: Optional[ProviderDeploymentsSetupSessionsUpdateOutputDeployment] = None credentials: Optional[ProviderDeploymentsSetupSessionsUpdateOutputCredentials] = None @@ -597,6 +599,8 @@ def from_dict(data: Dict[str, Any]) -> ProviderDeploymentsSetupSessionsUpdateOut metadata=data.get('metadata'), configuration=data.get('configuration'), provider_id=data.get('provider_id'), + identity_id=data.get('identity_id'), + identity_credential_id=data.get('identity_credential_id'), auth_method=mapProviderDeploymentsSetupSessionsUpdateOutputAuthMethod.from_dict(data.get('auth_method')) if data.get('auth_method') else None, deployment=mapProviderDeploymentsSetupSessionsUpdateOutputDeployment.from_dict(data.get('deployment')) if data.get('deployment') else None, credentials=mapProviderDeploymentsSetupSessionsUpdateOutputCredentials.from_dict(data.get('credentials')) if data.get('credentials') else None, @@ -623,6 +627,7 @@ class ProviderDeploymentsSetupSessionsUpdateBody: name: Optional[str] = None description: Optional[str] = None metadata: Optional[Dict[str, Any]] = None + identity_id: Optional[str] = None class mapProviderDeploymentsSetupSessionsUpdateBody: @@ -631,7 +636,8 @@ def from_dict(data: Dict[str, Any]) -> ProviderDeploymentsSetupSessionsUpdateBod return ProviderDeploymentsSetupSessionsUpdateBody( name=data.get('name'), description=data.get('description'), - metadata=data.get('metadata') + metadata=data.get('metadata'), + identity_id=data.get('identity_id') ) @staticmethod