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


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

""" USMS API Schema
"""


"""
API: CreateUSMSSignature

调用接口CreateUSMSSignature申请短信签名
"""


class CreateUSMSSignatureRequestSchema(schema.RequestSchema):
    """CreateUSMSSignature - 调用接口CreateUSMSSignature申请短信签名"""

    fields = {
        "CertificateType": fields.Int(required=True, dump_to="CertificateType"),
        "Description": fields.Str(required=True, dump_to="Description"),
        "File": fields.Str(required=True, dump_to="File"),
        "International": fields.Bool(required=False, dump_to="International"),
        "ProjectId": fields.Str(required=True, dump_to="ProjectId"),
        "ProxyFile": fields.Str(required=False, dump_to="ProxyFile"),
        "SigContent": fields.Str(required=True, dump_to="SigContent"),
        "SigPurpose": fields.Int(required=True, dump_to="SigPurpose"),
        "SigType": fields.Int(required=True, dump_to="SigType"),
    }


class CreateUSMSSignatureResponseSchema(schema.ResponseSchema):
    """CreateUSMSSignature - 调用接口CreateUSMSSignature申请短信签名"""

    fields = {
        "Message": fields.Str(required=True, load_from="Message"),
        "SigContent": fields.Str(
            required=False, load_from="SigContent"
        ),  # Deprecated, will be removed at 1.0
        "SigId": fields.Str(required=False, load_from="SigId"),
    }


"""
API: CreateUSMSTemplate

调用接口CreateUSMSTemplate申请短信模板
"""


class CreateUSMSTemplateRequestSchema(schema.RequestSchema):
    """CreateUSMSTemplate - 调用接口CreateUSMSTemplate申请短信模板"""

    fields = {
        "Instruction": fields.Str(required=False, dump_to="Instruction"),
        "International": fields.Bool(required=False, dump_to="International"),
        "ProjectId": fields.Str(required=True, dump_to="ProjectId"),
        "Purpose": fields.Int(required=True, dump_to="Purpose"),
        "Region": fields.Str(
            required=False, dump_to="Region"
        ),  # Deprecated, will be removed at 1.0
        "Remark": fields.Str(required=False, dump_to="Remark"),
        "Template": fields.Str(required=True, dump_to="Template"),
        "TemplateName": fields.Str(required=True, dump_to="TemplateName"),
        "UnsubscribeInfo": fields.Str(
            required=False, dump_to="UnsubscribeInfo"
        ),
        "Zone": fields.Str(
            required=False, dump_to="Zone"
        ),  # Deprecated, will be removed at 1.0
    }


class CreateUSMSTemplateResponseSchema(schema.ResponseSchema):
    """CreateUSMSTemplate - 调用接口CreateUSMSTemplate申请短信模板"""

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


"""
API: DeleteUSMSSignature

调用接口DeleteUSMSSignature删除短信签名
"""


class DeleteUSMSSignatureRequestSchema(schema.RequestSchema):
    """DeleteUSMSSignature - 调用接口DeleteUSMSSignature删除短信签名"""

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


class DeleteUSMSSignatureResponseSchema(schema.ResponseSchema):
    """DeleteUSMSSignature - 调用接口DeleteUSMSSignature删除短信签名"""

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


"""
API: DeleteUSMSTemplate

调用接口DeleteUSMSTemplate删除短信模板
"""


class DeleteUSMSTemplateRequestSchema(schema.RequestSchema):
    """DeleteUSMSTemplate - 调用接口DeleteUSMSTemplate删除短信模板"""

    fields = {
        "ProjectId": fields.Str(required=True, dump_to="ProjectId"),
        "Region": fields.Str(
            required=False, dump_to="Region"
        ),  # Deprecated, will be removed at 1.0
        "TemplateIds": fields.List(fields.Str()),
        "Zone": fields.Str(
            required=False, dump_to="Zone"
        ),  # Deprecated, will be removed at 1.0
    }


class DeleteUSMSTemplateResponseSchema(schema.ResponseSchema):
    """DeleteUSMSTemplate - 调用接口DeleteUSMSTemplate删除短信模板"""

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


"""
API: GetUSMSSendReceipt

调用接口GetUSMSSendReceipt短信发送状态信息
"""


class GetUSMSSendReceiptRequestSchema(schema.RequestSchema):
    """GetUSMSSendReceipt - 调用接口GetUSMSSendReceipt短信发送状态信息"""

    fields = {
        "ProjectId": fields.Str(required=False, dump_to="ProjectId"),
        "Region": fields.Str(required=False, dump_to="Region"),
        "SessionNoSet": fields.List(fields.Str()),
        "Zone": fields.Str(required=False, dump_to="Zone"),
    }


class GetUSMSSendReceiptResponseSchema(schema.ResponseSchema):
    """GetUSMSSendReceipt - 调用接口GetUSMSSendReceipt短信发送状态信息"""

    fields = {
        "Data": fields.List(
            models.ReceiptPerSessionSchema(), required=True, load_from="Data"
        ),
        "Message": fields.Str(required=True, load_from="Message"),
    }


"""
API: QueryUSMSSignature

调用接口QueryUSMSSignature查询短信签名申请状态
"""


class QueryUSMSSignatureRequestSchema(schema.RequestSchema):
    """QueryUSMSSignature - 调用接口QueryUSMSSignature查询短信签名申请状态"""

    fields = {
        "ProjectId": fields.Str(required=False, dump_to="ProjectId"),
        "SigContent": fields.Str(required=False, dump_to="SigContent"),
        "SigId": fields.Str(required=False, dump_to="SigId"),
    }


