fog-maestrodev 1.15.0.20130829165835 → 1.15.0.20130927082724

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 (350) hide show
  1. data/.gitignore +1 -0
  2. data/README.md +1 -0
  3. data/fog.gemspec +5 -2
  4. data/lib/fog.rb +1 -0
  5. data/lib/fog/atmos/models/storage/file.rb +2 -1
  6. data/lib/fog/aws.rb +4 -1
  7. data/lib/fog/aws/data_pipeline.rb +3 -0
  8. data/lib/fog/aws/elasticache.rb +2 -0
  9. data/lib/fog/aws/models/auto_scaling/group.rb +12 -12
  10. data/lib/fog/aws/models/compute/subnet.rb +3 -1
  11. data/lib/fog/aws/models/elasticache/cluster.rb +3 -1
  12. data/lib/fog/aws/parsers/redshift/cluster.rb +29 -0
  13. data/lib/fog/aws/parsers/redshift/cluster_parser.rb +144 -0
  14. data/lib/fog/aws/parsers/redshift/cluster_security_group_parser.rb +50 -0
  15. data/lib/fog/aws/parsers/redshift/cluster_snapshot.rb +32 -0
  16. data/lib/fog/aws/parsers/redshift/cluster_snapshot_parser.rb +66 -0
  17. data/lib/fog/aws/parsers/redshift/cluster_subnet_group_parser.rb +51 -0
  18. data/lib/fog/aws/parsers/redshift/create_cluster_parameter_group.rb +30 -0
  19. data/lib/fog/aws/parsers/redshift/create_cluster_security_group.rb +31 -0
  20. data/lib/fog/aws/parsers/redshift/describe_cluster_parameter_groups.rb +41 -0
  21. data/lib/fog/aws/parsers/redshift/describe_cluster_parameters.rb +48 -0
  22. data/lib/fog/aws/parsers/redshift/describe_cluster_security_groups.rb +38 -0
  23. data/lib/fog/aws/parsers/redshift/describe_cluster_snapshots.rb +38 -0
  24. data/lib/fog/aws/parsers/redshift/describe_cluster_subnet_groups.rb +58 -0
  25. data/lib/fog/aws/parsers/redshift/describe_cluster_versions.rb +53 -0
  26. data/lib/fog/aws/parsers/redshift/describe_clusters.rb +30 -0
  27. data/lib/fog/aws/parsers/redshift/describe_default_cluster_parameters.rb +49 -0
  28. data/lib/fog/aws/parsers/redshift/describe_events.rb +44 -0
  29. data/lib/fog/aws/parsers/redshift/describe_orderable_cluster_options.rb +54 -0
  30. data/lib/fog/aws/parsers/redshift/describe_reserved_node_offerings.rb +64 -0
  31. data/lib/fog/aws/parsers/redshift/describe_reserved_nodes.rb +71 -0
  32. data/lib/fog/aws/parsers/redshift/describe_resize.rb +60 -0
  33. data/lib/fog/aws/parsers/redshift/purchase_reserved_node_offering.rb +58 -0
  34. data/lib/fog/aws/parsers/redshift/revoke_cluster_security_group_ingress.rb +31 -0
  35. data/lib/fog/aws/parsers/redshift/update_cluster_parameter_group_parser.rb +29 -0
  36. data/lib/fog/aws/parsers/sts/get_session_token.rb +1 -3
  37. data/lib/fog/aws/redshift.rb +126 -0
  38. data/lib/fog/aws/requests/compute/run_instances.rb +2 -0
  39. data/lib/fog/aws/requests/data_pipeline/delete_pipeline.rb +2 -3
  40. data/lib/fog/aws/requests/data_pipeline/describe_objects.rb +41 -0
  41. data/lib/fog/aws/requests/data_pipeline/get_pipeline_definition.rb +37 -0
  42. data/lib/fog/aws/requests/data_pipeline/query_objects.rb +41 -0
  43. data/lib/fog/aws/requests/elasticache/authorize_cache_security_group_ingress.rb +27 -2
  44. data/lib/fog/aws/requests/elasticache/create_cache_security_group.rb +23 -2
  45. data/lib/fog/aws/requests/elasticache/delete_cache_security_group.rb +10 -1
  46. data/lib/fog/aws/requests/elasticache/describe_cache_security_groups.rb +36 -2
  47. data/lib/fog/aws/requests/redshift/authorize_cluster_security_group_ingress.rb +56 -0
  48. data/lib/fog/aws/requests/redshift/authorize_snapshot_access.rb +43 -0
  49. data/lib/fog/aws/requests/redshift/copy_cluster_snapshot.rb +48 -0
  50. data/lib/fog/aws/requests/redshift/create_cluster.rb +151 -0
  51. data/lib/fog/aws/requests/redshift/create_cluster_parameter_group.rb +54 -0
  52. data/lib/fog/aws/requests/redshift/create_cluster_security_group.rb +42 -0
  53. data/lib/fog/aws/requests/redshift/create_cluster_snapshot.rb +44 -0
  54. data/lib/fog/aws/requests/redshift/create_cluster_subnet_group.rb +50 -0
  55. data/lib/fog/aws/requests/redshift/delete_cluster.rb +51 -0
  56. data/lib/fog/aws/requests/redshift/delete_cluster_parameter_group.rb +34 -0
  57. data/lib/fog/aws/requests/redshift/delete_cluster_security_group.rb +33 -0
  58. data/lib/fog/aws/requests/redshift/delete_cluster_snapshot.rb +44 -0
  59. data/lib/fog/aws/requests/redshift/delete_cluster_subnet_group.rb +38 -0
  60. data/lib/fog/aws/requests/redshift/describe_cluster_parameter_groups.rb +48 -0
  61. data/lib/fog/aws/requests/redshift/describe_cluster_parameters.rb +55 -0
  62. data/lib/fog/aws/requests/redshift/describe_cluster_security_groups.rb +50 -0
  63. data/lib/fog/aws/requests/redshift/describe_cluster_snapshots.rb +73 -0
  64. data/lib/fog/aws/requests/redshift/describe_cluster_subnet_groups.rb +47 -0
  65. data/lib/fog/aws/requests/redshift/describe_cluster_versions.rb +54 -0
  66. data/lib/fog/aws/requests/redshift/describe_clusters.rb +49 -0
  67. data/lib/fog/aws/requests/redshift/describe_default_cluster_parameters.rb +49 -0
  68. data/lib/fog/aws/requests/redshift/describe_events.rb +80 -0
  69. data/lib/fog/aws/requests/redshift/describe_orderable_cluster_options.rb +55 -0
  70. data/lib/fog/aws/requests/redshift/describe_reserved_node_offerings.rb +48 -0
  71. data/lib/fog/aws/requests/redshift/describe_reserved_nodes.rb +48 -0
  72. data/lib/fog/aws/requests/redshift/describe_resize.rb +39 -0
  73. data/lib/fog/aws/requests/redshift/modify_cluster.rb +111 -0
  74. data/lib/fog/aws/requests/redshift/modify_cluster_parameter_group.rb +44 -0
  75. data/lib/fog/aws/requests/redshift/modify_cluster_subnet_group.rb +50 -0
  76. data/lib/fog/aws/requests/redshift/purchase_reserved_node_offering.rb +41 -0
  77. data/lib/fog/aws/requests/redshift/reboot_cluster.rb +37 -0
  78. data/lib/fog/aws/requests/redshift/reset_cluster_parameter_group.rb +57 -0
  79. data/lib/fog/aws/requests/redshift/restore_from_cluster_snapshot.rb +77 -0
  80. data/lib/fog/aws/requests/redshift/revoke_cluster_security_group_ingress.rb +56 -0
  81. data/lib/fog/aws/requests/redshift/revoke_snapshot_access.rb +44 -0
  82. data/lib/fog/aws/requests/sts/get_federation_token.rb +42 -0
  83. data/lib/fog/bin.rb +1 -0
  84. data/lib/fog/bin/aws.rb +4 -0
  85. data/lib/fog/bin/openstack.rb +5 -0
  86. data/lib/fog/bin/rackspace.rb +4 -0
  87. data/lib/fog/bin/vcloud_director.rb +30 -0
  88. data/lib/fog/brightbox/requests/compute/update_server.rb +1 -0
  89. data/lib/fog/cloudsigma/compute.rb +5 -0
  90. data/lib/fog/cloudsigma/models/fwpolicies.rb +21 -0
  91. data/lib/fog/cloudsigma/models/fwpolicy.rb +21 -0
  92. data/lib/fog/cloudsigma/models/rule.rb +21 -0
  93. data/lib/fog/cloudsigma/requests/list_fwpolicies.rb +18 -0
  94. data/lib/fog/compute.rb +7 -4
  95. data/lib/fog/core.rb +1 -0
  96. data/lib/fog/core/errors.rb +3 -0
  97. data/lib/fog/dynect/dns.rb +3 -1
  98. data/lib/fog/dynect/models/dns/records.rb +32 -20
  99. data/lib/fog/dynect/requests/dns/get_all_records.rb +56 -0
  100. data/lib/fog/dynect/requests/dns/get_node_list.rb +1 -1
  101. data/lib/fog/dynect/requests/dns/put_record.rb +76 -0
  102. data/lib/fog/google/models/compute/flavors.rb +2 -2
  103. data/lib/fog/google/requests/compute/get_machine_type.rb +7 -2
  104. data/lib/fog/joyent/compute.rb +1 -1
  105. data/lib/fog/linode/models/compute/server.rb +1 -1
  106. data/lib/fog/local/models/storage/directories.rb +1 -1
  107. data/lib/fog/openstack.rb +1 -0
  108. data/lib/fog/openstack/models/compute/images.rb +10 -2
  109. data/lib/fog/openstack/models/compute/server.rb +2 -0
  110. data/lib/fog/openstack/models/orchestration/stack.rb +52 -0
  111. data/lib/fog/openstack/models/orchestration/stacks.rb +21 -0
  112. data/lib/fog/openstack/orchestration.rb +227 -0
  113. data/lib/fog/openstack/requests/compute/create_server.rb +36 -25
  114. data/lib/fog/openstack/requests/compute/list_images_detail.rb +4 -3
  115. data/lib/fog/openstack/requests/orchestration/create_stack.rb +55 -0
  116. data/lib/fog/openstack/requests/orchestration/delete_stack.rb +36 -0
  117. data/lib/fog/openstack/requests/orchestration/list_stacks.rb +48 -0
  118. data/lib/fog/openstack/requests/orchestration/update_stack.rb +41 -0
  119. data/lib/fog/openstack/requests/storage/get_object.rb +7 -7
  120. data/lib/fog/openstack/storage.rb +2 -2
  121. data/lib/fog/orchestration.rb +25 -0
  122. data/lib/fog/rackspace.rb +1 -0
  123. data/lib/fog/rackspace/auto_scale.rb +132 -0
  124. data/lib/fog/rackspace/block_storage.rb +2 -2
  125. data/lib/fog/rackspace/cdn.rb +23 -23
  126. data/lib/fog/rackspace/compute.rb +2 -2
  127. data/lib/fog/rackspace/compute_v2.rb +2 -2
  128. data/lib/fog/rackspace/databases.rb +2 -2
  129. data/lib/fog/rackspace/dns.rb +14 -16
  130. data/lib/fog/rackspace/examples/compute_v2/create_network.rb +81 -0
  131. data/lib/fog/rackspace/examples/compute_v2/delete_network.rb +78 -0
  132. data/lib/fog/rackspace/load_balancers.rb +2 -2
  133. data/lib/fog/rackspace/mock_data.rb +69 -4
  134. data/lib/fog/rackspace/models/auto_scale/group.rb +207 -0
  135. data/lib/fog/rackspace/models/auto_scale/group_config.rb +60 -0
  136. data/lib/fog/rackspace/models/auto_scale/groups.rb +46 -0
  137. data/lib/fog/rackspace/models/auto_scale/launch_config.rb +44 -0
  138. data/lib/fog/rackspace/models/auto_scale/policies.rb +65 -0
  139. data/lib/fog/rackspace/models/auto_scale/policy.rb +206 -0
  140. data/lib/fog/rackspace/models/auto_scale/webhook.rb +105 -0
  141. data/lib/fog/rackspace/models/auto_scale/webhooks.rb +64 -0
  142. data/lib/fog/rackspace/models/block_storage/volume.rb +2 -1
  143. data/lib/fog/rackspace/models/monitoring/notification.rb +42 -0
  144. data/lib/fog/rackspace/models/monitoring/notifications.rb +30 -0
  145. data/lib/fog/rackspace/monitoring.rb +21 -14
  146. data/lib/fog/rackspace/requests/auto_scale/create_group.rb +61 -0
  147. data/lib/fog/rackspace/requests/auto_scale/create_policy.rb +45 -0
  148. data/lib/fog/rackspace/requests/auto_scale/create_webhook.rb +57 -0
  149. data/lib/fog/rackspace/requests/auto_scale/delete_group.rb +23 -0
  150. data/lib/fog/rackspace/requests/auto_scale/delete_policy.rb +31 -0
  151. data/lib/fog/rackspace/requests/auto_scale/delete_webhook.rb +34 -0
  152. data/lib/fog/rackspace/requests/auto_scale/execute_anonymous_webhook.rb +22 -0
  153. data/lib/fog/rackspace/requests/auto_scale/execute_policy.rb +22 -0
  154. data/lib/fog/rackspace/requests/auto_scale/get_group.rb +29 -0
  155. data/lib/fog/rackspace/requests/auto_scale/get_group_config.rb +30 -0
  156. data/lib/fog/rackspace/requests/auto_scale/get_group_state.rb +62 -0
  157. data/lib/fog/rackspace/requests/auto_scale/get_launch_config.rb +30 -0
  158. data/lib/fog/rackspace/requests/auto_scale/get_policy.rb +35 -0
  159. data/lib/fog/rackspace/requests/auto_scale/get_webhook.rb +39 -0
  160. data/lib/fog/rackspace/requests/auto_scale/list_groups.rb +35 -0
  161. data/lib/fog/rackspace/requests/auto_scale/list_policies.rb +23 -0
  162. data/lib/fog/rackspace/requests/auto_scale/list_webhooks.rb +33 -0
  163. data/lib/fog/rackspace/requests/auto_scale/pause_group_state.rb +23 -0
  164. data/lib/fog/rackspace/requests/auto_scale/resume_group_state.rb +23 -0
  165. data/lib/fog/rackspace/requests/auto_scale/update_group_config.rb +39 -0
  166. data/lib/fog/rackspace/requests/auto_scale/update_launch_config.rb +36 -0
  167. data/lib/fog/rackspace/requests/auto_scale/update_policy.rb +33 -0
  168. data/lib/fog/rackspace/requests/auto_scale/update_webhook.rb +44 -0
  169. data/lib/fog/rackspace/requests/compute_v2/delete_server.rb +2 -2
  170. data/lib/fog/rackspace/requests/load_balancers/create_load_balancer.rb +5 -6
  171. data/lib/fog/rackspace/requests/load_balancers/delete_load_balancer.rb +10 -0
  172. data/lib/fog/rackspace/requests/load_balancers/get_load_balancer.rb +30 -0
  173. data/lib/fog/rackspace/requests/monitoring/create_agent_token.rb +31 -0
  174. data/lib/fog/rackspace/requests/monitoring/create_alarm.rb +32 -0
  175. data/lib/fog/rackspace/requests/monitoring/create_check.rb +31 -0
  176. data/lib/fog/rackspace/requests/monitoring/create_entity.rb +32 -0
  177. data/lib/fog/rackspace/requests/monitoring/create_notification.rb +18 -0
  178. data/lib/fog/rackspace/requests/monitoring/delete_agent_token.rb +32 -0
  179. data/lib/fog/rackspace/requests/monitoring/delete_alarm.rb +27 -0
  180. data/lib/fog/rackspace/requests/monitoring/delete_check.rb +26 -0
  181. data/lib/fog/rackspace/requests/monitoring/delete_entity.rb +27 -0
  182. data/lib/fog/rackspace/requests/monitoring/delete_notification.rb +16 -0
  183. data/lib/fog/rackspace/requests/monitoring/get_agent_token.rb +33 -0
  184. data/lib/fog/rackspace/requests/monitoring/get_alarm.rb +38 -0
  185. data/lib/fog/rackspace/requests/monitoring/get_check.rb +41 -0
  186. data/lib/fog/rackspace/requests/monitoring/get_entity.rb +30 -21
  187. data/lib/fog/rackspace/requests/monitoring/get_notification.rb +50 -0
  188. data/lib/fog/rackspace/requests/monitoring/list_agent_tokens.rb +39 -0
  189. data/lib/fog/rackspace/requests/monitoring/list_alarms.rb +50 -0
  190. data/lib/fog/rackspace/requests/monitoring/list_check_types.rb +72 -0
  191. data/lib/fog/rackspace/requests/monitoring/list_checks.rb +54 -0
  192. data/lib/fog/rackspace/requests/monitoring/list_data_points.rb +37 -0
  193. data/lib/fog/rackspace/requests/monitoring/list_entities.rb +53 -0
  194. data/lib/fog/rackspace/requests/monitoring/list_metrics.rb +65 -0
  195. data/lib/fog/rackspace/requests/monitoring/list_notification_plans.rb +55 -0
  196. data/lib/fog/rackspace/requests/monitoring/list_notifications.rb +67 -0
  197. data/lib/fog/rackspace/requests/monitoring/list_overview.rb +97 -1
  198. data/lib/fog/rackspace/requests/monitoring/update_alarm.rb +33 -2
  199. data/lib/fog/rackspace/requests/monitoring/update_check.rb +32 -2
  200. data/lib/fog/rackspace/requests/monitoring/update_entity.rb +33 -2
  201. data/lib/fog/rackspace/requests/monitoring/update_notification.rb +17 -0
  202. data/lib/fog/rackspace/requests/storage/get_object.rb +7 -9
  203. data/lib/fog/rackspace/service.rb +16 -8
  204. data/lib/fog/rackspace/storage.rb +2 -2
  205. data/lib/fog/vcloud_director.rb +11 -0
  206. data/lib/fog/vcloud_director/README.md +967 -0
  207. data/lib/fog/vcloud_director/compute.rb +398 -0
  208. data/lib/fog/vcloud_director/generators/compute/customization.rb +100 -0
  209. data/lib/fog/vcloud_director/generators/compute/disks.rb +175 -0
  210. data/lib/fog/vcloud_director/generators/compute/metadata.rb +105 -0
  211. data/lib/fog/vcloud_director/generators/compute/vm_network.rb +122 -0
  212. data/lib/fog/vcloud_director/models/compute/catalog.rb +25 -0
  213. data/lib/fog/vcloud_director/models/compute/catalog_item.rb +25 -0
  214. data/lib/fog/vcloud_director/models/compute/catalog_items.rb +32 -0
  215. data/lib/fog/vcloud_director/models/compute/catalogs.rb +32 -0
  216. data/lib/fog/vcloud_director/models/compute/disk.rb +51 -0
  217. data/lib/fog/vcloud_director/models/compute/disks.rb +40 -0
  218. data/lib/fog/vcloud_director/models/compute/network.rb +26 -0
  219. data/lib/fog/vcloud_director/models/compute/networks.rb +31 -0
  220. data/lib/fog/vcloud_director/models/compute/organization.rb +41 -0
  221. data/lib/fog/vcloud_director/models/compute/organizations.rb +30 -0
  222. data/lib/fog/vcloud_director/models/compute/tag.rb +36 -0
  223. data/lib/fog/vcloud_director/models/compute/tags.rb +51 -0
  224. data/lib/fog/vcloud_director/models/compute/task.rb +58 -0
  225. data/lib/fog/vcloud_director/models/compute/tasks.rb +31 -0
  226. data/lib/fog/vcloud_director/models/compute/vapp.rb +56 -0
  227. data/lib/fog/vcloud_director/models/compute/vapps.rb +34 -0
  228. data/lib/fog/vcloud_director/models/compute/vdc.rb +33 -0
  229. data/lib/fog/vcloud_director/models/compute/vdcs.rb +32 -0
  230. data/lib/fog/vcloud_director/models/compute/vm.rb +99 -0
  231. data/lib/fog/vcloud_director/models/compute/vm_customization.rb +40 -0
  232. data/lib/fog/vcloud_director/models/compute/vm_customizations.rb +16 -0
  233. data/lib/fog/vcloud_director/models/compute/vm_network.rb +30 -0
  234. data/lib/fog/vcloud_director/models/compute/vm_networks.rb +21 -0
  235. data/lib/fog/vcloud_director/models/compute/vms.rb +41 -0
  236. data/lib/fog/vcloud_director/parsers/compute/disks.rb +57 -0
  237. data/lib/fog/vcloud_director/parsers/compute/metadata.rb +66 -0
  238. data/lib/fog/vcloud_director/parsers/compute/network.rb +108 -0
  239. data/lib/fog/vcloud_director/parsers/compute/vm.rb +82 -0
  240. data/lib/fog/vcloud_director/parsers/compute/vm_customization.rb +56 -0
  241. data/lib/fog/vcloud_director/parsers/compute/vm_network.rb +111 -0
  242. data/lib/fog/vcloud_director/parsers/compute/vms.rb +96 -0
  243. data/lib/fog/vcloud_director/parsers/compute/vms_by_metadata.rb +41 -0
  244. data/lib/fog/vcloud_director/requests/compute/delete_metadata.rb +20 -0
  245. data/lib/fog/vcloud_director/requests/compute/delete_vapp.rb +20 -0
  246. data/lib/fog/vcloud_director/requests/compute/get_catalog.rb +18 -0
  247. data/lib/fog/vcloud_director/requests/compute/get_catalog_item.rb +18 -0
  248. data/lib/fog/vcloud_director/requests/compute/get_current_session.rb +75 -0
  249. data/lib/fog/vcloud_director/requests/compute/get_href.rb +19 -0
  250. data/lib/fog/vcloud_director/requests/compute/get_metadata.rb +20 -0
  251. data/lib/fog/vcloud_director/requests/compute/get_network.rb +21 -0
  252. data/lib/fog/vcloud_director/requests/compute/get_organization.rb +72 -0
  253. data/lib/fog/vcloud_director/requests/compute/get_organizations.rb +37 -0
  254. data/lib/fog/vcloud_director/requests/compute/get_request.rb +17 -0
  255. data/lib/fog/vcloud_director/requests/compute/get_supported_versions.rb +1160 -0
  256. data/lib/fog/vcloud_director/requests/compute/get_task.rb +18 -0
  257. data/lib/fog/vcloud_director/requests/compute/get_tasks_list.rb +18 -0
  258. data/lib/fog/vcloud_director/requests/compute/get_vapp.rb +18 -0
  259. data/lib/fog/vcloud_director/requests/compute/get_vapp_template.rb +18 -0
  260. data/lib/fog/vcloud_director/requests/compute/get_vdc.rb +154 -0
  261. data/lib/fog/vcloud_director/requests/compute/get_vm.rb +20 -0
  262. data/lib/fog/vcloud_director/requests/compute/get_vm_cpu.rb +18 -0
  263. data/lib/fog/vcloud_director/requests/compute/get_vm_customization.rb +20 -0
  264. data/lib/fog/vcloud_director/requests/compute/get_vm_disks.rb +20 -0
  265. data/lib/fog/vcloud_director/requests/compute/get_vm_memory.rb +18 -0
  266. data/lib/fog/vcloud_director/requests/compute/get_vm_network.rb +20 -0
  267. data/lib/fog/vcloud_director/requests/compute/get_vms.rb +20 -0
  268. data/lib/fog/vcloud_director/requests/compute/get_vms_by_metadata.rb +20 -0
  269. data/lib/fog/vcloud_director/requests/compute/helper.rb +93 -0
  270. data/lib/fog/vcloud_director/requests/compute/instantiate_vapp_template.rb +124 -0
  271. data/lib/fog/vcloud_director/requests/compute/post_task_cancel.rb +25 -0
  272. data/lib/fog/vcloud_director/requests/compute/post_vapp_undeploy.rb +26 -0
  273. data/lib/fog/vcloud_director/requests/compute/post_vm_metadata.rb +29 -0
  274. data/lib/fog/vcloud_director/requests/compute/post_vm_poweroff.rb +18 -0
  275. data/lib/fog/vcloud_director/requests/compute/post_vm_poweron.rb +18 -0
  276. data/lib/fog/vcloud_director/requests/compute/put_metadata_value.rb +25 -0
  277. data/lib/fog/vcloud_director/requests/compute/put_vm_cpu.rb +34 -0
  278. data/lib/fog/vcloud_director/requests/compute/put_vm_customization.rb +24 -0
  279. data/lib/fog/vcloud_director/requests/compute/put_vm_disks.rb +25 -0
  280. data/lib/fog/vcloud_director/requests/compute/put_vm_memory.rb +34 -0
  281. data/lib/fog/vcloud_director/requests/compute/put_vm_network.rb +24 -0
  282. data/tests/aws/models/auto_scaling/groups_test.rb +5 -0
  283. data/tests/aws/models/compute/subnet_tests.rb +1 -1
  284. data/tests/aws/models/compute/subnets_tests.rb +1 -1
  285. data/tests/aws/requests/data_pipeline/helper.rb +38 -8
  286. data/tests/aws/requests/data_pipeline/pipeline_tests.rb +25 -1
  287. data/tests/aws/requests/elasticache/security_group_tests.rb +3 -2
  288. data/tests/aws/requests/redshift/cluster_parameter_group_tests.rb +77 -0
  289. data/tests/aws/requests/redshift/cluster_security_group_tests.rb +44 -0
  290. data/tests/aws/requests/redshift/cluster_snapshot_tests.rb +75 -0
  291. data/tests/aws/requests/redshift/cluster_tests.rb +82 -0
  292. data/tests/aws/requests/sts/get_federation_token_tests.rb +0 -1
  293. data/tests/aws/signed_params_tests.rb +12 -0
  294. data/tests/brightbox/compute/helper.rb +1 -0
  295. data/tests/brightbox/compute/schema.rb +696 -0
  296. data/tests/brightbox/requests/compute/account_tests.rb +7 -7
  297. data/tests/brightbox/requests/compute/api_client_tests.rb +6 -6
  298. data/tests/brightbox/requests/compute/application_test.rb +6 -6
  299. data/tests/brightbox/requests/compute/cloud_ip_tests.rb +7 -7
  300. data/tests/brightbox/requests/compute/firewall_policy_tests.rb +5 -5
  301. data/tests/brightbox/requests/compute/firewall_rule_tests.rb +4 -4
  302. data/tests/brightbox/requests/compute/helper.rb +0 -688
  303. data/tests/brightbox/requests/compute/image_tests.rb +2 -2
  304. data/tests/brightbox/requests/compute/interface_tests.rb +1 -1
  305. data/tests/brightbox/requests/compute/load_balancer_tests.rb +9 -9
  306. data/tests/brightbox/requests/compute/server_group_tests.rb +8 -8
  307. data/tests/brightbox/requests/compute/server_tests.rb +13 -10
  308. data/tests/brightbox/requests/compute/server_type_tests.rb +2 -2
  309. data/tests/brightbox/requests/compute/user_tests.rb +3 -3
  310. data/tests/brightbox/requests/compute/zone_tests.rb +2 -2
  311. data/tests/compute/helper.rb +3 -2
  312. data/tests/dynect/requests/dns/dns_tests.rb +29 -0
  313. data/tests/helpers/mock_helper.rb +3 -0
  314. data/tests/openstack/requests/compute/server_tests.rb +30 -0
  315. data/tests/openstack/requests/orchestration/stack_tests.rb +30 -0
  316. data/tests/rackspace/auto_scale_tests.rb +84 -0
  317. data/tests/rackspace/models/auto_scale/group.rb +19 -0
  318. data/tests/rackspace/models/auto_scale/groups.rb +13 -0
  319. data/tests/rackspace/models/auto_scale/policies.rb +23 -0
  320. data/tests/rackspace/models/auto_scale/policy.rb +29 -0
  321. data/tests/rackspace/models/auto_scale/webhook.rb +35 -0
  322. data/tests/rackspace/models/auto_scale/webhooks.rb +28 -0
  323. data/tests/rackspace/models/monitoring/notification_tests.rb +19 -0
  324. data/tests/rackspace/models/monitoring/notifications_tests.rb +10 -0
  325. data/tests/rackspace/requests/auto_scale/config_tests.rb +51 -0
  326. data/tests/rackspace/requests/auto_scale/group_tests.rb +38 -0
  327. data/tests/rackspace/requests/auto_scale/helper.rb +181 -0
  328. data/tests/rackspace/requests/auto_scale/policy_tests.rb +61 -0
  329. data/tests/rackspace/requests/auto_scale/webhook_tests.rb +49 -0
  330. data/tests/rackspace/requests/compute_v2/address_tests.rb +1 -1
  331. data/tests/rackspace/requests/monitoring/agent_tests.rb +0 -1
  332. data/tests/rackspace/requests/monitoring/alarm_tests.rb +3 -3
  333. data/tests/rackspace/requests/monitoring/check_tests.rb +0 -1
  334. data/tests/rackspace/requests/monitoring/entity_tests.rb +3 -12
  335. data/tests/rackspace/requests/monitoring/list_tests.rb +18 -6
  336. data/tests/rackspace/requests/monitoring/notification_tests.rb +46 -0
  337. data/tests/vcloud_director/models/compute/catalog_items_tests.rb +42 -0
  338. data/tests/vcloud_director/models/compute/catalogs_tests.rb +42 -0
  339. data/tests/vcloud_director/models/compute/helper.rb +67 -0
  340. data/tests/vcloud_director/models/compute/organizations_tests.rb +22 -0
  341. data/tests/vcloud_director/models/compute/vapp_life_cycle_tests.rb +98 -0
  342. data/tests/vcloud_director/models/compute/vapp_tests.rb +42 -0
  343. data/tests/vcloud_director/models/compute/vdcs_tests.rb +45 -0
  344. data/tests/vcloud_director/models/compute/vms_tests.rb +89 -0
  345. data/tests/vcloud_director/models/tools/reduced_vcr_requests.rb +27 -0
  346. data/tests/vcloud_director/requests/compute/organization_tests.rb +48 -0
  347. data/tests/vcloud_director/requests/compute/session_tests.rb +29 -0
  348. data/tests/vcloud_director/requests/compute/vdc_tests.rb +90 -0
  349. data/tests/vcloud_director/requests/compute/versions_tests.rb +28 -0
  350. metadata +342 -43
