Sha256: ee2540d12db4c66d59ca46f2434ab2785a3905bad561a1c85846b8b5449e31ff

Contents?: true

Size: 1.78 KB

Versions: 1

Compression:

Stored size: 1.78 KB

Contents

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

# Vagrantfile API/syntax version. Don't touch unless you know what you're doing!
VAGRANTFILE_API_VERSION = '2'

Vagrant.require_version '>= 1.5.0'

Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
  config.vm.box = ENV['LINUX_TEMPLATE_NAME']

  config.vm.provider :cloudstack do |cloudstack, override|
    cloudstack.display_name = ENV['TEST_NAME']

    cloudstack.host       = ENV['CLOUDSTACK_HOST']
    cloudstack.path       = '/client/api'
    cloudstack.port       = '443'
    cloudstack.scheme     = 'https'
    cloudstack.api_key    = ENV['CLOUDSTACK_API_KEY']
    cloudstack.secret_key = ENV['CLOUDSTACK_SECRET_KEY']

    public_source_nat_ip = ENV['PUBLIC_SOURCE_NAT_IP']
    public_ssh_port      = ENV['PUBLIC_SSH_PORT']
    open_firewall        = ENV['OPEN_FIREWALL'] == "true"

    cloudstack.zone_name             = ENV['ZONE_NAME']
    cloudstack.network_name          = ENV['NETWORK_NAME']
    cloudstack.service_offering_name = ENV['SERVICE_OFFERING_NAME']

    cloudstack.network_type          = 'Advanced'
    cloudstack.pf_ip_address         = public_source_nat_ip
    cloudstack.pf_public_port        = public_ssh_port
    cloudstack.pf_private_port       = ENV['PRIVATE_SSH_PORT']
    cloudstack.pf_open_firewall      = open_firewall

    unless open_firewall
      cloudstack.firewall_rules = [
        {
          ipaddress: public_source_nat_ip,
          cidrlist:  ENV['SOURCE_CIDR'],
          protocol:  'tcp',
          startport: public_ssh_port.to_i,
          endport:   public_ssh_port.to_i
        }
      ]
    end

    unless ENV['SSH_KEY'].nil?
        cloudstack.ssh_key               = ENV['SSH_KEY']
        cloudstack.ssh_user              = ENV['SSH_USER']
    end
  end

end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
vagrant-cloudstack-1.2.0 functional-tests/rsync/Vagrantfile.advanced_networking