tryin to get ec2volume mounted ec2instances

0

I am trying to get the volumes mounted on my ec2instance

get-ec2volume -filter @{name='attachment.instance-id'; values="*"} |? {$_.Attachments.InstanceId -eq 'i-xxxxxxxxxxxx'}

but I also want to get the Tag with Name as well.

any idea?

drago
asked 2 years ago184 views
1 Answer
0

What is the expected output you are looking for? Tags are returned as part of Get-EC2Volume command output. If you are trying to specifically return a list of tags for a particular EBS volume based on an EC2 instance ID, then you can try something like this:

# Print Instance ID and Tags for a particular EC2 instance's EBS volume
$tagKeyValue = ""
get-ec2volume -filter @{name = 'attachment.instance-id'; values = "*" } | % { 
    if ($_.Attachments.InstanceId -eq '<instance id>') {
        # Concatenate tags in a string (key:value;key2:value2...)
        if ($_.Tags.Count -gt 0) {
            $counter = 0
            while ($counter -lt $_.Tags.Count) {
                $tagKeyValue += ("{0}:{1};" -f $_.Tags[$counter].Key, $_.Tags[$counter].Value)
                write-host $counter
                $counter++
            }
        } 
        @{
            InstanceId = $_.Attachments.InstanceId
            Tags       = $tagKeyValue
        }
    }
}

Sample output

Name                           Value
----                           -----
Tags                           Name:test.local;test:test;
InstanceId                     i-xxxxxxxxxxxxxxxxxxxxxxx
AWS
Taka_M
answered 2 years ago

You are not logged in. Log in to post an answer.

A good answer clearly answers the question and provides constructive feedback and encourages professional growth in the question asker.

Guidelines for Answering Questions