import { FieldInfo } from 'model-util-base'
import { ConditionUtil, ConditionUtilImpl, FieldUtil, TableUtilImpl, IdType, JoinTable, SubTable } from 'model-util'
import { Container, Singleton } from 'typescript-ioc' 
import { DevopsHost } from '../models/index' 
/**
 * @author auto generate
 * @version 1.0
 * @date 2021-06-08 17:09
 */
interface DevopsHostCU extends ConditionUtil<DevopsHostCU>{
    ID:FieldUtil<DevopsHostCU>;
    CLOUD_PLATFORM:FieldUtil<DevopsHostCU>;
    REGION_ID:FieldUtil<DevopsHostCU>;
    INSTANCE_ID:FieldUtil<DevopsHostCU>;
    IP:FieldUtil<DevopsHostCU>;
    HOST_TYPE:FieldUtil<DevopsHostCU>;
    INSTANCE_NAME:FieldUtil<DevopsHostCU>;
    OPERATIN_SYSTEM:FieldUtil<DevopsHostCU>;
    BUSINESS_GROUP:FieldUtil<DevopsHostCU>;
    INSTANCE_SPECIFICATIONS:FieldUtil<DevopsHostCU>;
    CPU:FieldUtil<DevopsHostCU>;
    MEMORY:FieldUtil<DevopsHostCU>;
    DISK_NUMBER:FieldUtil<DevopsHostCU>;
    RUNNING_STATE:FieldUtil<DevopsHostCU>;
    BUY_TIME:FieldUtil<DevopsHostCU>;
    EXPIRE_TIME:FieldUtil<DevopsHostCU>;
    REMARK:FieldUtil<DevopsHostCU>;
    CREATE_TIME:FieldUtil<DevopsHostCU>;
    UPDATE_TIME:FieldUtil<DevopsHostCU>;
    BUSINESS_AREA:FieldUtil<DevopsHostCU>;
    BILLING_WAY:FieldUtil<DevopsHostCU>;
    CLOUD_ACCOUNT_ID:FieldUtil<DevopsHostCU>;
}

class DevopsHostCUImpl extends ConditionUtilImpl<DevopsHostCUImpl> implements DevopsHostCU{ 
    newInstance(): DevopsHostCUImpl {
        return new DevopsHostCUImpl();
    } 
    get ID(): FieldUtil<DevopsHostCU>{  
        return new FieldUtil('id','id','主键', this);
    }
    get CLOUD_PLATFORM(): FieldUtil<DevopsHostCU>{  
        return new FieldUtil('cloud_platform','cloudPlatform','所属平台（1-阿里云；2-华为云；）', this);
    }
    get REGION_ID(): FieldUtil<DevopsHostCU>{  
        return new FieldUtil('region_id','regionId','区域', this);
    }
    get INSTANCE_ID(): FieldUtil<DevopsHostCU>{  
        return new FieldUtil('instance_id','instanceId','主机实例id', this);
    }
    get IP(): FieldUtil<DevopsHostCU>{  
        return new FieldUtil('ip','ip','主机ip(内网地址)', this);
    }
    get HOST_TYPE(): FieldUtil<DevopsHostCU>{  
        return new FieldUtil('host_type','hostType','主机类型（0-nginx主机；1-应用主机；2-综合）', this);
    }
    get INSTANCE_NAME(): FieldUtil<DevopsHostCU>{  
        return new FieldUtil('instance_name','instanceName','主机名称', this);
    }
    get OPERATIN_SYSTEM(): FieldUtil<DevopsHostCU>{  
        return new FieldUtil('operatin_system','operatinSystem','操作系统', this);
    }
    get BUSINESS_GROUP(): FieldUtil<DevopsHostCU>{  
        return new FieldUtil('business_group','businessGroup','所属项目组', this);
    }
    get INSTANCE_SPECIFICATIONS(): FieldUtil<DevopsHostCU>{  
        return new FieldUtil('instance_specifications','instanceSpecifications','实例规格', this);
    }
    get CPU(): FieldUtil<DevopsHostCU>{  
        return new FieldUtil('cpu','cpu','cpu', this);
    }
    get MEMORY(): FieldUtil<DevopsHostCU>{  
        return new FieldUtil('memory','memory','内存', this);
    }
    get DISK_NUMBER(): FieldUtil<DevopsHostCU>{  
        return new FieldUtil('disk_number','diskNumber','硬盘数量', this);
    }
    get RUNNING_STATE(): FieldUtil<DevopsHostCU>{  
        return new FieldUtil('running_state','runningState','运行状态', this);
    }
    get BUY_TIME(): FieldUtil<DevopsHostCU>{  
        return new FieldUtil('buy_time','buyTime','购买时间', this);
    }
    get EXPIRE_TIME(): FieldUtil<DevopsHostCU>{  
        return new FieldUtil('expire_time','expireTime','到期时间', this);
    }
    get REMARK(): FieldUtil<DevopsHostCU>{  
        return new FieldUtil('remark','remark','描述', this);
    }
    get CREATE_TIME(): FieldUtil<DevopsHostCU>{  
        return new FieldUtil('create_time','createTime','创建时间', this);
    }
    get UPDATE_TIME(): FieldUtil<DevopsHostCU>{  
        return new FieldUtil('update_time','updateTime','更新时间', this);
    }
    get BUSINESS_AREA(): FieldUtil<DevopsHostCU>{  
        return new FieldUtil('business_area','businessArea','自定义的分区', this);
    }
    get BILLING_WAY(): FieldUtil<DevopsHostCU>{  
        return new FieldUtil('billing_way','billingWay','计费方式（1-包年包月；2-按量付费；）', this);
    }
    get CLOUD_ACCOUNT_ID(): FieldUtil<DevopsHostCU>{  
        return new FieldUtil('cloud_account_id','cloudAccountId','云平台账户id', this);
    }
}

