AWSTemplateFormatVersion: '2010-09-09' Transform: AWS::Serverless-2016-10-31 Description: Simple CRUD web service. State is stored in a DynamoDB table. Resources: ProductGetFunction: Type: AWS::Serverless::Function Properties: Handler: product-manager.get Runtime: nodejs14.x Timeout: 15 Policies: - AmazonDynamoDBReadOnlyAccess - AmazonS3FullAccess Environment: Variables: LogsBucketName: Fn::Join: - '-' - - serverless-saas-layers-logs - Ref: AWS::AccountId Events: GetResource: Type: Api Properties: Path: /product/{resourceId} Method: get CodeUri: s3://serverless-saas-layers1591978644/26389ff529c6a95cfee97be4d1238dc2 ProductPutFunction: Type: AWS::Serverless::Function Properties: Handler: product-manager.put Runtime: nodejs14.x Timeout: 15 Policies: - AmazonDynamoDBFullAccess - AmazonS3FullAccess Environment: Variables: LogsBucketName: Fn::Join: - '-' - - serverless-saas-layers-logs - Ref: AWS::AccountId Events: PutResource: Type: Api Properties: Path: /product/{resourceId} Method: put CodeUri: s3://serverless-saas-layers1591978644/26389ff529c6a95cfee97be4d1238dc2 ProductDeleteFunction: Type: AWS::Serverless::Function Properties: Handler: product-manager.delete Runtime: nodejs14.x Timeout: 15 Policies: - AmazonDynamoDBFullAccess - AmazonS3FullAccess Environment: Variables: LogsBucketName: Fn::Join: - '-' - - serverless-saas-layers-logs - Ref: AWS::AccountId Events: DeleteResource: Type: Api Properties: Path: /product/{resourceId} Method: delete CodeUri: s3://serverless-saas-layers1591978644/26389ff529c6a95cfee97be4d1238dc2 OrderGetFunction: Type: AWS::Serverless::Function Properties: Handler: order-manager.get Runtime: nodejs14.x Timeout: 15 Policies: - AmazonDynamoDBReadOnlyAccess - AmazonS3FullAccess Environment: Variables: LogsBucketName: Fn::Join: - '-' - - serverless-saas-layers-logs - Ref: AWS::AccountId Events: GetResource: Type: Api Properties: Path: /order/{resourceId} Method: get CodeUri: s3://serverless-saas-layers1591978644/26389ff529c6a95cfee97be4d1238dc2 OrderPutFunction: Type: AWS::Serverless::Function Properties: Handler: order-manager.put Runtime: nodejs14.x Timeout: 5 Policies: - AmazonDynamoDBFullAccess - AmazonS3FullAccess Environment: Variables: LogsBucketName: Fn::Join: - '-' - - serverless-saas-layers-logs - Ref: AWS::AccountId Events: PutResource: Type: Api Properties: Path: /order/{resourceId} Method: put CodeUri: s3://serverless-saas-layers1591978644/26389ff529c6a95cfee97be4d1238dc2 OrderDeleteFunction: Type: AWS::Serverless::Function Properties: Handler: order-manager.delete Runtime: nodejs14.x Timeout: 15 Policies: - AmazonDynamoDBFullAccess - AmazonS3FullAccess Environment: Variables: LogsBucketName: Fn::Join: - '-' - - serverless-saas-layers-logs - Ref: AWS::AccountId Events: DeleteResource: Type: Api Properties: Path: /order/{resourceId} Method: delete CodeUri: s3://serverless-saas-layers1591978644/26389ff529c6a95cfee97be4d1238dc2