@@ -0,0 +1,37 @@
1
+ module Fog
2
+ module AWS
3
+ class Redshift
4
+ class Real
5
+ require 'fog/aws/parsers/redshift/cluster'
6
+
7
+ # ==== Parameters
8
+ #
9
+ # @param [Hash] options
10
+ # * :cluster_identifier - required - (String)
11
+ # A unique identifier for the cluster. You use this identifier to refer to the cluster
12
+ # for any subsequent cluster operations such as deleting or modifying. Must be unique
13
+ # for all clusters within an AWS account. Example: myexamplecluster
14
+ #
15
+ # ==== See Also
16
+ # http://docs.aws.amazon.com/redshift/latest/APIReference/API_DeleteCluster.html
17
+ def reboot_cluster(options = {})
18
+ cluster_identifier = options[:cluster_identifier]
19
+
20
+ path = "/"
21
+ params = {
22
+ :headers => {},
23
+ :path => path,
24
+ :method => :put,
25
+ :query => {},
26
+ :parser => Fog::Parsers::Redshift::AWS::Cluster.new
27
+ }
28
+
29
+ params[:query]['Action'] = 'RebootCluster'
30
+ params[:query]['ClusterIdentifier'] = cluster_identifier if cluster_identifier
31
+ request(params)
32
+
33
+ end
34
+ end
35
+ end
36
+ end
37
+ end
@@ -0,0 +1,57 @@
1
+ module Fog
2
+ module AWS
3
+ class Redshift
4
+ class Real
5
+ require 'fog/aws/parsers/redshift/update_cluster_parameter_group_parser'
6
+
7
+ # ==== Parameters
8
+ #
9
+ # @param [Hash] options
10
+ # * :parameter_group_name - required - (String) The name of the cluster parameter group to be reset.
11
+ # * :reset_all_parameters - (Boolean) If true , all parameters in the specified parameter group will be reset to their default values. Default: true
12
+ # * :parameters - (Array<) An array of names of parameters to be reset. If ResetAllParameters option is not used, then at least one parameter name must be supplied. Constraints: A maximum of 20 parameters can be reset in a single request.
13
+ # * :parameter_name - (String) The name of the parameter.
14
+ # * :parameter_value - (String) The value of the parameter.
15
+ # * :description - (String) A description of the parameter.
16
+ # * :source - (String) The source of the parameter value, such as "engine-default" or "user".
17
+ # * :data_type - (String) The data type of the parameter.
18
+ # * :allowed_values - (String) The valid range of values for the parameter.
19
+ # * :is_modifiable - (Boolean) If true , the parameter can be modified. Some parameters have security or operational implications that prevent them from being changed.
20
+ # * :minimum_engine_version - (String) The earliest engine version to which the parameter can apply.
21
+ #
22
+ # ==== See Also
23
+ # http://docs.aws.amazon.com/redshift/latest/APIReference/API_ResetClusterParameterGroup.html
24
+ def reset_cluster_parameter_group(options = {})
25
+ parameter_group_name = options[:parameter_group_name]
26
+ reset_all_parameters = options[:reset_all_parameters]
27
+
28
+ path = "/"
29
+ params = {
30
+ :idempotent => true,
31
+ :headers => {},
32
+ :path => path,
33
+ :method => :put,
34
+ :query => {},
35
+ :parser => Fog::Parsers::Redshift::AWS::UpdateClusterParameterGroupParser.new
36
+ }
37
+
38
+ if options['Parameters']
39
+ options['Parameters'].keys.each_with_index do |name, index|
40
+ params[:query].merge!({
41
+ "Parameters.member.#{index+1}.#{name}" => options['Parameters'][name]
42
+ })
43
+ end
44
+ end
45
+
46
+ params[:query]['Action'] = 'ResetClusterSubnetGroup'
47
+ params[:query]['ParameterGroupName'] = parameter_group_name if parameter_group_name
48
+ params[:query]['ResetAllParameters'] = reset_all_parameters if reset_all_parameters
49
+
50
+ request(params)
51
+ end
52
+ end
53
+
54
+ end
55
+ end
56
+ end
57
+
@@ -0,0 +1,77 @@
1
+ module Fog
2
+ module AWS
3
+ class Redshift
4
+ class Real
5
+ require 'fog/aws/parsers/redshift/cluster'
6
+
7
+ # ==== Parameters
8
+ #
9
+ # @param [Hash] options
10
+ # * :cluster_identifier - required - (String)
11
+ # The identifier of the cluster that will be created from restoring the snapshot.
12
+ # Constraints: Must contain from 1 to 63 alphanumeric characters or hyphens.
13
+ # Alphabetic characters must be lowercase. First character must be a letter. Cannot
14
+ # end with a hyphen or contain two consecutive hyphens. Must be unique for all
15
+ # clusters within an AWS account.
16
+ # * :snapshot_identifier - required - (String)
17
+ # The name of the snapshot from which to create the new cluster. This parameter
18
+ # isn't case sensitive. Example: my-snapshot-id
19
+ # * :snapshot_cluster_identifier - (String)
20
+ # * :port - (Integer)
21
+ # The port number on which the cluster accepts connections. Default: The same port
22
+ # as the original cluster. Constraints: Must be between 1115 and 65535.
23
+ # * :availability_zone - (String)
24
+ # The Amazon EC2 Availability Zone in which to restore the cluster. Default: A
25
+ # random, system-chosen Availability Zone. Example: us-east-1a
26
+ # * :allow_version_upgrade - (Boolean)
27
+ # If true , upgrades can be applied during the maintenance window to the Amazon
28
+ # Redshift engine that is running on the cluster. Default: true
29
+ # * :cluster_subnet_group_name - (String)
30
+ # The name of the subnet group where you want to cluster restored. A snapshot of
31
+ # cluster in VPC can be restored only in VPC. Therefore, you must provide subnet
32
+ # group name where you want the cluster restored.
33
+ # * :publicly_accessible - (Boolean)
34
+ # If true , the cluster can be accessed from a public network.
35
+ # * :owner_account - (String)
36
+ # The AWS customer account used to create or copy the snapshot. Required if you are
37
+ # restoring a snapshot you do not own, optional if you own the snapshot.
38
+ #
39
+ # ==== See Also
40
+ # http://docs.aws.amazon.com/redshift/latest/APIReference/API_RestoreFromClusterSnapshot.html
41
+ def restore_from_cluster_snapshot(options = {})
42
+ cluster_identifier = options[:cluster_identifier]
43
+ snapshot_identifier = options[:snapshot_identifier]
44
+ snapshot_cluster_identifier = options[:snapshot_cluster_identifier]
45
+ port = options[:port]
46
+ availability_zone = options[:availability_zone]
47
+ allow_version_upgrade = options[:allow_version_upgrade]
48
+ cluster_subnet_group_name = options[:cluster_subnet_group_name]
49
+ publicly_accessible = options[:publicly_accessible]
50
+ owner_account = options[:owner_account]
51
+
52
+
53
+ path = "/"
54
+ params = {
55
+ :headers => {},
56
+ :path => path,
57
+ :method => :put,
58
+ :query => {},
59
+ :parser => Fog::Parsers::Redshift::AWS::Cluster.new
60
+ }
61
+
62
+ params[:query]['Action'] = 'RestoreFromClusterSnapshot'
63
+ params[:query]['ClusterIdentifier'] = cluster_identifier if cluster_identifier
64
+ params[:query]['SnapshotIdentifier'] = snapshot_identifier if snapshot_identifier
65
+ params[:query]['SnapshotClusterIdentifier'] = snapshot_cluster_identifier if snapshot_cluster_identifier
66
+ params[:query]['Port'] = port if port
67
+ params[:query]['AvailabilityZone'] = availability_zone if availability_zone
68
+ params[:query]['AllowVersionUpgrade'] = allow_version_upgrade if allow_version_upgrade
69
+ params[:query]['ClusterSubnetGroupName'] = cluster_subnet_group_name if cluster_subnet_group_name
70
+ params[:query]['PubliclyAccessible'] = publicly_accessible if publicly_accessible
71
+ params[:query]['OwnerAccount'] = owner_account if owner_account
72
+ request(params)
73
+ end
74
+ end
75
+ end
76
+ end
77
+ end
@@ -0,0 +1,56 @@
1
+ module Fog
2
+ module AWS
3
+ class Redshift
4
+ class Real
5
+ require 'fog/aws/parsers/redshift/revoke_cluster_security_group_ingress'
6
+
7
+ # ==== Parameters
8
+ #
9
+ # @param [Hash] options
10
+ # * :cluster_security_group_name - required - (String)
11
+ # The name of the security Group from which to revoke the ingress rule.
12
+ # * :cidrip - (String)
13
+ # The IP range for which to revoke access. This range must be a valid Classless
14
+ # Inter-Domain Routing (CIDR) block of IP addresses. If CIDRIP is specified,
15
+ # EC2SecurityGroupName and EC2SecurityGroupOwnerId cannot be provided.
16
+ # * :ec2_security_group_name - (String)
17
+ # The name of the EC2 Security Group whose access is to be revoked. If
18
+ # EC2SecurityGroupName is specified, EC2SecurityGroupOwnerId must also be
19
+ # provided and CIDRIP cannot be provided.
20
+ # * :ec2_security_group_owner_id - (String)
21
+ # The AWS account number of the owner of the security group specified in the
22
+ # EC2SecurityGroupName parameter. The AWS access key ID is not an acceptable
23
+ # value. If EC2SecurityGroupOwnerId is specified, EC2SecurityGroupName must
24
+ # also be provided. and CIDRIP cannot be provided. Example: 111122223333
25
+ #
26
+ # ==== See Also
27
+ # http://docs.aws.amazon.com/redshift/latest/APIReference/API_RevokeClusterSecurityGroupIngress.html
28
+ def revoke_cluster_security_group_ingress(options = {})
29
+ cluster_security_group_name = options[:cluster_security_group_name]
30
+ cidrip = options[:cidrip]
31
+ ec2_security_group_name = options[:ec2_security_group_name]
32
+ ec2_security_group_owner_id = options[:ec2_security_group_owner_id]
33
+
34
+ path = "/"
35
+ params = {
36
+ :headers => {},
37
+ :path => path,
38
+ :method => :put,
39
+ :query => {},
40
+ :parser => Fog::Parsers::Redshift::AWS::RevokeClusterSecurityGroupIngress.new
41
+ }
42
+
43
+ params[:query]['Action'] = 'RevokeClusterSecurityGroupIngress'
44
+ params[:query]['ClusterSecurityGroupName'] = cluster_security_group_name if cluster_security_group_name
45
+ params[:query]['CIDRIP'] = cidrip if cidrip
46
+ params[:query]['EC2SecurityGroupName'] = ec2_security_group_name if ec2_security_group_name
47
+ params[:query]['EC2SecurityGroupOwnerId'] = ec2_security_group_owner_id if ec2_security_group_owner_id
48
+
49
+ request(params)
50
+ end
51
+ end
52
+ end
53
+ end
54
+ end
55
+
56
+
@@ -0,0 +1,44 @@
1
+ module Fog
2
+ module AWS
3
+ class Redshift
4
+ class Real
5
+ require 'fog/aws/parsers/redshift/cluster_snapshot'
6
+
7
+ # ==== Parameters
8
+ #
9
+ # @param [Hash] options
10
+ # * :snapshot_identifier - required - (String)
11
+ # The identifier of the snapshot that the account can no longer access.
12
+ # * :snapshot_cluster_identifier - (String)
13
+ # * :account_with_restore_access - required - (String)
14
+ # The identifier of the AWS customer account that can no longer restore the specified snapshot.
15
+ #
16
+ # ==== See Also
17
+ # http://docs.aws.amazon.com/redshift/latest/APIReference/API_RevokeSnapshotAccess.html
18
+ def revoke_snapshot_access(options = {})
19
+ snapshot_identifier = options[:snapshot_identifier]
20
+ snapshot_cluster_identifier = options[:snapshot_cluster_identifier]
21
+ account_with_restore_access = options[:account_with_restore_access]
22
+
23
+ path = "/"
24
+ params = {
25
+ :expects => 200,
26
+ :headers => {},
27
+ :path => path,
28
+ :method => :put,
29
+ :query => {},
30
+ :parser => Fog::Parsers::Redshift::AWS::ClusterSnapshot.new
31
+ }
32
+
33
+ params[:query]['Action'] = 'RevokeSnapshotAccess'
34
+ params[:query]['SnapshotIdentifier'] = snapshot_identifier if snapshot_identifier
35
+ params[:query]['SnapshotClusterIdentifier'] = snapshot_cluster_identifier if snapshot_cluster_identifier
36
+ params[:query]['AccountWithRestoreAccess'] = account_with_restore_access if account_with_restore_access
37
+
38
+ request(params)
39
+ end
40
+ end
41
+
42
+ end
43
+ end
44
+ end
@@ -5,6 +5,31 @@ module Fog
5
5
 
