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 +4 -4
- data/README.md +38 -1
- data/fluent-plugin-ec2-metadata.gemspec +2 -2
- data/lib/fluent/plugin/out_ec2_metadata.rb +5 -4
- metadata +14 -14
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 925b152c581833ade6515063ca0bb368ea020957
|
4
|
+
data.tar.gz: e1debc52e316b0f0dcfdbdbf61a65319ba84ded4
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
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.
|
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
|
+
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:
|
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.
|
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
|