fluent-plugin-ec2-metadata 0.0.14 → 0.0.15

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: df4eabe2c68517c236c36639c5ffd605ff54d808
4
- data.tar.gz: 9f15d7dfe46065e66b6a980e9df2b4c0cae90997
3
+ metadata.gz: f6d2c8b687f111b107457e4d141196b4a04c16bc
4
+ data.tar.gz: 8b6b74fcecb1a2bc1b845f54049ca65e907ad2d8
5
5
  SHA512:
6
- metadata.gz: 6595ef778482ec613e89d99461d8d34c7a583e57f0090f3ec168c71e994fe70ad6869b0b99e26757e0f3a5e6a2d9c3ab194482bc2702bc65fa3b519135cc6614
7
- data.tar.gz: dbb124817cd7d47fb635f9339b6e66a464894ec5136dc2649f6d6d2eaa1e591344104695b97033e55cd04143702517a32ef963be3a6f60b588012acc6376ea77
6
+ metadata.gz: 4f2a19de0877c4ffd1c6e45532d09645f1af6f2a64eb37c5996713355bf595af0a4d105416e9e4c7ae6fa0e5d2bcfb3b34932ddd20c02af05075d221d8e3523e
7
+ data.tar.gz: bf2d28ec7d231966e8ebe24571f2875c1f0476d522d614f4ae8098d3d3f95275c07fe5703a009fd418e5625e38d4467327470a559fd229d8f04485ffcc5ec68d
@@ -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.14"
7
+ spec.version = "0.0.15"
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}
@@ -22,23 +22,25 @@ module Fluent
22
22
  @placeholder_expander = PlaceholderExpander.new(log)
23
23
 
24
24
  # get metadata first and then setup a refresh thread
25
- @ec2_metadata = Hash.new
26
- set_metadata
27
- set_tag
25
+ @ec2_metadata = get_metadata_and_tags
28
26
  @refresh_thread = Thread.new {
29
27
  while true
30
28
  sleep @metadata_refresh_seconds
31
- set_metadata
32
- set_tag
29
+ @ec2_metadata = get_metadata_and_tags
33
30
  end
34
31
  }
35
32
  end
36
33
 
37
34
  private
38
35
 
39
- def set_metadata()
40
- ec2_metadata = {}
36
+ def get_metadata_and_tags
37
+ metadata = {}
38
+ set_metadata(metadata)
39
+ set_tag(metadata)
40
+ metadata
41
+ end
41
42
 
43
+ def set_metadata(ec2_metadata)
42
44
  instance_identity = Oj.load(get_dynamic_data("instance-identity/document"))
43
45
  ec2_metadata['account_id'] = instance_identity["accountId"]
44
46
  ec2_metadata['image_id'] = instance_identity["imageId"]
@@ -61,7 +63,7 @@ module Fluent
61
63
  ec2_metadata['subnet_id'] = nil
62
64
  log.info "ec2-metadata: 'subnet_id' is undefined because #{ec2_metadata['instance_id']} is not in VPC}"
63
65
  end
64
- @ec2_metadata.merge!(ec2_metadata)
66
+ ec2_metadata
65
67
  end
66
68
 
67
69
  def get_dynamic_data(f)
@@ -76,27 +78,27 @@ module Fluent
76
78
  res.body
77
79
  end
78
80
 
79
- def set_tag()
81
+ def set_tag(ec2_metadata)
80
82
  if @map.values.any? { |v| v.match(/^\${tagset_/) } || @output_tag =~ /\${tagset_/
81
83
 
82
84
  if @aws_key_id and @aws_sec_key
83
85
  ec2 = Aws::EC2::Client.new(
84
- region: @ec2_metadata['region'],
86
+ region: ec2_metadata['region'],
85
87
  access_key_id: @aws_key_id,
86
88
  secret_access_key: @aws_sec_key,
87
89
  )
88
90
  else
89
91
  ec2 = Aws::EC2::Client.new(
90
- region: @ec2_metadata['region'],
92
+ region: ec2_metadata['region'],
91
93
  )
92
94
  end
93
95
 
94
- response = ec2.describe_instances({ :instance_ids => [@ec2_metadata['instance_id']] })
96
+ response = ec2.describe_instances({ :instance_ids => [ec2_metadata['instance_id']] })
95
97
  instance = response.reservations[0].instances[0]
96
98
  raise Fluent::ConfigError, "ec2-metadata: failed to get instance data #{response.pretty_inspect}" if instance.nil?
97
99
 
98
100
  instance.tags.each { |tag|
99
- @ec2_metadata["tagset_#{tag.key.downcase}"] = tag.value
101
+ ec2_metadata["tagset_#{tag.key.downcase}"] = tag.value
100
102
  }
101
103
  end
102
104
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fluent-plugin-ec2-metadata
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.14
4
+ version: 0.0.15
5
5
  platform: ruby
6
6
  authors:
7
7
  - SAKAMOTO Takumi
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-11-21 00:00:00.000000000 Z
11
+ date: 2017-01-01 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: fluentd