60 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
		
		
			
		
	
	
			60 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
| 
								 | 
							
								AWSTemplateFormatVersion: '2010-09-09'
							 | 
						||
| 
								 | 
							
								Transform: 'AWS::Serverless-2016-10-31'
							 | 
						||
| 
								 | 
							
								Description: Baeldung Serverless Application Model Example with Implicit API Definition
							 | 
						||
| 
								 | 
							
								Globals:
							 | 
						||
| 
								 | 
							
								  Api:
							 | 
						||
| 
								 | 
							
								    EndpointConfiguration: REGIONAL
							 | 
						||
| 
								 | 
							
								    Name: "TestAPI"
							 | 
						||
| 
								 | 
							
								Resources:
							 | 
						||
| 
								 | 
							
								  PersonTable:
							 | 
						||
| 
								 | 
							
								    Type: AWS::Serverless::SimpleTable
							 | 
						||
| 
								 | 
							
								    Properties:
							 | 
						||
| 
								 | 
							
								      PrimaryKey:
							 | 
						||
| 
								 | 
							
								          Name: id
							 | 
						||
| 
								 | 
							
								          Type: Number
							 | 
						||
| 
								 | 
							
								      TableName: Person
							 | 
						||
| 
								 | 
							
								  StorePersonFunction:
							 | 
						||
| 
								 | 
							
								    Type: AWS::Serverless::Function
							 | 
						||
| 
								 | 
							
								    Properties:
							 | 
						||
| 
								 | 
							
								      Handler: com.baeldung.lambda.apigateway.APIDemoHandler::handleRequest
							 | 
						||
| 
								 | 
							
								      Runtime: java8
							 | 
						||
| 
								 | 
							
								      Timeout: 15
							 | 
						||
| 
								 | 
							
								      MemorySize: 512
							 | 
						||
| 
								 | 
							
								      CodeUri: ../target/aws-lambda-0.1.0-SNAPSHOT.jar
							 | 
						||
| 
								 | 
							
								      Policies:
							 | 
						||
| 
								 | 
							
								        - DynamoDBCrudPolicy:
							 | 
						||
| 
								 | 
							
								            TableName: !Ref PersonTable
							 | 
						||
| 
								 | 
							
								      Environment:
							 | 
						||
| 
								 | 
							
								        Variables:
							 | 
						||
| 
								 | 
							
								          TABLE_NAME: !Ref PersonTable
							 | 
						||
| 
								 | 
							
								      Events:
							 | 
						||
| 
								 | 
							
								        StoreApi:
							 | 
						||
| 
								 | 
							
								          Type: Api
							 | 
						||
| 
								 | 
							
								          Properties:
							 | 
						||
| 
								 | 
							
								            Path: /persons
							 | 
						||
| 
								 | 
							
								            Method: PUT
							 | 
						||
| 
								 | 
							
								  GetPersonByHTTPParamFunction:
							 | 
						||
| 
								 | 
							
								    Type: AWS::Serverless::Function
							 | 
						||
| 
								 | 
							
								    Properties:
							 | 
						||
| 
								 | 
							
								      Handler: com.baeldung.lambda.apigateway.APIDemoHandler::handleGetByParam
							 | 
						||
| 
								 | 
							
								      Runtime: java8
							 | 
						||
| 
								 | 
							
								      Timeout: 15
							 | 
						||
| 
								 | 
							
								      MemorySize: 512
							 | 
						||
| 
								 | 
							
								      CodeUri: ../target/aws-lambda-0.1.0-SNAPSHOT.jar
							 | 
						||
| 
								 | 
							
								      Policies:
							 | 
						||
| 
								 | 
							
								        - DynamoDBReadPolicy:
							 | 
						||
| 
								 | 
							
								            TableName: !Ref PersonTable
							 | 
						||
| 
								 | 
							
								      Environment:
							 | 
						||
| 
								 | 
							
								        Variables:
							 | 
						||
| 
								 | 
							
								          TABLE_NAME: !Ref PersonTable
							 | 
						||
| 
								 | 
							
								      Events:
							 | 
						||
| 
								 | 
							
								        GetByPathApi:
							 | 
						||
| 
								 | 
							
								          Type: Api
							 | 
						||
| 
								 | 
							
								          Properties:
							 | 
						||
| 
								 | 
							
								            Path: /persons/{id}
							 | 
						||
| 
								 | 
							
								            Method: GET
							 | 
						||
| 
								 | 
							
								        GetByQueryApi:
							 | 
						||
| 
								 | 
							
								          Type: Api
							 | 
						||
| 
								 | 
							
								          Properties:
							 | 
						||
| 
								 | 
							
								            Path: /persons
							 | 
						||
| 
								 | 
							
								            Method: GET
							 |