@Singleton 
class DevopsHostMU extends TableUtilImpl<DevopsHostCU,DevopsHost>{ 
    tableName  = 'devops_host';
    tableFields  = ['id','cloud_platform','region_id','instance_id','ip','host_type','instance_name','operatin_system','business_group','instance_specifications','cpu','memory','disk_number','running_state','buy_time','expire_time','remark','create_time','update_time','business_area','billing_way','cloud_account_id'];
    modelFields  = ['id','cloudPlatform','regionId','instanceId','ip','hostType','instanceName','operatinSystem','businessGroup','instanceSpecifications','cpu','memory','diskNumber','runningState','buyTime','expireTime','remark','createTime','updateTime','businessArea','billingWay','cloudAccountId'];
    modelIdFields  = ['id'];
    tableIdFields  = ['id'];
    idType = IdType.CUSTOM;
    joinTables = [];
    subTables = [];

    createConditionUtil(): DevopsHostCU {
        return new DevopsHostCUImpl();
    }   

    static get ID(): FieldUtil<DevopsHostCU>{ 
        return new FieldUtil('id','id','主键', new DevopsHostCUImpl());
    }
    static get CLOUD_PLATFORM(): FieldUtil<DevopsHostCU>{ 
        return new FieldUtil('cloud_platform','cloudPlatform','所属平台（1-阿里云；2-华为云；）', new DevopsHostCUImpl());
    }
    static get REGION_ID(): FieldUtil<DevopsHostCU>{ 
        return new FieldUtil('region_id','regionId','区域', new DevopsHostCUImpl());
    }
    static get INSTANCE_ID(): FieldUtil<DevopsHostCU>{ 
        return new FieldUtil('instance_id','instanceId','主机实例id', new DevopsHostCUImpl());
    }
    static get IP(): FieldUtil<DevopsHostCU>{ 
        return new FieldUtil('ip','ip','主机ip(内网地址)', new DevopsHostCUImpl());
    }
    static get HOST_TYPE(): FieldUtil<DevopsHostCU>{ 
        return new FieldUtil('host_type','hostType','主机类型（0-nginx主机；1-应用主机；2-综合）', new DevopsHostCUImpl());
    }
    static get INSTANCE_NAME(): FieldUtil<DevopsHostCU>{ 
        return new FieldUtil('instance_name','instanceName','主机名称', new DevopsHostCUImpl());
    }
    static get OPERATIN_SYSTEM(): FieldUtil<DevopsHostCU>{ 
        return new FieldUtil('operatin_system','operatinSystem','操作系统', new DevopsHostCUImpl());
    }
    static get BUSINESS_GROUP(): FieldUtil<DevopsHostCU>{ 
        return new FieldUtil('business_group','businessGroup','所属项目组', new DevopsHostCUImpl());
    }
    static get INSTANCE_SPECIFICATIONS(): FieldUtil<DevopsHostCU>{ 
        return new FieldUtil('instance_specifications','instanceSpecifications','实例规格', new DevopsHostCUImpl());
    }
    static get CPU(): FieldUtil<DevopsHostCU>{ 
        return new FieldUtil('cpu','cpu','cpu', new DevopsHostCUImpl());
    }
    static get MEMORY(): FieldUtil<DevopsHostCU>{ 
        return new FieldUtil('memory','memory','内存', new DevopsHostCUImpl());
    }
    static get DISK_NUMBER(): FieldUtil<DevopsHostCU>{ 
        return new FieldUtil('disk_number','diskNumber','硬盘数量', new DevopsHostCUImpl());
    }
    static get RUNNING_STATE(): FieldUtil<DevopsHostCU>{ 
        return new FieldUtil('running_state','runningState','运行状态', new DevopsHostCUImpl());
    }
    static get BUY_TIME(): FieldUtil<DevopsHostCU>{ 
        return new FieldUtil('buy_time','buyTime','购买时间', new DevopsHostCUImpl());
    }
    static get EXPIRE_TIME(): FieldUtil<DevopsHostCU>{ 
        return new FieldUtil('expire_time','expireTime','到期时间', new DevopsHostCUImpl());
    }
    static get REMARK(): FieldUtil<DevopsHostCU>{ 
        return new FieldUtil('remark','remark','描述', new DevopsHostCUImpl());
    }
    static get CREATE_TIME(): FieldUtil<DevopsHostCU>{ 
        return new FieldUtil('create_time','createTime','创建时间', new DevopsHostCUImpl());
    }
    static get UPDATE_TIME(): FieldUtil<DevopsHostCU>{ 
        return new FieldUtil('update_time','updateTime','更新时间', new DevopsHostCUImpl());
    }
    static get BUSINESS_AREA(): FieldUtil<DevopsHostCU>{ 
        return new FieldUtil('business_area','businessArea','自定义的分区', new DevopsHostCUImpl());
    }
    static get BILLING_WAY(): FieldUtil<DevopsHostCU>{ 
        return new FieldUtil('billing_way','billingWay','计费方式（1-包年包月；2-按量付费；）', new DevopsHostCUImpl());
    }
    static get CLOUD_ACCOUNT_ID(): FieldUtil<DevopsHostCU>{ 
        return new FieldUtil('cloud_account_id','cloudAccountId','云平台账户id', new DevopsHostCUImpl());
    }

