aws_ro 1.3.0 → 1.4.0

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
  SHA256:
3
- metadata.gz: e9ab865e5261c7f9598f2ecf824e3ba8baa851710f0fca6f68b2f15da226e30f
4
- data.tar.gz: 277c50739ed9e3f327874760be5007053e13a2b1444452d1a42820dbae40388d
3
+ metadata.gz: f69abfa68475c2fdc49264fd493e59bb33a8deefd64a33035baab3f25328fc2d
4
+ data.tar.gz: 6d5ca9ac20e1026f6a0571ba14d770450a10fe2d7abf853b3282fff498f4f1de
5
5
  SHA512:
6
- metadata.gz: 25dbefe6fa03dd1ac6c509ab2a15e48a908f3bc96762fcd666287458efb0f7fe9c22edd8a3eb7259e7d597f78ac71cc26b5bc889cc0a3b243af08bb00b236054
7
- data.tar.gz: 519ca583aad89b6ce36589329d81cd546b9af3dcc70f64baf06e5ffebce4d89a818cdcd48516cfaee60546857029989574cbf9f1036a69ec6f1ebeea12a9080f
6
+ metadata.gz: d627763b753232627cf12369423e6dce193bb82acd5850d39fdaf1e937d375b4ae0bbb6db4de25bcfac4e5e9588cc928959cc892f13163e8407e9fcdf9a20d7b
7
+ data.tar.gz: 99f6d3d582d87bb3289e6245600ab740cc218f84ddf096823cdbedf31c32b48fab9b00fa6fdc57a438c42ae4637a807b5cac810b3903f3790bb44e24698d4c73
@@ -74,6 +74,7 @@ module AwsRo
74
74
  attr_reader :client, :target_group_arn
75
75
  alias arn target_group_arn
76
76
  alias name target_group_name
77
+ alias type target_type
77
78
 
78
79
  def initialize(arn, client)
79
80
  @target_group_arn = arn
@@ -89,12 +90,32 @@ module AwsRo
89
90
  @target_group ||= client.describe_target_groups(target_group_arns: [arn]).target_groups.first
90
91
  end
91
92
 
93
+ def target_type
94
+ @target_type ||= target_group.target_type
95
+ end
96
+
92
97
  def instances(ec2_repository = nil)
98
+ return [] if health_descriptions.empty?
99
+
100
+ case type
101
+ when 'instance','ip'
102
+ ec2_instances(ec2_repository)
103
+ when 'lambda'
104
+ health_descriptions.values.map(&:target)
105
+ else
106
+ raise "Unsupported target-type: #{type}"
107
+ end
108
+ end
109
+
110
+ def ec2_instances(ec2_repository = nil)
93
111
  ec2_repository ||= AwsRo::EC2::Repository.new(
94
112
  region: client.config.region,
95
113
  credentials: client.config.credentials
96
114
  )
97
- health_descriptions.empty? ? [] : ec2_repository.instance_ids(health_descriptions.keys)
115
+ case type
116
+ when 'instance' then ec2_repository.instance_ids(health_descriptions.keys)
117
+ when 'ip' then ec2_repository.filters([{ name: 'network-interface.addresses.private-ip-address', values: health_descriptions.keys }])
118
+ end
98
119
  end
99
120
 
100
121
  private
@@ -1,3 +1,3 @@
1
1
  module AwsRo
2
- VERSION = "1.3.0"
2
+ VERSION = "1.4.0"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: aws_ro
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.3.0
4
+ version: 1.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - takuto.komazaki
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2019-02-18 00:00:00.000000000 Z
11
+ date: 2019-11-07 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aws-sdk-ec2
@@ -201,7 +201,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
201
201
  - !ruby/object:Gem::Version
202
202
  version: '0'
203
203
  requirements: []
204
- rubygems_version: 3.0.1
204
+ rubygems_version: 3.0.3
205
205
  signing_key:
206
206
  specification_version: 4
207
207
  summary: Wrpper library of AWS SDK objects.