# This file was generated by liblab | https://liblab.com/

from typing import List
from .utils.json_map import JsonMap
from .base import BaseModel


@JsonMap({})
class Teams(BaseModel):
    """Teams

    :param name: name, defaults to None
    :type name: str, optional
    :param external_id: external_id, defaults to None
    :type external_id: str, optional
    """

    def __init__(self, name: str = None, external_id: str = None):
        if name is not None:
            self.name = name
        if external_id is not None:
            self.external_id = external_id


@JsonMap({})
class OrgStructureToCreateContainerData(BaseModel):
    """OrgStructureToCreateContainerData

    :param name: name, defaults to None
    :type name: str, optional
    :param teams: teams, defaults to None
    :type teams: List[Teams], optional
    :param external_id: external_id, defaults to None
    :type external_id: str, optional
    :param enable_roles: enable_roles, defaults to None
    :type enable_roles: bool, optional
    :param is_multiple_select: is_multiple_select, defaults to None
    :type is_multiple_select: bool, optional
    """

    def __init__(
        self,
        name: str = None,
        teams: List[Teams] = None,
        external_id: str = None,
        enable_roles: bool = None,
        is_multiple_select: bool = None,
    ):
        if name is not None:
            self.name = name
        if teams is not None:
            self.teams = self._define_list(teams, Teams)
        if external_id is not None:
            self.external_id = external_id
        if enable_roles is not None:
            self.enable_roles = enable_roles
        if is_multiple_select is not None:
            self.is_multiple_select = is_multiple_select


@JsonMap({})
class OrgStructureToCreateContainer(BaseModel):
    """OrgStructureToCreateContainer

    :param data: data, defaults to None
    :type data: OrgStructureToCreateContainerData, optional
    """

    def __init__(self, data: OrgStructureToCreateContainerData = None):
        if data is not None:
            self.data = self._define_object(data, OrgStructureToCreateContainerData)
