github.com/mweagle/Sparta@v1.15.0/doc_cloudwatchlogs_test.go (about)

     1  package sparta
     2  
     3  import (
     4  	"context"
     5  
     6  	"github.com/aws/aws-lambda-go/lambdacontext"
     7  	"github.com/sirupsen/logrus"
     8  )
     9  
    10  func cloudWatchLogsProcessor(ctx context.Context,
    11  	props map[string]interface{}) error {
    12  	lambdaCtx, _ := lambdacontext.FromContext(ctx)
    13  	Logger().WithFields(logrus.Fields{
    14  		"RequestID": lambdaCtx.AwsRequestID,
    15  	}).Info("CloudWatch log event")
    16  	Logger().Info("CloudWatch Log event received")
    17  	return nil
    18  }
    19  
    20  func ExampleCloudWatchLogsPermission() {
    21  	var lambdaFunctions []*LambdaAWSInfo
    22  
    23  	cloudWatchLogsLambda, _ := NewAWSLambda(LambdaName(cloudWatchLogsProcessor),
    24  		cloudWatchLogsProcessor,
    25  		IAMRoleDefinition{})
    26  
    27  	cloudWatchLogsPermission := CloudWatchLogsPermission{}
    28  	cloudWatchLogsPermission.Filters = make(map[string]CloudWatchLogsSubscriptionFilter, 1)
    29  	cloudWatchLogsPermission.Filters["MyFilter"] = CloudWatchLogsSubscriptionFilter{
    30  		LogGroupName: "/aws/lambda/*",
    31  	}
    32  	cloudWatchLogsLambda.Permissions = append(cloudWatchLogsLambda.Permissions, cloudWatchLogsPermission)
    33  
    34  	lambdaFunctions = append(lambdaFunctions, cloudWatchLogsLambda)
    35  	Main("CloudWatchLogs", "Registers for CloudWatch Logs", lambdaFunctions, nil, nil)
    36  }