6
6
  require 'fog/aws/parsers/sts/get_session_token'
7
7
 
8
+ # Get federation token
9
+ #
10
+ # ==== Parameters
11
+ # * name<~String>: The name of the federated user.
12
+ # Minimum length of 2. Maximum length of 32.
13
+ # * policy<~String>: Optional policy that specifies the permissions
14
+ # that are granted to the federated user
15
+ # Minimum length of 1. Maximum length of 2048.
16
+ # * duration<~Integer>: Optional duration, in seconds, that the session
17
+ # should last.
18
+ # ==== Returns
19
+ # * response<~Excon::Response>:
20
+ # * body<~Hash>:
21
+ # * 'SessionToken'<~String> -
22
+ # * 'SecretAccessKey'<~String> -
23
+ # * 'Expiration'<~String> -
24
+ # * 'AccessKeyId'<~String> -
25
+ # * 'Arn'<~String> -
26
+ # * 'FederatedUserId'<~String> -
27
+ # * 'PackedPolicySize'<~String> -
28
+ # * 'RequestId'<~String> - Id of the request
29
+ #
30
+ # ==== See Also
31
+ # http://docs.aws.amazon.com/STS/latest/APIReference/API_GetFederationToken.html
32
+
8
33
  def get_federation_token(name, policy, duration=43200)
