vagrant-awsinfo 0.0.4 → 0.0.5
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.
- checksums.yaml +15 -0
- data/CHANGELOG.md +6 -0
- data/README.md +23 -0
- data/lib/vagrant-awsinfo/command.rb +56 -9
- data/lib/vagrant-awsinfo/version.rb +1 -1
- data/vagrant-awsinfo.gemspec +1 -1
- metadata +6 -8
checksums.yaml
ADDED
@@ -0,0 +1,15 @@
|
|
1
|
+
---
|
2
|
+
!binary "U0hBMQ==":
|
3
|
+
metadata.gz: !binary |-
|
4
|
+
NTYyOGEwNDE1NzZmMGVmZTJkYjQ3ZjJhZTg5NDU4Y2UxNmUwNmUxMA==
|
5
|
+
data.tar.gz: !binary |-
|
6
|
+
NDNkNDQ2ODI3MmE2ZTM5YTE3ODUzZTI0MzVhMDc3OGI2Mjg3ZmRlZQ==
|
7
|
+
!binary "U0hBNTEy":
|
8
|
+
metadata.gz: !binary |-
|
9
|
+
MzYxMTE5MDcyMDYwNDFlMjZhMWYyZDM1YWYyNWI1Yzc4ZDRiMzZmODY0Yzk3
|
10
|
+
M2QxZjc3MzU0ZWY0ZGY3YzYyZTM2NDIwZWZhMmZhMzEwMTEwMmY2ODRjNGIy
|
11
|
+
ZWE5ZWNjYTIyOGFhMWE1ZGQzZmU0MmI1OThjM2U2ZmRlNzQzZDY=
|
12
|
+
data.tar.gz: !binary |-
|
13
|
+
YjE0ZTIzODBkN2U1NTQ4NjdmZmMwN2NiNzE4MDRhMmFkNTg2ZWMwNzE5NTA2
|
14
|
+
ODQ2NDhmYTQ4MDE4OWFhOTAxYjQxNDQ5MTdkZDI1ZmZiYzJlZDczM2QwYTlh
|
15
|
+
YzZhYTQwYzcwOTEyM2E5ZTE3N2M2ZjBmNzFjZDAwYWQxODI3MjY=
|
data/CHANGELOG.md
CHANGED
data/README.md
CHANGED
@@ -25,6 +25,29 @@ ec2-174-129-128-49.compute-1.amazonaws.com
|
|
25
25
|
|
26
26
|
% vagrant awsinfo -k host -m default
|
27
27
|
ec2-174-129-128-49.compute-1.amazonaws.com
|
28
|
+
|
29
|
+
% vagrant awsinfo -k host -m default -p
|
30
|
+
{
|
31
|
+
"availability_zone": "us-east-1c",
|
32
|
+
"created_at": "2013-04-20T20:51:10Z",
|
33
|
+
"flavor": "m1.medium",
|
34
|
+
"host": "ec2-50-16-48-88.compute-1.amazonaws.com",
|
35
|
+
"public_ip": "50.16.48.88",
|
36
|
+
"private_ip": "10.151.111.73",
|
37
|
+
"private_dns_name": "ip-10-151-111-73.ec2.internal",
|
38
|
+
"tags": {
|
39
|
+
"Name": "Vagrant-PhonoGateway",
|
40
|
+
"OwnerHostname": "dyer.local",
|
41
|
+
"CreatedAt": "2013-04-20T 4:46:37",
|
42
|
+
"OwnerUsername": "jdyer"
|
43
|
+
},
|
44
|
+
"groups": [
|
45
|
+
"everything_open"
|
46
|
+
],
|
47
|
+
"ssh_port": 22,
|
48
|
+
"instance_id": "i-28f14e43",
|
49
|
+
"state": "running"
|
50
|
+
}
|
28
51
|
```
|
29
52
|
|
30
53
|
## Contributing
|
@@ -1,8 +1,7 @@
|
|
1
1
|
module VagrantAwsInfo
|
2
2
|
|
3
3
|
class Command < Vagrant.plugin(2, :command)
|
4
|
-
|
5
|
-
Settings = Struct.new(:machines,:keys)
|
4
|
+
Settings = Struct.new(:machines,:keys, :pretty)
|
6
5
|
|
7
6
|
def execute
|
8
7
|
|
@@ -20,6 +19,10 @@ module VagrantAwsInfo
|
|
20
19
|
o.on("-k KEY", "single value to return.") do |value|
|
21
20
|
settings.keys = value
|
22
21
|
end
|
22
|
+
|
23
|
+
o.on("-p", "Pretty print values.") do |value|
|
24
|
+
settings.pretty = true
|
25
|
+
end
|
23
26
|
end
|
24
27
|
|
25
28
|
settings.machines = ["default"] if settings.machines.empty?
|
@@ -36,25 +39,69 @@ module VagrantAwsInfo
|
|
36
39
|
return 1
|
37
40
|
end
|
38
41
|
else
|
39
|
-
|
42
|
+
if settings.pretty
|
43
|
+
jj instance_info
|
44
|
+
else
|
45
|
+
@env.ui.info instance_info.to_json
|
46
|
+
end
|
40
47
|
end
|
41
48
|
|
42
49
|
end
|
43
50
|
|
44
51
|
private
|
45
52
|
|
53
|
+
def get_instance(machine)
|
54
|
+
env = machine.action("read_ssh_info")
|
55
|
+
region = env[:machine].provider_config.region
|
56
|
+
|
57
|
+
# Get the configs
|
58
|
+
region_config = env[:machine].provider_config.get_region_config(region)
|
59
|
+
|
60
|
+
# Build the fog config
|
61
|
+
fog_config = {
|
62
|
+
:provider => :aws,
|
63
|
+
:region => region
|
64
|
+
}
|
65
|
+
|
66
|
+
if region_config.use_iam_profile
|
67
|
+
fog_config[:use_iam_profile] = True
|
68
|
+
else
|
69
|
+
fog_config[:aws_access_key_id] = region_config.access_key_id
|
70
|
+
fog_config[:aws_secret_access_key] = region_config.secret_access_key
|
71
|
+
end
|
72
|
+
|
73
|
+
fog_config[:endpoint] = region_config.endpoint if region_config.endpoint
|
74
|
+
fog_config[:version] = region_config.version if region_config.version
|
75
|
+
env[:aws_compute] = Fog::Compute.new(fog_config)
|
76
|
+
return env
|
77
|
+
end
|
78
|
+
|
46
79
|
def get_info(machine)
|
47
80
|
with_target_vms(machine) do |machine|
|
48
81
|
if machine.provider_name == :aws
|
49
|
-
|
82
|
+
env = get_instance(machine)
|
83
|
+
instance = env[:aws_compute].servers.get(machine.id)
|
50
84
|
r = {
|
51
|
-
|
52
|
-
|
53
|
-
|
85
|
+
availability_zone: instance.availability_zone,
|
86
|
+
created_at: instance.created_at,
|
87
|
+
flavor: instance.flavor_id,
|
88
|
+
host: instance.dns_name,
|
89
|
+
public_ip: instance.public_ip_address,
|
90
|
+
private_ip: instance.private_ip_address,
|
91
|
+
private_dns_name: instance.private_dns_name,
|
92
|
+
tags: instance.tags,
|
93
|
+
security_groups: instance.groups,
|
94
|
+
ssh_port: env[:machine_ssh_info][:port],
|
54
95
|
instance_id: machine.id,
|
55
|
-
|
96
|
+
image_id: instance.image_id,
|
97
|
+
state: machine.provider.state.short_description
|
56
98
|
}
|
57
|
-
|
99
|
+
|
100
|
+
r.merge!(network_interfaces: instance.network_interfaces) unless instance.network_interfaces.empty?
|
101
|
+
r.merge!(subnet_id: instance.subnet_id) if instance.subnet_id
|
102
|
+
r.merge!(vpc_id: instance.vpc_id) if instance.vpc_id
|
103
|
+
return r
|
104
|
+
|
58
105
|
else
|
59
106
|
@env.ui.error "[WARNING] - Sorry this plugin currently only supports machines using the AWS provider"
|
60
107
|
exit 1
|
data/vagrant-awsinfo.gemspec
CHANGED
@@ -10,7 +10,7 @@ Gem::Specification.new do |spec|
|
|
10
10
|
spec.email = ["johntdyer@gmail.com"]
|
11
11
|
spec.description = 'vagrant aws info querying plugin'
|
12
12
|
spec.summary = spec.description
|
13
|
-
spec.homepage = ""
|
13
|
+
spec.homepage = "https://github.com/johntdyer/vagrant-awsinfo"
|
14
14
|
spec.license = "MIT"
|
15
15
|
|
16
16
|
spec.files = `git ls-files`.split($/)
|
metadata
CHANGED
@@ -1,15 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: vagrant-awsinfo
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
5
|
-
prerelease:
|
4
|
+
version: 0.0.5
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
7
|
- John Dyer
|
9
8
|
autorequire:
|
10
9
|
bindir: bin
|
11
10
|
cert_chain: []
|
12
|
-
date: 2013-04-
|
11
|
+
date: 2013-04-21 00:00:00.000000000 Z
|
13
12
|
dependencies: []
|
14
13
|
description: vagrant aws info querying plugin
|
15
14
|
email:
|
@@ -29,29 +28,28 @@ files:
|
|
29
28
|
- lib/vagrant-awsinfo/plugin.rb
|
30
29
|
- lib/vagrant-awsinfo/version.rb
|
31
30
|
- vagrant-awsinfo.gemspec
|
32
|
-
homepage:
|
31
|
+
homepage: https://github.com/johntdyer/vagrant-awsinfo
|
33
32
|
licenses:
|
34
33
|
- MIT
|
34
|
+
metadata: {}
|
35
35
|
post_install_message:
|
36
36
|
rdoc_options: []
|
37
37
|
require_paths:
|
38
38
|
- lib
|
39
39
|
required_ruby_version: !ruby/object:Gem::Requirement
|
40
|
-
none: false
|
41
40
|
requirements:
|
42
41
|
- - ! '>='
|
43
42
|
- !ruby/object:Gem::Version
|
44
43
|
version: '0'
|
45
44
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
46
|
-
none: false
|
47
45
|
requirements:
|
48
46
|
- - ! '>='
|
49
47
|
- !ruby/object:Gem::Version
|
50
48
|
version: '0'
|
51
49
|
requirements: []
|
52
50
|
rubyforge_project:
|
53
|
-
rubygems_version:
|
51
|
+
rubygems_version: 2.0.3
|
54
52
|
signing_key:
|
55
|
-
specification_version:
|
53
|
+
specification_version: 4
|
56
54
|
summary: vagrant aws info querying plugin
|
57
55
|
test_files: []
|