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

from ucloud.core.typesystem import schema, fields


class PHostIPSetSchema(schema.ResponseSchema):
    """PHostIPSet - DescribePHost"""

    fields = {
        "Bandwidth": fields.Int(required=False, load_from="Bandwidth"),
        "IPAddr": fields.Str(required=False, load_from="IPAddr"),
        "IPId": fields.Str(required=False, load_from="IPId"),
        "MACAddr": fields.Str(required=False, load_from="MACAddr"),
        "OperatorName": fields.Str(required=False, load_from="OperatorName"),
        "SubnetId": fields.Str(required=False, load_from="SubnetId"),
        "VPCId": fields.Str(required=False, load_from="VPCId"),
    }


class PHostDiskSetSchema(schema.ResponseSchema):
    """PHostDiskSet - GetPHostTypeInfo"""

    fields = {
        "Count": fields.Int(required=False, load_from="Count"),
        "IOCap": fields.Int(required=False, load_from="IOCap"),
        "Name": fields.Str(required=False, load_from="Name"),
        "Space": fields.Int(required=False, load_from="Space"),
        "Type": fields.Str(required=False, load_from="Type"),
    }


class PHostCPUSetSchema(schema.ResponseSchema):
    """PHostCPUSet - DescribePHost"""

    fields = {
        "CoreCount": fields.Int(required=False, load_from="CoreCount"),
        "Count": fields.Int(required=False, load_from="Count"),
        "Frequence": fields.Float(required=False, load_from="Frequence"),
        "Model": fields.Str(required=False, load_from="Model"),
    }


class PHostSetSchema(schema.ResponseSchema):
    """PHostSet - DescribePHost"""

    fields = {
        "AutoRenew": fields.Str(required=False, load_from="AutoRenew"),
        "CPUSet": PHostCPUSetSchema(),
        "ChargeType": fields.Str(required=False, load_from="ChargeType"),
        "Cluster": fields.Str(required=False, load_from="Cluster"),
        "Components": fields.Str(required=False, load_from="Components"),
        "CreateTime": fields.Int(required=False, load_from="CreateTime"),
        "DiskSet": fields.List(PHostDiskSetSchema()),
        "ExpireTime": fields.Int(required=False, load_from="ExpireTime"),
        "IPSet": fields.List(PHostIPSetSchema()),
        "ImageName": fields.Str(required=False, load_from="ImageName"),
        "IsSupportKVM": fields.Str(required=False, load_from="IsSupportKVM"),
        "Memory": fields.Int(required=False, load_from="Memory"),
        "Name": fields.Str(required=False, load_from="Name"),
        "OSType": fields.Str(required=False, load_from="OSType"),
        "OSname": fields.Str(required=False, load_from="OSname"),
        "PHostId": fields.Str(required=False, load_from="PHostId"),
        "PHostType": fields.Str(required=False, load_from="PHostType"),
        "PMStatus": fields.Str(required=False, load_from="PMStatus"),
        "PowerState": fields.Str(required=False, load_from="PowerState"),
        "RaidSupported": fields.Str(required=False, load_from="RaidSupported"),
        "Remark": fields.Str(required=False, load_from="Remark"),
        "SN": fields.Str(required=False, load_from="SN"),
        "Tag": fields.Str(required=False, load_from="Tag"),
        "Zone": fields.Str(required=False, load_from="Zone"),
    }


class PHostImageSetSchema(schema.ResponseSchema):
    """PHostImageSet - DescribePHostImage"""

    fields = {
        "ImageId": fields.Str(required=False, load_from="ImageId"),
        "ImageName": fields.Str(required=False, load_from="ImageName"),
        "OsName": fields.Str(required=False, load_from="OsName"),
        "OsType": fields.Str(required=False, load_from="OsType"),
    }


class PHostTagSetSchema(schema.ResponseSchema):
    """PHostTagSet - DescribePHostTags"""

    fields = {
        "Tag": fields.Str(required=False, load_from="Tag"),
        "TotalCount": fields.Int(required=False, load_from="TotalCount"),
    }


class PHostPriceSetSchema(schema.ResponseSchema):
    """PHostPriceSet - GetPHostPrice"""

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