Skip to content

Instantly share code, notes, and snippets.

@sumitsaiwal
Created November 17, 2017 05:39
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save sumitsaiwal/a65de40a3944bab156ffc79a9ded9c58 to your computer and use it in GitHub Desktop.
Save sumitsaiwal/a65de40a3944bab156ffc79a9ded9c58 to your computer and use it in GitHub Desktop.
$ami_id = Read-Host 'AMI-ID'
$instance_type = Read-Host 'Instance type'
$instance_name = Read-Host 'Tags_Name'
$count = Read-Host 'Instance count'
$region = Read-Host 'Region'
$key_pair = Read-Host 'Ker-Pair name'
$security_group = Read-Host 'Security-Group name'
#$security_group_id = Read-Host 'Security-Group-ID'
$instance_id=$(aws ec2 run-instances --image-id $ami_id --count $count --instance-type $instance_type --region $region --key-name $key_pair --security-groups $security_group --output text --query 'Instances[*].InstanceId')
Write-Host "`nInstance ID : " -NoNewline
Write-Host $instance_id
while(($(aws ec2 describe-instances --instance-ids $instance_id --output text --query 'Reservations[*].Instances[*].State.Name')) -eq "pending"){
#Write-Host "VM State is Pending"
Write-Host "Intializing the VM"
}
aws ec2 create-tags --resources $instance_id --tags "Key=Name,Value=$instance_name"
$instance_name=$(aws ec2 describe-instances --instance-ids $instance_id --output text --query 'Reservations[*].Instances[*].Tags[*].Value')
Write-Host "`nInstance Name : " -NoNewline
Write-Host $instance_name -NoNewline
$ip_address=$(aws ec2 describe-instances --instance-ids $instance_id --output text --query 'Reservations[*].Instances[*].PublicIpAddress')
Write-Host "`nInstance's Ip Address : " -NoNewline
Write-Host $ip_address
while(($(aws ec2 terminate-instances --instance-ids "$instance_id" --output text --query 'TerminatingInstances[*].CurrentState.Name')) -eq "shutting-down"){
Write-Host "Shutting Down"
}
Write-Host "Instance Terminated"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment