in jetbrains-core/src/software/aws/toolkits/jetbrains/services/lambda/steps/LambdaWorkflows.kt [112:161]
fun updateLambdaCodeWorkflowForZip(
project: Project,
functionName: String,
codeDetails: ZipBasedCode,
buildDir: Path,
buildEnvVars: Map<String, String>,
codeStorageLocation: String,
samOptions: SamOptions,
updatedHandler: String?
): StepWorkflow {
val (dummyTemplate, dummyLogicalId) = createTemporaryZipTemplate(buildDir, codeDetails)
val builtTemplate = buildDir.resolve("template.yaml")
val packagedTemplate = buildDir.resolve("packaged-temp-template.yaml")
val envVars = createAwsEnvVars(project)
return StepWorkflow(
buildList {
if (samOptions.buildInContainer) {
add(ValidateDocker())
}
add(
BuildLambda(
BuildLambdaRequest(
templatePath = dummyTemplate,
buildDir = buildDir,
buildEnvVars = buildEnvVars,
samOptions = samOptions
)
),
)
add(
PackageLambda(
templatePath = builtTemplate,
packagedTemplatePath = packagedTemplate,
logicalId = dummyLogicalId,
envVars = envVars,
s3Bucket = codeStorageLocation
),
)
add(
UpdateLambdaCode(
lambdaClient = project.awsClient(),
functionName = functionName,
updatedHandler = updatedHandler
)
)
}
)
}