9
34
  request({
10
35
  'Action' => 'GetFederationToken',
@@ -16,6 +41,23 @@ module Fog
16
41
  })
17
42
  end
18
43
  end
44
+ class Mock
45
+ def get_federation_token(name, policy, duration=43200)
46
+ Excon::Response.new.tap do |response|
47
+ response.status = 200
48
+ response.body = {
49
+ 'SessionToken' => Fog::Mock.random_base64(580),
50
+ 'SecretAccessKey' => Fog::Mock.random_base64(40),
51
+ 'Expiration' => (DateTime.now + duration).strftime('%FT%TZ'),
52
+ 'AccessKeyId' => Fog::AWS::Mock.key_id(20),
53
+ 'Arn' => "arn:aws:sts::#{Fog::AWS::Mock.owner_id}:federated-user/#{name}",
54
+ 'FederatedUserId' => "#{Fog::AWS::Mock.owner_id}:#{name}",
55
+ 'PackedPolicySize' => Fog::Mock.random_numbers(2),
56
+ 'RequestId' => Fog::AWS::Mock.request_id
57
+ }
58
+ end
59
+ end
60
+ end
19
61
  end
20
62
  end
21
63
  end
data/lib/fog/bin.rb CHANGED
@@ -88,6 +88,7 @@ require 'fog/bin/serverlove'
88
88
  require 'fog/bin/stormondemand'
