import { Capi } from '@tencent-sdk/capi'; import Cls from '../../cls'; import BaseEntity from './base'; import { FaasBaseConfig, FunctionInfo, GetLogOptions, GetRequestStatusOptions, ScfCreateFunctionInputs, } from '../interface'; export default class ScfEntity extends BaseEntity { region: string; cls: Cls; constructor(capi: Capi, region: string); get({ functionName, namespace, qualifier, showCode, showTriggers, }: { showCode?: boolean; showTriggers?: boolean; } & FaasBaseConfig): Promise; wait: ({ functionName, namespace, qualifier, }: { functionName: string; namespace?: string; qualifier?: string; }) => Promise< | { isOperational: boolean; detail: FunctionInfo; error?: undefined; } | { isOperational: boolean; detail: FunctionInfo; error: { message: string; }; } >; checkStatus({ functionName, namespace, qualifier, }: { functionName: string; namespace?: string; qualifier?: string; }): Promise< | { isOperational: boolean; detail: FunctionInfo; error?: undefined; } | { isOperational: boolean; detail: FunctionInfo; error: { message: string; }; } >; create(inputs: ScfCreateFunctionInputs): Promise; updateCode(inputs: ScfCreateFunctionInputs, funcInfo: FunctionInfo): Promise; updateConfigure(inputs: ScfCreateFunctionInputs, funcInfo: FunctionInfo): Promise; getAsyncRetryConfig(inputs: ScfCreateFunctionInputs, funcInfo: FunctionInfo): Promise; updateAsyncRetry(inputs: ScfCreateFunctionInputs, funcInfo: FunctionInfo): Promise; delete({ namespace, functionName, }: { namespace: string; functionName: string; }): Promise; isOperational({ namespace, functionName, qualifier, }: { namespace: string | undefined; functionName: string; qualifier?: string; }): Promise; tryToDelete({ namespace, functionName, }: { namespace: string; functionName: string; }): Promise; /** * 获取函数初始状态 * 如果函数为创建失败,则尝试删除函数,重新创建(因为创建失败的函数没法更新) */ getInitialStatus({ namespace, functionName, qualifier, }: { namespace: string; functionName: string; qualifier?: string; }): Promise; getClsConfig({ functionName, namespace, qualifier }: FaasBaseConfig): Promise<{ logsetId: string; topicId: string; }>; getLogs(data: GetLogOptions): Promise; getLogByReqId(data: GetLogOptions): Promise; getDemoAddress(demoId: string): Promise; getRequestStatus(inputs: GetRequestStatusOptions): Promise; }