2018-02-08 12:03:00 -05:00
|
|
|
#
|
|
|
|
# The MIT License
|
|
|
|
# Copyright (c) 2014 Ilkka Seppälä
|
|
|
|
#
|
|
|
|
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
|
|
# of this software and associated documentation files (the "Software"), to deal
|
|
|
|
# in the Software without restriction, including without limitation the rights
|
|
|
|
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
|
|
# copies of the Software, and to permit persons to whom the Software is
|
|
|
|
# furnished to do so, subject to the following conditions:
|
|
|
|
#
|
|
|
|
# The above copyright notice and this permission notice shall be included in
|
|
|
|
# all copies or substantial portions of the Software.
|
|
|
|
#
|
|
|
|
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
|
|
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
|
|
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
|
|
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
|
|
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
|
|
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
|
|
|
# THE SOFTWARE.
|
|
|
|
#
|
|
|
|
|
2018-03-05 20:51:32 -05:00
|
|
|
service: serverless-services
|
2018-02-08 12:03:00 -05:00
|
|
|
|
|
|
|
frameworkVersion: ">=1.2.0 <2.0.0"
|
|
|
|
|
|
|
|
provider:
|
|
|
|
name: aws
|
|
|
|
runtime: java8
|
|
|
|
usagePlan:
|
|
|
|
quota:
|
|
|
|
limit: 500
|
|
|
|
offset: 2
|
|
|
|
period: MONTH
|
|
|
|
throttle:
|
|
|
|
burstLimit: 20
|
|
|
|
rateLimit: 10
|
|
|
|
|
|
|
|
package:
|
|
|
|
artifact: target/serverless.jar
|
|
|
|
|
|
|
|
functions:
|
2018-03-05 20:51:32 -05:00
|
|
|
lambdaInfoApi:
|
|
|
|
handler: com.iluwatar.serverless.faas.api.LambdaInfoApiHandler
|
2018-02-08 12:03:00 -05:00
|
|
|
events:
|
|
|
|
- http:
|
|
|
|
path: info
|
|
|
|
method: get
|
2018-03-05 20:51:32 -05:00
|
|
|
|
|
|
|
savePerson:
|
|
|
|
handler: com.iluwatar.serverless.baas.api.SavePersonApiHandler
|
|
|
|
events:
|
|
|
|
- http:
|
|
|
|
path: api/person
|
|
|
|
method: post
|
|
|
|
cors: true
|
|
|
|
integration: lambda-proxy
|
|
|
|
|
|
|
|
getPerson:
|
|
|
|
handler: com.iluwatar.serverless.baas.api.FindPersonApiHandlerr
|
|
|
|
events:
|
|
|
|
- http:
|
|
|
|
path: api/person/{id}
|
|
|
|
method: get
|
|
|
|
cors: true
|
|
|
|
integration: lambda-proxy
|
|
|
|
|
|
|
|
resources:
|
|
|
|
Resources:
|
|
|
|
DynamoDbTable:
|
|
|
|
Type: AWS::DynamoDB::Table
|
|
|
|
Properties:
|
|
|
|
TableName: persons
|
|
|
|
AttributeDefinitions:
|
|
|
|
- AttributeName: id
|
|
|
|
AttributeType: S
|
|
|
|
KeySchema:
|
|
|
|
- AttributeName: id
|
|
|
|
KeyType: HASH
|
|
|
|
ProvisionedThroughput:
|
|
|
|
ReadCapacityUnits: 1
|
|
|
|
WriteCapacityUnits: 1
|
|
|
|
DynamoDBIamPolicy:
|
|
|
|
Type: AWS::IAM::Policy
|
|
|
|
DependsOn: DynamoDbTable
|
|
|
|
Properties:
|
|
|
|
PolicyName: lambda-dynamodb
|
|
|
|
PolicyDocument:
|
|
|
|
Version: '2012-10-17'
|
|
|
|
Statement:
|
|
|
|
- Effect: Allow
|
|
|
|
Action:
|
|
|
|
- dynamodb:GetItem
|
|
|
|
- dynamodb:PutItem
|
|
|
|
- dynamodb:UpdateItem
|
|
|
|
- dynamodb:DeleteItem
|
|
|
|
- dynamodb:Query
|
|
|
|
- dynamodb:Scan
|
|
|
|
Resource: arn:aws:dynamodb:*:*:table/persons
|
|
|
|
Roles:
|
|
|
|
- Ref: IamRoleLambdaExecution
|