# coding: utf-8

"""
    Seeq REST API

    No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen)  # noqa: E501

    OpenAPI spec version: 66.119.1-v202603241138-CD
    
    Generated by: https://github.com/swagger-api/swagger-codegen.git
"""

from __future__ import annotations

from typing import Any, ClassVar, Dict, List, Optional, Set, TYPE_CHECKING

if TYPE_CHECKING:
    from . import *  # noqa: F401,F403


class UserOutputV1(object):
    swagger_types: ClassVar[Dict[str, str]] = ...
    attribute_map: ClassVar[Dict[str, str]] = ...

    _access_key_validity_duration: Optional[int]
    _agent_provisioning_at: Optional[str]
    _agent_provisioning_source_address: Optional[str]
    _agent_provisioning_status: Optional[str]
    _capabilities: Optional[List[str]]
    _capability_grants: Optional[List[CapabilityInheritanceOutputV1]]
    _created_at: Optional[str]
    _datasource_name: Optional[str]
    _description: Optional[str]
    _effective_access_key_validity_duration: Optional[ScalarValueOutputV1]
    _effective_permissions: Optional[PermissionsV1]
    _effective_session_duration: Optional[ScalarValueOutputV1]
    _email: Optional[str]
    _first_name: Optional[str]
    _groups: Optional[List[IdentityPreviewV1]]
    _id: str
    _is_active: Optional[bool]
    _is_admin: Optional[bool]
    _is_archived: Optional[bool]
    _is_enabled: Optional[bool]
    _is_manager: Optional[bool]
    _is_password_settable: Optional[bool]
    _is_redacted: Optional[bool]
    _is_trusted: Optional[bool]
    _last_login_at: Optional[str]
    _last_name: Optional[str]
    _last_password_changed_at: Optional[str]
    _manager: Optional[IdentityPreviewV1]
    _max_requests: Optional[int]
    _name: str
    _password_expiry_status: Optional[str]
    _require_password_reset_on_next_login: Optional[bool]
    _role: Optional[str]
    _session_duration: Optional[int]
    _site: Optional[str]
    _status_message: Optional[str]
    _template_workstep_id: Optional[str]
    _translation_key: Optional[str]
    _type: str
    _username: Optional[str]
    _workbench: Optional[str]


    def __init__(
        self,
        access_key_validity_duration: Optional[int] = None,
        agent_provisioning_at: Optional[str] = None,
        agent_provisioning_source_address: Optional[str] = None,
        agent_provisioning_status: Optional[str] = None,
        capabilities: Optional[List[str]] = None,
        capability_grants: Optional[List[CapabilityInheritanceOutputV1]] = None,
        created_at: Optional[str] = None,
        datasource_name: Optional[str] = None,
        description: Optional[str] = None,
        effective_access_key_validity_duration: Optional[ScalarValueOutputV1] = None,
        effective_permissions: Optional[PermissionsV1] = None,
        effective_session_duration: Optional[ScalarValueOutputV1] = None,
        email: Optional[str] = None,
        first_name: Optional[str] = None,
        groups: Optional[List[IdentityPreviewV1]] = None,
        id: Optional[str] = None,
        is_active: Optional[bool] = False,
        is_admin: Optional[bool] = None,
        is_archived: Optional[bool] = False,
        is_enabled: Optional[bool] = False,
        is_manager: Optional[bool] = None,
        is_password_settable: Optional[bool] = False,
        is_redacted: Optional[bool] = False,
        is_trusted: Optional[bool] = None,
        last_login_at: Optional[str] = None,
        last_name: Optional[str] = None,
        last_password_changed_at: Optional[str] = None,
        manager: Optional[IdentityPreviewV1] = None,
        max_requests: Optional[int] = None,
        name: Optional[str] = None,
        password_expiry_status: Optional[str] = None,
        require_password_reset_on_next_login: Optional[bool] = None,
        role: Optional[str] = None,
        session_duration: Optional[int] = None,
        site: Optional[str] = None,
        status_message: Optional[str] = None,
        template_workstep_id: Optional[str] = None,
        translation_key: Optional[str] = None,
        type: Optional[str] = None,
        username: Optional[str] = None,
        workbench: Optional[str] = None,
    ) -> None: ...

    @property
    def access_key_validity_duration(self) -> Optional[int]: ...

    @access_key_validity_duration.setter
    def access_key_validity_duration(self, access_key_validity_duration: Optional[int]) -> None: ...

    @property
    def agent_provisioning_at(self) -> Optional[str]: ...

    @agent_provisioning_at.setter
    def agent_provisioning_at(self, agent_provisioning_at: Optional[str]) -> None: ...

    @property
    def agent_provisioning_source_address(self) -> Optional[str]: ...

    @agent_provisioning_source_address.setter
    def agent_provisioning_source_address(self, agent_provisioning_source_address: Optional[str]) -> None: ...

    @property
    def agent_provisioning_status(self) -> Optional[str]: ...

    @agent_provisioning_status.setter
    def agent_provisioning_status(self, agent_provisioning_status: Optional[str]) -> None: ...

    @property
    def capabilities(self) -> Optional[List[str]]: ...

    @capabilities.setter
    def capabilities(self, capabilities: Optional[List[str]]) -> None: ...

    @property
    def capability_grants(self) -> Optional[List[CapabilityInheritanceOutputV1]]: ...

    @capability_grants.setter
    def capability_grants(self, capability_grants: Optional[List[CapabilityInheritanceOutputV1]]) -> None: ...

    @property
    def created_at(self) -> Optional[str]: ...

    @created_at.setter
    def created_at(self, created_at: Optional[str]) -> None: ...

    @property
    def datasource_name(self) -> Optional[str]: ...

    @datasource_name.setter
    def datasource_name(self, datasource_name: Optional[str]) -> None: ...

    @property
    def description(self) -> Optional[str]: ...

    @description.setter
    def description(self, description: Optional[str]) -> None: ...

    @property
    def effective_access_key_validity_duration(self) -> Optional[ScalarValueOutputV1]: ...

    @effective_access_key_validity_duration.setter
    def effective_access_key_validity_duration(self, effective_access_key_validity_duration: Optional[ScalarValueOutputV1]) -> None: ...

    @property
    def effective_permissions(self) -> Optional[PermissionsV1]: ...

    @effective_permissions.setter
    def effective_permissions(self, effective_permissions: Optional[PermissionsV1]) -> None: ...

    @property
    def effective_session_duration(self) -> Optional[ScalarValueOutputV1]: ...

    @effective_session_duration.setter
    def effective_session_duration(self, effective_session_duration: Optional[ScalarValueOutputV1]) -> None: ...

    @property
    def email(self) -> Optional[str]: ...

    @email.setter
    def email(self, email: Optional[str]) -> None: ...

    @property
    def first_name(self) -> Optional[str]: ...

    @first_name.setter
    def first_name(self, first_name: Optional[str]) -> None: ...

    @property
    def groups(self) -> Optional[List[IdentityPreviewV1]]: ...

    @groups.setter
    def groups(self, groups: Optional[List[IdentityPreviewV1]]) -> None: ...

    @property
    def id(self) -> str: ...

    @id.setter
    def id(self, id: str) -> None: ...

    @property
    def is_active(self) -> Optional[bool]: ...

    @is_active.setter
    def is_active(self, is_active: Optional[bool]) -> None: ...

    @property
    def is_admin(self) -> Optional[bool]: ...

    @is_admin.setter
    def is_admin(self, is_admin: Optional[bool]) -> None: ...

    @property
    def is_archived(self) -> Optional[bool]: ...

    @is_archived.setter
    def is_archived(self, is_archived: Optional[bool]) -> None: ...

    @property
    def is_enabled(self) -> Optional[bool]: ...

    @is_enabled.setter
    def is_enabled(self, is_enabled: Optional[bool]) -> None: ...

    @property
    def is_manager(self) -> Optional[bool]: ...

    @is_manager.setter
    def is_manager(self, is_manager: Optional[bool]) -> None: ...

    @property
    def is_password_settable(self) -> Optional[bool]: ...

    @is_password_settable.setter
    def is_password_settable(self, is_password_settable: Optional[bool]) -> None: ...

    @property
    def is_redacted(self) -> Optional[bool]: ...

    @is_redacted.setter
    def is_redacted(self, is_redacted: Optional[bool]) -> None: ...

    @property
    def is_trusted(self) -> Optional[bool]: ...

    @is_trusted.setter
    def is_trusted(self, is_trusted: Optional[bool]) -> None: ...

    @property
    def last_login_at(self) -> Optional[str]: ...

    @last_login_at.setter
    def last_login_at(self, last_login_at: Optional[str]) -> None: ...

    @property
    def last_name(self) -> Optional[str]: ...

    @last_name.setter
    def last_name(self, last_name: Optional[str]) -> None: ...

    @property
    def last_password_changed_at(self) -> Optional[str]: ...

    @last_password_changed_at.setter
    def last_password_changed_at(self, last_password_changed_at: Optional[str]) -> None: ...

    @property
    def manager(self) -> Optional[IdentityPreviewV1]: ...

    @manager.setter
    def manager(self, manager: Optional[IdentityPreviewV1]) -> None: ...

    @property
    def max_requests(self) -> Optional[int]: ...

    @max_requests.setter
    def max_requests(self, max_requests: Optional[int]) -> None: ...

    @property
    def name(self) -> str: ...

    @name.setter
    def name(self, name: str) -> None: ...

    @property
    def password_expiry_status(self) -> Optional[str]: ...

    @password_expiry_status.setter
    def password_expiry_status(self, password_expiry_status: Optional[str]) -> None: ...

    @property
    def require_password_reset_on_next_login(self) -> Optional[bool]: ...

    @require_password_reset_on_next_login.setter
    def require_password_reset_on_next_login(self, require_password_reset_on_next_login: Optional[bool]) -> None: ...

    @property
    def role(self) -> Optional[str]: ...

    @role.setter
    def role(self, role: Optional[str]) -> None: ...

    @property
    def session_duration(self) -> Optional[int]: ...

    @session_duration.setter
    def session_duration(self, session_duration: Optional[int]) -> None: ...

    @property
    def site(self) -> Optional[str]: ...

    @site.setter
    def site(self, site: Optional[str]) -> None: ...

    @property
    def status_message(self) -> Optional[str]: ...

    @status_message.setter
    def status_message(self, status_message: Optional[str]) -> None: ...

    @property
    def template_workstep_id(self) -> Optional[str]: ...

    @template_workstep_id.setter
    def template_workstep_id(self, template_workstep_id: Optional[str]) -> None: ...

    @property
    def translation_key(self) -> Optional[str]: ...

    @translation_key.setter
    def translation_key(self, translation_key: Optional[str]) -> None: ...

    @property
    def type(self) -> str: ...

    @type.setter
    def type(self, type: str) -> None: ...

    @property
    def username(self) -> Optional[str]: ...

    @username.setter
    def username(self, username: Optional[str]) -> None: ...

    @property
    def workbench(self) -> Optional[str]: ...

    @workbench.setter
    def workbench(self, workbench: Optional[str]) -> None: ...

    def to_dict(self) -> Dict[str, Any]: ...
    def to_str(self) -> str: ...
    def __repr__(self) -> str: ...
    def __eq__(self, other: object) -> bool: ...
    def __ne__(self, other: object) -> bool: ...
