""" Code is generated by ucloud-model, DO NOT EDIT IT. """


from ucloud.core.typesystem import schema, fields
from ucloud.services.uaccount.schemas import models

""" UAccount API Schema
"""


"""
API: AddMemberToProject

添加成员到项目
"""


class AddMemberToProjectRequestSchema(schema.RequestSchema):
    """AddMemberToProject - 添加成员到项目"""

    fields = {
        "CharacterId": fields.Str(required=True, dump_to="CharacterId"),
        "MemberEmail": fields.Str(required=True, dump_to="MemberEmail"),
        "ProjectId": fields.Str(required=False, dump_to="ProjectId"),
    }


class AddMemberToProjectResponseSchema(schema.ResponseSchema):
    """AddMemberToProject - 添加成员到项目"""

    fields = {}


"""
API: CreateCharacter

创建角色
"""


class CreateCharacterRequestSchema(schema.RequestSchema):
    """CreateCharacter - 创建角色"""

    fields = {
        "Add": fields.List(fields.Str()),
        "CharacterDescription": fields.Str(
            required=False, dump_to="CharacterDescription"
        ),
        "CharacterName": fields.Str(required=True, dump_to="CharacterName"),
        "Del": fields.List(fields.Str()),
        "Get": fields.List(fields.Str()),
        "Mod": fields.List(fields.Str()),
    }


class CreateCharacterResponseSchema(schema.ResponseSchema):
    """CreateCharacter - 创建角色"""

    fields = {
        "CharacterId": fields.Str(required=True, load_from="CharacterId"),
    }


"""
API: CreateProject


"""


class CreateProjectRequestSchema(schema.RequestSchema):
    """CreateProject -"""

    fields = {
        "ProjectName": fields.Str(required=True, dump_to="ProjectName"),
    }


class CreateProjectResponseSchema(schema.ResponseSchema):
    """CreateProject -"""

    fields = {
        "ProjectId": fields.Str(required=True, load_from="ProjectId"),
    }


"""
API: DescribeCharacterList

获取角色列表
"""


class DescribeCharacterListRequestSchema(schema.RequestSchema):
    """DescribeCharacterList - 获取角色列表"""

    fields = {
        "Limit": fields.Int(required=False, dump_to="Limit"),
        "Offset": fields.Int(required=False, dump_to="Offset"),
    }


class DescribeCharacterListResponseSchema(schema.ResponseSchema):
    """DescribeCharacterList - 获取角色列表"""

    fields = {
        "CharacterSet": fields.List(
            models.CharacterSetSchema(), required=True, load_from="CharacterSet"
        ),
        "TotalCount": fields.Int(required=True, load_from="TotalCount"),
    }


"""
API: DescribeMemberList

获取成员列表，限主账号使用。
"""


class DescribeMemberListRequestSchema(schema.RequestSchema):
    """DescribeMemberList - 获取成员列表，限主账号使用。"""

    fields = {
        "Limit": fields.Str(required=False, dump_to="Limit"),
        "Offset": fields.Str(required=False, dump_to="Offset"),
        "ProjectId": fields.Str(required=False, dump_to="ProjectId"),
    }


class DescribeMemberListResponseSchema(schema.ResponseSchema):
    """DescribeMemberList - 获取成员列表，限主账号使用。"""

    fields = {
        "MemberSet": fields.List(
            models.MemberInfoSchema(), required=True, load_from="MemberSet"
        ),
        "TotalCount": fields.Int(required=True, load_from="TotalCount"),
    }


"""
API: FreezeMember

冻结成员
"""


class FreezeMemberRequestSchema(schema.RequestSchema):
    """FreezeMember - 冻结成员"""

    fields = {
        "MemberEmail": fields.Str(required=True, dump_to="MemberEmail"),
    }


class FreezeMemberResponseSchema(schema.ResponseSchema):
    """FreezeMember - 冻结成员"""

    fields = {}


"""
API: GetNetworkMask

查询登录与API调用的网络掩码
"""


class GetNetworkMaskRequestSchema(schema.RequestSchema):
    """GetNetworkMask - 查询登录与API调用的网络掩码"""

    fields = {}


class GetNetworkMaskResponseSchema(schema.ResponseSchema):
    """GetNetworkMask - 查询登录与API调用的网络掩码"""

    fields = {
        "Data": models.NetworkMaskSchema(),
        "Message": fields.Str(required=False, load_from="Message"),
    }


"""
API: GetProjectList

获取项目列表
"""


class GetProjectListRequestSchema(schema.RequestSchema):
    """GetProjectList - 获取项目列表"""

    fields = {
        "IsFinance": fields.Str(required=False, dump_to="IsFinance"),
    }


class GetProjectListResponseSchema(schema.ResponseSchema):
    """GetProjectList - 获取项目列表"""

    fields = {
        "ProjectCount": fields.Int(required=True, load_from="ProjectCount"),
        "ProjectSet": fields.List(
            models.ProjectListInfoSchema(),
            required=True,
            load_from="ProjectSet",
        ),
    }


"""
API: GetRegion

获取用户在各数据中心的权限等信息
"""


class GetRegionRequestSchema(schema.RequestSchema):
    """GetRegion - 获取用户在各数据中心的权限等信息"""

    fields = {}


