vagrant-aws-stsmith 0.5.0.dev

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (38) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +21 -0
  3. data/CHANGELOG.md +76 -0
  4. data/Gemfile +10 -0
  5. data/LICENSE +8 -0
  6. data/README.md +251 -0
  7. data/Rakefile +21 -0
  8. data/dummy.box +0 -0
  9. data/example_box/README.md +13 -0
  10. data/example_box/metadata.json +3 -0
  11. data/lib/vagrant-aws.rb +18 -0
  12. data/lib/vagrant-aws/action.rb +190 -0
  13. data/lib/vagrant-aws/action/connect_aws.rb +46 -0
  14. data/lib/vagrant-aws/action/is_created.rb +18 -0
  15. data/lib/vagrant-aws/action/is_stopped.rb +18 -0
  16. data/lib/vagrant-aws/action/message_already_created.rb +16 -0
  17. data/lib/vagrant-aws/action/message_not_created.rb +16 -0
  18. data/lib/vagrant-aws/action/message_will_not_destroy.rb +16 -0
  19. data/lib/vagrant-aws/action/read_ssh_info.rb +53 -0
  20. data/lib/vagrant-aws/action/read_state.rb +38 -0
  21. data/lib/vagrant-aws/action/run_instance.rb +247 -0
  22. data/lib/vagrant-aws/action/start_instance.rb +81 -0
  23. data/lib/vagrant-aws/action/stop_instance.rb +28 -0
  24. data/lib/vagrant-aws/action/sync_folders.rb +118 -0
  25. data/lib/vagrant-aws/action/terminate_instance.rb +47 -0
  26. data/lib/vagrant-aws/action/timed_provision.rb +21 -0
  27. data/lib/vagrant-aws/action/wait_for_state.rb +41 -0
  28. data/lib/vagrant-aws/action/warn_networks.rb +19 -0
  29. data/lib/vagrant-aws/config.rb +372 -0
  30. data/lib/vagrant-aws/errors.rb +31 -0
  31. data/lib/vagrant-aws/plugin.rb +73 -0
  32. data/lib/vagrant-aws/provider.rb +50 -0
  33. data/lib/vagrant-aws/util/timer.rb +17 -0
  34. data/lib/vagrant-aws/version.rb +5 -0
  35. data/locales/en.yml +122 -0
  36. data/spec/vagrant-aws/config_spec.rb +216 -0
  37. data/vagrant-aws.gemspec +59 -0
  38. metadata +149 -0
