vagrant-aws-extras 0.0.1.rc1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 8541630c9b7f68fc17298e586c587fc42edbbe4b
4
+ data.tar.gz: 2b50384b473b9db962d86874f9ab564faf70aef4
5
+ SHA512:
6
+ metadata.gz: 088eab6004209804bea6e97fd82e68424dedd60daeecbba81d88e187110f99e70169bacd1f824aa89b4592f3688b0ce64f2d0ac608f5a8b3db8b05253ec3f459
7
+ data.tar.gz: c99a69be7cf1de02c18a0b3dcafeeb79ffff34adfe84e5844ff6f8a7358cc128ec2e716305b4566c583c096521985b492a1e7bb36718747a9dd486fc227c626a
data/.gitignore ADDED
@@ -0,0 +1,13 @@
1
+ # OS-specific
2
+ .DS_Store
3
+
4
+ # Bundler/Rubygems
5
+ *.gem
6
+ .bundle
7
+ pkg/*
8
+ tags
9
+ Gemfile.lock
10
+
11
+ # Vagrant
12
+ .vagrant
13
+ Vagrantfile
data/Gemfile ADDED
@@ -0,0 +1,12 @@
1
+ # A sample Gemfile
2
+ source "https://rubygems.org"
3
+
4
+ gemspec
5
+
6
+ group :development do
7
+ # We depend on Vagrant for development, but we don't add it as a
8
+ # gem dependency because we expect to be installed within the
9
+ # Vagrant environment itself using `vagrant plugin`.
10
+ gem "vagrant", :git => "git://github.com/mitchellh/vagrant.git", :tag => "v1.2.7"
11
+ gem "vagrant-rspec-ci", "~> 1.0.1"
12
+ end
data/LICENSE.txt ADDED
@@ -0,0 +1,22 @@
1
+ Copyright (c) 2013 Yleisradion Oy
2
+
3
+ MIT License
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining
6
+ a copy of this software and associated documentation files (the
7
+ "Software"), to deal in the Software without restriction, including
8
+ without limitation the rights to use, copy, modify, merge, publish,
9
+ distribute, sublicense, and/or sell copies of the Software, and to
10
+ permit persons to whom the Software is furnished to do so, subject to
11
+ the following conditions:
12
+
13
+ The above copyright notice and this permission notice shall be
14
+ included in all copies or substantial portions of the Software.
15
+
16
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
17
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
18
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
19
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
20
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
21
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
22
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
data/README.md ADDED
@@ -0,0 +1,56 @@
1
+ Vagrant AWS Extras
2
+ ===================
3
+
4
+ Create DNS record for box on Vagrant up
5
+ Destroy DNS record on Vagrant destroy
6
+
7
+
8
+ TODO
9
+ ----
10
+
11
+ 1. Write tests/specs
12
+ 2. Add tweak configuration
13
+ 3. Add support for other fog.io providers
14
+ 4. Release production ready version
15
+ 5. ???
16
+
17
+
18
+ Sample Config
19
+ -------------
20
+
21
+ Vagrant.configure('2') do |config|
22
+
23
+ config.vm.define "aws-box" do |box|
24
+ box.vm.box = "dummy"
25
+ box.vm.box_url = "https://github.com/mitchellh/vagrant-aws/raw/master/dummy.box"
26
+ box.aws_extras.record_zone = "mydomain.com."
27
+ box.aws_extras.record_name = "aws-box.mydomain.com."
28
+ box.aws_extras.record_type = "CNAME"
29
+ box.aws_extras.record_ttl = "60"
30
+
31
+ box.vm.provider "aws" do |provider, override|
32
+ provider.tags = { "Name" => "Vagrant plugin test box"}
33
+ end
34
+ end
35
+
36
+ config.vm.provider :aws do |aws, override|
37
+ # Get these from: https://console.aws.amazon.com
38
+ aws.access_key_id = ENV['AWS_ACCESS_KEY']
39
+ aws.secret_access_key = ENV['AWS_SECRET_ACCESS_KEY']
40
+
41
+ # Get these from: https://console.aws.amazon.com/ec2
42
+ aws.keypair_name = ENV['AWS_KEYPAIR']
43
+ override.ssh.private_key_path = ENV['AWS_PRIVATE_KEY_PATH']
44
+
45
+ # Security group for deployment
46
+ aws.security_groups = [ 'your-security-group-id' ]
47
+
48
+ # AWS region and instance size
49
+ aws.region = "eu-west-1"
50
+
51
+ # eu-west-1 & 14.04 LTS i386
52
+ aws.ami = "ami-6975691d"
53
+
54
+ override.ssh.username = "ubuntu"
55
+ end
56
+ end
data/Rakefile ADDED
@@ -0,0 +1,21 @@
1
+ require 'rubygems'
2
+ require 'bundler/setup'
3
+ require 'rspec/core/rake_task'
4
+
5
+ # Immediately sync all stdout so that tools like buildbot can
6
+ # immediately load in the output.
7
+ $stdout.sync = true
8
+ $stderr.sync = true
9
+
10
+ # Change to the directory of this file.
11
+ Dir.chdir(File.expand_path("../", __FILE__))
12
+
13
+ # This installs the tasks that help with gem creation and
14
+ # publishing.
15
+ Bundler::GemHelper.install_tasks
16
+
17
+ # Install the `spec` task so that we can run tests.
18
+ RSpec::Core::RakeTask.new
19
+
20
+ # Default task is to run the unit tests
21
+ task :default => "spec"
@@ -0,0 +1,98 @@
1
+ require "log4r"
2
+ require "fog"
3
+
4
+ module VagrantPlugins
5
+ module AWS
6
+ module Extras
7
+ module Action
8
+ module DNS
9
+ class ConnectAWS
10
+ def initialize(app, env)
11
+ @app = app
12
+ @logger = Log4r::Logger.new("vagrant_aws_extras::action::dns")
13
+ end
14
+
15
+ def call(env)
16
+ env[:aws_dns_settings] = dns_config = env[:machine].config.aws_extras
17
+
18
+ region = env[:machine].provider_config.region
19
+ domain = dns_config.record_zone
20
+ region_config = env[:machine].provider_config.get_region_config(region)
21
+
22
+ fog_config = {
23
+ :provider => :aws
24
+ }
25
+
26
+ fog_config[:aws_access_key_id] = region_config.access_key_id
27
+ fog_config[:aws_secret_access_key] = region_config.secret_access_key
28
+
29
+ fog_config[:endpoint] = region_config.endpoint if region_config.endpoint
30
+ fog_config[:version] = region_config.version if region_config.version
31
+
32
+ if fog_config
33
+ @logger.info("Connecting to AWS Route53.")
34
+ env[:aws_dns] = ::Fog::DNS.new(fog_config)
35
+ env[:aws_dns_zone] = env[:aws_dns].zones.detect { |zone| zone.domain == domain }
36
+ else
37
+ @logger.info("AWS not configured.")
38
+ end
39
+ @app.call(env)
40
+ end
41
+ end
42
+ class Set
43
+ def initialize(app, env)
44
+ @app = app
45
+ @logger = Log4r::Logger.new("vagrant_aws_extras::action::dns::set")
46
+ end
47
+
48
+ def call(env)
49
+ @logger.info("Set DNS name")
50
+ env[:machine_dns_record] = set(env) if env[:aws_dns_zone].records
51
+ @app.call(env)
52
+ end
53
+
54
+ def set(env)
55
+ if existing_record = env[:aws_dns_zone].records.get(env[:aws_dns_settings].record_name)
56
+ existing_record.modify({
57
+ :name => env[:aws_dns_settings].record_name,
58
+ :value => env[:machine_ssh_info][:host],
59
+ :type => env[:aws_dns_settings].record_type,
60
+ :ttl => env[:aws_dns_settings].record_ttl
61
+ })
62
+ else
63
+ existing_record = env[:aws_dns_zone].records.create({
64
+ :name => env[:aws_dns_settings].record_name,
65
+ :value => env[:machine_ssh_info][:host],
66
+ :type => env[:aws_dns_settings].record_type,
67
+ :ttl => env[:aws_dns_settings].record_ttl
68
+ })
69
+ end
70
+ existing_record
71
+ end
72
+ end
73
+
74
+ class Remove
75
+ def initialize(app, env)
76
+ @app = app
77
+ @logger = Log4r::Logger.new("vagrant_aws_extras::action::dns::remove")
78
+ end
79
+
80
+ def call(env)
81
+ @logger.info("Remove DNS name")
82
+ env[:machine_dns_record] = remove(env) if env[:aws_dns_zone].records
83
+ @app.call(env)
84
+ end
85
+
86
+ def remove(env)
87
+ puts "hostname: #{env[:machine_ssh_info][:host]}"
88
+ puts "REMOVE: #{env[:aws_dns_zone].records} - #{env[:aws_dns_zone].records.detect { |record| record.value.include?(env[:machine_ssh_info][:host]) }}"
89
+ if existing_record = env[:aws_dns_zone].records.detect { |record| record.value.include?(env[:machine_ssh_info][:host]) }
90
+ existing_record.destroy
91
+ end
92
+ end
93
+ end
94
+ end
95
+ end
96
+ end
97
+ end
98
+ end
@@ -0,0 +1,37 @@
1
+ require "pathname"
2
+ require "vagrant/action/builder"
3
+ require "vagrant-aws/action/connect_aws"
4
+ require "vagrant-aws/action/read_ssh_info"
5
+
6
+ module VagrantPlugins
7
+ module AWS
8
+ module Extras
9
+ module Action
10
+ include Vagrant::Action::Builtin
11
+
12
+ def self.action_up
13
+ Vagrant::Action::Builder.new.tap do |builder|
14
+ builder.use ConfigValidate
15
+ builder.use ::VagrantPlugins::AWS::Action::ConnectAWS
16
+ builder.use ::VagrantPlugins::AWS::Action::ReadSSHInfo
17
+ builder.use DNS::ConnectAWS
18
+ builder.use DNS::Set
19
+ end
20
+ end
21
+
22
+ def self.action_destroy
23
+ Vagrant::Action::Builder.new.tap do |builder|
24
+ builder.use ConfigValidate
25
+ builder.use ::VagrantPlugins::AWS::Action::ConnectAWS
26
+ builder.use ::VagrantPlugins::AWS::Action::ReadSSHInfo
27
+ builder.use DNS::ConnectAWS
28
+ builder.use DNS::Remove
29
+ end
30
+ end
31
+
32
+ action_root = Pathname.new(File.expand_path("../action", __FILE__))
33
+ autoload :DNS, action_root.join("dns")
34
+ end
35
+ end
36
+ end
37
+ end
@@ -0,0 +1,70 @@
1
+ require "vagrant"
2
+
3
+ module VagrantPlugins
4
+ module AWS
5
+ module Extras
6
+ class Config < Vagrant.plugin("2", :config)
7
+ # The record zone for machine
8
+ #
9
+ # @return [String]
10
+ attr_accessor :record_zone
11
+
12
+ # The record type for machine
13
+ #
14
+ # @return [String]
15
+ attr_accessor :record_type
16
+
17
+ # The record name for machine
18
+ #
19
+ # @return [String]
20
+ attr_accessor :record_name
21
+
22
+ # The record ttl value for machine
23
+ #
24
+ # @return [Integer]
25
+ attr_accessor :record_ttl
26
+
27
+ # The flag for remove dns record on suspend
28
+ #
29
+ # @return [Boolean]
30
+ attr_accessor :remove_on_suspend
31
+
32
+ # The flag for remove dns record on destroy
33
+ #
34
+ # @return [Boolean]
35
+ attr_accessor :remove_on_destroy
36
+
37
+ def initialize
38
+ @record_zone = UNSET_VALUE
39
+ @record_type = UNSET_VALUE
40
+ @record_name = UNSET_VALUE
41
+ @record_ttl = UNSET_VALUE
42
+ @remove_on_suspend = UNSET_VALUE
43
+ @remove_on_destroy = UNSET_VALUE
44
+ end
45
+
46
+ def finalize!
47
+ @record_zone = nil if @record_zone == UNSET_VALUE
48
+ @record_type = "CNAME" if @record_type == UNSET_VALUE
49
+ @record_name = nil if @record_name == UNSET_VALUE
50
+ @record_ttl = 3600 if @record_ttl == UNSET_VALUE
51
+ @remove_on_suspend = true if @remove_on_suspend == UNSET_VALUE
52
+ @remove_on_destroy = true if @remove_on_destroy == UNSET_VALUE
53
+ end
54
+
55
+ def validate(machine)
56
+ errors = []
57
+ errors.push "record zone must be set" unless @record_zone
58
+ errors.push "record name must be set" unless @record_name
59
+
60
+ if errors.any?
61
+ return {"aws.extras" => errors}
62
+ else
63
+ return {}
64
+ end
65
+ end
66
+
67
+ end
68
+ end
69
+ end
70
+ end
@@ -0,0 +1,43 @@
1
+ begin
2
+ require "vagrant"
3
+ rescue LoadError
4
+ raise "The Vagrant AWS Extras plugin must be run with Vagrant"
5
+ end
6
+
7
+ if Vagrant::VERSION < "1.2.0"
8
+ raise "The Vagrant AWS Extras plugin is only compatible with Vagrant 1.2+"
9
+ end
10
+
11
+ module VagrantPlugins
12
+ module AWS
13
+ module Extras
14
+ class Plugin < Vagrant.plugin('2')
15
+ name 'AWS Extras'
16
+
17
+ description <<-DESC
18
+ This plugin extends AWS plugin
19
+ DESC
20
+
21
+ config(:aws_extras) do
22
+ require_relative 'config'
23
+ Config
24
+ end
25
+
26
+ %w{up provision}.each do |action|
27
+ action_hook(:set_dns_record, "machine_action_#{action}".to_sym) do |hook|
28
+ require_relative 'action'
29
+ hook.append VagrantPlugins::AWS::Extras::Action.action_up
30
+ end
31
+ end
32
+
33
+ %w{suspend destroy}.each do |action|
34
+ action_hook(:remove_dns_record, "machine_action_#{action}".to_sym) do |hook|
35
+ require_relative 'action'
36
+ hook.prepend VagrantPlugins::AWS::Extras::Action.action_destroy
37
+ end
38
+ end
39
+
40
+ end
41
+ end
42
+ end
43
+ end
@@ -0,0 +1,7 @@
1
+ module VagrantPlugins
2
+ module AWS
3
+ module Extras
4
+ VERSION = "0.0.1.rc1"
5
+ end
6
+ end
7
+ end
@@ -0,0 +1,12 @@
1
+ require "pathname"
2
+ require "vagrant-aws-extras/plugin"
3
+
4
+ module VagrantPlugins
5
+ module AWS
6
+ module Extras
7
+ def self.source_root
8
+ @source_root ||= Pathname.new(File.expand_path("../../", __FILE__))
9
+ end
10
+ end
11
+ end
12
+ end
@@ -0,0 +1,42 @@
1
+ require "fog"
2
+ require "rspec"
3
+ require "vagrant-aws-extras/action/dns"
4
+
5
+ Fog.mock!
6
+
7
+ describe VagrantPlugins::AWS::Extras::Action::DNS do
8
+
9
+ describe VagrantPlugins::AWS::Extras::Action::DNS::ConnectAWS do
10
+ let(:instance) { described_class.new(mock('config'), mock('app')) }
11
+
12
+ # Ensure tests are not affected by AWS credential environment variables
13
+ before :each do
14
+ ENV.stub(:[] => nil)
15
+ end
16
+
17
+ it "return zone"
18
+ end
19
+
20
+ describe VagrantPlugins::AWS::Extras::Action::DNS::Set do
21
+ let(:instance) { described_class.new(mock('config'), mock('app')) }
22
+
23
+ # Ensure tests are not affected by AWS credential environment variables
24
+ before :each do
25
+ ENV.stub(:[] => nil)
26
+ end
27
+
28
+ it "set record"
29
+ end
30
+
31
+ describe VagrantPlugins::AWS::Extras::Action::DNS::Remove do
32
+ let(:instance) { described_class.new(mock('config'), mock('app')) }
33
+
34
+ # Ensure tests are not affected by AWS credential environment variables
35
+ before :each do
36
+ ENV.stub(:[] => nil)
37
+ end
38
+
39
+ it "destroy record"
40
+ end
41
+
42
+ end
@@ -0,0 +1,5 @@
1
+ require "vagrant-aws-extras/config"
2
+
3
+ describe VagrantPlugins::AWS::Extras::Config do
4
+ it "should check configs"
5
+ end
@@ -0,0 +1,61 @@
1
+ # coding: utf-8
2
+ lib = File.expand_path('../lib', __FILE__)
3
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
+
5
+ require 'vagrant-aws-extras/version'
6
+
7
+ Gem::Specification.new do |spec|
8
+ spec.name = "vagrant-aws-extras"
9
+ spec.version = VagrantPlugins::AWS::Extras::VERSION
10
+ spec.authors = ["Jaakko Suutarla"]
11
+ spec.email = ["jaakko.suutarla@yle.fi"]
12
+ spec.description = %q{Enables Vagrant to update dns records when using AWS Route53}
13
+ spec.summary = %q{Enables Vagrant to update dns records when using AWS Route53}
14
+ spec.homepage = "https://github.com/yle/vagrant-aws-extras"
15
+ spec.license = "MIT"
16
+
17
+ # The following block of code determines the files that should be included
18
+ # in the gem. It does this by reading all the files in the directory where
19
+ # this gemspec is, and parsing out the ignored files from the gitignore.
20
+ # Note that the entire gitignore(5) syntax is not supported, specifically
21
+ # the "!" syntax, but it should mostly work correctly.
22
+ root_path = File.dirname(__FILE__)
23
+ all_files = Dir.chdir(root_path) { Dir.glob("**/{*,.*}") }
24
+ all_files.reject! { |file| [".", ".."].include?(File.basename(file)) }
25
+ gitignore_path = File.join(root_path, ".gitignore")
26
+ gitignore = File.readlines(gitignore_path)
27
+ gitignore.map! { |line| line.chomp.strip }
28
+ gitignore.reject! { |line| line.empty? || line =~ /^(#|!)/ }
29
+
30
+ unignored_files = all_files.reject do |file|
31
+ # Ignore any directories, the gemspec only cares about files
32
+ next true if File.directory?(file)
33
+
34
+ # Ignore any paths that match anything in the gitignore. We do
35
+ # two tests here:
36
+ #
37
+ # - First, test to see if the entire path matches the gitignore.
38
+ # - Second, match if the basename does, this makes it so that things
39
+ # like '.DS_Store' will match sub-directories too (same behavior
40
+ # as git).
41
+ #
42
+ gitignore.any? do |ignore|
43
+ File.fnmatch(ignore, file, File::FNM_PATHNAME) ||
44
+ File.fnmatch(ignore, File.basename(file), File::FNM_PATHNAME)
45
+ end
46
+ end
47
+
48
+ spec.files = unignored_files
49
+ spec.executables = unignored_files.map { |f| f[/^bin\/(.*)/, 1] }.compact
50
+ spec.require_path = "lib"
51
+
52
+ spec.required_rubygems_version = ">= 1.3"
53
+
54
+ spec.add_runtime_dependency "vagrant-aws", "~> 0.3.0"
55
+
56
+ spec.add_development_dependency "bundler", "~> 1.3"
57
+ spec.add_development_dependency "rake"
58
+ spec.add_development_dependency "rspec-core", "~> 2.12.2"
59
+ spec.add_development_dependency "rspec-expectations", "~> 2.12.1"
60
+ spec.add_development_dependency "rspec-mocks", "~> 2.12.1"
61
+ end
metadata ADDED
@@ -0,0 +1,142 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: vagrant-aws-extras
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1.rc1
5
+ platform: ruby
6
+ authors:
7
+ - Jaakko Suutarla
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2013-09-05 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: vagrant-aws
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ~>
18
+ - !ruby/object:Gem::Version
19
+ version: 0.3.0
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ~>
25
+ - !ruby/object:Gem::Version
26
+ version: 0.3.0
27
+ - !ruby/object:Gem::Dependency
28
+ name: bundler
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ~>
32
+ - !ruby/object:Gem::Version
33
+ version: '1.3'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ~>
39
+ - !ruby/object:Gem::Version
40
+ version: '1.3'
41
+ - !ruby/object:Gem::Dependency
42
+ name: rake
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - '>='
46
+ - !ruby/object:Gem::Version
47
+ version: '0'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - '>='
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: rspec-core
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ~>
60
+ - !ruby/object:Gem::Version
61
+ version: 2.12.2
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - ~>
67
+ - !ruby/object:Gem::Version
68
+ version: 2.12.2
69
+ - !ruby/object:Gem::Dependency
70
+ name: rspec-expectations
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - ~>
74
+ - !ruby/object:Gem::Version
75
+ version: 2.12.1
76
+ type: :development
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - ~>
81
+ - !ruby/object:Gem::Version
82
+ version: 2.12.1
83
+ - !ruby/object:Gem::Dependency
84
+ name: rspec-mocks
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - ~>
88
+ - !ruby/object:Gem::Version
89
+ version: 2.12.1
90
+ type: :development
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - ~>
95
+ - !ruby/object:Gem::Version
96
+ version: 2.12.1
97
+ description: Enables Vagrant to update dns records when using AWS Route53
98
+ email:
99
+ - jaakko.suutarla@yle.fi
100
+ executables: []
101
+ extensions: []
102
+ extra_rdoc_files: []
103
+ files:
104
+ - Gemfile
105
+ - lib/vagrant-aws-extras/action/dns.rb
106
+ - lib/vagrant-aws-extras/action.rb
107
+ - lib/vagrant-aws-extras/config.rb
108
+ - lib/vagrant-aws-extras/plugin.rb
109
+ - lib/vagrant-aws-extras/version.rb
110
+ - lib/vagrant-aws-extras.rb
111
+ - LICENSE.txt
112
+ - Rakefile
113
+ - README.md
114
+ - spec/vagrant-aws-extras/action/dns_spec.rb
115
+ - spec/vagrant-aws-extras/config_spec.rb
116
+ - vagrant-aws-extras.gemspec
117
+ - .gitignore
118
+ homepage: https://github.com/yle/vagrant-aws-extras
119
+ licenses:
120
+ - MIT
121
+ metadata: {}
122
+ post_install_message:
123
+ rdoc_options: []
124
+ require_paths:
125
+ - lib
126
+ required_ruby_version: !ruby/object:Gem::Requirement
127
+ requirements:
128
+ - - '>='
129
+ - !ruby/object:Gem::Version
130
+ version: '0'
131
+ required_rubygems_version: !ruby/object:Gem::Requirement
132
+ requirements:
133
+ - - '>='
134
+ - !ruby/object:Gem::Version
135
+ version: '1.3'
136
+ requirements: []
137
+ rubyforge_project:
138
+ rubygems_version: 2.0.3
139
+ signing_key:
140
+ specification_version: 4
141
+ summary: Enables Vagrant to update dns records when using AWS Route53
142
+ test_files: []