fluent-plugin-ec2-metadata 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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 3fe02568e5f31be333a23dedbefad53590ed41f2
4
- data.tar.gz: 0c3ff88e2e0a3b3864491b6a1d812beda9b0ebec
3
+ metadata.gz: 925b152c581833ade6515063ca0bb368ea020957
4
+ data.tar.gz: e1debc52e316b0f0dcfdbdbf61a65319ba84ded4
5
5
  SHA512:
6
- metadata.gz: 913237b4d7fb24b14f06d5c25e356b0a7c4d47ac984f0ae200368d80a381f8bbae42be37055ac7275edf6cc8bc4d9998162964076be7de807004559e00d5a52c
7
- data.tar.gz: dde6be6309f9b3d7243f81921d0d50931b0b241746590da31ba895c4cfdb8d8ecea3b8837ae4ad232fde41485f5ae6ca2a8b0279781fb128ac8769f0e58e8fd5
6
+ metadata.gz: 0d4e83b16d0836ed17b23aa66103dd333e960bab0e689db0383d81f9ff368ce33b66cf80cab357ee450b434acffd5f00a957a685d442bd9885b058d73d1009b7
7
+ data.tar.gz: 8b9b4acf8189439c7c528d1aeb66d6ff0c8cccd387154059b6d1c1bd0ff59e0bb4f04562a6281f79271f3bea1642ca77eb52a2fa15b686f692e6e7cdbf7270ce
data/README.md CHANGED
@@ -57,12 +57,49 @@ The following placeholders are always available:
57
57
  * ${availability_zone} availability zone
58
58
  * ${region} region
59
59
 
60
- The followings are available when you define `aws_key_id` and `aws_sec_key`:
60
+ The followings are available when you define `aws_key_id` and `aws_sec_key`(or define IAM Policy):
61
61
 
62
62
  * ${vpc_id} vpc id
63
63
  * ${subnet_id} subnet id
64
64
  * ${tagset_xxx} EC2 tag (e.g. tagset_name is replaced by the value of Key = Name)
65
65
 
