import { FieldInfo } from 'model-util-base'
import { ConditionUtil, ConditionUtilImpl, FieldUtil, TableUtilImpl, IdType, JoinTable, SubTable } from 'model-util'
import { Container, Singleton } from 'typescript-ioc' 
import { DevopsRds } from '../models/index' 
/**
 * @author auto generate
 * @version 1.0
 * @date 2021-03-25 16:22
 */
interface DevopsRdsCU extends ConditionUtil<DevopsRdsCU>{
    ID:FieldUtil<DevopsRdsCU>;
    CLOUD_PLATFORM:FieldUtil<DevopsRdsCU>;
    CLOUD_ACCOUNT_ID:FieldUtil<DevopsRdsCU>;
    REGION_ID:FieldUtil<DevopsRdsCU>;
    INSTANCE_ID:FieldUtil<DevopsRdsCU>;
    IP:FieldUtil<DevopsRdsCU>;
    RDS_TYPE:FieldUtil<DevopsRdsCU>;
    PORT:FieldUtil<DevopsRdsCU>;
    INSTANCE_NAME:FieldUtil<DevopsRdsCU>;
    BUSINESS_GROUP:FieldUtil<DevopsRdsCU>;
    INSTANCE_SPECIFICATIONS:FieldUtil<DevopsRdsCU>;
    CPU:FieldUtil<DevopsRdsCU>;
    MEMORY:FieldUtil<DevopsRdsCU>;
    DISK_CAPACITY:FieldUtil<DevopsRdsCU>;
    VERSION:FieldUtil<DevopsRdsCU>;
    RUNNING_STATE:FieldUtil<DevopsRdsCU>;
    BILLING_WAY:FieldUtil<DevopsRdsCU>;
    BUY_TIME:FieldUtil<DevopsRdsCU>;
    EXPIRE_TIME:FieldUtil<DevopsRdsCU>;
    REMARK:FieldUtil<DevopsRdsCU>;
    CREATE_TIME:FieldUtil<DevopsRdsCU>;
    UPDATE_TIME:FieldUtil<DevopsRdsCU>;
    ENGINE:FieldUtil<DevopsRdsCU>;
}

class DevopsRdsCUImpl extends ConditionUtilImpl<DevopsRdsCUImpl> implements DevopsRdsCU{ 
    newInstance(): DevopsRdsCUImpl {
        return new DevopsRdsCUImpl();
    } 
    get ID(): FieldUtil<DevopsRdsCU>{  
        return new FieldUtil('ID','id','主键', this);
    }
    get CLOUD_PLATFORM(): FieldUtil<DevopsRdsCU>{  
        return new FieldUtil('CLOUD_PLATFORM','cloudPlatform','所属平台（1-阿里云；2-华为云；）', this);
    }
    get CLOUD_ACCOUNT_ID(): FieldUtil<DevopsRdsCU>{  
        return new FieldUtil('CLOUD_ACCOUNT_ID','cloudAccountId','', this);
    }
    get REGION_ID(): FieldUtil<DevopsRdsCU>{  
        return new FieldUtil('REGION_ID','regionId','区域', this);
    }
    get INSTANCE_ID(): FieldUtil<DevopsRdsCU>{  
        return new FieldUtil('INSTANCE_ID','instanceId','主机实例id', this);
    }
    get IP(): FieldUtil<DevopsRdsCU>{  
        return new FieldUtil('IP','ip','主机ip(内网地址)', this);
    }
    get RDS_TYPE(): FieldUtil<DevopsRdsCU>{  
        return new FieldUtil('RDS_TYPE','rdsType','实例类型，如只读实例、常规实例', this);
    }
    get PORT(): FieldUtil<DevopsRdsCU>{  
        return new FieldUtil('PORT','port','端口', this);
    }
    get INSTANCE_NAME(): FieldUtil<DevopsRdsCU>{  
        return new FieldUtil('INSTANCE_NAME','instanceName','实例名称', this);
    }
    get BUSINESS_GROUP(): FieldUtil<DevopsRdsCU>{  
        return new FieldUtil('BUSINESS_GROUP','businessGroup','所属项目组', this);
    }
    get INSTANCE_SPECIFICATIONS(): FieldUtil<DevopsRdsCU>{  
        return new FieldUtil('INSTANCE_SPECIFICATIONS','instanceSpecifications','实例规格', this);
    }
    get CPU(): FieldUtil<DevopsRdsCU>{  
        return new FieldUtil('CPU','cpu','cpu', this);
    }
    get MEMORY(): FieldUtil<DevopsRdsCU>{  
        return new FieldUtil('MEMORY','memory','内存', this);
    }
    get DISK_CAPACITY(): FieldUtil<DevopsRdsCU>{  
        return new FieldUtil('DISK_CAPACITY','diskCapacity','硬盘容量', this);
    }
    get VERSION(): FieldUtil<DevopsRdsCU>{  
        return new FieldUtil('VERSION','version','数据库版本', this);
    }
    get RUNNING_STATE(): FieldUtil<DevopsRdsCU>{  
        return new FieldUtil('RUNNING_STATE','runningState','运行状态', this);
    }
    get BILLING_WAY(): FieldUtil<DevopsRdsCU>{  
        return new FieldUtil('BILLING_WAY','billingWay','计费方式', this);
    }
    get BUY_TIME(): FieldUtil<DevopsRdsCU>{  
        return new FieldUtil('BUY_TIME','buyTime','购买时间', this);
    }
    get EXPIRE_TIME(): FieldUtil<DevopsRdsCU>{  
        return new FieldUtil('EXPIRE_TIME','expireTime','到期时间', this);
    }
    get REMARK(): FieldUtil<DevopsRdsCU>{  
        return new FieldUtil('REMARK','remark','描述', this);
    }
    get CREATE_TIME(): FieldUtil<DevopsRdsCU>{  
        return new FieldUtil('CREATE_TIME','createTime','创建时间', this);
    }
    get UPDATE_TIME(): FieldUtil<DevopsRdsCU>{  
        return new FieldUtil('UPDATE_TIME','updateTime','更新时间', this);
    }
    get ENGINE(): FieldUtil<DevopsRdsCU>{  
        return new FieldUtil('ENGINE','engine','数据库引擎', this);
    }
}

