vagrant-awsinfo 0.0.1
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.
- data/.gitignore +2 -0
- data/README.md +22 -0
- data/lib/vagrant-awsinfo.rb +6 -0
- data/lib/vagrant-awsinfo/command.rb +31 -0
- data/lib/vagrant-awsinfo/plugin.rb +10 -0
- data/lib/vagrant-awsinfo/version.rb +3 -0
- data/vagrant-awsinfo.gemspec +20 -0
- metadata +53 -0
data/.gitignore
ADDED
data/README.md
ADDED
@@ -0,0 +1,22 @@
|
|
1
|
+
# vagrant awshost plugin
|
2
|
+
|
3
|
+
This plug in helps you get some metadata from an Vagrant machine provisioned with the AWS provider
|
4
|
+
|
5
|
+
This is useful when you use want to find out the external IP of the instance you just provisioned
|
6
|
+
|
7
|
+
|
8
|
+
## Installing
|
9
|
+
|
10
|
+
```vagrant plugin install vagrant-awshost```
|
11
|
+
|
12
|
+
|
13
|
+
## Querying
|
14
|
+
|
15
|
+
The `vagrant awshost` command is provided by this plugin.
|
16
|
+
|
17
|
+
Examples:
|
18
|
+
|
19
|
+
```
|
20
|
+
% vagrant awshost
|
21
|
+
{"host":"ec2-1-2-3-4.compute-1.amazonaws.com","port":22,"private_key_path":"/Users/jdyer/.ssh/example.pem","username":"root"}
|
22
|
+
```
|
@@ -0,0 +1,31 @@
|
|
1
|
+
module VagrantAwsInfo
|
2
|
+
|
3
|
+
class Command < Vagrant.plugin(2, :command)
|
4
|
+
|
5
|
+
Settings = Struct.new(:machines)
|
6
|
+
|
7
|
+
def execute
|
8
|
+
|
9
|
+
require "optparse"
|
10
|
+
|
11
|
+
settings = Settings.new
|
12
|
+
settings.machines = []
|
13
|
+
|
14
|
+
options = OptionParser.new do |o|
|
15
|
+
o.banner = "Return SSH info from an AWS provisioned Vagrant machine"
|
16
|
+
o.on("-m MACHINE", "The machine to query.") do |value|
|
17
|
+
settings.machines << value
|
18
|
+
end
|
19
|
+
end
|
20
|
+
settings.machines = ["default"] if settings.machines.empty?
|
21
|
+
|
22
|
+
with_target_vms(settings.machines) do |machine|
|
23
|
+
if machine.provider_name == :aws
|
24
|
+
@env.ui.info machine.provider.ssh_info.to_json
|
25
|
+
else
|
26
|
+
@env.ui.error "Sorry this plugin currently only supports the AWS provider"
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
@@ -0,0 +1,20 @@
|
|
1
|
+
# coding: utf-8
|
2
|
+
lib = File.expand_path('../lib', __FILE__)
|
3
|
+
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
4
|
+
require 'vagrant-awsinfo/version'
|
5
|
+
|
6
|
+
Gem::Specification.new do |spec|
|
7
|
+
spec.name = "vagrant-awsinfo"
|
8
|
+
spec.version = VagrantAwsInfo::VERSION
|
9
|
+
spec.authors = ["John Dyer"]
|
10
|
+
spec.email = ["johntdyer@gmail.com"]
|
11
|
+
spec.description = 'vagrant aws info querying plugin'
|
12
|
+
spec.summary = spec.description
|
13
|
+
spec.homepage = ""
|
14
|
+
spec.license = "MIT"
|
15
|
+
|
16
|
+
spec.files = `git ls-files`.split($/)
|
17
|
+
spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
|
18
|
+
spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
|
19
|
+
spec.require_paths = ["lib"]
|
20
|
+
end
|
metadata
ADDED
@@ -0,0 +1,53 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: vagrant-awsinfo
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.0.1
|
5
|
+
prerelease:
|
6
|
+
platform: ruby
|
7
|
+
authors:
|
8
|
+
- John Dyer
|
9
|
+
autorequire:
|
10
|
+
bindir: bin
|
11
|
+
cert_chain: []
|
12
|
+
date: 2013-04-16 00:00:00.000000000 Z
|
13
|
+
dependencies: []
|
14
|
+
description: vagrant aws info querying plugin
|
15
|
+
email:
|
16
|
+
- johntdyer@gmail.com
|
17
|
+
executables: []
|
18
|
+
extensions: []
|
19
|
+
extra_rdoc_files: []
|
20
|
+
files:
|
21
|
+
- .gitignore
|
22
|
+
- README.md
|
23
|
+
- lib/vagrant-awsinfo.rb
|
24
|
+
- lib/vagrant-awsinfo/command.rb
|
25
|
+
- lib/vagrant-awsinfo/plugin.rb
|
26
|
+
- lib/vagrant-awsinfo/version.rb
|
27
|
+
- vagrant-awsinfo.gemspec
|
28
|
+
homepage: ''
|
29
|
+
licenses:
|
30
|
+
- MIT
|
31
|
+
post_install_message:
|
32
|
+
rdoc_options: []
|
33
|
+
require_paths:
|
34
|
+
- lib
|
35
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
36
|
+
none: false
|
37
|
+
requirements:
|
38
|
+
- - ! '>='
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '0'
|
41
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
42
|
+
none: false
|
43
|
+
requirements:
|
44
|
+
- - ! '>='
|
45
|
+
- !ruby/object:Gem::Version
|
46
|
+
version: '0'
|
47
|
+
requirements: []
|
48
|
+
rubyforge_project:
|
49
|
+
rubygems_version: 1.8.23
|
50
|
+
signing_key:
|
51
|
+
specification_version: 3
|
52
|
+
summary: vagrant aws info querying plugin
|
53
|
+
test_files: []
|