vagrant-gecko-aws 0.8.0

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 (46) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +21 -0
  3. data/.rspec +1 -0
  4. data/.travis.yml +6 -0
  5. data/CHANGELOG.md +96 -0
  6. data/Gemfile +10 -0
  7. data/LICENSE +8 -0
  8. data/README.md +329 -0
  9. data/Rakefile +22 -0
  10. data/dummy.box +0 -0
  11. data/example_box/README.md +13 -0
  12. data/example_box/metadata.json +3 -0
  13. data/lib/vagrant-aws/action/connect_aws.rb +48 -0
  14. data/lib/vagrant-aws/action/elb_deregister_instance.rb +24 -0
  15. data/lib/vagrant-aws/action/elb_register_instance.rb +24 -0
  16. data/lib/vagrant-aws/action/is_created.rb +18 -0
  17. data/lib/vagrant-aws/action/is_stopped.rb +18 -0
  18. data/lib/vagrant-aws/action/message_already_created.rb +16 -0
  19. data/lib/vagrant-aws/action/message_not_created.rb +16 -0
  20. data/lib/vagrant-aws/action/message_will_not_destroy.rb +16 -0
  21. data/lib/vagrant-aws/action/package_instance.rb +192 -0
  22. data/lib/vagrant-aws/action/read_ssh_info.rb +53 -0
  23. data/lib/vagrant-aws/action/read_state.rb +38 -0
  24. data/lib/vagrant-aws/action/run_instance.rb +314 -0
  25. data/lib/vagrant-aws/action/start_instance.rb +81 -0
  26. data/lib/vagrant-aws/action/stop_instance.rb +28 -0
  27. data/lib/vagrant-aws/action/terminate_instance.rb +51 -0
  28. data/lib/vagrant-aws/action/timed_provision.rb +21 -0
  29. data/lib/vagrant-aws/action/wait_for_state.rb +41 -0
  30. data/lib/vagrant-aws/action/warn_networks.rb +19 -0
  31. data/lib/vagrant-aws/action.rb +210 -0
  32. data/lib/vagrant-aws/config.rb +572 -0
  33. data/lib/vagrant-aws/errors.rb +43 -0
  34. data/lib/vagrant-aws/plugin.rb +73 -0
  35. data/lib/vagrant-aws/provider.rb +50 -0
  36. data/lib/vagrant-aws/util/elb.rb +58 -0
  37. data/lib/vagrant-aws/util/timer.rb +17 -0
  38. data/lib/vagrant-aws/version.rb +5 -0
  39. data/lib/vagrant-aws.rb +18 -0
  40. data/locales/en.yml +159 -0
  41. data/spec/spec_helper.rb +1 -0
  42. data/spec/vagrant-aws/config_spec.rb +374 -0
  43. data/templates/metadata.json.erb +3 -0
  44. data/templates/vagrant-aws_package_Vagrantfile.erb +5 -0
  45. data/vagrant-aws.gemspec +58 -0
  46. metadata +156 -0