66
+ The following is an example for a minimal IAM policy needed to ReadOnlyAccess to EC2.
67
+
68
+ ```
69
+ {
70
+ "Version": "2012-10-17",
71
+ "Statement": [
72
+ {
73
+ "Effect": "Allow",
74
+ "Action": "ec2:Describe*",
75
+ "Resource": "*"
76
+ },
77
+ {
78
+ "Effect": "Allow",
79
+ "Action": "elasticloadbalancing:Describe*",
80
+ "Resource": "*"
81
+ },
82
+ {
83
+ "Effect": "Allow",
84
+ "Action": [
85
+ "cloudwatch:ListMetrics",
86
+ "cloudwatch:GetMetricStatistics",
87
+ "cloudwatch:Describe*"
88
+ ],
89
+ "Resource": "*"
90
+ },
91
+ {
92
+ "Effect": "Allow",
93
+ "Action": "autoscaling:Describe*",
94
+ "Resource": "*"
95
+ }
96
+ ]
97
+ }
98
+ ```
99
+
100
+ Refer to the {AWS documentation}[http://docs.aws.amazon.com/IAM/latest/UserGuide/ExampleIAMPolicies.html] for example policies.
101
+ Using {IAM roles}[http://docs.aws.amazon.com/IAM/latest/UserGuide/WorkingWithRoles.html] with a properly configured IAM policy are preferred over embedding access keys on EC2 instances.
102
+
66
103
  ## Contributing
67
104
 
68
105
  1. Fork it
@@ -4,7 +4,7 @@ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
4
 
5
5
  Gem::Specification.new do |spec|
6
6
  spec.name = "fluent-plugin-ec2-metadata"
7
- spec.version = "0.0.4"
7
+ spec.version = "0.0.5"
8
8
  spec.authors = ["SAKAMOTO Takumi"]
9
9
  spec.email = ["takumi.saka@gmail.com"]
10
10
  spec.description = %q{Fluentd output plugin to add ec2 metadata fields to a event record}
@@ -19,5 +19,5 @@ Gem::Specification.new do |spec|
19
19
 
20
20
  spec.add_development_dependency "rake"
21
21
  spec.add_runtime_dependency "fluentd"
22
- spec.add_runtime_dependency "aws-sdk"
22
+ spec.add_runtime_dependency "aws-sdk-v1"
23
23
  end
@@ -5,6 +5,7 @@ module Fluent
5
5
  def initialize
6
6
  super
7
7
  require 'net/http'
8
+ require 'aws-sdk-v1'
8
9
  end
9
10
 
10
11
  config_param :output_tag, :string
@@ -34,10 +35,11 @@ module Fluent
34
35
  @ec2_metadata['region'] = @ec2_metadata['availability_zone'].chop
35
36
 
36
37
  if @aws_key_id and @aws_sec_key then
37
- require 'aws-sdk'
38
-
38
+ #require 'aws-sdk'
39
39
  AWS.config(access_key_id: @aws_key_id, secret_access_key: @aws_sec_key, region: @ec2_metadata['region'])
40
-
40
+ else
41
+ AWS.config(region: @ec2_metadata['region'])
42
+ end
41
43
  response = AWS.ec2.client.describe_instances( { :instance_ids => [ @ec2_metadata['instance_id'] ] })
42
44
  instance = response[:reservation_set].first[:instances_set].first
43
45
  raise Fluent::ConfigError, "ec2-metadata: failed to get instance data #{response.pretty_inspect}" if instance.nil?
@@ -48,7 +50,6 @@ module Fluent
48
50
  instance[:tag_set].each { |tag|
49
51
  @ec2_metadata["tagset_#{tag[:key].downcase}"] = tag[:value]
50
52
  }
51
- end
52
53
  end
53
54
 
54
55
  def emit(tag, es, chain)
metadata CHANGED
@@ -1,55 +1,55 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fluent-plugin-ec2-metadata
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.4
4
+ version: 0.0.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - SAKAMOTO Takumi
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-04-09 00:00:00.000000000 Z
11
+ date: 2015-04-27 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rake
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - '>='
17
+ - - ">="
18
18
  - !ruby/object:Gem::Version
19
19
  version: '0'
20
20
  type: :development
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - '>='
24
+ - - ">="
25
25
  - !ruby/object:Gem::Version
26
26
  version: '0'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: fluentd
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - '>='
31
+ - - ">="
32
32
  - !ruby/object:Gem::Version
33
33
  version: '0'
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - '>='
38
+ - - ">="
39
39
  - !ruby/object:Gem::Version
40
40
  version: '0'
41
41
  - !ruby/object:Gem::Dependency
42
- name: aws-sdk
42
+ name: aws-sdk-v1
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - '>='
45
+ - - ">="
46
46
  - !ruby/object:Gem::Version
47
47
  version: '0'
48
48
  type: :runtime
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
- - - '>='
52
+ - - ">="
53
53
  - !ruby/object:Gem::Version
54
54
  version: '0'
55
55
  description: Fluentd output plugin to add ec2 metadata fields to a event record
@@ -59,8 +59,8 @@ executables: []
59
59
  extensions: []
60
60
  extra_rdoc_files: []
61
61
  files:
62
- - .gitignore
63
- - .travis.yml
62
+ - ".gitignore"
63
+ - ".travis.yml"
64
64
  - Gemfile
65
65
  - LICENSE.txt
66
66
  - README.md
@@ -79,17 +79,17 @@ require_paths:
79
79
  - lib
80
80
  required_ruby_version: !ruby/object:Gem::Requirement
81
81
  requirements:
82
- - - '>='
82
+ - - ">="
83
83
  - !ruby/object:Gem::Version
84
84
  version: '0'
85
85
  required_rubygems_version: !ruby/object:Gem::Requirement
86
86
  requirements:
87
- - - '>='
87
+ - - ">="
88
88
  - !ruby/object:Gem::Version
89
89
  version: '0'
90
90
  requirements: []
91
91
  rubyforge_project:
92
- rubygems_version: 2.0.3
92
+ rubygems_version: 2.2.2
93
93
  signing_key:
94
94
  specification_version: 4
95
95
  summary: Fluentd output plugin to add ec2 metadata fields to a event record