import { Environment } from '../environment'; import { IResponseInfo } from '../interfaces'; import { CloudrunServerType, ICloudrunDetailResponse, ICloudrunListResponse, ICloudrunServerBaseConfig, ICreateVpcInfo, IBuildLogResponse, IProcessLogResponse, IDiffConfigItem, ITemplate, ReleaseTypeEnum, IServerManageTaskInfo, IDescribeReleaseOrderParams, IDescribeReleaseOrderResponse, IDescribeCloudRunDeployRecordResponse, IDescribeVersionDetailParams, IDescribeVersionDetailResponse, ISubmitServerRollbackParams, ISubmitServerRollbackResponse, IDeleteCloudRunVersionsParams, IDeleteCloudRunVersionsResponse } from './type'; /** * 云托管服务管理类 * 提供云托管服务的初始化、下载、列表查询和删除等功能 */ export declare class CloudRunService { private environment; private tcbrService; private tcbService; constructor(environment: Environment); /** * 初始化云托管代码项目 * @param {Object} params 初始化参数 * @param {string} params.serverName 服务名称,将作为项目目录名 * @param {string} [params.template='helloworld'] 模板标识符,默认为'helloworld' * @param {string} [params.targetPath='.'] 目标路径,默认为当前目录 * @returns {Promise} * @throws 当模板不存在、下载失败或解压失败时抛出错误 */ init(params: { serverName: string; template?: string; targetPath?: string; }): Promise<{ projectDir: string; }>; /** * 下载云托管服务代码到本地目录 * @param {Object} params 下载参数 * @param {string} params.serverName 要下载的服务名称 * @param {string} params.targetPath 下载的目标路径(绝对路径或相对路径) * @returns {Promise} * @throws 当以下情况发生时抛出错误: * - 未找到服务版本 * - 获取下载地址失败 * - 下载或解压过程中出错 */ download(params: { serverName: string; targetPath: string; }): Promise; /** * 查询服务管理任务信息 * @param {Object} params 查询参数 * @param {string} params.serverName 服务名 * @param {number} [params.taskId=0] 任务 ID,传 0 表示查询该服务当前最新的任务 * @param {string} [params.operatorRemark] 操作标识 * @returns {Promise<{ IsExist?: boolean; Task?: IServerManageTaskInfo; RequestId?: string }>} 任务是否存在及任务信息 */ describeServerManageTask(params: { serverName: string; taskId?: number; operatorRemark?: string; }): Promise<{ IsExist?: boolean; Task?: IServerManageTaskInfo; RequestId?: string; }>; /** * 查询发布单信息(DescribeReleaseOrder) * @param {IDescribeReleaseOrderParams} params 查询参数 * @returns {Promise} 发布单详情 */ describeReleaseOrder(params: IDescribeReleaseOrderParams): Promise; /** * 获取云托管服务列表 * @param {Object} [params] 查询参数 * @param {number} [params.pageSize] 每页数量 * @param {number} [params.pageNum] 页码 * @param {string} [params.serverName] 服务名称筛选 * @param {string} [params.serverType] 服务类型筛选 * @returns {Promise} 包含服务列表和总数等信息的响应对象 */ list(params?: { pageSize?: number; pageNum?: number; serverName?: string; serverType?: CloudrunServerType; }): Promise; /** * * @param serverName 云托管服务名 * @param stablePercent 稳定版本流量比例 * @param canaryPercent 灰度版本流量比例 * @returns 灰度发布进度 */ setTraffic(serverName: string, stablePercent: number, canaryPercent: number): Promise<{ RequestId?: string; }>; /** * * @param serverName 云托管服务名 * @returns 发布结果 */ promote(serverName: string): Promise<{ RequestId?: string; }>; /** * * @param serverName 云托管服务名 * @returns 回滚结果 */ rollback(serverName: string): Promise<{ RequestId?: string; }>; /** * 回滚版本(SubmitServerRollback) * @param {ISubmitServerRollbackParams} params 回滚参数(服务名、当前版本名、目标回滚版本名) * @returns {Promise} 返回任务 ID 和请求 ID */ submitServerRollback(params: ISubmitServerRollbackParams): Promise; /** * 批量删除版本 * @param {IDeleteCloudRunVersionsParams} params 删除参数 * @returns {Promise} 删除结果 */ deleteCloudRunVersions(params: IDeleteCloudRunVersionsParams): Promise; /** * 查询版本详情 * @param {IDescribeVersionDetailParams} params 查询参数(服务名、版本名、可选渠道) * @returns {Promise} 版本详情 */ describeVersionDetail(params: IDescribeVersionDetailParams): Promise; /** *查询云托管服务详情 * @param {Object} params 查询参数 * @param {string} params.serverName 要查询的服务名称 * @returns {Promise} 返回服务详情响应对象 */ detail(params: { serverName: string; }): Promise; /** * 删除指定的云托管服务 * @param {string} serverName - 要删除的服务名称,必须是在当前环境中已存在的服务 * @returns {Promise} 返回删除操作的响应信息 */ delete(params: { serverName: string; }): Promise; /** * 本地代码部署云托管服务 * @param {Object} params 部署参数 * @param {string} params.serverName 要部署的服务名称 * @param {string} params.targetPath 本地代码路径 * @param {Object} [params.serverConfig] 服务配置项(可选) * @param {string[]} [params.serverConfig.OpenAccessTypes] 开放访问类型,不传时默认 ['OA', 'PUBLIC', 'MINIAPP'] * @param {number} [params.serverConfig.Cpu] CPU规格 * @param {number} [params.serverConfig.Mem] 内存规格 * @param {number} [params.serverConfig.MinNum] 最小实例数 * @param {number} [params.serverConfig.MaxNum] 最大实例数 * @param {Object} [params.serverConfig.PolicyDetails] 策略详情 * @param {Object} [params.serverConfig.CustomLogs] 自定义日志配置 * @param {Object} [params.serverConfig.EnvParams] 环境变量参数 * @param {number} [params.serverConfig.Port] 端口(函数型服务不允许设置) * @param {string} [params.serverConfig.Dockerfile] Dockerfile路径 * @param {string} [params.serverConfig.BuildDir] 构建目录 * @param {boolean} [params.serverConfig.InternalAccess] 是否开启内网访问 * @param {string} [params.serverConfig.InternalDomain] 内网域名 * @param {string} [params.serverConfig.EntryPoint] 入口文件 * @param {string} [params.serverConfig.Cmd] 启动命令 * @returns {Promise} 返回部署操作的响应信息 */ deploy(params: { serverName: string; targetPath: string; deployInfo: { ReleaseType: ReleaseTypeEnum; }; /** 镜像地址,传入时走镜像部署模式,无需上传代码包 */ imageUrl?: string; vpcInfo?: ICreateVpcInfo; serverConfig?: Partial>; }): Promise; /** * 获取云托管服务模板列表 * @returns {Promise} 返回模板数组 */ getTemplates(): Promise; /** * 获取部署记录列表,按部署时间倒序(最新在前) */ getDeployRecords(params: { serverName: string; }): Promise; getBuildLog(params: { serverName: string; buildId?: number; }): Promise; getProcessLog(params: { RunId: string; }): Promise; private _checkFunctionExist; private _upsertFunction; } export declare function codeToZip(cwd: string, options?: { installDependency?: boolean; }): Promise; /** * 将 object 参数转为 [{key:"Port", IntValue:80}] 的格式,并且剔除空字符串 */ export declare function parseObjectToDiffConfigItem(data: Partial): IDiffConfigItem[];