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

from ucloud.core.typesystem import schema, fields


class SlaveInfoSchema(schema.ResponseSchema):
    """SlaveInfo - UDDB只读实例信息"""

    fields = {
        "DataNodeId": fields.Str(required=False, load_from="DataNodeId"),
        "Id": fields.Str(required=False, load_from="Id"),
        "State": fields.Str(required=False, load_from="State"),
    }


class DataNodeInfoSchema(schema.ResponseSchema):
    """DataNodeInfo - UDDB存储节点和下挂的只读实例信息"""

    fields = {
        "CreateTime": fields.Str(required=False, load_from="CreateTime"),
        "DiskSpace": fields.Str(required=False, load_from="DiskSpace"),
        "Id": fields.Str(required=False, load_from="Id"),
        "LastTransTaskId": fields.Str(
            required=False, load_from="LastTransTaskId"
        ),
        "Memory": fields.Str(required=False, load_from="Memory"),
        "SlaveCount": fields.Str(required=False, load_from="SlaveCount"),
        "SlaveInfos": fields.List(SlaveInfoSchema()),
        "State": fields.Str(required=False, load_from="State"),
    }


class DataSetUDDBSchema(schema.ResponseSchema):
    """DataSetUDDB - UDDB信息的DataSet"""

    fields = {
        "AdminUser": fields.Str(required=False, load_from="AdminUser"),
        "ChargeType": fields.Str(required=False, load_from="ChargeType"),
        "CreateTime": fields.Str(required=False, load_from="CreateTime"),
        "DBTypeId": fields.Str(required=False, load_from="DBTypeId"),
        "DataNodeCount": fields.Str(required=False, load_from="DataNodeCount"),
        "DataNodeDiskSpace": fields.Str(
            required=False, load_from="DataNodeDiskSpace"
        ),
        "DataNodeList": fields.List(DataNodeInfoSchema()),
        "DataNodeMemory": fields.Str(
            required=False, load_from="DataNodeMemory"
        ),
        "DataNodeSlaveCount": fields.Str(
            required=False, load_from="DataNodeSlaveCount"
        ),
        "ExpiredTime": fields.Str(required=False, load_from="ExpiredTime"),
        "InstanceMode": fields.Str(required=False, load_from="InstanceMode"),
        "InstanceType": fields.Str(required=False, load_from="InstanceType"),
        "Name": fields.Str(required=False, load_from="Name"),
        "Port": fields.Str(required=False, load_from="Port"),
        "RefQps": fields.Int(required=False, load_from="RefQps"),
        "RouterNodeNum": fields.Int(required=False, load_from="RouterNodeNum"),
        "RouterVersion": fields.Str(required=False, load_from="RouterVersion"),
        "State": fields.Str(required=False, load_from="State"),
        "UDDBId": fields.Str(required=False, load_from="UDDBId"),
        "VirtualIP": fields.Str(required=False, load_from="VirtualIP"),
        "Zone": fields.Str(required=False, load_from="Zone"),
    }


class PriceDetailInfoSchema(schema.ResponseSchema):
    """PriceDetailInfo - UDDB实例计费详情"""

    fields = {
        "DataNodePrice": fields.Float(
            required=False, load_from="DataNodePrice"
        ),
        "DataNodeSlavePrice": fields.Float(
            required=False, load_from="DataNodeSlavePrice"
        ),
        "MiddlewarePrice": fields.Float(
            required=False, load_from="MiddlewarePrice"
        ),
    }


class PriceInfoSchema(schema.ResponseSchema):
    """PriceInfo - UDDB实例计费详情"""

    fields = {
        "DataNodePrice": fields.Float(
            required=False, load_from="DataNodePrice"
        ),
        "DataNodeSlavePrice": fields.Float(
            required=False, load_from="DataNodeSlavePrice"
        ),
        "MiddlewarePrice": fields.Float(
            required=False, load_from="MiddlewarePrice"
        ),
    }
