102 lines
		
	
	
		
			2.9 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
			
		
		
	
	
			102 lines
		
	
	
		
			2.9 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
| #
 | |
| # The MIT License
 | |
| # Copyright © 2014-2019 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.
 | |
| #
 | |
| 
 | |
| service: serverless-services
 | |
| 
 | |
| 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:
 | |
|   lambdaInfoApi:
 | |
|     handler: com.iluwatar.serverless.faas.api.LambdaInfoApiHandler
 | |
|     events:
 | |
|       - http:
 | |
|           path: info
 | |
|           method: get
 | |
| 
 | |
|   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.FindPersonApiHandler
 | |
|     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 |