zaws 0.0.5 → 0.1.1

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.
Files changed (282) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +2 -0
  3. data/.travis.yml +9 -18
  4. data/Gemfile +0 -0
  5. data/Gemfile.lock +26 -35
  6. data/Gemfile.lock.linux +69 -0
  7. data/Gemfile.lock.mac +81 -0
  8. data/Gemfile.lock.windows +77 -0
  9. data/LICENSE +0 -0
  10. data/README.md +11 -0
  11. data/Rakefile +1 -7
  12. data/archive/cloud_trail/cloud_trail.feature +124 -0
  13. data/bin/win_zaws.bat +2 -0
  14. data/lib/zaws.rb +54 -41
  15. data/lib/zaws/command/ai.rb +34 -0
  16. data/lib/zaws/command/bucket.rb +35 -0
  17. data/lib/zaws/command/cloud_trail.rb +43 -0
  18. data/lib/zaws/command/compute.rb +152 -87
  19. data/lib/zaws/command/config.rb +42 -0
  20. data/lib/zaws/command/elasticip.rb +19 -9
  21. data/lib/zaws/command/hosted_zone.rb +31 -18
  22. data/lib/zaws/command/iam.rb +37 -0
  23. data/lib/zaws/command/load_balancer.rb +54 -51
  24. data/lib/zaws/command/nessus.rb +41 -0
  25. data/lib/zaws/command/newrelic.rb +30 -0
  26. data/lib/zaws/command/route_table.rb +135 -122
  27. data/lib/zaws/command/security_group.rb +95 -82
  28. data/lib/zaws/command/subnet.rb +58 -46
  29. data/lib/zaws/command/sumo.rb +34 -0
  30. data/lib/zaws/command/vpc.rb +53 -0
  31. data/lib/zaws/external/awscli/awscli.rb +65 -0
  32. data/lib/zaws/external/awscli/commands.rb +10 -0
  33. data/lib/zaws/external/awscli/commands/aws.rb +40 -0
  34. data/lib/zaws/external/awscli/commands/ec2.rb +74 -0
  35. data/lib/zaws/external/awscli/commands/ec2/allocate_address.rb +42 -0
  36. data/lib/zaws/external/awscli/commands/ec2/assign_private_ip_addresses.rb +49 -0
  37. data/lib/zaws/external/awscli/commands/ec2/associate_address.rb +48 -0
  38. data/lib/zaws/external/awscli/commands/ec2/associate_route_table.rb +48 -0
  39. data/lib/zaws/external/awscli/commands/ec2/authorize_security_group_ingress.rb +70 -0
  40. data/lib/zaws/external/awscli/commands/ec2/create_route.rb +60 -0
  41. data/lib/zaws/external/awscli/commands/ec2/create_route_table.rb +40 -0
  42. data/lib/zaws/external/awscli/commands/ec2/create_security_group.rb +58 -0
  43. data/lib/zaws/external/awscli/commands/ec2/create_subnet.rb +62 -0
  44. data/lib/zaws/external/awscli/commands/ec2/create_tags.rb +53 -0
  45. data/lib/zaws/external/awscli/commands/ec2/create_vpc.rb +21 -0
  46. data/lib/zaws/external/awscli/commands/ec2/delete_route.rb +54 -0
  47. data/lib/zaws/external/awscli/commands/ec2/delete_route_table.rb +46 -0
  48. data/lib/zaws/external/awscli/commands/ec2/delete_security_group.rb +46 -0
  49. data/lib/zaws/external/awscli/commands/ec2/delete_subnet.rb +46 -0
  50. data/lib/zaws/external/awscli/commands/ec2/describe_addresses.rb +41 -0
  51. data/lib/zaws/external/awscli/commands/ec2/describe_images.rb +58 -0
  52. data/lib/zaws/external/awscli/commands/ec2/describe_instances.rb +56 -0
  53. data/lib/zaws/external/awscli/commands/ec2/describe_route_tables.rb +44 -0
  54. data/lib/zaws/external/awscli/commands/ec2/describe_security_groups.rb +50 -0
  55. data/lib/zaws/external/awscli/commands/ec2/describe_subnets.rb +48 -0
  56. data/lib/zaws/external/awscli/commands/ec2/describe_vpc_peering_connections.rb +23 -0
  57. data/lib/zaws/external/awscli/commands/ec2/describe_vpcs.rb +26 -0
  58. data/lib/zaws/external/awscli/commands/ec2/disable_vgw_route_propagation.rb +48 -0
  59. data/lib/zaws/external/awscli/commands/ec2/disassociate-address.rb +42 -0
  60. data/lib/zaws/external/awscli/commands/ec2/disassociate_route_table.rb +41 -0
  61. data/lib/zaws/external/awscli/commands/ec2/enable_vgw_route_propagation.rb +48 -0
  62. data/lib/zaws/external/awscli/commands/ec2/filter.rb +115 -0
  63. data/lib/zaws/external/awscli/commands/ec2/modify_instance_attribute.rb +62 -0
  64. data/lib/zaws/external/awscli/commands/ec2/network_interfaces.rb +63 -0
  65. data/lib/zaws/external/awscli/commands/ec2/release_address.rb +42 -0
  66. data/lib/zaws/external/awscli/commands/ec2/revoke_security_group_ingress.rb +70 -0
  67. data/lib/zaws/external/awscli/commands/ec2/run_instances.rb +21 -0
  68. data/lib/zaws/external/awscli/commands/ec2/stop_instances.rb +21 -0
  69. data/lib/zaws/external/awscli/commands/ec2/terminate_instances.rb +40 -0
  70. data/lib/zaws/external/awscli/commands/ec2/unassign_private_ip_addresses.rb +49 -0
  71. data/lib/zaws/external/awscli/commands/elb.rb +19 -0
  72. data/lib/zaws/external/awscli/commands/elb/create_load_balancer.rb +64 -0
  73. data/lib/zaws/external/awscli/commands/elb/create_load_balancer_listeners.rb +47 -0
  74. data/lib/zaws/external/awscli/commands/elb/delete_load_balancer.rb +40 -0
  75. data/lib/zaws/external/awscli/commands/elb/delete_load_balancer_listeners.rb +49 -0
  76. data/lib/zaws/external/awscli/commands/elb/deregister_instances_with_load_balancer.rb +49 -0
  77. data/lib/zaws/external/awscli/commands/elb/describe_load_balancers.rb +30 -0
  78. data/lib/zaws/external/awscli/commands/elb/register_instances_with_load_balancer.rb +49 -0
  79. data/lib/zaws/external/awscli/commands/iam.rb +31 -0
  80. data/lib/zaws/external/awscli/commands/iam/GetPolicy.rb +21 -0
  81. data/lib/zaws/external/awscli/commands/iam/GetPolicyVersion.rb +21 -0
  82. data/lib/zaws/external/awscli/commands/iam/GetRolePolicy.rb +21 -0
  83. data/lib/zaws/external/awscli/commands/route53.rb +19 -0
  84. data/lib/zaws/external/awscli/commands/route53/list_hosted_zones.rb +30 -0
  85. data/lib/zaws/external/awscli/commands/route53/list_resource_record_sets.rb +41 -0
  86. data/lib/zaws/external/awscli/commands/s3/ls.rb +34 -0
  87. data/lib/zaws/external/awscli/commands/s3/mb.rb +41 -0
  88. data/lib/zaws/external/awscli/commands/s3/sync.rb +48 -0
  89. data/lib/zaws/external/awscli/credentials.rb +22 -0
  90. data/lib/zaws/external/awscli/data.rb +10 -0
  91. data/lib/zaws/external/awscli/data/ec2.rb +33 -0
  92. data/lib/zaws/external/awscli/data/ec2/instance.rb +162 -0
  93. data/lib/zaws/external/awscli/data/ec2/security_group.rb +51 -0
  94. data/lib/zaws/external/awscli/data/ec2/subnet.rb +59 -0
  95. data/lib/zaws/external/awscli/data/ec2/vpc.rb +85 -0
  96. data/lib/zaws/external/awscli/data/iam.rb +34 -0
  97. data/lib/zaws/external/awscli/data/iam/policy.rb +42 -0
  98. data/lib/zaws/external/awscli/data/iam/policy_document.rb +52 -0
  99. data/lib/zaws/external/awscli/data/iam/policy_version.rb +42 -0
  100. data/lib/zaws/external/awscli/data/iam/role_policy.rb +52 -0
  101. data/lib/zaws/external/awscli/generators/result/ec2/addresses.rb +70 -0
  102. data/lib/zaws/external/awscli/generators/result/ec2/allocation_id.rb +39 -0
  103. data/lib/zaws/external/awscli/generators/result/ec2/association_id.rb +29 -0
  104. data/lib/zaws/external/awscli/generators/result/ec2/images.rb +46 -0
  105. data/lib/zaws/external/awscli/generators/result/ec2/instances.rb +57 -0
  106. data/lib/zaws/external/awscli/generators/result/ec2/ip_permissions.rb +70 -0
  107. data/lib/zaws/external/awscli/generators/result/ec2/network_interfaces.rb +53 -0
  108. data/lib/zaws/external/awscli/generators/result/ec2/private_ip_addresses.rb +41 -0
  109. data/lib/zaws/external/awscli/generators/result/ec2/route_tables.rb +80 -0
  110. data/lib/zaws/external/awscli/generators/result/ec2/routes.rb +58 -0
  111. data/lib/zaws/external/awscli/generators/result/ec2/security_groups.rb +73 -0
  112. data/lib/zaws/external/awscli/generators/result/ec2/subnets.rb +88 -0
  113. data/lib/zaws/external/awscli/generators/result/ec2/tags.rb +34 -0
  114. data/lib/zaws/external/awscli/generators/result/ec2/virtual_gateway.rb +32 -0
  115. data/lib/zaws/external/awscli/generators/result/elb/listeners.rb +65 -0
  116. data/lib/zaws/external/awscli/generators/result/elb/load_balancers.rb +61 -0
  117. data/lib/zaws/external/awscli/generators/result/route53/hosted_zones.rb +52 -0
  118. data/lib/zaws/external/awscli/regions.rb +13 -0
  119. data/lib/zaws/external/nessusapi/data/agents.rb +36 -0
  120. data/lib/zaws/external/nessusapi/data/scanners.rb +35 -0
  121. data/lib/zaws/external/nessusapi/nessusapi.rb +57 -0
  122. data/lib/zaws/external/nessusapi/reources.rb +10 -0
  123. data/lib/zaws/external/nessusapi/resources/agents.rb +18 -0
  124. data/lib/zaws/external/nessusapi/resources/agents/list.rb +20 -0
  125. data/lib/zaws/external/nessusapi/resources/scanners.rb +18 -0
  126. data/lib/zaws/external/nessusapi/resources/scanners/list.rb +20 -0
  127. data/lib/zaws/external/newrelicapi/data/servers.rb +36 -0
  128. data/lib/zaws/external/newrelicapi/newrelic_client.rb +64 -0
  129. data/lib/zaws/external/newrelicapi/newrelic_creds.rb +60 -0
  130. data/lib/zaws/external/newrelicapi/newrelicapi.rb +46 -0
  131. data/lib/zaws/external/newrelicapi/resources/servers.rb +18 -0
  132. data/lib/zaws/external/newrelicapi/resources/servers/list.rb +20 -0
  133. data/lib/zaws/external/sumoapi/data/collectors.rb +35 -0
  134. data/lib/zaws/external/sumoapi/data/sources.rb +35 -0
  135. data/lib/zaws/external/sumoapi/resources/collectors.rb +18 -0
  136. data/lib/zaws/external/sumoapi/resources/collectors/list.rb +20 -0
  137. data/lib/zaws/external/sumoapi/resources/sources.rb +18 -0
  138. data/lib/zaws/external/sumoapi/resources/sources/list.rb +20 -0
  139. data/lib/zaws/external/sumoapi/sumo_client.rb +63 -0
  140. data/lib/zaws/external/sumoapi/sumo_creds.rb +67 -0
  141. data/lib/zaws/external/sumoapi/sumoapi.rb +56 -0
  142. data/lib/zaws/helper/data_lattice.rb +22 -0
  143. data/lib/zaws/helper/filestore.rb +48 -0
  144. data/lib/zaws/helper/filter.rb +15 -0
  145. data/lib/zaws/helper/inifile.rb +632 -0
  146. data/lib/zaws/helper/nessus_client.rb +143 -0
  147. data/lib/zaws/helper/nessus_creds.rb +67 -0
  148. data/lib/zaws/helper/option.rb +14 -15
  149. data/lib/zaws/helper/output.rb +81 -29
  150. data/lib/zaws/helper/process_hash.rb +47 -0
  151. data/lib/zaws/helper/shell.rb +0 -0
  152. data/lib/zaws/helper/verbose.rb +15 -0
  153. data/lib/zaws/helper/zfile.rb +8 -8
  154. data/lib/zaws/services/ai.rb +35 -0
  155. data/lib/zaws/services/ai/query.rb +135 -0
  156. data/lib/zaws/services/aws.rb +41 -0
  157. data/lib/zaws/services/chef.rb +0 -0
  158. data/lib/zaws/services/cloud_trail.rb +76 -0
  159. data/lib/zaws/services/config.rb +31 -0
  160. data/lib/zaws/services/ec2.rb +47 -0
  161. data/lib/zaws/services/ec2/compute.rb +352 -0
  162. data/lib/zaws/services/ec2/elasticip.rb +82 -0
  163. data/lib/zaws/services/ec2/route_table.rb +210 -0
  164. data/lib/zaws/services/ec2/security_group.rb +186 -0
  165. data/lib/zaws/services/ec2/subnet.rb +111 -0
  166. data/lib/zaws/services/ec2/vpc.rb +69 -0
  167. data/lib/zaws/{elb.rb → services/elb.rb} +3 -2
  168. data/lib/zaws/services/elb/load_balancer.rb +160 -0
  169. data/lib/zaws/services/iam.rb +25 -0
  170. data/lib/zaws/services/iam/policy.rb +25 -0
  171. data/lib/zaws/services/iam/role.rb +23 -0
  172. data/lib/zaws/services/nessus.rb +24 -0
  173. data/lib/zaws/services/nessus/agents.rb +19 -0
  174. data/lib/zaws/services/nessus/scanners.rb +19 -0
  175. data/lib/zaws/services/newrelic.rb +21 -0
  176. data/lib/zaws/services/newrelic/servers.rb +19 -0
  177. data/lib/zaws/{route53.rb → services/route53.rb} +1 -1
  178. data/lib/zaws/services/route53/hosted_zone.rb +36 -0
  179. data/lib/zaws/services/s3.rb +15 -0
  180. data/lib/zaws/services/s3/bucket.rb +42 -0
  181. data/lib/zaws/services/sumo.rb +21 -0
  182. data/lib/zaws/services/sumo/collectors.rb +19 -0
  183. data/lib/zaws/services/vmware.rb +0 -0
  184. data/lib/zaws/version.rb +1 -1
  185. data/shove_all.sh +6 -0
  186. data/shove_all_mac.sh +6 -0
  187. data/shove_all_windows.sh +6 -0
  188. data/spec/spec_helper.rb +0 -0
  189. data/spec/zaws/command/ec2/compute/assoc_security_group_spec.rb +135 -0
  190. data/spec/zaws/command/ec2/compute/compute_spec.rb +321 -0
  191. data/spec/zaws/command/ec2/compute/images_spec.rb +69 -0
  192. data/spec/zaws/command/ec2/compute/management_spec.rb +364 -0
  193. data/spec/zaws/command/ec2/compute/network_spec.rb +93 -0
  194. data/spec/zaws/command/ec2/compute/node_spec.rb +70 -0
  195. data/spec/zaws/command/ec2/compute/secondary_ip_spec.rb +212 -0
  196. data/spec/zaws/command/ec2/compute/storage_spec.rb +63 -0
  197. data/spec/zaws/command/ec2/elasticip_spec.rb +271 -0
  198. data/spec/zaws/command/ec2/route_table_spec.rb +844 -0
  199. data/spec/zaws/command/ec2/security_group_spec.rb +710 -0
  200. data/spec/zaws/command/ec2/subnet_spec.rb +273 -0
  201. data/spec/zaws/command/ec2/vpc_spec.rb +180 -0
  202. data/spec/zaws/command/elb/load_balancer_spec.rb +633 -0
  203. data/spec/zaws/command/iam/policy_spec.rb +101 -0
  204. data/spec/zaws/command/iam/role_policy_spec.rb +35 -0
  205. data/spec/zaws/command/route53/hosted_zone_spec.rb +100 -0
  206. data/spec/zaws/command/s3/bucket_spec.rb +70 -0
  207. data/spec/zaws/external/awscli/data/ec2/instance_spec.rb +90 -0
  208. data/spec/zaws/external/awscli/data/iam/policy_document_spec.rb +56 -0
  209. data/spec/zaws/external/awscli/data/iam/role_policy_spec.rb +54 -0
  210. data/spec/zaws/external/awscli/get_aws_version_spec.rb +18 -0
  211. data/spec/zaws/helper/option_spec.rb +54 -0
  212. data/spec/zaws/helper/output_spec.rb +144 -0
  213. data/spec/zaws/helper/process_hash_spec.rb +48 -0
  214. data/spec/zaws/helper/shell_spec.rb +56 -0
  215. data/spec/zaws/nessus/scanners.json +0 -0
  216. data/spec/zaws/version_spec.rb +18 -0
  217. data/zaws.gemspec +1 -3
  218. metadata +260 -189
  219. data/feature/compute/assoc_security_group.feature +0 -55
  220. data/feature/compute/compute.feature +0 -138
  221. data/feature/compute/secondary_ip.feature +0 -107
  222. data/feature/compute/view.feature +0 -23
  223. data/feature/compute/view_images.feature +0 -24
  224. data/feature/elasticip/elasticip.feature +0 -138
  225. data/feature/elasticip/view.feature +0 -18
  226. data/feature/hosted_zone/view.feature +0 -17
  227. data/feature/hosted_zone/view_record.feature +0 -29
  228. data/feature/load_balancer/instance_registration.feature +0 -120
  229. data/feature/load_balancer/listener.feature +0 -86
  230. data/feature/load_balancer/load_balancer.feature +0 -101
  231. data/feature/load_balancer/view.feature +0 -18
  232. data/feature/route_table/assoc_subnet.feature +0 -128
  233. data/feature/route_table/route_propagation.feature +0 -93
  234. data/feature/route_table/route_table.feature +0 -91
  235. data/feature/route_table/route_to_gateway.feature +0 -69
  236. data/feature/route_table/route_to_instance.feature +0 -115
  237. data/feature/route_table/view.feature +0 -25
  238. data/feature/security_group/ingress_cidr.feature +0 -144
  239. data/feature/security_group/ingress_group.feature +0 -184
  240. data/feature/security_group/security_group.feature +0 -107
  241. data/feature/security_group/view.feature +0 -23
  242. data/feature/subnet/subnet.feature +0 -94
  243. data/feature/subnet/view.feature +0 -24
  244. data/feature/support/env.rb +0 -14
  245. data/feature/version.feature +0 -6
  246. data/lib/zaws/aws.rb +0 -26
  247. data/lib/zaws/ec2.rb +0 -40
  248. data/lib/zaws/ec2/compute.rb +0 -247
  249. data/lib/zaws/ec2/elasticip.rb +0 -79
  250. data/lib/zaws/ec2/route_table.rb +0 -207
  251. data/lib/zaws/ec2/security_group.rb +0 -154
  252. data/lib/zaws/ec2/subnet.rb +0 -109
  253. data/lib/zaws/elb/load_balancer.rb +0 -157
  254. data/lib/zaws/route53/hosted_zone.rb +0 -36
  255. data/spec/zaws/ec2/compute/add_volume_spec.rb +0 -39
  256. data/spec/zaws/ec2/compute/block_device_mapping_spec.rb +0 -31
  257. data/spec/zaws/ec2/compute/instance_id_by_external_id_spec.rb +0 -23
  258. data/spec/zaws/ec2/compute/instance_ping_spec.rb +0 -34
  259. data/spec/zaws/ec2/compute/instance_running_spec.rb +0 -47
  260. data/spec/zaws/ec2/compute/network_interface_json_spec.rb +0 -57
  261. data/spec/zaws/ec2/compute/nosdcheck_spec.rb +0 -17
  262. data/spec/zaws/ec2/compute/tag_instance_spec.rb +0 -21
  263. data/spec/zaws/ec2/security_group/id_by_name_spec.rb +0 -32
  264. data/spec/zaws/ec2/subnet/available_spec.rb +0 -22
  265. data/spec/zaws/ec2/subnet/declare_spec.rb +0 -31
  266. data/spec/zaws/ec2/subnet/exists_spec.rb +0 -33
  267. data/spec/zaws/ec2/subnet/id_array_by_cidrblock_array_spec.rb +0 -48
  268. data/spec/zaws/ec2/subnet/id_by_cidrblock_spec.rb +0 -35
  269. data/spec/zaws/ec2/subnet/id_by_ip_spec.rb +0 -42
  270. data/spec/zaws/ec2/subnet/view_spec.rb +0 -34
  271. data/spec/zaws/elb/load_balancer/calculated_listener_spec.rb +0 -18
  272. data/spec/zaws/helper/option/absent_spec.rb +0 -14
  273. data/spec/zaws/helper/option/exclusive_spec.rb +0 -14
  274. data/spec/zaws/helper/option/exists_spec.rb +0 -18
  275. data/spec/zaws/helper/option/minimum_spec.rb +0 -14
  276. data/spec/zaws/helper/output/binary_nagios_check_spec.rb +0 -19
  277. data/spec/zaws/helper/output/colorize_spec.rb +0 -30
  278. data/spec/zaws/helper/output/opt_exclusive_spec.rb +0 -14
  279. data/spec/zaws/helper/output/opt_minimum_spec.rb +0 -15
  280. data/spec/zaws/helper/output/opt_required_spec.rb +0 -12
  281. data/spec/zaws/helper/shell/cli_spec.rb +0 -33
  282. data/spec/zaws/helper/shell/if_then_spec.rb +0 -24
@@ -0,0 +1,40 @@
1
+ module ZAWS
2
+ class External
3
+ class AWSCLI
4
+ class Commands
5
+ class EC2
6
+ class TerminateInstances
7
+ def initialize(shellout=nil, awscli=nil)
8
+ @shellout=shellout
9
+ @awscli=awscli
10
+ clear_settings
11
+ end
12
+
13
+ def aws
14
+ @aws ||= ZAWS::External::AWSCLI::Commands::AWS.new(self)
15
+ @aws
16
+ end
17
+
18
+ def clear_settings
19
+ @aws=nil
20
+ @instance_id=nil
21
+ end
22
+
23
+ def instance_id(id)
24
+ @instance_id=id
25
+ self
26
+ end
27
+
28
+ def get_command
29
+ command = "ec2 terminate-instances"
30
+ command = "#{command} --instance-ids #{@instance_id}" if @instance_id
31
+ return command
32
+ end
33
+
34
+ end
35
+ end
36
+ end
37
+ end
38
+ end
39
+ end
40
+
@@ -0,0 +1,49 @@
1
+ module ZAWS
2
+ class External
3
+ class AWSCLI
4
+ class Commands
5
+ class EC2
6
+ class UnassignPrivateIpAddresses
7
+ def initialize(shellout=nil, awscli=nil)
8
+ @shellout=shellout
9
+ @awscli=awscli
10
+ clear_settings
11
+ self
12
+ end
13
+
14
+ def aws
15
+ @aws ||= ZAWS::External::AWSCLI::Commands::AWS.new(self)
16
+ @aws
17
+ end
18
+
19
+ def clear_settings
20
+ @network_interface_id=nil
21
+ @private_ip_addresses=nil
22
+ @aws=nil
23
+ self
24
+ end
25
+
26
+ def network_interface_id(id)
27
+ @network_interface_id=id
28
+ self
29
+ end
30
+
31
+ def private_ip_addresses(ip)
32
+ @private_ip_addresses=ip
33
+ self
34
+ end
35
+
36
+ def get_command
37
+ command = "ec2 unassign-private-ip-addresses"
38
+ command = "#{command} --network-interface-id \"#{@network_interface_id}\"" if @network_interface_id
39
+ command = "#{command} --private-ip-addresses \"#{@private_ip_addresses}\"" if @private_ip_addresses
40
+ return command
41
+ end
42
+ end
43
+ end
44
+ end
45
+ end
46
+ end
47
+ end
48
+
49
+
@@ -0,0 +1,19 @@
1
+ module ZAWS
2
+ class AWSCLI
3
+ class Commands
4
+ class ELB
5
+ def initialize(shellout, aws)
6
+ @shellout=shellout
7
+ @aws=aws
8
+ end
9
+
10
+ def describeLoadBalancers
11
+ @_describeLoadBalancers ||= (ZAWS::External::AWSCLI::Commands::ELB::DescribeLoadBalancers.new(@shellout, @aws))
12
+ return @_describeLoadBalancers
13
+ end
14
+
15
+ end
16
+ end
17
+ end
18
+ end
19
+
@@ -0,0 +1,64 @@
1
+ module ZAWS
2
+ class External
3
+ class AWSCLI
4
+ class Commands
5
+ class ELB
6
+ class CreateLoadBalancer
7
+ def initialize(shellout=nil, awscli=nil)
8
+ @shellout=shellout
9
+ @awscli=awscli
10
+ clear_settings
11
+ end
12
+
13
+ def aws
14
+ @aws ||= ZAWS::External::AWSCLI::Commands::AWS.new(self)
15
+ @aws
16
+ end
17
+
18
+ def clear_settings
19
+ @aws=nil
20
+ @lbname=nil
21
+ @subnet_array=nil
22
+ @security_groups=nil
23
+ end
24
+
25
+ def load_balancer_name(name)
26
+ @lbname=name
27
+ self
28
+ end
29
+
30
+ def listeners(listners_array)
31
+ @listeners_array=listners_array
32
+ self
33
+ end
34
+
35
+ def subnets(subnet_array)
36
+ @subnet_array=subnet_array
37
+ self
38
+ end
39
+
40
+ def security_groups(security_groups)
41
+ @security_groups=security_groups
42
+ self
43
+ end
44
+
45
+ def get_command
46
+ command = "elb create-load-balancer"
47
+ command = "#{command} --load-balancer-name #{@lbname}" if @lbname
48
+ command = "#{command} --listeners '[#{@listeners_array[0]["Listener"].to_json}]'" if @listeners_array
49
+ if @subnet_array
50
+ command = "#{command} --subnets #{@subnet_array.join(" ")}"
51
+ end
52
+ if @security_groups
53
+ command = "#{command} --security-groups #{@security_groups.join(" ")}"
54
+ end
55
+ return command
56
+ end
57
+
58
+ end
59
+ end
60
+ end
61
+ end
62
+ end
63
+ end
64
+
@@ -0,0 +1,47 @@
1
+ module ZAWS
2
+ class External
3
+ class AWSCLI
4
+ class Commands
5
+ class ELB
6
+ class CreateLoadBalancerListeners
7
+ def initialize(shellout=nil, awscli=nil)
8
+ @shellout=shellout
9
+ @awscli=awscli
10
+ clear_settings
11
+ end
12
+
13
+ def aws
14
+ @aws ||= ZAWS::External::AWSCLI::Commands::AWS.new(self)
15
+ @aws
16
+ end
17
+
18
+ def clear_settings
19
+ @aws=nil
20
+ @lbname=nil
21
+ end
22
+
23
+ def load_balancer_name(name)
24
+ @lbname=name
25
+ self
26
+ end
27
+
28
+ def listeners(listners_array)
29
+ @listeners_array=listners_array
30
+ self
31
+ end
32
+
33
+
34
+ def get_command
35
+ command = "elb create-load-balancer-listeners"
36
+ command = "#{command} --load-balancer-name #{@lbname}" if @lbname
37
+ command = "#{command} --listeners '[#{@listeners_array[0]["Listener"].to_json}]'" if @listeners_array
38
+ return command
39
+ end
40
+
41
+ end
42
+ end
43
+ end
44
+ end
45
+ end
46
+ end
47
+
@@ -0,0 +1,40 @@
1
+ module ZAWS
2
+ class External
3
+ class AWSCLI
4
+ class Commands
5
+ class ELB
6
+ class DeleteLoadBalancer
7
+ def initialize(shellout=nil, awscli=nil)
8
+ @shellout=shellout
9
+ @awscli=awscli
10
+ clear_settings
11
+ end
12
+
13
+ def aws
14
+ @aws ||= ZAWS::External::AWSCLI::Commands::AWS.new(self)
15
+ @aws
16
+ end
17
+
18
+ def clear_settings
19
+ @aws=nil
20
+ @lbname=nil
21
+ end
22
+
23
+ def load_balancer_name(name)
24
+ @lbname=name
25
+ self
26
+ end
27
+
28
+ def get_command
29
+ command = "elb delete-load-balancer"
30
+ command = "#{command} --load-balancer-name #{@lbname}" if @lbname
31
+ return command
32
+ end
33
+
34
+ end
35
+ end
36
+ end
37
+ end
38
+ end
39
+ end
40
+
@@ -0,0 +1,49 @@
1
+ module ZAWS
2
+ class External
3
+ class AWSCLI
4
+ class Commands
5
+ class ELB
6
+ class DeleteLoadBalancerListeners
7
+ def initialize(shellout=nil, awscli=nil)
8
+ @shellout=shellout
9
+ @awscli=awscli
10
+ clear_settings
11
+ self
12
+ end
13
+
14
+ def aws
15
+ @aws ||= ZAWS::External::AWSCLI::Commands::AWS.new(self)
16
+ @aws
17
+ end
18
+
19
+ def clear_settings
20
+ @lbn=nil
21
+ @ports_array=nil
22
+ self
23
+ end
24
+
25
+
26
+ def load_balancer_name(name)
27
+ @lbn=name
28
+ self
29
+ end
30
+
31
+ def listeners(ports)
32
+ @ports_array=ports
33
+ self
34
+ end
35
+
36
+ def get_command
37
+ command = "elb delete-load-balancer-listeners"
38
+ command = "#{command} --load-balancer-name #{@lbn}" if @lbn
39
+ command = "#{command} --load-balancer-ports '#{(@ports_array.map { |x| x["Listener"]["LoadBalancerPort"]}).join(' ')}'" if @ports_array
40
+ return command
41
+ end
42
+
43
+ end
44
+ end
45
+ end
46
+ end
47
+ end
48
+ end
49
+
@@ -0,0 +1,49 @@
1
+ module ZAWS
2
+ class External
3
+ class AWSCLI
4
+ class Commands
5
+ class ELB
6
+ class DeregisterInstancesWithLoadBalancer
7
+ def initialize(shellout=nil, awscli=nil)
8
+ @shellout=shellout
9
+ @awscli=awscli
10
+ clear_settings
11
+ self
12
+ end
13
+
14
+ def aws
15
+ @aws ||= ZAWS::External::AWSCLI::Commands::AWS.new(self)
16
+ @aws
17
+ end
18
+
19
+ def clear_settings
20
+ @lbn=nil
21
+ @instances=nil
22
+ self
23
+ end
24
+
25
+
26
+ def instances(id)
27
+ @instances=id
28
+ self
29
+ end
30
+
31
+ def load_balancer_name(name)
32
+ @lbn=name
33
+ self
34
+ end
35
+
36
+ def get_command
37
+ command = "elb deregister-instances-with-load-balancer"
38
+ command = "#{command} --load-balancer-name #{@lbn}" if @lbn
39
+ command = "#{command} --instances #{@instances}" if @instances
40
+ return command
41
+ end
42
+
43
+ end
44
+ end
45
+ end
46
+ end
47
+ end
48
+ end
49
+
@@ -0,0 +1,30 @@
1
+ module ZAWS
2
+ class External
3
+ class AWSCLI
4
+ class Commands
5
+ class ELB
6
+ class DescribeLoadBalancers
7
+ def initialize(shellout=nil, awscli=nil)
8
+ @shellout=shellout
9
+ @awscli=awscli
10
+ @aws=nil
11
+ self
12
+ end
13
+
14
+ def get_command
15
+ command = "elb describe-load-balancers"
16
+ return command
17
+ end
18
+
19
+ def aws
20
+ @aws ||= ZAWS::External::AWSCLI::Commands::AWS.new(self)
21
+ @aws
22
+ end
23
+
24
+ end
25
+ end
26
+ end
27
+ end
28
+ end
29
+ end
30
+
@@ -0,0 +1,49 @@
1
+ module ZAWS
2
+ class External
3
+ class AWSCLI
4
+ class Commands
5
+ class ELB
6
+ class RegisterInstancesWithLoadBalancer
7
+ def initialize(shellout=nil, awscli=nil)
8
+ @shellout=shellout
9
+ @awscli=awscli
10
+ clear_settings
11
+ self
12
+ end
13
+
14
+ def aws
15
+ @aws ||= ZAWS::External::AWSCLI::Commands::AWS.new(self)
16
+ @aws
17
+ end
18
+
19
+ def clear_settings
20
+ @lbn=nil
21
+ @instances=nil
22
+ self
23
+ end
24
+
25
+
26
+ def instances(id)
27
+ @instances=id
28
+ self
29
+ end
30
+
31
+ def load_balancer_name(name)
32
+ @lbn=name
33
+ self
34
+ end
35
+
36
+ def get_command
37
+ command = "elb register-instances-with-load-balancer"
38
+ command = "#{command} --load-balancer-name #{@lbn}" if @lbn
39
+ command = "#{command} --instances #{@instances}" if @instances
40
+ return command
41
+ end
42
+
43
+ end
44
+ end
45
+ end
46
+ end
47
+ end
48
+ end
49
+