aws-metadata-export 0.1.0 → 0.2.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 0e728df97757e47eaa097b8a1a4e12ca5914ca82
4
- data.tar.gz: b678d0e51b9eda94d9a0bcb18b971e5f1906437e
3
+ metadata.gz: 9891e3f0048e320d53a63e6b24cd256f53e7b2bd
4
+ data.tar.gz: e5aecc64ba932ef128ee1b04b495d177f572f19f
5
5
  SHA512:
6
- metadata.gz: 119c72aca171fd59fa6f7a6bbf5b6cda4a2804191f0b86e3c519c4d85094769274a8d1f5db1f561691df408b27f4e37508fd70625ccb4f40225bc34e2d61d6b5
7
- data.tar.gz: 8f52522e8931dec63653548c8e6fd3a708b5a60bad1902ee1e97555845a7973ba4b2017da89eec3b0690756ccf10f3c3f31ebab3aa8b2007f66725b38f85844f
6
+ metadata.gz: ae5e6763f5da37b87a58378830701d050d336885da03acd05cb0e0c6dd33476e9d645dbf7508f6d526efda01498919c135b6127cccf328274de4a1d393188464
7
+ data.tar.gz: 19422d6fa2558396b22906f2544e6c2c955f2b794858b79b7fdf8f9b86babbda3c8a053ecb999600bd481d388aaf7c85d7644536b067b2abf2ff391c85dfb97a
data/History.md CHANGED
@@ -1,5 +1,9 @@
1
1
  # Changelog for aws-metadata-export
2
2
 
3
+ ## 0.2.0
4
+
5
+ * add the ability to not export tags, which allows collection without using the AWS API (and thus requires no keys/secrets/IAM bits)
6
+
3
7
  ## 0.1.0
4
8
 
5
9
  * initial version
data/README.md CHANGED
@@ -31,7 +31,8 @@ The following instance data files are written:
31
31
  * az
32
32
 
33
33
  Tags are written to the a 'tags' directory. Each file is the name of a
34
- tag and the contents of that file is the value of the tag.
34
+ tag and the contents of that file is the value of the tag. To disable
35
+ tag export, pass `--no-tags` to the command line.
35
36
 
36
37
  ## INSTALLATION
37
38
 
@@ -46,6 +47,11 @@ Tags are not exported through EC2 instance data, so the EC2 API must be
46
47
  used to fetch them. As such, the IAM permission `ec2:DescribeInstances`
47
48
  must be available via an IAM instance profile and role.
48
49
 
50
+ If you wish to use the gem on a node without an IAM instance profile,
51
+ you can pass `export_tags: false` to the export method or `--no-tags` to
52
+ the CLI, in which case only the metdata that can be fetched from the
53
+ metadata endpoint will be exported.
54
+
49
55
  ## ENVIRONMENT VARIABLES
50
56
 
51
57
  Two environment variables can be used to vary behavior of the utility.
@@ -1,14 +1,14 @@
1
1
  # -*- encoding: utf-8 -*-
2
- # stub: aws-metadata-export 0.1.0.20150624082252 ruby lib
2
+ # stub: aws-metadata-export 0.2.0.20150804143301 ruby lib
3
3
 
4
4
  Gem::Specification.new do |s|
5
5
  s.name = "aws-metadata-export"
6
- s.version = "0.1.0.20150624082252"
6
+ s.version = "0.2.0.20150804143301"
7
7
 
8
8
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
9
9
  s.require_paths = ["lib"]
10
10
  s.authors = ["James FitzGibbon"]
11
- s.date = "2015-06-24"
11
+ s.date = "2015-08-04"
12
12
  s.description = "Exports AWS EC2 Instance metadata and tags to files"
13
13
  s.email = ["james@nadt.net"]
14
14
  s.executables = ["aws-metadata-export"]
@@ -26,6 +26,7 @@ Gem::Specification.new do |s|
26
26
  if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
27
27
  s.add_runtime_dependency(%q<aws-sdk>, ["~> 2.0"])
28
28
  s.add_runtime_dependency(%q<ec2-metadata>, ["~> 0.2"])
29
+ s.add_runtime_dependency(%q<slop>, ["~> 3.6"])
29
30
  s.add_development_dependency(%q<rdoc>, ["~> 4.0"])
30
31
  s.add_development_dependency(%q<hoe>, ["~> 3.13"])
31
32
  s.add_development_dependency(%q<hoe-gemspec>, ["~> 1.0"])
@@ -42,6 +43,7 @@ Gem::Specification.new do |s|
42
43
  else
43
44
  s.add_dependency(%q<aws-sdk>, ["~> 2.0"])
44
45
  s.add_dependency(%q<ec2-metadata>, ["~> 0.2"])
46
+ s.add_dependency(%q<slop>, ["~> 3.6"])
45
47
  s.add_dependency(%q<rdoc>, ["~> 4.0"])
46
48
  s.add_dependency(%q<hoe>, ["~> 3.13"])
47
49
  s.add_dependency(%q<hoe-gemspec>, ["~> 1.0"])
@@ -59,6 +61,7 @@ Gem::Specification.new do |s|
59
61
  else
60
62
  s.add_dependency(%q<aws-sdk>, ["~> 2.0"])
61
63
  s.add_dependency(%q<ec2-metadata>, ["~> 0.2"])
64
+ s.add_dependency(%q<slop>, ["~> 3.6"])
62
65
  s.add_dependency(%q<rdoc>, ["~> 4.0"])
63
66
  s.add_dependency(%q<hoe>, ["~> 3.13"])
64
67
  s.add_dependency(%q<hoe-gemspec>, ["~> 1.0"])
@@ -1,5 +1,19 @@
1
1
  #!/usr/bin/env ruby
2
2
 
3
3
  require 'aws-metadata-export'
4
+ require 'slop'
4
5
 
5
- Aws::MetadataExport.new.export
6
+ # parse the command line
7
+ params = { export_tags: true }
8
+ opts = Slop.parse(strict: true, help: true) do
9
+ banner 'Usage: aws-metadata-export [options]'
10
+ on 'no-tags', 'Disable export of tags' do
11
+ params[:export_tags] = false
12
+ end
13
+ on 'version', 'print the version' do
14
+ $stdout.puts Aws::MetadataExport::VERSION
15
+ end
16
+ end
17
+
18
+ # export the metadata and tags
19
+ Aws::MetadataExport.new.export(params)
@@ -4,10 +4,10 @@ require 'fileutils'
4
4
 
5
5
  module Aws
6
6
  class MetadataExport
7
- def export
7
+ def export(export_tags: true)
8
8
  set_umask
9
9
  write_metadata
10
- write_tags
10
+ write_tags if export_tags
11
11
  end
12
12
 
13
13
  private
@@ -1,5 +1,5 @@
1
1
  module Aws
2
2
  class MetadataExport
3
- VERSION = '0.1.0'
3
+ VERSION = '0.2.0'
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: aws-metadata-export
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - James FitzGibbon
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-06-24 00:00:00.000000000 Z
11
+ date: 2015-08-04 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aws-sdk
@@ -38,6 +38,20 @@ dependencies:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
40
  version: '0.2'
41
+ - !ruby/object:Gem::Dependency
42
+ name: slop
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: '3.6'
48
+ type: :runtime
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: '3.6'
41
55
  - !ruby/object:Gem::Dependency
42
56
  name: rdoc
43
57
  requirement: !ruby/object:Gem::Requirement