public async execute()

in src/tasks/LambdaDeployFunction/TaskOperations.ts [25:55]


    public async execute(): Promise<void> {
        let functionArn: string
        const functionExists = await this.testFunctionExists(this.taskParameters.functionName)
        switch (this.taskParameters.deploymentMode) {
            case deployCodeOnly:
                if (functionExists) {
                    functionArn = await this.updateFunctionCode()
                } else {
                    throw new Error(tl.loc('FunctionNotFound', this.taskParameters.functionName))
                }
                break

            case deployCodeAndConfig:
                if (functionExists) {
                    functionArn = await this.updateFunction()
                } else {
                    functionArn = await this.createFunction()
                }
                break

            default:
                throw new Error(`Unrecognized deployment mode ${this.taskParameters.deploymentMode}`)
        }

        if (this.taskParameters.outputVariable) {
            console.log(tl.loc('SettingOutputVariable', this.taskParameters.outputVariable))
            tl.setVariable(this.taskParameters.outputVariable, functionArn)
        }

        console.log(tl.loc('TaskCompleted', this.taskParameters.functionName, functionArn))
    }