mirror of
https://github.com/serverless/serverless.git
synced 2026-01-25 15:07:39 +00:00
54 lines
1.7 KiB
Markdown
54 lines
1.7 KiB
Markdown
# serverless.yml
|
|
|
|
The `serverless.yml` file is the core for each service as it defines the whole configuration of your functions, their
|
|
corresponding events, the used plugins, custom resources, and other service configuration.
|
|
|
|
Here's an example `serverless.yml` file that touches on all the config details.
|
|
|
|
```yml
|
|
service: first_service
|
|
|
|
provider:
|
|
name: aws
|
|
runtime: nodejs4.3
|
|
|
|
plugins:
|
|
- additional_plugin
|
|
- another_plugin
|
|
|
|
defaults: # overwrite defaults
|
|
stage: dev
|
|
region: us-east-1
|
|
variableSyntax: '\${{([\s\S]+?)}}' # change variable syntax to ${{foo}}
|
|
|
|
package:
|
|
# only the following paths will be included in the resulting artifact which will be uploaded. Without specific include everything in the current folder will be included
|
|
include:
|
|
- lib
|
|
- functions
|
|
# The following paths will be excluded from the resulting artifact. If both include and exclude are defined we first apply the include, then the exclude so files are guaranteed to be excluded
|
|
exclude:
|
|
- tmp
|
|
- .git
|
|
artifact: path/to/my-artifact.zip # You can specify your own zip file for your service. Serverless won't zip your service if this is set
|
|
|
|
functions:
|
|
hello:
|
|
# Deployed Lambda name with a prefix
|
|
name: ${prefix}-lambdaName # You have to provide that variable in serverless.env.yml
|
|
handler: handler.hello
|
|
memorySize: 512 # optional, default is 1024
|
|
timeout: 10 # optional, default is 6
|
|
events:
|
|
- s3: bucketName
|
|
- schedule: rate(10 minutes)
|
|
- http:
|
|
path: users/create
|
|
method: get
|
|
- sns: topic-name
|
|
|
|
resources:
|
|
Resources:
|
|
$ref: ../custom_resources.json # you can use JSON-REF to ref other JSON files
|
|
```
|