zeployment 0.1.2 → 0.2.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 +4 -4
- data/Gemfile.lock +1 -1
- data/lib/zeployment/version.rb +1 -1
- data/lib/zeployment.rb +53 -52
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 04fd175b97a384f301a77312e5b7ad7e5d5e19def1561bd2a52f61513ce991e0
|
4
|
+
data.tar.gz: f9c90b643491ae644998c974bad93db63c192af451c8dc9ca20dd00e5cc0dbb3
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a176dab08a6ac1b7174bacfd5591522000a3823af06ebb642cab062f323deb75b24e1dc804ebd2908d139044ce8e664a03d247f0d068d78aab04e74d668a3c98
|
7
|
+
data.tar.gz: 10ace35587f82a60f71d9f19baf7821af19d941cb2b6f693a8026e4ed67b1379a5f3fdfd02c182aa364e8c838346d51413dc5605a13535f187056c178ac28306
|
data/Gemfile.lock
CHANGED
data/lib/zeployment/version.rb
CHANGED
data/lib/zeployment.rb
CHANGED
@@ -2,73 +2,74 @@ require "zeployment/version"
|
|
2
2
|
require "json"
|
3
3
|
|
4
4
|
module Zeployment
|
5
|
+
class Aws
|
5
6
|
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
7
|
+
def self.number_of_registered_instances_to_loadbalancer (name_of_load_balancer)
|
8
|
+
load_balancer_instances_description_hash = get_load_balancer_instances_description(name_of_load_balancer)
|
9
|
+
return load_balancer_instances_description_hash["InstanceStates"].length
|
10
|
+
end
|
10
11
|
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
12
|
+
def self.get_load_balancer_instances_description (name_of_load_balancer)
|
13
|
+
load_balancers_instance_description_command = get_load_balancers_instances_description_command (name_of_load_balancer)
|
14
|
+
load_balancer_instances_description = `#{load_balancers_instance_description_command}`
|
15
|
+
return JSON.parse(load_balancer_instances_description)
|
16
|
+
end
|
16
17
|
|
17
18
|
|
18
|
-
|
19
|
-
|
20
|
-
|
19
|
+
def self.get_load_balancers_instances_description_command (name_of_load_balancer)
|
20
|
+
return "aws elb describe-instance-health --load-balancer-name #{name_of_load_balancer}"
|
21
|
+
end
|
21
22
|
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
23
|
+
def self.number_of_instances_in_service (name_of_load_balancer)
|
24
|
+
instances_in_service = 0
|
25
|
+
load_balancer_instances_description_hash = get_load_balancer_instances_description(name_of_load_balancer)
|
26
|
+
load_balancer_instances_description_hash["InstanceStates"].each do |instance_state|
|
27
|
+
if instance_state["State"] == "InService"
|
28
|
+
instances_in_service = instances_in_service + 1
|
29
|
+
end
|
28
30
|
end
|
31
|
+
return instances_in_service
|
29
32
|
end
|
30
|
-
return instances_in_service
|
31
|
-
end
|
32
33
|
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
34
|
+
def self.number_of_instances_not_in_service (name_of_load_balancer)
|
35
|
+
instances_not_in_service = 0
|
36
|
+
load_balancer_instances_description_hash = get_load_balancer_instances_description(name_of_load_balancer)
|
37
|
+
load_balancer_instances_description_hash["InstanceStates"].each do |instance_state|
|
38
|
+
if instance_state["State"] != "InService"
|
39
|
+
instances_not_in_service = instances_not_in_service + 1
|
40
|
+
end
|
39
41
|
end
|
42
|
+
return instances_not_in_service
|
40
43
|
end
|
41
|
-
return instances_not_in_service
|
42
|
-
end
|
43
44
|
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
45
|
+
def self.get_ip_address_of_ec2_from_id (instance_id)
|
46
|
+
instance_description_response = `#{get_ip_address_of_ec2_from_id_command(instance_id)}`
|
47
|
+
instance_description_hash = JSON.parse(instance_description_response)
|
48
|
+
ip_address = instance_description_hash["Reservations"][0]["Instances"][0]["PublicIpAddress"]
|
49
|
+
return ip_address
|
50
|
+
end
|
50
51
|
|
51
|
-
|
52
|
-
|
53
|
-
|
52
|
+
def self.get_ip_address_of_ec2_from_id_command (instance_id)
|
53
|
+
return "aws ec2 describe-instances --instance-id #{instance_id}"
|
54
|
+
end
|
54
55
|
|
55
|
-
|
56
|
-
|
57
|
-
|
56
|
+
def self.deregister_instance_from_load_balancer (name_of_load_balancer, instance_id)
|
57
|
+
JSON.parse(`aws elb deregister-instances-from-load-balancer --load-balancer-name #{name_of_load_balancer} --instances #{instance_id}`)
|
58
|
+
end
|
58
59
|
|
59
|
-
|
60
|
-
|
61
|
-
|
60
|
+
def self.register_instance_with_load_balancer (name_of_load_balancer, instance_id)
|
61
|
+
JSON.parse(`aws elb register-instances-with-load-balancer --load-balancer-name #{name_of_load_balancer} --instances #{instance_id}`)
|
62
|
+
end
|
62
63
|
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
64
|
+
def self.get_load_balancer_particular_instance_data (name_of_load_balancer, instance_id)
|
65
|
+
load_balancers_instance_description_command = "aws elb describe-instance-health --load-balancer-name #{name_of_load_balancer} --instances #{instance_id}"
|
66
|
+
load_balancer_instances_description = `#{load_balancers_instance_description_command}`
|
67
|
+
return JSON.parse(load_balancer_instances_description)
|
68
|
+
end
|
68
69
|
|
69
|
-
|
70
|
-
|
71
|
-
|
70
|
+
def self.instance_is_in_service? (name_of_load_balancer, instance_id)
|
71
|
+
load_balancer_insrance_data_hash = get_load_balancer_particular_instance_data name_of_load_balancer, instance_id
|
72
|
+
return load_balancer_insrance_data_hash["InstanceStates"][0]["State"] == "InService"
|
73
|
+
end
|
72
74
|
end
|
73
|
-
|
74
75
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: zeployment
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Naman Gupta
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-10-
|
11
|
+
date: 2018-10-18 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|