Windows on AWS with Vagrant

September 19, 2016 ยท View on GitHub

require 'inifile' require 'date'

Vagrant.configure("2") do |config| config.vm.box = "dummy"

config.vm.guest = "windows" config.vm.boot_timeout = 600

config.vm.provider :aws do |aws, override| # https://gist.github.com/amosshapira/e043ef116bfdfe92e3cd aws_credentials = IniFile.load(File.expand_path('~/.aws/credentials')) aws.access_key_id = aws_credentials['default']['aws_access_key_id'] aws.secret_access_key = aws_credentials['default']['aws_secret_access_key']

aws.region = 'eu-west-1'

aws.keypair_name = "keypair" # << FIXME
aws.ami = "ami-c343ecb0" # Microsoft Windows Server 2012 Base
aws.instance_type = "t2.micro"
aws.terminate_on_shutdown = true
aws.security_groups = ["sg-123"] # << FIXME
aws.subnet_id = "subnet-123" # << FIXME
aws.associate_public_ip = true

# aws.spot_instance = true
# aws.spot_max_price = 0.0155
# aws.spot_valid_until = DateTime.now + (3.0/24)
aws.tags = {
  'Name' => 'vagrant-test'
}

aws.user_data = File.read("user_data.txt")

override.vm.communicator = "winrm"
override.winrm.username = "Administrator"
override.winrm.password = "VagrantRocks"

override.vm.synced_folder ".", "/vagrant", disabled: true

end end