@Singleton 
class DevopsRdsMU extends TableUtilImpl<DevopsRdsCU,DevopsRds>{ 
    tableName  = 'devops_rds';
    tableFields  = ['id','cloud_platform','cloud_account_id','region_id','instance_id','ip','rds_type','port','instance_name','business_group','instance_specifications','cpu','memory','disk_capacity','version','running_state','billing_way','buy_time','expire_time','remark','create_time','update_time','engine'];
    modelFields  = ['id','cloudPlatform','cloudAccountId','regionId','instanceId','ip','rdsType','port','instanceName','businessGroup','instanceSpecifications','cpu','memory','diskCapacity','version','runningState','billingWay','buyTime','expireTime','remark','createTime','updateTime','engine'];
    modelIdFields  = ['id'];
    tableIdFields  = ['id'];
    idType = IdType.CUSTOM;
    joinTables = [];
    subTables = [];

    createConditionUtil(): DevopsRdsCU {
        return new DevopsRdsCUImpl();
    }   

    static get ID(): FieldUtil<DevopsRdsCU>{ 
        return new FieldUtil('ID','id','主键', new DevopsRdsCUImpl());
    }
    static get CLOUD_PLATFORM(): FieldUtil<DevopsRdsCU>{ 
        return new FieldUtil('CLOUD_PLATFORM','cloudPlatform','所属平台（1-阿里云；2-华为云；）', new DevopsRdsCUImpl());
    }
    static get CLOUD_ACCOUNT_ID(): FieldUtil<DevopsRdsCU>{ 
        return new FieldUtil('CLOUD_ACCOUNT_ID','cloudAccountId','', new DevopsRdsCUImpl());
    }
    static get REGION_ID(): FieldUtil<DevopsRdsCU>{ 
        return new FieldUtil('REGION_ID','regionId','区域', new DevopsRdsCUImpl());
    }
    static get INSTANCE_ID(): FieldUtil<DevopsRdsCU>{ 
        return new FieldUtil('INSTANCE_ID','instanceId','主机实例id', new DevopsRdsCUImpl());
    }
    static get IP(): FieldUtil<DevopsRdsCU>{ 
        return new FieldUtil('IP','ip','主机ip(内网地址)', new DevopsRdsCUImpl());
    }
    static get RDS_TYPE(): FieldUtil<DevopsRdsCU>{ 
        return new FieldUtil('RDS_TYPE','rdsType','实例类型，如只读实例、常规实例', new DevopsRdsCUImpl());
    }
    static get PORT(): FieldUtil<DevopsRdsCU>{ 
        return new FieldUtil('PORT','port','端口', new DevopsRdsCUImpl());
    }
    static get INSTANCE_NAME(): FieldUtil<DevopsRdsCU>{ 
        return new FieldUtil('INSTANCE_NAME','instanceName','实例名称', new DevopsRdsCUImpl());
    }
    static get BUSINESS_GROUP(): FieldUtil<DevopsRdsCU>{ 
        return new FieldUtil('BUSINESS_GROUP','businessGroup','所属项目组', new DevopsRdsCUImpl());
    }
    static get INSTANCE_SPECIFICATIONS(): FieldUtil<DevopsRdsCU>{ 
        return new FieldUtil('INSTANCE_SPECIFICATIONS','instanceSpecifications','实例规格', new DevopsRdsCUImpl());
    }
    static get CPU(): FieldUtil<DevopsRdsCU>{ 
        return new FieldUtil('CPU','cpu','cpu', new DevopsRdsCUImpl());
    }
    static get MEMORY(): FieldUtil<DevopsRdsCU>{ 
        return new FieldUtil('MEMORY','memory','内存', new DevopsRdsCUImpl());
    }
    static get DISK_CAPACITY(): FieldUtil<DevopsRdsCU>{ 
        return new FieldUtil('DISK_CAPACITY','diskCapacity','硬盘容量', new DevopsRdsCUImpl());
    }
    static get VERSION(): FieldUtil<DevopsRdsCU>{ 
        return new FieldUtil('VERSION','version','数据库版本', new DevopsRdsCUImpl());
    }
    static get RUNNING_STATE(): FieldUtil<DevopsRdsCU>{ 
        return new FieldUtil('RUNNING_STATE','runningState','运行状态', new DevopsRdsCUImpl());
    }
    static get BILLING_WAY(): FieldUtil<DevopsRdsCU>{ 
        return new FieldUtil('BILLING_WAY','billingWay','计费方式', new DevopsRdsCUImpl());
    }
    static get BUY_TIME(): FieldUtil<DevopsRdsCU>{ 
        return new FieldUtil('BUY_TIME','buyTime','购买时间', new DevopsRdsCUImpl());
    }
    static get EXPIRE_TIME(): FieldUtil<DevopsRdsCU>{ 
        return new FieldUtil('EXPIRE_TIME','expireTime','到期时间', new DevopsRdsCUImpl());
    }
    static get REMARK(): FieldUtil<DevopsRdsCU>{ 
        return new FieldUtil('REMARK','remark','描述', new DevopsRdsCUImpl());
    }
    static get CREATE_TIME(): FieldUtil<DevopsRdsCU>{ 
        return new FieldUtil('CREATE_TIME','createTime','创建时间', new DevopsRdsCUImpl());
    }
    static get UPDATE_TIME(): FieldUtil<DevopsRdsCU>{ 
        return new FieldUtil('UPDATE_TIME','updateTime','更新时间', new DevopsRdsCUImpl());
    }
    static get ENGINE(): FieldUtil<DevopsRdsCU>{ 
        return new FieldUtil('ENGINE','engine','数据库引擎', new DevopsRdsCUImpl());
    }