class GetRegionResponseSchema(schema.ResponseSchema):
    """GetRegion - 获取用户在各数据中心的权限等信息"""

    fields = {
        "Regions": fields.List(
            models.RegionInfoSchema(), required=False, load_from="Regions"
        ),
    }


"""
API: GetUserInfo


"""


class GetUserInfoRequestSchema(schema.RequestSchema):
    """GetUserInfo -"""

    fields = {}


class GetUserInfoResponseSchema(schema.ResponseSchema):
    """GetUserInfo -"""

    fields = {
        "DataSet": fields.List(
            models.UserInfoSchema(), required=True, load_from="DataSet"
        ),
    }


"""
API: InviteSubaccount

邀请子帐号成员
"""


class InviteSubaccountRequestSchema(schema.RequestSchema):
    """InviteSubaccount - 邀请子帐号成员"""

    fields = {
        "IsFinance": fields.Str(required=True, dump_to="IsFinance"),
        "UserEmail": fields.Str(required=True, dump_to="UserEmail"),
        "UserName": fields.Str(required=True, dump_to="UserName"),
        "UserPhone": fields.Str(required=True, dump_to="UserPhone"),
    }


class InviteSubaccountResponseSchema(schema.ResponseSchema):
    """InviteSubaccount - 邀请子帐号成员"""

    fields = {}


"""
API: ModifyCharacter

修改角色
"""


class ModifyCharacterRequestSchema(schema.RequestSchema):
    """ModifyCharacter - 修改角色"""

    fields = {
        "Add": fields.List(fields.Str()),
        "CharacterDescription": fields.Str(
            required=False, dump_to="CharacterDescription"
        ),
        "CharacterId": fields.Str(required=True, dump_to="CharacterId"),
        "CharacterName": fields.Str(required=False, dump_to="CharacterName"),
        "Del": fields.List(fields.Str()),
        "Get": fields.List(fields.Str()),
        "Mod": fields.List(fields.Str()),
    }


class ModifyCharacterResponseSchema(schema.ResponseSchema):
    """ModifyCharacter - 修改角色"""

    fields = {}


"""
API: ModifyProject


"""


class ModifyProjectRequestSchema(schema.RequestSchema):
    """ModifyProject -"""

    fields = {
        "ProjectId": fields.Str(required=True, dump_to="ProjectId"),
        "ProjectName": fields.Str(required=True, dump_to="ProjectName"),
    }


class ModifyProjectResponseSchema(schema.ResponseSchema):
    """ModifyProject -"""

    fields = {}


"""
API: RemoveMemberFromProject

从项目中移除成员
"""


class RemoveMemberFromProjectRequestSchema(schema.RequestSchema):
    """RemoveMemberFromProject - 从项目中移除成员"""

    fields = {
        "MemberEmail": fields.Str(required=True, dump_to="MemberEmail"),
        "ProjectId": fields.Str(required=True, dump_to="ProjectId"),
    }


class RemoveMemberFromProjectResponseSchema(schema.ResponseSchema):
    """RemoveMemberFromProject - 从项目中移除成员"""

    fields = {}


"""
API: SetNetworkMask

设置登录与API调用的网络掩码
"""


class SetNetworkMaskRequestSchema(schema.RequestSchema):
    """SetNetworkMask - 设置登录与API调用的网络掩码"""

    fields = {
        "APINetworkMask": fields.Str(required=False, dump_to="APINetworkMask"),
        "Code": fields.Str(required=True, dump_to="Code"),
        "LoginNetworkMask": fields.Str(
            required=False, dump_to="LoginNetworkMask"
        ),
    }


class SetNetworkMaskResponseSchema(schema.ResponseSchema):
    """SetNetworkMask - 设置登录与API调用的网络掩码"""

    fields = {
        "Message": fields.Str(required=False, load_from="Message"),
    }


"""
API: TerminateCharacter

删除用户角色管理列表中的指定角色
"""


class TerminateCharacterRequestSchema(schema.RequestSchema):
    """TerminateCharacter - 删除用户角色管理列表中的指定角色"""

    fields = {
        "CharacterId": fields.Str(required=True, dump_to="CharacterId"),
    }


class TerminateCharacterResponseSchema(schema.ResponseSchema):
    """TerminateCharacter - 删除用户角色管理列表中的指定角色"""

    fields = {}


"""
API: TerminateMember

删除管理员人员管理页面的指定子账号
"""


class TerminateMemberRequestSchema(schema.RequestSchema):
    """TerminateMember - 删除管理员人员管理页面的指定子账号"""

    fields = {
        "MemberEmail": fields.Str(required=True, dump_to="MemberEmail"),
    }


class TerminateMemberResponseSchema(schema.ResponseSchema):
    """TerminateMember - 删除管理员人员管理页面的指定子账号"""

    fields = {}


"""
API: TerminateProject

删除项目
"""


class TerminateProjectRequestSchema(schema.RequestSchema):
    """TerminateProject - 删除项目"""

    fields = {
        "ProjectId": fields.Str(required=True, dump_to="ProjectId"),
    }


class TerminateProjectResponseSchema(schema.ResponseSchema):
    """TerminateProject - 删除项目"""

    fields = {}
