Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- service: serverless-rest-api-with-dynamodb
- frameworkVersion: ">=1.1.0 <2.0.0"
- plugins:
- - serverless-dynamodb-local
- - serverless-offline
- custom:
- dynamodb:
- start:
- port: 8000
- dbPath: /Users/jimt/dev/examples/aws-node-rest-api-with-dynamodb-and-offline/db
- migrate: false
- migration:
- dir: offline/migrations
- provider:
- name: aws
- runtime: nodejs4.3
- environment:
- TODOS_TABLE: ${self:service}-${opt:stage, self:provider.stage}-todos
- PEOPLE_TABLE: ${self:service}-${opt:stage, self:provider.stage}-people
- iamRoleStatements:
- - Effect: Allow
- Action:
- - dynamodb:Query
- - dynamodb:Scan
- - dynamodb:GetItem
- - dynamodb:PutItem
- - dynamodb:UpdateItem
- - dynamodb:DeleteItem
- Resource: "arn:aws:dynamodb:${opt:region, self:provider.region}:*:table/${self:provider.environment.TODOS_TABLE}"
- - Effect: Allow
- Action:
- - dynamodb:Query
- - dynamodb:Scan
- - dynamodb:GetItem
- - dynamodb:PutItem
- - dynamodb:UpdateItem
- - dynamodb:DeleteItem
- Resource: "arn:aws:dynamodb:${opt:region, self:provider.region}:*:table/${self:provider.environment.PEOPLE_TABLE}"
- functions:
- createPerson:
- handler: people/create.create
- events:
- - http:
- path: people
- method: post
- cors: true
- listPerson:
- handler: people/list.list
- events:
- - http:
- path: people
- method: get
- cors: true
- createTodo:
- handler: todos/create.create
- events:
- - http:
- path: todos
- method: post
- cors: true
- listTodos:
- handler: todos/list.list
- events:
- - http:
- path: todos
- method: get
- cors: true
- getTodo:
- handler: todos/get.get
- events:
- - http:
- path: todos/{id}
- method: get
- cors: true
- updateTodo:
- handler: todos/update.update
- events:
- - http:
- path: todos/{id}
- method: put
- cors: true
- deleteTodo:
- handler: todos/delete.delete
- events:
- - http:
- path: todos/{id}
- method: delete
- cors: true
- resources:
- Resources:
- TodosDynamoDbTable:
- Type: 'AWS::DynamoDB::Table'
- DeletionPolicy: Retain
- Properties:
- AttributeDefinitions:
- -
- AttributeName: id
- AttributeType: S
- KeySchema:
- -
- AttributeName: id
- KeyType: HASH
- ProvisionedThroughput:
- ReadCapacityUnits: 1
- WriteCapacityUnits: 1
- TableName: ${self:provider.environment.TODOS_TABLE}
- PeopleDynamoDbTable:
- Type: 'AWS::DynamoDB::Table'
- DeletionPolicy: Retain
- Properties:
- AttributeDefinitions:
- -
- AttributeName: id
- AttributeType: S
- KeySchema:
- -
- AttributeName: id
- KeyType: HASH
- ProvisionedThroughput:
- ReadCapacityUnits: 1
- WriteCapacityUnits: 1
- TableName: ${self:provider.environment.PEOPLE_TABLE}
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement