1

I've got a web application running on the serverless framework version 3.7.5. Every time I deploy my lambda function I get this warning:

"Warning: Invalid configuration encountered at root: unrecognised property 'deploymentBucket'".

I have attached the "serverless.yml" file below for external scrutiny. Is my configuration of the "deploymentBucket" property not valid? Do I need to change or edit any of the properties?

Note: Deployment works fine as it's simply a warning and I am able to proceed to testing my api endpoints... I just find this warning a tad bothersome and would like to erase it once and for all. Thanks in advance!

Here's my serverless.yml file

# Welcome to Serverless!
#
# This file is the main config file for your service.
# It's very minimal at this point and uses default values.
# You can always add more config options for more control.
# We've included some commented out config examples here.
# Just uncomment any of them to get that config option.
#
# For full config options, check the docs:
#    docs.serverless.com
#
# Happy Coding!

service: poppy-seed
# app and org for use with dashboard.serverless.com
#app: your-app-name
#org: your-org-name

# You can pin your service to only deploy with a specific Serverless version
# Check out our docs for more details
frameworkVersion: '3.7.5'

provider:
  name: aws
  runtime: java11
  timeout: 30
  lambdaHashingVersion: 20201221

# you can overwrite defaults here
#  stage: dev
#  region: us-east-1
    variable1: value1

# you can add packaging information here
package:
  artifact: build/libs/poppy-seed-dev-all.jar

functions:
  poppy-seed:
    handler: com.serverless.lambda.Handler
#    The following are a few example events you can configure
#    NOTE: Please make sure to change your handler code to work with those events
#    Check the event documentation for details
    events:
      - http:
          path: "{proxy+}"
          method: ANY
          cors: true


deploymentBucket:
  blockPublicAccess: true # Prevents public access via ACLs or bucket policies. Default is false
  skipPolicySetup: false # Prevents creation of default bucket policy when framework creates the deployment bucket. Default is false
  name: # Deployment bucket name. Default is generated by the framework
  maxPreviousDeploymentArtifacts: 5 # On every deployment the framework prunes the bucket to remove artifacts older than this limit. The default is 5
  versioning: false # enable bucket versioning. Default is false
  deploymentPrefix: serverless # The S3 prefix under which deployed artifacts should be stored. Default is serverless
  disableDefaultOutputExportNames: false # optional, if set to 'true', disables default behavior of generating export names for CloudFormation outputs
  lambdaHashingVersion: 20201221 # optional, version of hashing algorithm that should be used by the framework


plugins:
  - serverless-sam
#  Resources:
#    NewResource:
#      Type: AWS::S3::Bucket
#      Properties:
#        BucketName: my-new-bucket
#  Outputs:
#     NewOutput:
#       Description: "Description for the output"
#       Value: "Some output value"
0x6C38
  • 6,796
  • 4
  • 35
  • 47
Dico
  • 11
  • 1
  • 2
  • 4

3 Answers3

0

The warning means that the deploymentBucket property is not recognized and as such it is not doing what you think it should be doing.

According to serverless docs, deploymentBucket should be a property under provider not a root property.

Noel Llevares
  • 15,018
  • 3
  • 57
  • 81
  • Hi @NoelLlevares. Thank you so much for your response. I did as the docs suggested and moved the `deploymentBucket` property under `provider` which cleared the warning – Dico Mar 29 '22 at 06:41
0

I was able to get rid of this warning by moving the deploymentBucket property under provider instead of registering it as a root property. The modified serverless.yml file is attached below:

service: poppy-seed

provider:
  name: aws
  runtime: java11
  timeout: 30
  lambdaHashingVersion: 20201221 
  deploymentBucket:
    blockPublicAccess: true 
    skipPolicySetup: false 
    name: poppy-seed
    maxPreviousDeploymentArtifacts: 5
    versioning: false # enable bucket versioning. Default is false


package:
  artifact: build/libs/poppy-seed-dev-all.jar

functions:
  poppy-seed:
    handler: com.serverless.lambda.Handler


events:
  - http:
      path: "{proxy+}"
      method: ANY
      cors: true

plugins:
  - serverless-sam

Also read up the serverless documentation for more clarity. Thanks again to @NoelLlevares for the tip.

Dico
  • 11
  • 1
  • 2
  • 4
0

Also try to update to latest version of serverless in my case some keys were unrecognized in old version

jazeb007
  • 578
  • 1
  • 5
  • 11