diff --git a/aws/dump/ec2.go b/aws/dump/ec2.go index 53c0db8..3a3d645 100644 --- a/aws/dump/ec2.go +++ b/aws/dump/ec2.go @@ -18,6 +18,7 @@ var ( "images": EC2ListImages, "instances": EC2ListInstances, "nat-gateways": EC2ListNATGateways, + "key-pairs": EC2ListKeyPairs, }, } ) @@ -208,3 +209,27 @@ func EC2ListNATGateways(session *Session) *ReportResult { return &ReportResult{resources, err} } + +func EC2ListKeyPairs(session *Session) *ReportResult { + client := ec2.New(session.Session, session.Config) + + keypairs := []Resource{} + + res, err := client.DescribeKeyPairs(&ec2.DescribeKeyPairsInput{}) + if err != nil { + return &ReportResult{nil, err} + } + + for _, keypair := range res.KeyPairs { + keypairs = append(keypairs, Resource{ + ID: *keypair.KeyName, + Service: "ec2", + Type: "key-pair", + AccountID: session.AccountID, + Region: *session.Config.Region, + Metadata: structs.Map(keypair), + }) + } + + return &ReportResult{keypairs, err} +}