89
89
  require 'fog/bin/terremark'
90
90
  require 'fog/bin/vcloud'
91
+ require 'fog/bin/vcloud_director'
91
92
  require 'fog/bin/vmfusion'
92
93
  require 'fog/bin/vsphere'
93
94
  require 'fog/bin/voxel'
data/lib/fog/bin/aws.rb CHANGED
@@ -31,6 +31,8 @@ class AWS < Fog::Bin
31
31
  Fog::AWS::Glacier
32
32
  when :iam
33
33
  Fog::AWS::IAM
34
+ when :redshift
35
+ Fog::AWS::Redshift
34
36
  when :sdb, :simpledb
35
37
  Fog::AWS::SimpleDB
36
38
  when :ses
@@ -87,6 +89,8 @@ class AWS < Fog::Bin
87
89
  Fog::AWS::Glacier.new
88
90
  when :iam
89
91
  Fog::AWS::IAM.new
92
+ when :redshift
93
+ Fog::AWS::Redshift.new
90
94
  when :rds
91
95
  Fog::AWS::RDS.new
92
96
  when :eu_storage
@@ -17,6 +17,8 @@ class OpenStack < Fog::Bin
17
17
  Fog::Volume::OpenStack
18
18
  when :metering
19
19
  Fog::Metering::OpenStack
