
archetype-resources.template.yml Maven / Gradle / Ivy
The newest version!
#set($resourceName = $artifactId)
#macro(replaceChar $originalName, $char)
#if($originalName.contains($char))
#set($tokens = $originalName.split($char))
#set($newResourceName = "")
#foreach($token in $tokens)
#set($newResourceName = $newResourceName + $token.substring(0,1).toUpperCase() + $token.substring(1).toLowerCase())
#end
${newResourceName}
#else
#set($newResourceName = $originalName.substring(0,1).toUpperCase() + $originalName.substring(1))
${newResourceName}
#end
#end
#set($resourceName = "#replaceChar($resourceName, '-')")
#set($resourceName = "#replaceChar($resourceName, '.')")
#set($resourceName = $resourceName.replaceAll("\n", "").trim())
#macro(regionVar)
AWS::Region
#end
#set($awsRegion = "#regionVar()")
#set($awsRegion = $awsRegion.replaceAll("\n", "").trim())
AWSTemplateFormatVersion: '2010-09-09'
Transform: AWS::Serverless-2016-10-31
Description: AWS Serverless Apache Struts2 API - ${groupId}::${artifactId}
Globals:
Api:
EndpointConfiguration: REGIONAL
Resources:
${resourceName}Function:
Type: AWS::Serverless::Function
Properties:
Handler: com.amazonaws.serverless.proxy.struts2.Struts2LambdaHandler::handleRequest
Runtime: java8
CodeUri: .
MemorySize: 512
Policies: AWSLambdaBasicExecutionRole
Timeout: 30
Events:
ProxyResource:
Type: Api
Properties:
Path: /{proxy+}
Method: any
Outputs:
${resourceName}Api:
Description: URL for application
Value: !Sub 'https://${ServerlessRestApi}.execute-api.${${awsRegion}}.amazonaws.com/Prod/ping'
Export:
Name: ${resourceName}Api
© 2015 - 2025 Weber Informatics LLC | Privacy Policy