/
root-service.go
47 lines (36 loc) · 1.16 KB
/
root-service.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
package services
import (
"fmt"
"github.com/aws/aws-sdk-go/service/lambda"
"log"
)
// GetLambdaList -> get lambda list with pagination
func GetLambdaList(lambdaClient *lambda.Lambda, marker string) *lambda.ListFunctionsOutput {
log.Println("Getting lambda list summary")
input := &lambda.ListFunctionsInput{}
if marker != "" {
input = &lambda.ListFunctionsInput{
Marker: &marker,
}
}
functionList, err := lambdaClient.ListFunctions(input)
if err != nil {
log.Fatalln("Error: in getting lambda list", err)
}
return functionList
}
// GetAllLambdaList -> get all lambdas in one go
func GetAllLambdaList(lambdaClient *lambda.Lambda) []*lambda.FunctionConfiguration {
log.Println("Getting all the lambdas in one go")
functionList := GetLambdaList(lambdaClient, "")
allFunctions := functionList.Functions
marker := functionList.NextMarker
// Loop for getting all lambdas
for marker != nil {
functionList = GetLambdaList(lambdaClient, *functionList.NextMarker)
allFunctions = append(allFunctions, functionList.Functions...)
marker = functionList.NextMarker
fmt.Println("Lambda functions got till now:: ", len(allFunctions))
}
return allFunctions
}