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 CreateRouteTable
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
+ @vpc_id=nil
21
+ end
22
+
23
+ def vpc_id(vpc_id)
24
+ @vpc_id=vpc_id
25
+ self
26
+ end
27
+
28
+ def get_command
29
+ command = "ec2 create-route-table"
30
+ command = "#{command} --vpc-id #{@vpc_id}" if @vpc_id
31
+ return command
32
+ end
33
+
34
+ end
35
+ end
36
+ end
37
+ end
38
+ end
39
+ end
40
+
@@ -0,0 +1,58 @@
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 CreateSecurityGroup
11
+ def initialize(shellout=nil, awscli=nil)
12
+ @shellout=shellout
13
+ @awscli=awscli
14
+ clear_settings
15
+ end
16
+
17
+ def aws
18
+ @aws ||= ZAWS::External::AWSCLI::Commands::AWS.new(self)
19
+ @aws
20
+ end
21
+
22
+ def clear_settings
23
+ @aws=nil
24
+ @vpc_id=nil
25
+ @group_name=nil
26
+ @description=nil
27
+ end
28
+
29
+ def vpc_id(vpc_id)
30
+ @vpc_id=vpc_id
31
+ self
32
+ end
33
+
34
+ def group_name(name)
35
+ @group_name=name
36
+ self
37
+ end
38
+
39
+ def description(description)
40
+ @description=description
41
+ self
42
+ end
43
+
44
+ def get_command
45
+ command = "ec2 create-security-group"
46
+ command = "#{command} --vpc-id #{@vpc_id}" if @vpc_id
47
+ command = "#{command} --group-name #{@group_name}" if @group_name
48
+ command = "#{command} --description '#{@description}'" if @description
49
+ return command
50
+ end
51
+
52
+ end
53
+ end
54
+ end
55
+ end
56
+ end
57
+ end
58
+
@@ -0,0 +1,62 @@
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 CreateSubnet < ZAWS::AWSCLI::Data::EC2::Subnet
9
+
10
+ def initialize(shellout=nil, awscli=nil)
11
+ super(shellout, awscli)
12
+ @shellout=shellout
13
+ @awscli=awscli
14
+ clear_settings
15
+ end
16
+
17
+ def execute(verbose)
18
+ comline=@aws.get_command
19
+ load(comline, @shellout.cli(comline, verbose), verbose)
20
+ end
21
+
22
+ def aws
23
+ @aws ||= ZAWS::External::AWSCLI::Commands::AWS.new(self)
24
+ @aws
25
+ end
26
+
27
+ def clear_settings
28
+ @aws=nil
29
+ @vpc_id=nil
30
+ @cidr=nil
31
+ @az=nil
32
+ end
33
+
34
+ def vpc_id(vpc_id)
35
+ @vpc_id=vpc_id
36
+ self
37
+ end
38
+
39
+ def cidr(cidr)
40
+ @cidr=cidr
41
+ self
42
+ end
43
+
44
+ def availability_zone(az)
45
+ @az=az
46
+ self
47
+ end
48
+
49
+ def get_command
50
+ command = "ec2 create-subnet"
51
+ command = "#{command} --vpc-id #{@vpc_id}" if @vpc_id
52
+ command = "#{command} --cidr-block #{@cidr}" if @cidr
53
+ command = "#{command} --availability-zone #{@az}" if @az
54
+ return command
55
+ end
56
+
57
+ end
58
+ end
59
+ end
60
+ end
61
+ end
62
+ end
@@ -0,0 +1,53 @@
1
+ module ZAWS
2
+ class External
3
+ class AWSCLI
4
+ class Commands
5
+ class EC2
6
+ class CreateTags
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
+ @resource=nil
21
+ @tags=nil
22
+ @aws=nil
23
+ end
24
+
25
+ def resource(resource)
26
+ @resource=resource
27
+ self
28
+ end
29
+
30
+ def tags(tags)
31
+ @tags=tags.get_tags_array
32
+ self
33
+ end
34
+
35
+ def get_command
36
+ command = "ec2 create-tags"
37
+ command = "#{command} --resources #{@resource}" if @resource
38
+ command = "#{command} --tags \"Key=#{@tags[0]['Key']},Value=#{@tags[0]['Value']}\" " if @tags
39
+ return command
40
+ end
41
+
42
+ def execute(instanceid, region, tag_key, tag_value, textout=nil, verbose=nil)
43
+ comline="aws --output json --region #{region} ec2 create-tags --resources #{instanceid} --tags \"Key=#{tag_key},Value=#{tag_value}\""
44
+ @shellout.cli(comline, verbose)
45
+ end
46
+
47
+ end
48
+ end
49
+ end
50
+ end
51
+ end
52
+ end
53
+
@@ -0,0 +1,21 @@
1
+ module ZAWS
2
+ class AWSCLI
3
+ class Commands
4
+ class EC2
5
+ class CreateVPC
6
+
7
+ def initialize(shellout, awscli)
8
+ @shellout=shellout
9
+ @awscli=awscli
10
+ end
11
+
12
+ def execute(region, view, cidr, textout=nil, verbose=nil,profile=nil)
13
+ comline="aws --output #{view} --region #{region} ec2 create-vpc --cidr-block #{cidr}"
14
+ @awscli.data_ec2.vpc.load(comline, @shellout.cli(comline, verbose), textout)
15
+ end
16
+
17
+ end
18
+ end
19
+ end
20
+ end
21
+ end
@@ -0,0 +1,54 @@
1
+
2
+ module ZAWS
3
+ class External
4
+ class AWSCLI
5
+ class Commands
6
+ class EC2
7
+ class DeleteRoute
8
+
9
+ def initialize(shellout=nil, awscli=nil)
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 clear_settings
21
+ @aws=nil
22
+ @route_table_id=nil
23
+ @dest_cidr_block=nil
24
+ @instance_id=nil
25
+ end
26
+
27
+ def route_table_id(id)
28
+ @route_table_id=id
29
+ self
30
+ end
31
+
32
+ def destination_cidr_block(cidr)
33
+ @dest_cidr_block=cidr
34
+ self
35
+ end
36
+
37
+ def instance_id(id)
38
+ @instance_id=id
39
+ self
40
+ end
41
+
42
+ def get_command
43
+ command = "ec2 delete-route"
44
+ command = "#{command} --route-table-id #{@route_table_id}" if @route_table_id
45
+ command = "#{command} --destination-cidr-block #{@dest_cidr_block}" if @dest_cidr_block
46
+ return command
47
+ end
48
+
49
+ end
50
+ end
51
+ end
52
+ end
53
+ end
54
+ end
@@ -0,0 +1,46 @@
1
+ module ZAWS
2
+ class External
3
+ class AWSCLI
4
+ class Commands
5
+ class EC2
6
+ class DeleteRouteTable
7
+ def initialize(shellout=nil, awscli=nil)
8
+ @shellout=shellout
9
+ @awscli=awscli
10
+ clear_settings
11
+ self
12
+ end
13
+
14
+ def clear_settings()
15
+ @route_table_id=nil
16
+ self
17
+ end
18
+
19
+ def route_table_id(id)
20
+ @route_table_id=id
21
+ self
22
+ end
23
+
24
+ def get_command
25
+ command = "ec2 delete-route-table"
26
+ command = "#{command} --route-table-id #{@route_table_id}" if @route_table_id
27
+ return command
28
+ end
29
+
30
+ def execute(verbose)
31
+ comline=@aws.get_command
32
+ @shellout.cli(comline, verbose)
33
+ end
34
+
35
+ def aws
36
+ @aws ||= ZAWS::External::AWSCLI::Commands::AWS.new(self)
37
+ @aws
38
+ end
39
+
40
+ end
41
+ end
42
+ end
43
+ end
44
+ end
45
+ end
46
+
@@ -0,0 +1,46 @@
1
+ module ZAWS
2
+ class External
3
+ class AWSCLI
4
+ class Commands
5
+ class EC2
6
+ class DeleteSecurityGroup
7
+ def initialize(shellout=nil, awscli=nil)
8
+ @shellout=shellout
9
+ @awscli=awscli
10
+ clear_settings
11
+ self
12
+ end
13
+
14
+ def clear_settings()
15
+ @group_id=nil
16
+ self
17
+ end
18
+
19
+ def security_group_id(id)
20
+ @group_id=id
21
+ self
22
+ end
23
+
24
+ def get_command
25
+ command = "ec2 delete-security-group"
26
+ command = "#{command} --group-id #{@group_id}" if @group_id
27
+ return command
28
+ end
29
+
30
+ def execute(verbose)
31
+ comline=@aws.get_command
32
+ @shellout.cli(comline, verbose)
33
+ end
34
+
35
+ def aws
36
+ @aws ||= ZAWS::External::AWSCLI::Commands::AWS.new(self)
37
+ @aws
38
+ end
39
+
40
+ end
41
+ end
42
+ end
43
+ end
44
+ end
45
+ end
46
+
@@ -0,0 +1,46 @@
1
+ module ZAWS
2
+ class External
3
+ class AWSCLI
4
+ class Commands
5
+ class EC2
6
+ class DeleteSubnet
7
+ def initialize(shellout=nil, awscli=nil)
8
+ @shellout=shellout
9
+ @awscli=awscli
10
+ clear_settings
11
+ self
12
+ end
13
+
14
+ def clear_settings()
15
+ @subnet_id=nil
16
+ self
17
+ end
18
+
19
+ def subnet_id(id)
20
+ @subnet_id=id
21
+ self
22
+ end
23
+
24
+ def get_command
25
+ command = "ec2 delete-subnet"
26
+ command = "#{command} --subnet-id #{@subnet_id}" if @subnet_id
27
+ return command
28
+ end
29
+
30
+ def execute(verbose)
31
+ comline=@aws.get_command
32
+ @shellout.cli(comline, verbose)
33
+ end
34
+
35
+ def aws
36
+ @aws ||= ZAWS::External::AWSCLI::Commands::AWS.new(self)
37
+ @aws
38
+ end
39
+
40
+ end
41
+ end
42
+ end
43
+ end
44
+ end
45
+ end
46
+
@@ -0,0 +1,41 @@
1
+ module ZAWS
2
+ class External
3
+ class AWSCLI
4
+ class Commands
5
+ class EC2
6
+ class DescribeAddresses
7
+ def initialize(shellout=nil, awscli=nil)
8
+ @shellout=shellout
9
+ @awscli=awscli
10
+ clear_settings
11
+ self
12
+ end
13
+
14
+ def clear_settings()
15
+ @filter=nil
16
+ @aws
17
+ self
18
+ end
19
+
20
+ def filter
21
+ @filter ||= ZAWS::External::AWSCLI::Commands::EC2::Filter.new()
22
+ @filter
23
+ end
24
+
25
+ def get_command
26
+ command = "ec2 describe-addresses"
27
+ command = "#{command} #{@filter.get_command}" if @filter
28
+ return command
29
+ end
30
+
31
+ def aws
32
+ @aws ||= ZAWS::External::AWSCLI::Commands::AWS.new(self)
33
+ @aws
34
+ end
35
+
36
+ end
37
+ end
38
+ end
39
+ end
40
+ end
41
+ end