@@ -0,0 +1,5 @@
1
+ Vagrant.configure("2") do |config|
2
+ config.vm.provider "aws" do |aws|
3
+ aws.region_config "<%= region %>", ami: "<%= ami %>"
4
+ end
5
+ end
@@ -0,0 +1,58 @@
1
+ $:.unshift File.expand_path("../lib", __FILE__)
2
+ require "vagrant-aws/version"
3
+
4
+ Gem::Specification.new do |s|
5
+ s.name = "vagrant-gecko-aws"
6
+ s.version = VagrantPlugins::AWS::VERSION
7
+ s.platform = Gem::Platform::RUBY
8
+ s.license = "MIT"
9
+ s.authors = "Mitchell Hashimoto, Geckoboard Devs"
10
+ s.homepage = "https://github.com/geckoboard/vagrant-aws"
11
+ s.summary = "Enables Vagrant to manage machines in EC2 and VPC."
12
+ s.description = "Enables Vagrant to manage machines in EC2 and VPC."
13
+
14
+ s.required_rubygems_version = ">= 1.3.6"
15
+
16
+ s.add_runtime_dependency "fog-aws", "~> 2.0"
17
+ s.add_runtime_dependency "iniparse", "~> 1.5"
18
+
19
+ s.add_development_dependency "rake"
20
+ # rspec 3.4 to mock File
21
+ s.add_development_dependency "rspec", "~> 3.4"
22
+ s.add_development_dependency "rspec-its"
23
+
24
+ # The following block of code determines the files that should be included
25
+ # in the gem. It does this by reading all the files in the directory where
26
+ # this gemspec is, and parsing out the ignored files from the gitignore.
27
+ # Note that the entire gitignore(5) syntax is not supported, specifically
28
+ # the "!" syntax, but it should mostly work correctly.
29
+ root_path = File.dirname(__FILE__)
30
+ all_files = Dir.chdir(root_path) { Dir.glob("**/{*,.*}") }
31
+ all_files.reject! { |file| [".", ".."].include?(File.basename(file)) }
32
+ gitignore_path = File.join(root_path, ".gitignore")
33
+ gitignore = File.readlines(gitignore_path)
34
+ gitignore.map! { |line| line.chomp.strip }
35
+ gitignore.reject! { |line| line.empty? || line =~ /^(#|!)/ }
36
+
37
+ unignored_files = all_files.reject do |file|
38
+ # Ignore any directories, the gemspec only cares about files
39
+ next true if File.directory?(file)
40
+
41
+ # Ignore any paths that match anything in the gitignore. We do
42
+ # two tests here:
43
+ #
44
+ # - First, test to see if the entire path matches the gitignore.
45
+ # - Second, match if the basename does, this makes it so that things
46
+ # like '.DS_Store' will match sub-directories too (same behavior
47
+ # as git).
48
+ #
49
+ gitignore.any? do |ignore|
50
+ File.fnmatch(ignore, file, File::FNM_PATHNAME) ||
51
+ File.fnmatch(ignore, File.basename(file), File::FNM_PATHNAME)
52
+ end
53
+ end
54
+
55
+ s.files = unignored_files
56
+ s.executables = unignored_files.map { |f| f[/^bin\/(.*)/, 1] }.compact
57
+ s.require_path = 'lib'
58
+ end
metadata ADDED
@@ -0,0 +1,156 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: vagrant-gecko-aws
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.8.0
5
+ platform: ruby
6
+ authors:
7
+ - Mitchell Hashimoto, Geckoboard Devs
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2023-07-17 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: fog-aws
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '2.0'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: '2.0'
27
+ - !ruby/object:Gem::Dependency
28
+ name: iniparse
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '1.5'
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '1.5'
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
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - "~>"
60
+ - !ruby/object:Gem::Version
61
+ version: '3.4'
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - "~>"
67
+ - !ruby/object:Gem::Version
68
+ version: '3.4'
69
+ - !ruby/object:Gem::Dependency
70
+ name: rspec-its
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - ">="
74
+ - !ruby/object:Gem::Version
75
+ version: '0'
76
+ type: :development
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - ">="
81
+ - !ruby/object:Gem::Version
82
+ version: '0'
83
+ description: Enables Vagrant to manage machines in EC2 and VPC.
84
+ email:
85
+ executables: []
86
+ extensions: []
87
+ extra_rdoc_files: []
88
+ files:
89
+ - ".gitignore"
90
+ - ".rspec"
91
+ - ".travis.yml"
92
+ - CHANGELOG.md
93
+ - Gemfile
94
+ - LICENSE
95
+ - README.md
96
+ - Rakefile
97
+ - dummy.box
98
+ - example_box/README.md
99
+ - example_box/metadata.json
100
+ - lib/vagrant-aws.rb
101
+ - lib/vagrant-aws/action.rb
102
+ - lib/vagrant-aws/action/connect_aws.rb
103
+ - lib/vagrant-aws/action/elb_deregister_instance.rb
104
+ - lib/vagrant-aws/action/elb_register_instance.rb
105
+ - lib/vagrant-aws/action/is_created.rb
106
+ - lib/vagrant-aws/action/is_stopped.rb
107
+ - lib/vagrant-aws/action/message_already_created.rb
108
+ - lib/vagrant-aws/action/message_not_created.rb
109
+ - lib/vagrant-aws/action/message_will_not_destroy.rb
110
+ - lib/vagrant-aws/action/package_instance.rb
111
+ - lib/vagrant-aws/action/read_ssh_info.rb
112
+ - lib/vagrant-aws/action/read_state.rb
113
+ - lib/vagrant-aws/action/run_instance.rb
114
+ - lib/vagrant-aws/action/start_instance.rb
115
+ - lib/vagrant-aws/action/stop_instance.rb
116
+ - lib/vagrant-aws/action/terminate_instance.rb
117
+ - lib/vagrant-aws/action/timed_provision.rb
118
+ - lib/vagrant-aws/action/wait_for_state.rb
119
+ - lib/vagrant-aws/action/warn_networks.rb
120
+ - lib/vagrant-aws/config.rb
121
+ - lib/vagrant-aws/errors.rb
122
+ - lib/vagrant-aws/plugin.rb
123
+ - lib/vagrant-aws/provider.rb
124
+ - lib/vagrant-aws/util/elb.rb
125
+ - lib/vagrant-aws/util/timer.rb
126
+ - lib/vagrant-aws/version.rb
127
+ - locales/en.yml
128
+ - spec/spec_helper.rb
129
+ - spec/vagrant-aws/config_spec.rb
130
+ - templates/metadata.json.erb
131
+ - templates/vagrant-aws_package_Vagrantfile.erb
132
+ - vagrant-aws.gemspec
133
+ homepage: https://github.com/geckoboard/vagrant-aws
134
+ licenses:
135
+ - MIT
136
+ metadata: {}
137
+ post_install_message:
138
+ rdoc_options: []
139
+ require_paths:
140
+ - lib
141
+ required_ruby_version: !ruby/object:Gem::Requirement
142
+ requirements:
143
+ - - ">="
144
+ - !ruby/object:Gem::Version
145
+ version: '0'
146
+ required_rubygems_version: !ruby/object:Gem::Requirement
147
+ requirements:
148
+ - - ">="
149
+ - !ruby/object:Gem::Version
150
+ version: 1.3.6
151
+ requirements: []
152
+ rubygems_version: 3.1.6
153
+ signing_key:
154
+ specification_version: 4
155
+ summary: Enables Vagrant to manage machines in EC2 and VPC.
156
+ test_files: []