    get ID(): FieldUtil<DevopsRdsCU>{ 
        return DevopsRdsMU.ID;
    }
    get CLOUD_PLATFORM(): FieldUtil<DevopsRdsCU>{ 
        return DevopsRdsMU.CLOUD_PLATFORM;
    }
    get CLOUD_ACCOUNT_ID(): FieldUtil<DevopsRdsCU>{ 
        return DevopsRdsMU.CLOUD_ACCOUNT_ID;
    }
    get REGION_ID(): FieldUtil<DevopsRdsCU>{ 
        return DevopsRdsMU.REGION_ID;
    }
    get INSTANCE_ID(): FieldUtil<DevopsRdsCU>{ 
        return DevopsRdsMU.INSTANCE_ID;
    }
    get IP(): FieldUtil<DevopsRdsCU>{ 
        return DevopsRdsMU.IP;
    }
    get RDS_TYPE(): FieldUtil<DevopsRdsCU>{ 
        return DevopsRdsMU.RDS_TYPE;
    }
    get PORT(): FieldUtil<DevopsRdsCU>{ 
        return DevopsRdsMU.PORT;
    }
    get INSTANCE_NAME(): FieldUtil<DevopsRdsCU>{ 
        return DevopsRdsMU.INSTANCE_NAME;
    }
    get BUSINESS_GROUP(): FieldUtil<DevopsRdsCU>{ 
        return DevopsRdsMU.BUSINESS_GROUP;
    }
    get INSTANCE_SPECIFICATIONS(): FieldUtil<DevopsRdsCU>{ 
        return DevopsRdsMU.INSTANCE_SPECIFICATIONS;
    }
    get CPU(): FieldUtil<DevopsRdsCU>{ 
        return DevopsRdsMU.CPU;
    }
    get MEMORY(): FieldUtil<DevopsRdsCU>{ 
        return DevopsRdsMU.MEMORY;
    }
    get DISK_CAPACITY(): FieldUtil<DevopsRdsCU>{ 
        return DevopsRdsMU.DISK_CAPACITY;
    }
    get VERSION(): FieldUtil<DevopsRdsCU>{ 
        return DevopsRdsMU.VERSION;
    }
    get RUNNING_STATE(): FieldUtil<DevopsRdsCU>{ 
        return DevopsRdsMU.RUNNING_STATE;
    }
    get BILLING_WAY(): FieldUtil<DevopsRdsCU>{ 
        return DevopsRdsMU.BILLING_WAY;
    }
    get BUY_TIME(): FieldUtil<DevopsRdsCU>{ 
        return DevopsRdsMU.BUY_TIME;
    }
    get EXPIRE_TIME(): FieldUtil<DevopsRdsCU>{ 
        return DevopsRdsMU.EXPIRE_TIME;
    }
    get REMARK(): FieldUtil<DevopsRdsCU>{ 
        return DevopsRdsMU.REMARK;
    }
    get CREATE_TIME(): FieldUtil<DevopsRdsCU>{ 
        return DevopsRdsMU.CREATE_TIME;
    }
    get UPDATE_TIME(): FieldUtil<DevopsRdsCU>{ 
        return DevopsRdsMU.UPDATE_TIME;
    }
    get ENGINE(): FieldUtil<DevopsRdsCU>{ 
        return DevopsRdsMU.ENGINE;
    }
}
export {DevopsRdsMU, DevopsRdsCU}