@@ -0,0 +1,59 @@
1
+ $:.unshift File.expand_path("../lib", __FILE__)
2
+ require "vagrant-aws/version"
3
+
4
+ Gem::Specification.new do |s|
5
+ s.name = "vagrant-aws-stsmith"
6
+ s.version = VagrantPlugins::AWS::VERSION
7
+ s.platform = Gem::Platform::RUBY
8
+ s.license = "MIT"
9
+ s.authors = "Mitchell Hashimoto"
10
+ s.email = "mitchell@hashicorp.com"
11
+ s.homepage = "http://www.vagrantup.com"
12
+ s.summary = "Enables Vagrant to manage machines in EC2 and VPC."
13
+ s.description = "Enables Vagrant to manage machines in EC2 and VPC."
14
+
15
+ s.required_rubygems_version = ">= 1.3.6"
16
+ s.rubyforge_project = "vagrant-aws"
17
+
18
+ s.add_runtime_dependency "fog", "~> 1.22"
19
+
20
+ s.add_development_dependency "rake"
21
+ s.add_development_dependency "rspec-core", "~> 2.12.2"
22
+ s.add_development_dependency "rspec-expectations", "~> 2.12.1"
23
+ s.add_development_dependency "rspec-mocks", "~> 2.12.1"
24
+
25
+ # The following block of code determines the files that should be included
26
+ # in the gem. It does this by reading all the files in the directory where
27
+ # this gemspec is, and parsing out the ignored files from the gitignore.
28
+ # Note that the entire gitignore(5) syntax is not supported, specifically
29
+ # the "!" syntax, but it should mostly work correctly.
30
+ root_path = File.dirname(__FILE__)
31
+ all_files = Dir.chdir(root_path) { Dir.glob("**/{*,.*}") }
32
+ all_files.reject! { |file| [".", ".."].include?(File.basename(file)) }
33
+ gitignore_path = File.join(root_path, ".gitignore")
34
+ gitignore = File.readlines(gitignore_path)
35
+ gitignore.map! { |line| line.chomp.strip }
36
+ gitignore.reject! { |line| line.empty? || line =~ /^(#|!)/ }
37
+
38
+ unignored_files = all_files.reject do |file|
39
+ # Ignore any directories, the gemspec only cares about files
40
+ next true if File.directory?(file)
41
+
42
+ # Ignore any paths that match anything in the gitignore. We do
43
+ # two tests here:
44
+ #
45
+ # - First, test to see if the entire path matches the gitignore.
46
+ # - Second, match if the basename does, this makes it so that things
47
+ # like '.DS_Store' will match sub-directories too (same behavior
48
+ # as git).
49
+ #
50
+ gitignore.any? do |ignore|
51
+ File.fnmatch(ignore, file, File::FNM_PATHNAME) ||
52
+ File.fnmatch(ignore, File.basename(file), File::FNM_PATHNAME)
53
+ end
54
+ end
55
+
56
+ s.files = unignored_files
57
+ s.executables = unignored_files.map { |f| f[/^bin\/(.*)/, 1] }.compact
58
+ s.require_path = 'lib'
59
+ end
metadata ADDED
@@ -0,0 +1,149 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: vagrant-aws-stsmith
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.5.0.dev
5
+ platform: ruby
6
+ authors:
7
+ - Mitchell Hashimoto
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2014-05-05 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: fog
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '1.22'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: '1.22'
27
+ - !ruby/object:Gem::Dependency
28
+ name: rake
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ">="
39
+ - !ruby/object:Gem::Version
40
+ version: '0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: rspec-core
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: 2.12.2
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: 2.12.2
55
+ - !ruby/object:Gem::Dependency
56
+ name: rspec-expectations
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - "~>"
60
+ - !ruby/object:Gem::Version
61
+ version: 2.12.1
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.1
69
+ - !ruby/object:Gem::Dependency
70
+ name: rspec-mocks
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
+ description: Enables Vagrant to manage machines in EC2 and VPC.
84
+ email: mitchell@hashicorp.com
85
+ executables: []
86
+ extensions: []
87
+ extra_rdoc_files: []
88
+ files:
89
+ - ".gitignore"
90
+ - CHANGELOG.md
91
+ - Gemfile
92
+ - LICENSE
93
+ - README.md
94
+ - Rakefile
95
+ - dummy.box
96
+ - example_box/README.md
97
+ - example_box/metadata.json
98
+ - lib/vagrant-aws.rb
99
+ - lib/vagrant-aws/action.rb
100
+ - lib/vagrant-aws/action/connect_aws.rb
101
+ - lib/vagrant-aws/action/is_created.rb
102
+ - lib/vagrant-aws/action/is_stopped.rb
103
+ - lib/vagrant-aws/action/message_already_created.rb
104
+ - lib/vagrant-aws/action/message_not_created.rb
105
+ - lib/vagrant-aws/action/message_will_not_destroy.rb
106
+ - lib/vagrant-aws/action/read_ssh_info.rb
107
+ - lib/vagrant-aws/action/read_state.rb
108
+ - lib/vagrant-aws/action/run_instance.rb
109
+ - lib/vagrant-aws/action/start_instance.rb
110
+ - lib/vagrant-aws/action/stop_instance.rb
111
+ - lib/vagrant-aws/action/sync_folders.rb
112
+ - lib/vagrant-aws/action/terminate_instance.rb
113
+ - lib/vagrant-aws/action/timed_provision.rb
114
+ - lib/vagrant-aws/action/wait_for_state.rb
115
+ - lib/vagrant-aws/action/warn_networks.rb
116
+ - lib/vagrant-aws/config.rb
117
+ - lib/vagrant-aws/errors.rb
118
+ - lib/vagrant-aws/plugin.rb
119
+ - lib/vagrant-aws/provider.rb
120
+ - lib/vagrant-aws/util/timer.rb
121
+ - lib/vagrant-aws/version.rb
122
+ - locales/en.yml
123
+ - spec/vagrant-aws/config_spec.rb
124
+ - vagrant-aws.gemspec
125
+ homepage: http://www.vagrantup.com
126
+ licenses:
127
+ - MIT
128
+ metadata: {}
129
+ post_install_message:
130
+ rdoc_options: []
131
+ require_paths:
132
+ - lib
133
+ required_ruby_version: !ruby/object:Gem::Requirement
134
+ requirements:
135
+ - - ">="
136
+ - !ruby/object:Gem::Version
137
+ version: '0'
138
+ required_rubygems_version: !ruby/object:Gem::Requirement
139
+ requirements:
140
+ - - ">="
141
+ - !ruby/object:Gem::Version
142
+ version: 1.3.6
143
+ requirements: []
144
+ rubyforge_project: vagrant-aws
145
+ rubygems_version: 2.2.2
146
+ signing_key:
147
+ specification_version: 4
148
+ summary: Enables Vagrant to manage machines in EC2 and VPC.
149
+ test_files: []