fluent-plugin-ec2-metadata 0.0.14 → 0.0.15

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: 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