import { AppOptionsConfig } from './AppOptionsConfig';
/**
 * 部署配置
 * @date 2021-05-31 17:14:03
 * @author 吴锋霖
 */
export interface DeployConfig {
    /**
     * 主键
     */
    id?: string;
    /**
     * 部署名称
     */
    name?: string;
    /**
     * 部署标签，用于Deployment 滚动升级
     */
    deployTag?: string;
    /**
     * 应用类型
     */
    appType?: 'CNBS' | 'CNGATEWAY' | 'CNSERVICE';
    /**
     * 服务中心主键
     */
    serviceCenterId?: string;
    /**
     * 应用主键
     */
    appId?: string;
    /**
     * 环境配置ID
     */
    envId?: string;
    /**
     * 环境配置代码
     */
    envCode?: string;
    /**
      * K8S配置主键
      */
    k8sId?: string;
    /**
      * 部署镜像
      */
    image?: string;
    /**
      * 模型启动脚本
      */
    startScript?: string;
    /**
     * 应用选项配置
     */
    appOptionsConfig?: AppOptionsConfig;
    /**
     * 配置中心代码
     */
    configCenterCode?: Array<ConfigCenterCode>;
    /**
     * 镜像端口映射
     */
    imagePortMapping?: Array<ImagePortMapping>;
    /**
     * SLB端口映射
     */
    slbPortMapping?: Array<SLBPortMapping>;
    /**
     * SLB ID
     */
    slbId?: string;
    /**
     * SLB 网络类型
     */
    networkType?: 'intranet' | 'internet';
    /**
     * PVC大小 默认20Gi
     */
    pvcSize?: number;
    /**
     * PVC 挂载路径，默认 /data
     */
    pvcMountPath?: string;
    /**
     * 其他环境变量配置
     */
    envs?: Object;
}
export interface ConfigCenterCode {
    /**
     * 配置代码
     */
    code: string;
    /**
     * 配置版本
     */
    version: string;
}
export interface ImagePortMapping {
    /**
        * 名称
        */
    name?: string;
    /**
     * 协议类型 TCP\UDP
     */
    protocol?: 'TCP' | 'UDP';
    /**
     * 端口号
     */
    port?: string;
}
export interface SLBPortMapping {
    /**
    * SLB 端口号
    */
    slbPort?: string;
    /**
     * 容器端口号
     */
    targetPort?: string;
    /**
     * 协议类型 TCP\UDP
     */
    protocol?: 'TCP' | 'UDP';
}