    get ID(): FieldUtil<DevopsHostCU>{ 
        return DevopsHostMU.ID;
    }
    get CLOUD_PLATFORM(): FieldUtil<DevopsHostCU>{ 
        return DevopsHostMU.CLOUD_PLATFORM;
    }
    get REGION_ID(): FieldUtil<DevopsHostCU>{ 
        return DevopsHostMU.REGION_ID;
    }
    get INSTANCE_ID(): FieldUtil<DevopsHostCU>{ 
        return DevopsHostMU.INSTANCE_ID;
    }
    get IP(): FieldUtil<DevopsHostCU>{ 
        return DevopsHostMU.IP;
    }
    get HOST_TYPE(): FieldUtil<DevopsHostCU>{ 
        return DevopsHostMU.HOST_TYPE;
    }
    get INSTANCE_NAME(): FieldUtil<DevopsHostCU>{ 
        return DevopsHostMU.INSTANCE_NAME;
    }
    get OPERATIN_SYSTEM(): FieldUtil<DevopsHostCU>{ 
        return DevopsHostMU.OPERATIN_SYSTEM;
    }
    get BUSINESS_GROUP(): FieldUtil<DevopsHostCU>{ 
        return DevopsHostMU.BUSINESS_GROUP;
    }
    get INSTANCE_SPECIFICATIONS(): FieldUtil<DevopsHostCU>{ 
        return DevopsHostMU.INSTANCE_SPECIFICATIONS;
    }
    get CPU(): FieldUtil<DevopsHostCU>{ 
        return DevopsHostMU.CPU;
    }
    get MEMORY(): FieldUtil<DevopsHostCU>{ 
        return DevopsHostMU.MEMORY;
    }
    get DISK_NUMBER(): FieldUtil<DevopsHostCU>{ 
        return DevopsHostMU.DISK_NUMBER;
    }
    get RUNNING_STATE(): FieldUtil<DevopsHostCU>{ 
        return DevopsHostMU.RUNNING_STATE;
    }
    get BUY_TIME(): FieldUtil<DevopsHostCU>{ 
        return DevopsHostMU.BUY_TIME;
    }
    get EXPIRE_TIME(): FieldUtil<DevopsHostCU>{ 
        return DevopsHostMU.EXPIRE_TIME;
    }
    get REMARK(): FieldUtil<DevopsHostCU>{ 
        return DevopsHostMU.REMARK;
    }
    get CREATE_TIME(): FieldUtil<DevopsHostCU>{ 
        return DevopsHostMU.CREATE_TIME;
    }
    get UPDATE_TIME(): FieldUtil<DevopsHostCU>{ 
        return DevopsHostMU.UPDATE_TIME;
    }
    get BUSINESS_AREA(): FieldUtil<DevopsHostCU>{ 
        return DevopsHostMU.BUSINESS_AREA;
    }
    get BILLING_WAY(): FieldUtil<DevopsHostCU>{ 
        return DevopsHostMU.BILLING_WAY;
    }
    get CLOUD_ACCOUNT_ID(): FieldUtil<DevopsHostCU>{ 
        return DevopsHostMU.CLOUD_ACCOUNT_ID;
    }
}
export {DevopsHostMU, DevopsHostCU}
