fluent-plugin-ec2-metadata 0.0.4 → 0.0.5

Sign up to get free protection for your applications and to get access to all the features.
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