Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Can no longer reference layer in same service as function #12395

Open
4 tasks done
andrewchernow opened this issue Mar 19, 2024 · 0 comments
Open
4 tasks done

Can no longer reference layer in same service as function #12395

andrewchernow opened this issue Mar 19, 2024 · 0 comments

Comments

@andrewchernow
Copy link

Are you certain it's a bug?

  • Yes, it looks like a bug

Is the issue caused by a plugin?

  • It is not a plugin issue

Are you using the latest v3 release?

  • Yes, I'm using the latest v3 release

Is there an existing issue for this?

  • I have searched existing issues, it hasn't been reported yet

Issue description

The serverless layer documentation explains how to reference a layer in same service as a function.

layers:
  test:
    path: layer
functions:
  hello:
    handler: handler.hello
    layers:
      - !Ref TestLambdaLayer

This no longer works since the generated CF template appends a hash to the name

TestLambdaLayeraece44dc10ace0f99712d88cd8dfcb75f0770f49

Service configuration (serverless.yml) content

org: sanford-and-son
app: boo
service: tools

frameworkVersion: ^3.38.0
configValidationMode: error
deprecationNotificationMode: warn:summary

params:
    default:
        func_dir: src/functions
        artifact_dir: ./.artifacts

provider: 
    name: aws
    stage: ${opt:stage, 'local'}
    runtime: nodejs20.x
    architecture: arm64
    stackName: boo-${self:service}
    deploymentMethod: direct
    logs:
        httpApi: true
    logRetentionInDays: 180
    deploymentPrefix: serverless
    deploymentBucket:
        name: boo-${self:provider.stage}-${aws:region}
package:
    individually: true
    excludeDevDependencies: true

layers:
    chromium:
        name: chromium
        description: Chromium headless browser
        retain: true
        compatibleRuntimes:
            - nodejs20.x
        compatibleArchitectures:
            - x86_64
        package:
            artifact: ./chromium-v122.0.0-layer.zip

functions:
    boo-html-to-pdf:
        handler: ${param:func_dir}/html-to-pdf/entry.handler
        name: boo-html-to-pdf
        description: Converts HTML to PDF Documents
        runtime: nodejs20.x
        architecture: x86_64 # chromium doesn't support arm64 yet
        timeout: 300
        memorySize: 2048
        package:
            artifact: ${param:artifact_dir}/html-to-pdf.zip
        layers:
            - !Ref ChromiumLambdaLayer

resources:
    Description: 'my stack description'

Command name and used flags

serverless deploy --stage dev --force

Command output

The CloudFormation template is invalid: Template format error: Unresolved resource dependencies [TestLambdaLayer] in the Resources block of the template

Environment information

Running "serverless" from node_modules
Framework Core: 3.38.0 (local) 3.38.0 (global)
Plugin: 7.2.0
SDK: 4.5.1
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant