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,58 @@
1
+ module ZAWS
2
+ class External
3
+ class AWSCLI
4
+ class Commands
5
+ class EC2
6
+ class DescribeImages
7
+
8
+ def initialize(shellout=nil, awscli=nil)
9
+ #super(shellout, awscli)
10
+ @shellout=shellout
11
+ @awscli=awscli
12
+ clear_settings
13
+ end
14
+
15
+ def aws
16
+ @aws ||= ZAWS::External::AWSCLI::Commands::AWS.new(self)
17
+ @aws
18
+ end
19
+
20
+ def filter
21
+ @filter ||= ZAWS::External::AWSCLI::Commands::EC2::Filter.new()
22
+ @filter
23
+ end
24
+
25
+ def clear_settings
26
+ @aws=nil
27
+ @filter=nil
28
+ @owner=nil
29
+ @image_ids=nil
30
+ self
31
+ end
32
+
33
+ def owner(owner)
34
+ @owner=owner
35
+ self
36
+ end
37
+
38
+ def image_ids(id)
39
+ @image_ids=id
40
+ self
41
+ end
42
+
43
+ def get_command
44
+ command = "ec2 describe-images"
45
+ command = "#{command} --owner #{@owner}" if @owner
46
+ command = "#{command} --image-ids #{@image_ids}" if @image_ids
47
+ command = "#{command} #{@filter.get_command}" if @filter
48
+ return command
49
+ end
50
+
51
+
52
+ end
53
+ end
54
+ end
55
+ end
56
+ end
57
+ end
58
+
@@ -0,0 +1,56 @@
1
+ module ZAWS
2
+ class External
3
+ class AWSCLI
4
+ class Commands
5
+ class EC2
6
+ class DescribeInstances
7
+
8
+ def initialize(shellout=nil, awscli=nil)
9
+ #super(shellout, awscli)
10
+ @shellout=shellout
11
+ @awscli=awscli
12
+ clear_settings
13
+ end
14
+
15
+ def aws
16
+ @aws ||= ZAWS::External::AWSCLI::Commands::AWS.new(self)
17
+ @aws
18
+ end
19
+
20
+ def filter
21
+ @filter ||= ZAWS::External::AWSCLI::Commands::EC2::Filter.new()
22
+ @filter
23
+ end
24
+
25
+ def clear_settings
26
+ @aws=nil
27
+ @filter=nil
28
+ end
29
+
30
+ def get_command
31
+ command = "ec2 describe-instances"
32
+ command = "#{command} #{@filter.get_command}" if @filter
33
+ return command
34
+ end
35
+
36
+ def execute(region, view, filters={}, textout=nil, verbose=nil, profile=nil)
37
+ comline = "aws"
38
+ comline = comline + " --output #{view}"
39
+ comline = comline + " --region #{region} ec2 describe-instances"
40
+ comline = comline + " --profile #{profile}" if profile
41
+ comline = comline + " --filter" if filters.length > 0
42
+ filters.each do |key, item|
43
+ comline = comline + " \"Name=#{key},Values=#{item}\""
44
+ end
45
+ unless @awscli.data_ec2.instance.load_cached(comline, verbose)
46
+ @awscli.data_ec2.instance.load(comline, @shellout.cli(comline, verbose), verbose)
47
+ end
48
+ end
49
+
50
+ end
51
+ end
52
+ end
53
+ end
54
+ end
55
+ end
56
+
@@ -0,0 +1,44 @@
1
+ module ZAWS
2
+ class External
3
+ class AWSCLI
4
+ class Commands
5
+ class EC2
6
+ class DescribeRouteTables
7
+ def initialize(shellout=nil, awscli=nil)
8
+ #super(shellout, awscli)
9
+ @shellout=shellout
10
+ @awscli=awscli
11
+ clear_settings
12
+ self
13
+ end
14
+
15
+
16
+ def aws
17
+ @aws ||= ZAWS::External::AWSCLI::Commands::AWS.new(self)
18
+ @aws
19
+ end
20
+
21
+ def filter
22
+ @filter ||= ZAWS::External::AWSCLI::Commands::EC2::Filter.new()
23
+ @filter
24
+ end
25
+
26
+ def clear_settings
27
+ @aws=nil
28
+ @filter=nil
29
+ @tags=nil
30
+ end
31
+
32
+ def get_command
33
+ command = "ec2 describe-route-tables"
34
+ command = "#{command} #{@filter.get_command}" if @filter
35
+ return command
36
+ end
37
+
38
+ end
39
+ end
40
+ end
41
+ end
42
+ end
43
+ end
44
+
@@ -0,0 +1,50 @@
1
+ require "#{File.dirname(__FILE__)}/../../data/ec2/security_group"
2
+ require "#{File.dirname(__FILE__)}/../aws"
3
+ require "#{File.dirname(__FILE__)}/filter"
4
+
5
+ module ZAWS
6
+ class External
7
+ class AWSCLI
8
+ class Commands
9
+ class EC2
10
+ class DescribeSecurityGroups < ZAWS::External::AWSCLI::Data::EC2::SecurityGroup
11
+ def initialize(shellout=nil, awscli=nil)
12
+ super(shellout, awscli)
13
+ @shellout=shellout
14
+ @awscli=awscli
15
+ clear_settings
16
+ end
17
+
18
+ def execute(verbose=nil)
19
+ comline=@aws.get_command
20
+ @shellout.cli(comline, verbose)
21
+ end
22
+
23
+ def aws
24
+ @aws ||= ZAWS::External::AWSCLI::Commands::AWS.new(self)
25
+ @aws
26
+ end
27
+
28
+ def filter
29
+ @filter ||= ZAWS::External::AWSCLI::Commands::EC2::Filter.new()
30
+ @filter
31
+ end
32
+
33
+ def clear_settings
34
+ @aws=nil
35
+ @filter=nil
36
+ end
37
+
38
+ def get_command
39
+ command = "ec2 describe-security-groups"
40
+ command = "#{command} #{@filter.get_command}" if @filter
41
+ return command
42
+ end
43
+
44
+ end
45
+ end
46
+ end
47
+ end
48
+ end
49
+ end
50
+
@@ -0,0 +1,48 @@
1
+ require "#{File.dirname(__FILE__)}/../../data/ec2/subnet"
2
+
3
+ module ZAWS
4
+ class External
5
+ class AWSCLI
6
+ class Commands
7
+ class EC2
8
+ class DescribeSubnets < ZAWS::AWSCLI::Data::EC2::Subnet
9
+
10
+ def aws
11
+ @aws ||= ZAWS::External::AWSCLI::Commands::AWS.new(self)
12
+ @aws
13
+ end
14
+
15
+ def filter
16
+ @filter ||= ZAWS::External::AWSCLI::Commands::EC2::Filter.new()
17
+ @filter
18
+ end
19
+
20
+ def clear_settings
21
+ @aws=nil
22
+ @filter=nil
23
+ end
24
+
25
+ def get_command
26
+ command = "ec2 describe-subnets"
27
+ command = "#{command} #{@filter.get_command}" if @filter
28
+ return command
29
+ end
30
+
31
+ def initialize(shellout=nil, awscli=nil)
32
+ super(shellout, awscli)
33
+ @shellout=shellout
34
+ @awscli=awscli
35
+ clear_settings
36
+ end
37
+
38
+ def execute(verbose=nil)
39
+ comline=@aws.get_command
40
+ load(comline, @shellout.cli(comline, verbose), verbose)
41
+ end
42
+
43
+ end
44
+ end
45
+ end
46
+ end
47
+ end
48
+ end
@@ -0,0 +1,23 @@
1
+ module ZAWS
2
+ class AWSCLI
3
+ class Commands
4
+ class EC2
5
+ class DescribeVpcPeeringConnections
6
+
7
+ def initialize(shellout, awscli)
8
+ @shellout=shellout
9
+ @awscli=awscli
10
+ end
11
+
12
+ def execute(region, view, filters, verbose=nil,profile=nil)
13
+ comline="aws --output #{view} --region #{region} ec2 describe-vpc-peering-connections"
14
+ comline=comline + " --profile #{profile}" unless profile.nil?
15
+ comline = ZAWS::Helper::Filter.filter(comline,filters) if filters.length > 0
16
+ @awscli.data_ec2.vpc.load(comline, @shellout.cli(comline, verbose),verbose)
17
+ end
18
+
19
+ end
20
+ end
21
+ end
22
+ end
23
+ end
@@ -0,0 +1,26 @@
1
+ module ZAWS
2
+ class AWSCLI
3
+ class Commands
4
+ class EC2
5
+ class DescribeVPCs
6
+
7
+ def initialize(shellout, awscli)
8
+ @shellout=shellout
9
+ @awscli=awscli
10
+ end
11
+
12
+ def execute(region, view, filters, verbose=nil,profile=nil)
13
+ profile_opt=profile.nil? ? '' :" --profile #{profile}"
14
+ comline="aws --output #{view} --region #{region} ec2 describe-vpcs#{profile_opt}"
15
+ comline = comline + " --filters" if filters.length > 0
16
+ filters.each do |key, item|
17
+ comline = comline + " \"Name=#{key},Values=#{item}\""
18
+ end
19
+ @awscli.data_ec2.vpc.load(comline, @shellout.cli(comline, verbose),verbose)
20
+ end
21
+
22
+ end
23
+ end
24
+ end
25
+ end
26
+ end
@@ -0,0 +1,48 @@
1
+ module ZAWS
2
+ class External
3
+ class AWSCLI
4
+ class Commands
5
+ class EC2
6
+ class DisableVgwRoutePropagation
7
+
8
+ def initialize(shellout=nil, awscli=nil)
9
+ @shellout=shellout
10
+ @awscli=awscli
11
+ clear_settings
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
+ @aws=nil
21
+ @route_table_id=nil
22
+ @dest_cidr_block=nil
23
+ @instance_id=nil
24
+ end
25
+
26
+ def route_table_id(id)
27
+ @route_table_id=id
28
+ self
29
+ end
30
+
31
+ def gateway_id(id)
32
+ @gateway_id=id
33
+ self
34
+ end
35
+
36
+ def get_command
37
+ command = "ec2 disable-vgw-route-propagation"
38
+ command = "#{command} --route-table-id #{@route_table_id}" if @route_table_id
39
+ command = "#{command} --gateway-id #{@gateway_id}" if @gateway_id
40
+ return command
41
+ end
42
+
43
+ end
44
+ end
45
+ end
46
+ end
47
+ end
48
+ end
@@ -0,0 +1,42 @@
1
+ module ZAWS
2
+ class External
3
+ class AWSCLI
4
+ class Commands
5
+ class EC2
6
+ class DisassociateAddress
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
+ @associate_id=nil
21
+ @aws=nil
22
+ self
23
+ end
24
+
25
+ def association_id(id)
26
+ @associate_id=id
27
+ self
28
+ end
29
+
30
+ def get_command
31
+ command = "ec2 disassociate-address"
32
+ command = "#{command} --association-id #{@associate_id}" if @associate_id
33
+ return command
34
+ end
35
+
36
+ end
37
+ end
38
+ end
39
+ end
40
+ end
41
+ end
42
+
@@ -0,0 +1,41 @@
1
+ module ZAWS
2
+ class External
3
+ class AWSCLI
4
+ class Commands
5
+ class EC2
6
+ class DisassociateRouteTable
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
+ @association_id=nil
21
+ @aws=nil
22
+ self
23
+ end
24
+
25
+ def association_id(id)
26
+ @association_id=id
27
+ self
28
+ end
29
+
30
+ def get_command
31
+ command = "ec2 disassociate-route-table"
32
+ command = "#{command} --association-id #{@association_id}" if @association_id
33
+ return command
34
+ end
35
+ end
36
+ end
37
+ end
38
+ end
39
+ end
40
+ end
41
+