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

from ucloud.core.typesystem import schema, fields


class BundleSchema(schema.ResponseSchema):
    """Bundle - 轻量应用云主机套餐"""

    fields = {
        "Bandwidth": fields.Int(required=False, load_from="Bandwidth"),
        "BundleId": fields.Str(required=False, load_from="BundleId"),
        "CPU": fields.Int(required=False, load_from="CPU"),
        "Memory": fields.Int(required=False, load_from="Memory"),
        "SysDiskSpace": fields.Int(required=False, load_from="SysDiskSpace"),
        "TrafficPacket": fields.Int(required=False, load_from="TrafficPacket"),
    }


class UHostIPSetSchema(schema.ResponseSchema):
    """UHostIPSet -"""

    fields = {
        "Bandwidth": fields.Int(required=False, load_from="Bandwidth"),
        "Default": fields.Str(required=False, load_from="Default"),
        "IP": fields.Str(required=False, load_from="IP"),
        "IPId": fields.Str(required=False, load_from="IPId"),
        "IPMode": fields.Str(required=True, load_from="IPMode"),
        "Mac": fields.Str(required=False, load_from="Mac"),
        "NetworkInterfaceId": fields.Str(
            required=False, load_from="NetworkInterfaceId"
        ),
        "SubnetId": fields.Str(required=False, load_from="SubnetId"),
        "Type": fields.Str(required=False, load_from="Type"),
        "VPCId": fields.Str(required=False, load_from="VPCId"),
        "Weight": fields.Int(required=False, load_from="Weight"),
    }


class ULHostDiskSetSchema(schema.ResponseSchema):
    """ULHostDiskSet - 轻量应用主机的磁盘信息"""

    fields = {
        "DiskId": fields.Str(required=False, load_from="DiskId"),
        "DiskType": fields.Str(required=False, load_from="DiskType"),
        "Drive": fields.Str(required=False, load_from="Drive"),
        "IsBoot": fields.Str(required=False, load_from="IsBoot"),
        "Size": fields.Int(required=False, load_from="Size"),
        "Type": fields.Str(required=False, load_from="Type"),
    }


class ULHostInstanceSetSchema(schema.ResponseSchema):
    """ULHostInstanceSet - 轻量应用云主机详情"""

    fields = {
        "Apps": fields.List(fields.Str()),
        "AutoRenew": fields.Str(required=False, load_from="AutoRenew"),
        "CPU": fields.Int(required=False, load_from="CPU"),
        "ChargeType": fields.Str(required=False, load_from="ChargeType"),
        "CreateTime": fields.Int(required=False, load_from="CreateTime"),
        "DiskSet": fields.List(ULHostDiskSetSchema()),
        "ExpireTime": fields.Int(required=False, load_from="ExpireTime"),
        "IPSet": fields.List(UHostIPSetSchema()),
        "ImageId": fields.Str(required=False, load_from="ImageId"),
        "ImageName": fields.Str(required=False, load_from="ImageName"),
        "IsExpire": fields.Str(required=False, load_from="IsExpire"),
        "Memory": fields.Int(required=False, load_from="Memory"),
        "Name": fields.Str(required=False, load_from="Name"),
        "Remark": fields.Str(required=False, load_from="Remark"),
        "State": fields.Str(required=False, load_from="State"),
        "Tag": fields.Str(required=False, load_from="Tag"),
        "ULHostId": fields.Str(required=False, load_from="ULHostId"),
        "Zone": fields.Str(required=False, load_from="Zone"),
    }


class ULHostPriceSetSchema(schema.ResponseSchema):
    """ULHostPriceSet - 轻量应用主机价格详情"""

    fields = {
        "ChargeType": fields.Str(required=False, load_from="ChargeType"),
        "OriginalPrice": fields.Float(
            required=False, load_from="OriginalPrice"
        ),
        "Price": fields.Float(required=False, load_from="Price"),
    }
