# -*- mode: ruby -*-
# vi: set ft=ruby :

Vagrant.configure("2") do |config|
  config.vm.provider :aws do |provider|
    # set unique vm name
    provider.tags = {
      "Name" => VM_NAME
    }

    provider.access_key_id = ENV["AWS_ACCESS_KEY_ID"]
    provider.secret_access_key = ENV["AWS_SECRET_ACCESS_KEY"]
    provider.keypair_name = ENV["AWS_KEYPAIR_NAME"]
    provider.security_groups = "salted_server"
    provider.availability_zone = "us-west-1c"
    provider.region = "us-west-1"
    provider.ami = "ami-a5d621e1"
    
    if get_env_var_rb("RAM") == "512"
      provider.instance_type = "t2.nano"
    elsif get_env_var_rb("RAM") == "1024"
      provider.instance_type = "t2.micro"
    elsif get_env_var_rb("RAM") == "2048"
      provider.instance_type = "t2.small"
    end
    
    provider.block_device_mapping = [{
      "DeviceName" => "/dev/xvda",
      "Ebs.VolumeSize" => 30,
      "Ebs.VolumeType" => "gp2",
      "Ebs.DeleteOnTermination" => "true",
    }]

    provider.user_data = "#!/bin/bash
      user=vagrant
      usermod  -l $user admin
      groupmod -n $user admin
      usermod  -d /home/$user -m $user
      sed -i 's/admin/vagrant/g' /etc/sudoers.d/90-cloud-init-users"
  end

  config.ssh.username = "vagrant"
  config.ssh.private_key_path = ENV["AWS_SSH_PRIVKEY"]
  config.ssh.forward_agent = true

  config.vm.box = "dummy"
  config.vm.box_url = "https://github.com/mitchellh/vagrant-aws/raw/master/dummy.box"
  config.vm.synced_folder ".", "/vagrant", type: "rsync"
  config.vm.provision "shell",
    inline: "wget -O /etc/apt/sources.list https://raw.githubusercontent.com/terminal-labs/package-sources/master/" + get_env_var_rb("GUEST_OS") + "/official/sources.list",
    keep_color: true
end
