iam
Pydantic models for IAM (Identity and Access Management) service.
class LoginRequest(*, handle: Optional[str] = None, password: Optional[str] = None, token: Optional[str] = None) -> None
Login request model.
class ProxyRequest(*, request_method: str, request_url: str, request_token: str, request_body: Optional[Dict[str, Any]] = None) -> None
Proxy request model.
class JoinRequest(*, handle: str, email: pydantic.networks.EmailStr, firstName: str, lastName: str, password: str, passwordConfirm: str) -> None
Request to join platform.
class JoinWithInviteRequest(*, invite_token: str, handle: str, email: pydantic.networks.EmailStr, firstName: str, lastName: str, password: str, passwordConfirm: str) -> None
Join with invite token request.
class PasswordResetRequest(*, handle: str) -> None
Password reset request model.
class PasswordResetConfirm(*, new_password: str, confirm_password: str) -> None
Password reset confirmation model.
class EmailUpdateRequest(*, new_email: pydantic.networks.EmailStr) -> None
Email update request model.
class EmailUpdateConfirm(*, confirmation_token: str) -> None
Email update confirmation model.
class UserModel(*, id: str, uid: str, handle_s: str, email_s: Optional[pydantic.networks.EmailStr] = None, first_name_t: str, last_name_t: str, type_s: str, origin_s: Optional[str] = None, creation_ts_dt: Union[str, datetime.datetime, NoneType] = None, join_request_ts_dt: Union[str, datetime.datetime, NoneType] = None, join_ts_dt: Union[str, datetime.datetime, NoneType] = None, last_update_ts_dt: Union[str, datetime.datetime, NoneType] = None, roles_ss: Optional[List[str]] = <factory>, avatar_url_s: Optional[str] = None, linked_contact_uid: Optional[str] = None, onboarding_s: Optional[str] = None, mfa_secret_s: Optional[str] = None, mfa_url_s: Optional[str] = None, unsubscribed_from_outbounds_b: Optional[bool] = None, email_token_s: Optional[str] = None, email_update_s: Optional[str] = None, events: Optional[List[Dict[str, Any]]] = None, settings: Optional[Dict[str, Any]] = None) -> None
User data model that combines IAM user information with profile functionality.
handle
Get user handle for profile compatibility.
Returns
-
str
The user's handle.
email
Get user email for profile compatibility.
Returns
-
Optional[str]
The user's email address or None if not set.
first_name
Get user first name for profile compatibility.
Returns
-
str
The user's first name.
last_name
Get user last name for profile compatibility.
Returns
-
str
The user's last name.
display_name
Get display name (defaults to handle).
Returns
-
str
The user's display name.
roles
Get user roles for profile compatibility.
Returns
-
List[str]
List of user roles.
from_data(data: Dict[str, Any]) -> 'UserModel'
Create a UserData instance from raw data dictionary.
Parameters
-
data : Dict[str, Any]
Raw data dictionary containing user information.
Returns
-
UserModel
A UserModel instance created from the provided data.
class UserProfileModel(*, firstName: Optional[str] = None, lastName: Optional[str] = None, display_name: Optional[str] = None) -> None
User profile update model.
class UserOnboardingModel(*, completed_steps: List[str] = <factory>, current_step: Optional[str] = None, metadata: Optional[Dict[str, Any]] = <factory>) -> None
User onboarding data model.
class UserSettingsModel(*, preferences: Optional[Dict[str, Any]] = <factory>, notifications: Optional[Dict[str, bool]] = <factory>, theme: Optional[str] = None) -> None
User settings model.
class UserSearchRequest(*, namingPattern: Optional[str] = None, email: Optional[pydantic.networks.EmailStr] = None, handle: Optional[str] = None, roles: Optional[List[str]] = None, limit: typing.Annotated[int, Ge(ge=1), Le(le=100)] = 10, offset: typing.Annotated[int, Ge(ge=0)] = 0) -> None
User search request model.
class OrganizationMember(*, id: str, uid: str, type_s: str, handle_s: str, first_name_t: str, last_name_t: str, email_s: pydantic.networks.EmailStr, roles_ss: List[str] = <factory>) -> None
Organization member model.
class OrganizationData(*, id: str, uid: str, type_s: str, handle_s: str, name_t: str, description_t: Optional[str] = None, public_b: bool = False, members: List[datalayer_core.models.iam.OrganizationMember] = <factory>) -> None
Organization data model.
class OrganizationRequest(*, handle: str, name: str, description: Optional[str] = None, public: bool = False, type: str = 'organization') -> None
Organization create/update request model.
class TeamMember(*, id: str, uid: str, type_s: str, handle_s: str, first_name_t: str, last_name_t: str, email_s: pydantic.networks.EmailStr, roles_ss: List[str] = <factory>) -> None
Team member model.
class TeamData(*, id: str, uid: str, handle_s: str, name_t: str, description_t: Optional[str] = None, members: List[datalayer_core.models.iam.TeamMember] = <factory>) -> None
Team data model.
class TeamRequest(*, handle: str, name: str, description: Optional[str] = None, organization_id: str) -> None
Team create/update request model.
class ResourceRequirements(*, cpu: Optional[str] = None, memory: Optional[str] = None, nvidia_gpu: Optional[str] = None) -> None
Kubernetes pod resource requirements.
class CreditsData(*, credits: float, quota: Optional[float] = None, last_update: Union[str, datetime.datetime]) -> None
Credits data model.
class ReservationData(*, id: str, account_uid: str, credits: float, resource: str, resource_type: str, last_update: datetime.datetime, burning_rate: float, start_date: datetime.datetime) -> None
Reservation data model.
class UsageData(*, account_uid: str, resource_uid: str, resource_type: str, resource_given_name: str, start_date: datetime.datetime, end_date: Optional[datetime.datetime] = None, updated_at: datetime.datetime, pod_resources: Optional[datalayer_core.models.iam.ResourceRequirements] = None, burning_rate: float, credits_limit: float, credits: float, metadata: Optional[Dict[str, Any]] = <factory>) -> None
Usage data model.
class CreditsUpdateRequest(*, credits: float, operation: Optional[str] = 'set') -> None
Credits update request model.
class QuotaUpdateRequest(*, quota: float, user_uid: Optional[str] = None) -> None
Quota update request model.
class ReservationRequest(*, resource: str, resource_type: str, credits: float, account_uid: str, burning_rate: Optional[float] = None) -> None
Reservation create request model.
class CheckoutPortalRequest(*, return_url: str) -> None
Checkout portal request model.
class CheckoutPortalModel(*, url: str, route: str, is_modal: bool = False, metadata: Optional[Dict[str, Any]] = <factory>) -> None
Checkout portal response data.
class SecretModel(*, id: str, uid: str, variant_s: str, name_s: str, description_t: Optional[str] = None, value_s: str) -> None
Secret data model.
class TokenModel(*, id: str, uid: str, variant_s: str, name_s: str, description_t: Optional[str] = None, expiration_ts_dt: Optional[datetime.datetime] = None) -> None
Token data model.
class DatasourceModel(*, id: str, uid: str, variant_s: str, name_s: str, description_t: Optional[str] = None, database_s: str, output_bucket_s: str) -> None
Datasource data model.
class LoginResponseData(*, user: datalayer_core.models.iam.UserModel, token: str) -> None
Login response data model.
class UserListResponseData(*, users: List[datalayer_core.models.iam.UserModel], total: int) -> None
User list response data model.
class OrganizationListResponseData(*, organizations: List[datalayer_core.models.iam.OrganizationData], total: int) -> None
Organization list response data model.
class TeamListResponseData(*, teams: List[datalayer_core.models.iam.TeamData], total: int) -> None
Team list response data model.
class ReservationListResponseData(*, reservations: List[datalayer_core.models.iam.ReservationData], total: int) -> None
Reservation list response data model.
ProfileModel(*, id: str, uid: str, handle_s: str, email_s: Optional[pydantic.networks.EmailStr] = None, first_name_t: str, last_name_t: str, type_s: str, origin_s: Optional[str] = None, creation_ts_dt: Union[str, datetime.datetime, NoneType] = None, join_request_ts_dt: Union[str, datetime.datetime, NoneType] = None, join_ts_dt: Union[str, datetime.datetime, NoneType] = None, last_update_ts_dt: Union[str, datetime.datetime, NoneType] = None, roles_ss: Optional[List[str]] = <factory>, avatar_url_s: Optional[str] = None, linked_contact_uid: Optional[str] = None, onboarding_s: Optional[str] = None, mfa_secret_s: Optional[str] = None, mfa_url_s: Optional[str] = None, unsubscribed_from_outbounds_b: Optional[bool] = None, email_token_s: Optional[str] = None, email_update_s: Optional[str] = None, events: Optional[List[Dict[str, Any]]] = None, settings: Optional[Dict[str, Any]] = None) -> None
User data model that combines IAM user information with profile functionality.