How to check if a Tag exist on an instance?
How to change the value of the tag, if tag exist?
Code below shows how to check tags on AWS instances using PowerShell.
The script will also check if the tag exists and change the
value to a different value.
Sample scenario where the script can be used: Example: the tag can be "Web_Server", Value "In Progress"
Then once the instance is ready, the tag can be changed to "Web_Server", Value "Online"
$accesskey = 'AWS-Access-Key'
$secretkey = 'AWS-Secret-Key'
$dregion = 'eu-west-1' #change the region as required
#instances to be checked
#repace the value with the actual instance-id
$array_prefix_instanceID = @(
"i-04e5er7ac566vc8",
"i-0c3c3cerbc3165685vc",
"i-0ecc355gf0aa5758g"
)
#Assume value of the tag
#Change as required / script will look for the value Yes
$value="Yes"
#Tag to look for is: "Client_Web_Server"
for ($i=0; $i -lt 3; $i++) {
$get_d_tag = Get-EC2Tag -AccessKey $accesskey -secretkey $secretkey -Region $dregion | ? { $_.ResourceID -eq $array_prefix_instanceID[$i] -and $_.Key -eq 'Client_Web_Server' }
$the_tag_length= $get_d_tag.length
#uncomment below if you need to see the output
#if the output is 0 (number zero) the Tag "Client_Web_Server" is missing or cannot be found
#write-host $the_tag_length
if ( "$the_tag_length" -eq 0) {
#uncomment below if you need to see the output
#write-host "Nothing"
#set the key or tag to be checked
$Tags = @( @{key="Client_Web_Server";value=$Value})
#Code below will create the tag
New-EC2Tag -AccessKey $accesskey -SecretKey $secretkey -Region $dregion -ResourceId $array_prefix_instanceID[$i] -Tags $Tags
} elseif ("$the_tag_length" -ne 0) {
$instanceid = $_.ResourceID -eq $array_prefix_instanceID[$i]
#Tag exist but need to check what is the value
$tagvalue = (Get-EC2Tag -AccessKey $accesskey -secretkey $secretkey -Region $dregion | ? { $_.ResourceID -eq $array_prefix_instanceID[$i] -and $_.Key -eq 'Client_Web_Server' }).Value
#change the value to lower caps for comparing purposes
$tagvalue = "$tagvalue".ToLower()
#change the value as required
#if ("$tagvalue" -eq "no" -or "false")
if ("$tagvalue" -ne "yes")
{
#Change the value of the tag to "Yes" / change as required
$Tags = @( @{key="Client_Web_Server";value=$Value})
New-EC2Tag -AccessKey $accesskey -SecretKey $secretkey -Region $dregion -ResourceId $array_prefix_instanceID[$i] -Tags $Tags
#create a copy of the instances that the value has been changed
write-output $array_prefix_instanceID[$i] >> c:\change_logs\client_server_monitoring_set.txt
}
}
}
Cheers. Till next time.
================================
Free Android Apps:
Click links below to find out more:
Excel Keyboard guide:
https://play.google.com/store/apps/details?id=chrisjoms.myexcelapplicationguide
Heaven's Dew Fall Prayer app for Android :
https://play.google.com/store/apps/details?id=soulrefresh.beautiful.prayer
Catholic Rosary Guide for Android:
Pray the Rosary every day, countless blessings will be showered upon your life if you recite the Rosary faithfully.
https://play.google.com/store/apps/details?id=com.myrosaryapp
Divine Mercy Chaplet Guide (A Powerful prayer) BFF = Be Filled Faith:
https://play.google.com/store/apps/details?id=com.dmercyapp
Comments
Post a Comment