20
+ when :orchestration
21
+ Fog::Orchestration::OpenStack
20
22
  else
21
23
  raise ArgumentError, "Unrecognized service: #{key}"
22
24
  end
@@ -46,6 +48,9 @@ class OpenStack < Fog::Bin
46
48
  when :metering
47
49
  Fog::Logger.warning("OpenStack[:metering] is not recommended, use Metering[:openstack] for portability")
48
50
  Fog::Metering.new(:provider => 'OpenStack')
51
+ when :orchestration
52
+ Fog::Logger.warning("OpenStack[:orchestration] is not recommended, use Orchestration[:openstack] for portability")
53
+ Fog::Orchestration.new(:provider => 'OpenStack')
49
54
  else
50
55
  raise ArgumentError, "Unrecognized service: #{key.inspect}"
51
56
  end
@@ -3,6 +3,8 @@ class Rackspace < Fog::Bin
3
3
 
4
4
  def class_for(key)
5
5
  case key
6
+ when :auto_scale
7
+ Fog::Rackspace::AutoScale
6
8
  when :block_storage
7
9
  Fog::Rackspace::BlockStorage
8
10
  when :cdn
@@ -31,6 +33,8 @@ class Rackspace < Fog::Bin
31
33
  def [](service)
32
34
  @@connections ||= Hash.new do |hash, key|
