Skip to content

jmoney/lambda-inventory

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

lambda-inventory

Go program to inventory AWS Lambda functions across multiple accounts and regions. It executes based off of a configuration file written in YAML to determine which accounts and regions to scan. It currently only catalogs the Runtime, PackageType, and Tags but more can be added easily.

Overview

Arguemment Description Default Value
config The path to the config file to configure the inventory run config.yaml

Example Config File

accounts:
    dev:
        profile: dev-admin
        regions:
            - us-east-1
            - us-west-2
    production:
        profile: production-admin
        regions:
            - us-east-1
            - us-west-2

The above configuration would inventory the lambdas in the dev and prod account using the profile dev-admin and production-admin in the regions us-east-1 and us-west-2.

Example Output

{
    "lambda1": {
        "dev": {
            "us-east-1": [
                {
                    "functionArn": "arn:aws:lambda:us-east-1:1234567891234:function:lambda1",
                    "runtime": "go1.x",
                    "packageType": "Zip",
                    "tags": {
                        "Key": "Value",
                    }
                }
            ]
        },
        "production": {
            "us-east-1": [
                {
                    "functionArn": "arn:aws:lambda:us-east-1:3434567891234:function:lambda1",
                    "runtime": "go1.x",
                    "packageType": "Zip",
                    "tags": {
                        "Key": "Value",
                    }
                }
            ],
            "us-west-2": [
                {
                    "functionArn": "arn:aws:lambda:us-west-2:3434567891234:function:lambda1",
                    "runtime": "go1.x",
                    "packageType": "Zip",
                    "tags": {
                        "Key": "Value",
                    }
                }
            ]
        }
    },
}