Class LambdaEdgeManager


  • public class LambdaEdgeManager
    extends Object
    Lambda API implementation.
    • Field Summary

      Fields 
      Modifier and Type Field Description
      private com.amazonaws.services.lambda.AWSLambda lambda
      AWS Lambda API client.
      private org.slf4j.Logger logger
      Logger.
      private com.fasterxml.jackson.databind.ObjectMapper objectMapper
      JSON generator.
      private com.amazonaws.services.s3.AmazonS3 s3
      AWS S3 API client.
    • Constructor Summary

      Constructors 
      Constructor Description
      LambdaEdgeManager​(com.amazonaws.services.lambda.AWSLambda lambda, com.amazonaws.services.s3.AmazonS3 s3, com.fasterxml.jackson.databind.ObjectMapper objectMapper)
      Initializes object with given Lambda client.
    • Field Detail

      • logger

        private org.slf4j.Logger logger
        Logger.
      • lambda

        private com.amazonaws.services.lambda.AWSLambda lambda
        AWS Lambda API client.
      • s3

        private com.amazonaws.services.s3.AmazonS3 s3
        AWS S3 API client.
      • objectMapper

        private com.fasterxml.jackson.databind.ObjectMapper objectMapper
        JSON generator.
    • Constructor Detail

      • LambdaEdgeManager

        public LambdaEdgeManager​(com.amazonaws.services.lambda.AWSLambda lambda,
                                 com.amazonaws.services.s3.AmazonS3 s3,
                                 com.fasterxml.jackson.databind.ObjectMapper objectMapper)
        Initializes object with given Lambda client.
        Parameters:
        lambda - AWS Lambda client.
        s3 - AWS S3 client.
        objectMapper - JSON generator.
    • Method Detail

      • create

        public pl.wrzasq.commons.aws.cloudformation.CustomResourceResponse<com.amazonaws.services.lambda.model.PublishVersionResult> create​(EdgeDeployRequest input,
                                                                                                                                            String physicalResourceId)
        Handles function creation.
        Parameters:
        input - Resource creation request.
        physicalResourceId - Physical ID of existing resource (if present).
        Returns:
        Data about published version.
      • update

        public pl.wrzasq.commons.aws.cloudformation.CustomResourceResponse<com.amazonaws.services.lambda.model.PublishVersionResult> update​(EdgeDeployRequest input,
                                                                                                                                            String physicalResourceId)
        Handles function update.
        Parameters:
        input - Resource update request.
        physicalResourceId - Physical ID of existing resource (if present).
        Returns:
        Data about published version.
      • delete

        public pl.wrzasq.commons.aws.cloudformation.CustomResourceResponse<com.amazonaws.services.lambda.model.PublishVersionResult> delete​(EdgeDeployRequest input,
                                                                                                                                            String physicalResourceId)
        Handles function deletion.
        Parameters:
        input - Resource delete request.
        physicalResourceId - Physical ID of existing resource (if present).
        Returns:
        Data about deleted version.
      • publishLambdaVersion

        private com.amazonaws.services.lambda.model.PublishVersionResult publishLambdaVersion​(String functionName)
        Publishes new version of Lambda.
        Parameters:
        functionName - Function stackSetName.
        Returns:
        Published version data.
      • buildZipFile

        private ByteBuffer buildZipFile​(EdgeDeployRequest input)
        Builds deployment ZIP package.
        Parameters:
        input - Function setup.
        Returns:
        ZIP file buffer.