Reputation: 248
I'm working on a serverless backend project at the moment. As I keep adding functions to my serverless.yml file, I can't help but wonder, surely there's a better way to write function configurations in other, seperate .yaml files, and then reference these in serverless.yml. Unfortunately, I've got no idea how to do this.
My project structure is like this:
And my functions are:
functions:
create:
handler: users/create.create
events:
- http:
path: users/create
method: post
cors: true
login:
handler: users/login.login
events:
- http:
path: users/login
method: post
cors: true
list:
handler: users/list.list
events:
- http:
path: users
method: get
cors: true
get:
handler: users/get.get
events:
- http:
path: users/{id}
method: get
cors: true
update:
handler: users/update.update
events:
- http:
path: users/{id}
method: put
cors: true
delete:
handler: users/delete.delete
events:
- http:
path: users/{id}
method: delete
cors: true
create_addr:
handler: address/create.create
events:
- http:
path: address
method: post
cors: true
delete_addr:
handler: address/delete.delete
events:
- http:
path: address/{id}
method: delete
cors: true
get_addr:
handler: address/get.get
events:
- http:
path: address/{id}
method: get
cors: true
update_addr:
handler: address/update.update
events:
- http:
path: address/{id}
method: put
cors: true
create_order:
handler: order/create.create
events:
- http:
path: order
method: post
cors: true
delete_order:
handler: order/delete.delete
events:
- http:
path: order/{id}
method: delete
cors: true
get_order:
handler: order/get.get
events:
- http:
path: order/{id}
method: get
cors: true
How do I go on about this?
Upvotes: 1
Views: 106
Reputation: 39778
According to the docs, you can do:
# serverless.yml
functions:
create: ${file(../create.yml)}
login: ${file(../login.yml)}
list: ${file(../list.yml)}
get: ${file(../get.yml)}
# ...
# create.yml
handler: users/create.create
events:
- http:
path: users/create
method: post
cors: true
And so on.
Upvotes: 1