github.com/stevenmatthewt/agent@v3.5.4+incompatible/agent/ec2_meta_data.go (about) 1 package agent 2 3 import ( 4 "github.com/aws/aws-sdk-go/aws/ec2metadata" 5 ) 6 7 type EC2MetaData struct { 8 } 9 10 func (e EC2MetaData) Get() (map[string]string, error) { 11 sess, err := awsSession() 12 if err != nil { 13 return nil, err 14 } 15 16 metaData := make(map[string]string) 17 ec2metadataClient := ec2metadata.New(sess) 18 19 instanceId, err := ec2metadataClient.GetMetadata("instance-id") 20 if err != nil { 21 return metaData, err 22 } 23 24 metaData["aws:instance-id"] = string(instanceId) 25 26 instanceType, err := ec2metadataClient.GetMetadata("instance-type") 27 if err != nil { 28 return metaData, err 29 } 30 metaData["aws:instance-type"] = string(instanceType) 31 32 amiId, err := ec2metadataClient.GetMetadata("ami-id") 33 if err != nil { 34 return metaData, err 35 } 36 metaData["aws:ami-id"] = string(amiId) 37 38 return metaData, nil 39 }