func getClusterTag()

in pkg/aws/cloud.go [109:137]


func getClusterTag(tagKey string, ec2ServiceClient ec2iface.EC2API, instanceIdentityDocument ec2metadata.EC2InstanceIdentityDocument) (string, error) {
	input := ec2.DescribeTagsInput{
		Filters: []*ec2.Filter{
			{
				Name: aws.String(resourceID),
				Values: []*string{
					aws.String(instanceIdentityDocument.InstanceID),
				},
			}, {
				Name: aws.String(resourceKey),
				Values: []*string{
					aws.String(tagKey),
				},
			},
		},
	}

	//log.Infof("Calling DescribeTags with key %s", tagKey)
	results, err := ec2ServiceClient.DescribeTags(&input)
	if err != nil {
		return "", errors.Wrap(err, "GetClusterTag: Unable to obtain EC2 instance tags")
	}

	if len(results.Tags) < 1 {
		return "", errors.Errorf("GetClusterTag: No tag matching key: %s", tagKey)
	}

	return aws.StringValue(results.Tags[0].Value), nil
}