class QueryUSMSSignatureResponseSchema(schema.ResponseSchema):
    """QueryUSMSSignature - 调用接口QueryUSMSSignature查询短信签名申请状态"""

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


"""
API: QueryUSMSTemplate

调用接口QueryUSMSTemplate查询短信模板申请状态
"""


class QueryUSMSTemplateRequestSchema(schema.RequestSchema):
    """QueryUSMSTemplate - 调用接口QueryUSMSTemplate查询短信模板申请状态"""

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


class QueryUSMSTemplateResponseSchema(schema.ResponseSchema):
    """QueryUSMSTemplate - 调用接口QueryUSMSTemplate查询短信模板申请状态"""

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


"""
API: SendBatchUSMSMessage

调用SendBatchUSMSMessage接口批量发送短信
"""


class SendBatchUSMSMessageRequestSchema(schema.RequestSchema):
    """SendBatchUSMSMessage - 调用SendBatchUSMSMessage接口批量发送短信"""

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


class SendBatchUSMSMessageResponseSchema(schema.ResponseSchema):
    """SendBatchUSMSMessage - 调用SendBatchUSMSMessage接口批量发送短信"""

    fields = {
        "FailContent": fields.List(
            models.BatchInfoSchema(), required=False, load_from="FailContent"
        ),
        "Message": fields.Str(required=True, load_from="Message"),
        "ReqUuid": fields.Str(required=False, load_from="ReqUuid"),
        "SessionNo": fields.Str(required=False, load_from="SessionNo"),
        "SuccessCount": fields.Int(required=False, load_from="SuccessCount"),
    }


"""
API: SendUSMSMessage

调用接口SendUSMSMessage发送短信
"""


class SendUSMSMessageRequestSchema(schema.RequestSchema):
    """SendUSMSMessage - 调用接口SendUSMSMessage发送短信"""

    fields = {
        "ExtendCode": fields.Str(required=False, dump_to="ExtendCode"),
        "PhoneNumbers": fields.List(fields.Str()),
        "ProjectId": fields.Str(required=True, dump_to="ProjectId"),
        "Region": fields.Str(
            required=False, dump_to="Region"
        ),  # Deprecated, will be removed at 1.0
        "SigContent": fields.Str(required=True, dump_to="SigContent"),
        "TemplateId": fields.Str(required=True, dump_to="TemplateId"),
        "TemplateParams": fields.List(fields.Str()),
        "UserId": fields.Str(required=False, dump_to="UserId"),
        "Zone": fields.Str(
            required=False, dump_to="Zone"
        ),  # Deprecated, will be removed at 1.0
    }


class SendUSMSMessageResponseSchema(schema.ResponseSchema):
    """SendUSMSMessage - 调用接口SendUSMSMessage发送短信"""

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


"""
API: UpdateUSMSSignature

调用接口UpdateUSMSSignature修改未通过审核的短信签名，并重新提交审核
"""


class UpdateUSMSSignatureRequestSchema(schema.RequestSchema):
    """UpdateUSMSSignature - 调用接口UpdateUSMSSignature修改未通过审核的短信签名，并重新提交审核"""

    fields = {
        "CertificateType": fields.Int(
            required=False, dump_to="CertificateType"
        ),
        "Document": fields.Str(required=False, dump_to="Document"),
        "File": fields.Str(required=False, dump_to="File"),
        "ProjectId": fields.Str(required=True, dump_to="ProjectId"),
        "ProxyDoc": fields.Str(required=False, dump_to="ProxyDoc"),
        "ProxyFile": fields.Str(required=False, dump_to="ProxyFile"),
        "SigContent": fields.Str(required=True, dump_to="SigContent"),
        "SigId": fields.Str(required=True, dump_to="SigId"),
        "SigPurpose": fields.Int(required=True, dump_to="SigPurpose"),
        "SigType": fields.Int(required=True, dump_to="SigType"),
    }


class UpdateUSMSSignatureResponseSchema(schema.ResponseSchema):
    """UpdateUSMSSignature - 调用接口UpdateUSMSSignature修改未通过审核的短信签名，并重新提交审核"""

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


"""
API: UpdateUSMSTemplate

调用接口UpdateUSMSTemplate修改未通过审核的短信模板，并重新提交审核
"""


class UpdateUSMSTemplateRequestSchema(schema.RequestSchema):
    """UpdateUSMSTemplate - 调用接口UpdateUSMSTemplate修改未通过审核的短信模板，并重新提交审核"""

    fields = {
        "Instruction": fields.Str(required=False, dump_to="Instruction"),
        "ProjectId": fields.Str(required=True, dump_to="ProjectId"),
        "Region": fields.Str(
            required=False, dump_to="Region"
        ),  # Deprecated, will be removed at 1.0
        "Remark": fields.Str(required=False, dump_to="Remark"),
        "Template": fields.Str(required=True, dump_to="Template"),
        "TemplateId": fields.Str(required=True, dump_to="TemplateId"),
        "TemplateName": fields.Str(required=False, dump_to="TemplateName"),
        "UnsubscribeInfo": fields.Str(
            required=False, dump_to="UnsubscribeInfo"
        ),  # Deprecated, will be removed at 1.0
        "Zone": fields.Str(
            required=False, dump_to="Zone"
        ),  # Deprecated, will be removed at 1.0
    }


class UpdateUSMSTemplateResponseSchema(schema.ResponseSchema):
    """UpdateUSMSTemplate - 调用接口UpdateUSMSTemplate修改未通过审核的短信模板，并重新提交审核"""

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