import { Singleton, Container, Scope, Inject } from "typescript-ioc";

/**
 * 部署配置信息
 */
export interface DeployEntity {

    /**
     * 部署ID
     */
    id?: string

    /**
     * 项目ID
     */
    pid?: string

    /**
     * 部署名称
     */
    name?: string

    /**
     * 服务中心ID
     */
    serviceCenterId?: string


    /**
     * 部署镜像
     */
    imageInfo?: string


    /**
     * 镜像启动脚本
     */
    startScript?: string


    /**
     * appId
     */
    appId?: string

    /**
     * 部署标签
     */
    deployTag?: string

    /**
     * 应用类型
     * CNBS - 基础服务
     * CNGATEWAY - 网关服务
     * CNPRJ - 传统项目
     */
    appType?: 'CNBS' | 'CNGATEWAY' | 'CNPRJ'

    /**
     * 部署状态
     */
    deployStatus?: number

    /**
     * K8SID
     */
    k8sId?: string


    /**
     * 环境ID
     */
    envId?: string


    /**
     * 环境ID
     */
    envCode?: string


    /**
     * 应用选项配置
     */
    appOptionsConfig?: string


    /**
     * SLBID
     */
    cnSlbId?: string

    /**
     * 容器端口映射
     */
    imagePortMapping?: string

    /**
     * 容器端口映射
     */
    slbPortMapping?: string

    /**
     * 配置依赖
     */
    configCenter?: string

    /**
     * 进程关键字
     */
    progressKeyword?: string


    /**
     * 原实体对象
     */
    rawEntity?: any


    /**
     * 部署状态更新方法
     */
    deployUpdateFun?: Function

}