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

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


@JsonMap(
    {"permission_sets": "permissionSets", "hris_org_structure_id": "hrisOrgStructureId"}
)
class RoleToCreateContainerData(BaseModel):
    """RoleToCreateContainerData

    :param name: name
    :type name: str
    :param scope: scope
    :type scope: str
    :param description: description
    :type description: str
    :param permission_sets: permission_sets
    :type permission_sets: List[str]
    :param hris_org_structure_id: hris_org_structure_id, defaults to None
    :type hris_org_structure_id: str, optional
    """

    def __init__(
        self,
        name: str,
        scope: str,
        description: str,
        permission_sets: List[str],
        hris_org_structure_id: str = None,
    ):
        self.name = name
        self.scope = scope
        self.description = description
        self.permission_sets = permission_sets
        if hris_org_structure_id is not None:
            self.hris_org_structure_id = hris_org_structure_id


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

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

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