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

from ucloud.core.typesystem import schema, fields


class AccountInfoSchema(schema.ResponseSchema):
    """AccountInfo - UInfluxdb 账户信息"""

    fields = {
        "Account": fields.Str(required=False, load_from="Account"),
        "Password": fields.Str(required=False, load_from="Password"),
        "Privilege": fields.Str(required=False, load_from="Privilege"),
    }


class DatabaseInfoSchema(schema.ResponseSchema):
    """DatabaseInfo -"""

    fields = {
        "AccountInfo": fields.List(AccountInfoSchema()),
        "DatabaseName": fields.Str(required=False, load_from="DatabaseName"),
        "Description": fields.Str(required=False, load_from="Description"),
        "RetentionPolicy": fields.Str(
            required=False, load_from="RetentionPolicy"
        ),
        "State": fields.Str(required=False, load_from="State"),
    }


class RpDataSchema(schema.ResponseSchema):
    """RpData - 保留策略信息"""

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


class UInfluxdbDataSetSchema(schema.ResponseSchema):
    """UInfluxdbDataSet - UInfluxdb信息的DataSet"""

    fields = {
        "AccountName": fields.Str(required=True, load_from="AccountName"),
        "CPULimit": fields.Int(required=False, load_from="CPULimit"),
        "ChargeType": fields.Str(required=False, load_from="ChargeType"),
        "CreateTime": fields.Int(required=False, load_from="CreateTime"),
        "ExpiredTime": fields.Int(required=False, load_from="ExpiredTime"),
        "MemoryLimit": fields.Int(required=False, load_from="MemoryLimit"),
        "Name": fields.Str(required=False, load_from="Name"),
        "Port": fields.Int(required=False, load_from="Port"),
        "State": fields.Str(required=False, load_from="State"),
        "SubnetId": fields.Str(required=True, load_from="SubnetId"),
        "Tag": fields.Str(required=True, load_from="Tag"),
        "UInfluxdbId": fields.Str(required=False, load_from="UInfluxdbId"),
        "UsedSize": fields.Int(required=True, load_from="UsedSize"),
        "VPCId": fields.Str(required=True, load_from="VPCId"),
        "VirtualIP": fields.Str(required=False, load_from="VirtualIP"),
        "Zone": fields.Str(required=False, load_from="Zone"),
    }
