aws_client 0.0.4 → 0.0.5

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