github.com/bshelton229/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  }