33
35
  hash[key] = case key
36
+ when :auto_scale
37
+ Fog::Rackspace::AutoScale.new
34
38
  when :cdn
35
39
  Fog::Logger.warning("Rackspace[:cdn] is not recommended, use CDN[:rackspace] for portability")
36
40
  Fog::CDN.new(:provider => 'Rackspace')
@@ -0,0 +1,30 @@
1
+ class VcloudDirector < Fog::Bin
2
+ class << self
3
+
4
+ def class_for(key)
5
+ case key
6
+ when :compute
7
+ Fog::Compute::VcloudDirector
8
+ else
9
+ raise ArgumentError, "Unrecognized service: #{key}"
10
+ end
11
+ end
12
+
13
+ def [](service)
14
+ @@connections ||= Hash.new do |hash, key|
15
+ hash[key] = case key
16
+ when :compute
17
+ Fog::Compute.new(:provider => 'VcloudDirector')
18
+ else
19
+ raise ArgumentError, "Unrecognized service: #{key.inspect}"
20
+ end
21
+ end
22
+ @@connections[service]
23
+ end
24
+
25
+ def services
26
+ Fog::VcloudDirector.services
27
+ end
28
+
29
+ end
30
+ end
@@ -9,6 +9,7 @@ module Fog
9
9
  # @option options [String] :name Editable label
10
10
  # @option options [String] :user_data User defined metadata
11
11
  # @option options [Boolean] :compatibility_mode Server needs to be shutdown and restarted for changes to this to take effect
12
+ # @opiton options [Array] :server_groups Array of Server Groups that this server should be part of
12
13
  #
13
14
  # @return [Hash] if successful Hash version of JSON object
14
15
  # @return [NilClass] if no options were passed
@@ -52,6 +52,11 @@ module Fog
52
52
  request :get_vlan
53
53
  request :update_vlan
54
54
 
55
+ model :rule
56
+ model :fwpolicy
57
+ collection :fwpolicies
58
+ request :list_fwpolicies
59
+
55
60
  model :subscription
56
61
  collection :subscriptions
57
62
  request :list_subscriptions