Skip to main content

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.