Search code examples
perlec2-api-tools

How can I get a specific tag from array returned from Net::Amazon::EC2 decribe_tags?


I'm using Net::Amazon::EC2 to get some information about my instances.

I get all of the tags associated with an instance with:

my $tags = $ec2->describe_tags("Filter.Name" => "resource-id", "Filter.Value" => $instance_id);

According to the docs, this returns an array ref of DescribeTag objects.

I can iterate through the results:

foreach my $tag (@$tags) {
    print $tag->key . " = " . $tag->value . "\n";
}

Is there a way I can get a tag with a specific key?


Solution

  • You could probably grep through them. Not very elegant, but I don't know the module you are using.

    my @filtered_tags = grep { $_->key eq 'specific' } @$tags;