Hello! :wave: We're using Seed for two projects (...
# help
a
Hello! 👋 We're using Seed for two projects (awesome tool, thank you!) and I have a question about unqualified vs qualified Lambda ARN... We have
project-serverless
repo which contains our serverless services. Then we have
project-main
repo which contains EventBridge and some other resources in a regular CFN template. So we're deploying updates to
project-serverless
through Seed, and then exporting the ARN for those Lambdas in
serverless.yml
and importing them into
project-main
. I ran into some cross-stack dependency errors when trying to import the qualified ARN into
project-main
, and then doing another deploy to
project-serverless
. So now I'm importing the unqualified ARN (without the Lambda version number at the end) into
project-main
, so
project-main
is always pointing to the LATEST version of the Lambda. And that solves the cross-stack dependency errors, so now I'm able to do deploys to
project-serverless
and everything seems to work. 👍 Question: Will importing the unqualified ARN in
project-main
cause us any issues down the road? Is it possible that at some point on prod as we're deploying updates to
project-serverless
through Seed that LATEST may not be deployed on prod? Hope that makes sense. Thank you for the help! 🙂
f
Hey @Anthony Xiques, with the versioned ARN, are you getting an error where once set, u can’t update the export value to the new version?
a
Hi @Frank, yes exactly. When I tried to run another deploy via Seed, the stack for my serverless service threw this error:
Export xyz-dev-XyzLambdaFunctionQualifiedArn cannot be updated as it is in use by project-main-dev
f
I havne’t used versions extensively, but AFAIK as long as the ARN is imported in
project-main
, you actually won’t be able to remove that Lambda function in
project-serverless
.
Not sure if that answers your questions.
a
Thanks! I guess the clearer question would be... is it possible for any version of a Lambda other than LATEST version to be deployed to prod via Seed?
because I'm pointing to LATEST now from my other stack 😅
f
LATEST is like an alias that ALWAYS points to the latest version. So you can have multiple versions deployed, and LATEST will point to the most recent versionl
a
okay got it. so I think I'm good to go for now 🙂 thank you!