All Downloads are FREE. Search and download functionalities are using the official Maven repository.

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 Jersey API - ${groupId}::${artifactId}
Globals:
  Api:
    EndpointConfiguration: REGIONAL

Resources:
  ${resourceName}Function:
    Type: AWS::Serverless::Function
    Properties:
      Handler: ${groupId}.StreamLambdaHandler::handleRequest
      Runtime: java21
      CodeUri: .
      MemorySize: 512
      Policies: AWSLambdaBasicExecutionRole
      Timeout: 15
      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