aws_client 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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: ebdd693f25637e0db6f05920bd2d1022468c2acf
4
- data.tar.gz: b1f69d4ad72a29e1c9ead897db341dd6a69ddb4e
3
+ metadata.gz: b280d5dc79077b42e5a4f7e9454fa4f53ff42d86
4
+ data.tar.gz: af20108885ab30f08349f6bc9011f4ddda1a82fa
5
5
  SHA512:
6
- metadata.gz: faf2ca7f7d04ae6b30666e3918eb3442153d24dadd6ccc60f63427ae70f2aeb116cc01de9ebdcfcb4154b526adbf3e3be4bd2bca72f7ae6f0051b11ec9266e3c
7
- data.tar.gz: dd54dbce751247d8d621cf1da251030a5746a5f70ecabe7cbf76e39971b6a5f8e6961200463fb79f77f8a0177369d509bc7e9ff8bbbe5d5ad9039cf58bbc7d5f
6
+ metadata.gz: ba7b6ba0fb00d31031f7bb5307e2d67483f6eee60deea6ed514610cda02236c4161d1b5557f4e77d755bd7bc0144928383b7ee5ed07a46d13356693b7b9e471a
7
+ data.tar.gz: 4d34d5c4b05df5e93ce3d438dc33c878a1c2b76e7126e150aa67a91feadea83e3446c292a2b10caf9fa03e43f4c097e85d116c3c903de042f8bba91c2f8eb1bc
data/README.md CHANGED
@@ -78,3 +78,5 @@ Each client wrapper exposes some additional functionality useful to me, but may
78
78
  * [S3](documentation/s3.md)
79
79
  * [Cloudformation](documentation/cloudformation.md)
80
80
 
81
+
82
+ ... more to come as I hook this up
Binary file
@@ -5,6 +5,8 @@ require "s3_wrapper"
5
5
  require "cf_wrapper"
6
6
  require "rds_wrapper"
7
7
  require "ec2_wrapper"
8
+ require "elb_wrapper"
9
+ require "elb"
8
10
 
9
11
  module AwsClient
10
12
 
@@ -36,6 +38,10 @@ module AwsClient
36
38
  @ec2 ||= ::AwsClient::Ec2Wrapper.new(client: client_connect(::Aws::EC2::Client))
37
39
  end
38
40
 
41
+ def elb
42
+ @elb ||= ::AwsClient::ElbWrapper.new(client: client_connect(::Aws::ElasticLoadBalancing::Client))
43
+ end
44
+
39
45
  protected
40
46
 
41
47
  def credentials
@@ -1,3 +1,3 @@
1
1
  module AwsClient
2
- VERSION = "0.0.4"
2
+ VERSION = "0.0.5"
3
3
  end
@@ -0,0 +1,31 @@
1
+ module AwsClient
2
+ class Elb
3
+
4
+ attr_reader :raw_data, :raw_tags
5
+
6
+ def initialize(raw_data)
7
+ @raw_data = raw_data
8
+ end
9
+
10
+ def is_for_tag?(tag_key, tag_value)
11
+ tags.include?({ tag_key => tag_value})
12
+ end
13
+
14
+ def add_tags!(tag_data)
15
+ @raw_tags = tag_data.tags
16
+ end
17
+
18
+ def name
19
+ @raw_data.load_balancer_name
20
+ end
21
+
22
+ def dns_name
23
+ @raw_data.dns_name
24
+ end
25
+
26
+ def tags
27
+ @tags ||= @raw_tags.collect{|raw_tag| {raw_tag.key => raw_tag.value } }
28
+ end
29
+
30
+ end
31
+ end
@@ -0,0 +1,22 @@
1
+ module AwsClient
2
+ class ElbWrapper < AwsClient::Wrapper
3
+
4
+ def instances
5
+ raw_instances = get_all_instance_pages.collect{|page| page.load_balancer_descriptions }.flatten
6
+ instances = raw_instances.collect{|raw_instance| ::AwsClient::Elb.new(raw_instance) }
7
+ return instances
8
+ end
9
+
10
+ def get_all_instance_pages
11
+ all_instance_pages = []
12
+ pages = client.describe_load_balancers
13
+ all_instance_pages << pages.data
14
+ while pages.next_page?
15
+ pages = pages.next_page
16
+ all_instance_pages << pages.data
17
+ end
18
+ return all_instance_pages
19
+ end
20
+
21
+ end
22
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: aws_client
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
  - Webzakimbo
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2015-12-15 00:00:00.000000000 Z
11
+ date: 2015-12-21 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aws-sdk
@@ -67,6 +67,7 @@ files:
67
67
  - aws_client-0.0.1.gem
68
68
  - aws_client-0.0.2.gem
69
69
  - aws_client-0.0.3.gem
70
+ - aws_client-0.0.4.gem
70
71
  - aws_client.gemspec
71
72
  - bin/console
72
73
  - bin/setup
@@ -76,6 +77,8 @@ files:
76
77
  - lib/aws_client/version.rb
77
78
  - lib/cf_wrapper.rb
78
79
  - lib/ec2_wrapper.rb
80
+ - lib/elb.rb
81
+ - lib/elb_wrapper.rb
79
82
  - lib/rds_wrapper.rb
80
83
  - lib/s3_wrapper.rb
81
84
  - lib/wrapper.rb