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,21 @@
1
+ require 'fog/core/collection'
2
+ require 'fog/cloudsigma/models/fwpolicy'
3
+
4
+ module Fog
5
+ module Compute
6
+ class CloudSigma
7
+ class Fwpolicies < Fog::Collection
8
+ model Fog::Compute::CloudSigma::FWPolicy
9
+
10
+ def all
11
+ resp = service.list_fwpolicies
12
+ data = resp.body['objects']
13
+ load(data)
14
+ end
15
+
16
+ end
17
+
18
+
19
+ end
20
+ end
21
+ end
@@ -0,0 +1,21 @@
1
+ require 'fog/cloudsigma/nested_model'
2
+ require 'fog/core/collection'
3
+ require 'fog/cloudsigma/models/rule'
4
+
5
+ module Fog
6
+ module Compute
7
+ class CloudSigma
8
+ class FWPolicy < Fog::CloudSigma::CloudsigmaModel
9
+ identity :uuid
10
+ attribute :name, :type => :string
11
+ attribute :meta
12
+ attribute :owner
13
+ attribute :resource_uri, :type => :string
14
+ attribute :servers, :type => :array
15
+ model_attribute_array :rules, Rule
16
+ end
17
+
18
+
19
+ end
20
+ end
21
+ end
@@ -0,0 +1,21 @@
1
+ require 'fog/cloudsigma/nested_model'
2
+
3
+ module Fog
4
+ module Compute
5
+ class CloudSigma
6
+ class Rule < Fog::CloudSigma::CloudsigmaModel
7
+ attribute :action, :type => :string
8
+ attribute :comment, :type => :string
9
+ attribute :direction, :type => :string
10
+ attribute :dst_ip, :type => :string
11
+ attribute :dst_port, :type => :integer
12
+ attribute :ip_proto, :type => :string
13
+ attribute :src_ip, :type => :string
14
+ attribute :src_port, :type => :string
15
+
16
+
17
+ end
18
+ end
19
+ end
20
+ end
21
+
@@ -0,0 +1,18 @@
1
+ module Fog
2
+ module Compute
3
+ class CloudSigma
4
+ class Real
5
+ def list_fwpolicies
6
+ list_request('fwpolicies/detail/')
7
+ end
8
+ end
9
+
10
+ class Mock
11
+ def list_fwpolicies
12
+ Fog::Mock.not_implemented
13
+ end
14
+ end
15
+
16
+ end
17
+ end
18
+ end
data/lib/fog/compute.rb CHANGED
@@ -24,13 +24,13 @@ module Fog
24
24
  when :rackspace
25
25
  version = attributes.delete(:version)
26
26
  version = version.to_s.downcase.to_sym unless version.nil?
27
- if version == :v2
28
- require 'fog/rackspace/compute_v2'
29
- Fog::Compute::RackspaceV2.new(attributes)
30
- else
27
+ if version == :v1
31
28
  Fog::Logger.deprecation "First Gen Cloud Servers are deprecated. Please use `:version => :v2` attribute to use Next Gen Cloud Servers."
32
29
  require 'fog/rackspace/compute'
33
30
  Fog::Compute::Rackspace.new(attributes)
31
+ else
32
+ require 'fog/rackspace/compute_v2'
33
+ Fog::Compute::RackspaceV2.new(attributes)
34
34
  end
35
35
  when :stormondemand
36
36
  require 'fog/storm_on_demand/compute'
@@ -38,6 +38,9 @@ module Fog
38
38
  when :vcloud
39
39
  require 'fog/vcloud/compute'
40
40
  Fog::Vcloud::Compute.new(attributes)
41
+ when :vcloud_director
42
+ require 'fog/vcloud_director/compute'
43
+ Fog::VcloudDirector::Compute.new(attributes)
41
44
  else
42
45
  if self.providers.include?(provider)
43
46
  require "fog/#{provider}/compute"
data/lib/fog/core.rb CHANGED
@@ -47,3 +47,4 @@ require 'fog/cdn'
47
47
  require 'fog/dns'
48
48
  require 'fog/network'
49
49
  require 'fog/storage'
50
+ require 'fog/orchestration'
@@ -101,6 +101,9 @@ An alternate file may be used by placing its path in the FOG_RC environment vari
101
101
  :libvirt_ip_command:
102
102
  :ibm_username:
103
103
  :ibm_password:
104
+ :vcloud_director_host:
105
+ :vcloud_director_username:
106
+ :vcloud_director_password:
104
107
  #
105
108
  # End of Fog Credentials File
106
109
  #######################################################
@@ -19,12 +19,14 @@ module Fog
19
19
  request :delete_record
20
20
  request :delete_zone
21
21
  request :get_node_list
22
+ request :get_all_records
22
23
  request :get_record
23
24
  request :get_zone
24
25
  request :post_record
25
26
  request :post_session
26
27
  request :post_zone
27
28
  request :put_zone
29
+ request :put_record
28
30
 
29
31
  class JobIncomplete < Error; end
30
32
 
@@ -70,7 +72,7 @@ module Fog
70
72
  @path = options[:path] || '/REST'
71
73
  @persistent = options[:persistent] || false
72
74
  @scheme = options[:scheme] || 'https'
73
- @version = options[:version] || '2.3.1'
75
+ @version = options[:version] || '3.5.2'
74
76
  @connection = Fog::Connection.new("#{@scheme}://#{@host}:#{@port}", @persistent, @connection_options)
75
77
  end
76
78
 
@@ -14,36 +14,48 @@ module Fog
14
14
  def all(options = {})
15
15
  requires :zone
16
16
  data = []
17
- service.get_node_list(zone.domain, options).body['data'].each do |fqdn|
18
- records = service.get_record('ANY', zone.domain, fqdn).body['data']
19
-
20
- # data in format ['/REST/xRecord/domain/fqdn/identity]
21
- records.map! do |record|
22
- tokens = record.split('/')
23
- {
24
- :identity => tokens.last,
25
- :fqdn => fqdn,
26
- :type => tokens[2][0...-6] # everything before 'Record'
27
- }
28
- end
29
-
30
- data.concat(records)
31
- end
17
+ service.get_all_records(zone.domain, options).body['data'].each do |url|
18
+ (_, _, t, _, fqdn, id) = url.split('/')
19
+ type = t.gsub(/Record$/, '')
20
+
21
+ # leave out the default, read only records
22
+ # by putting this here we don't make the secondary request for these records
23
+ next if ['NS', 'SOA'].include?(type)
32
24
 
33
- # leave out the default, read only records
34
- data = data.reject {|record| ['NS', 'SOA'].include?(record[:type])}
25
+ record = service.get_record(type, zone.domain, fqdn, 'record_id' => id).body['data']
26
+
27
+ data << {
28
+ :identity => record['record_id'],
29
+ :fqdn => record['fqdn'],
30
+ :type => record['record_type'],
31
+ :rdata => record['rdata']
32
+ }
33
+ end
35
34
 
36
35
  load(data)
37
36
  end
38
37
 
39
38
  def get(record_id)
40
- # FIXME: can this be done more efficiently?
41
- all.detect {|record| record.identity == record_id}
39
+ requires :zone
40
+
41
+ list = service.get_all_records(zone.domain, {}).body['data']
42
+ url = list.detect { |e| e =~ /\/#{record_id}$/ }
43
+ return unless url
44
+ (_, _, t, _, fqdn, id) = url.split('/')
45
+ type = t.gsub(/Record$/, '')
46
+ record = service.get_record(type, zone.domain, fqdn, 'record_id' => id).body['data']
47
+
48
+ new({
49
+ :identity => record['record_id'],
50
+ :fqdn => record['fqdn'],
51
+ :type => record['record_type'],
52
+ :rdata => record['rdata']
53
+ })
42
54
  end
43
55
 
44
56
  def new(attributes = {})
45
57
  requires :zone
46
- super({ :zone => zone }.merge!(attributes))
58
+ super({:zone => zone}.merge!(attributes))
47
59
  end
48
60
 
49
61
  end
@@ -0,0 +1,56 @@
1
+ module Fog
2
+ module DNS
3
+ class Dynect
4
+ class Real
5
+
6
+ # Get one or more node lists
7
+ #
8
+ # ==== Parameters
9
+ # * zone<~String> - zone to lookup node lists for
10
+ # * options<~Hash>
11
+ # * fqdn<~String> - fully qualified domain name of node to lookup
12
+
13
+ def get_all_records(zone, options = {})
14
+ requested_fqdn = options['fqdn'] || options[:fqdn]
15
+ request(
16
+ :expects => 200,
17
+ :idempotent => true,
18
+ :method => :get,
19
+ :path => ['AllRecord', zone, requested_fqdn].compact.join('/')
20
+ )
21
+ end
22
+ end
23
+
24
+ class Mock
25
+ def get_all_records(zone, options = {})
26
+ raise Fog::DNS::Dynect::NotFound unless zone = self.data[:zones][zone]
27
+
28
+ response = Excon::Response.new
29
+ response.status = 200
30
+
31
+ data = [zone[:zone]]
32
+
33
+ if fqdn = options[:fqdn]
34
+ data = data | zone[:records].collect { |type, records| records.select { |record| record[:fqdn] == fqdn } }.flatten.compact
35
+ else
36
+ data = data | zone[:records].collect { |type, records| records.collect { |record| record[:fqdn] } }.flatten
37
+ end
38
+
39
+ response.body = {
40
+ "status" => "success",
41
+ "data" => data,
42
+ "job_id" => Fog::Dynect::Mock.job_id,
43
+ "msgs" => [{
44
+ "INFO" => "get_tree: Here is your zone tree",
45
+ "SOURCE" => "BLL",
46
+ "ERR_CD" => nil,
47
+ "LVL" => "INFO"
48
+ }]
49
+ }
50
+
51
+ response
52
+ end
53
+ end
54
+ end
55
+ end
56
+ end
@@ -16,7 +16,7 @@ module Fog
16
16
  :expects => 200,
17
17
  :idempotent => true,
18
18
  :method => :get,
19
- :path => ['NodeList', zone, requested_fqdn].compact.join('/')
19
+ :path => ['AllRecord', zone, requested_fqdn].compact.join('/')
20
20
  )
21
21
  end
22
22
  end
@@ -0,0 +1,76 @@
1
+ module Fog
2
+ module DNS
3
+ class Dynect
4
+ class Real
5
+
6
+ # Update or replace a record
7
+ #
8
+ # ==== Parameters
9
+ # * type<~String> - type of record in ['AAAA', 'ANY', 'A', 'CNAME', 'DHCID', 'DNAME', 'DNSKEY', 'DS', 'KEY', 'LOC', 'MX', 'NSA', 'NS', 'PTR', 'PX', 'RP', 'SOA', 'SPF', 'SRV', 'SSHFP', 'TXT']
10
+ # * zone<~String> - zone of record
11
+ # * rdata<~Hash> - rdata for record
12
+ # * options<~Hash>: (options vary by type, listing below includes common parameters)
13
+ # * ttl<~Integer> - ttl for the record, defaults to zone ttl
14
+
15
+ def put_record(type, zone, fqdn, rdata, options = {})
16
+ options.merge!('rdata' => rdata)
17
+ type.to_s.upcase!
18
+ options = {"#{type}Records" => [options]} unless options['record_id']
19
+ path = ["#{type}Record", zone, fqdn].join('/')
20
+ path += "/#{options.delete('record_id')}" if options['record_id']
21
+ request(
22
+ :body => Fog::JSON.encode(options),
23
+ :expects => 200,
24
+ :method => :put,
25
+ :path => path
26
+ )
27
+ end
28
+ end
29
+
30
+ class Mock
31
+ def put_record(type, zone, fqdn, rdata, options = {})
32
+ raise Fog::DNS::Dynect::NotFound unless zone = self.data[:zones][zone]
33
+
34
+ records = zone[:records]
35
+ record_id = zone[:next_record_id]
36
+ zone[:next_record_id] += 1
37
+
38
+ record = {
39
+ :type => type,
40
+ :zone => zone,
41
+ :fqdn => fqdn,
42
+ :rdata => rdata,
43
+ :ttl => options[:ttl] || zone[:ttl],
44
+ :record_id => record_id
45
+ }
46
+
47
+ records[type] << record
48
+
49
+ response = Excon::Response.new
50
+ response.status = 200
51
+
52
+ response.body = {
53
+ "status" => "success",
54
+ "data" => {
55
+ "zone" => record[:zone][:zone],
56
+ "ttl" => record[:ttl],
57
+ "fqdn" => record[:fqdn],
58
+ "record_type" => record[:type],
59
+ "rdata" => record[:rdata],
60
+ "record_id" => record[:record_id]
61
+ },
62
+ "job_id" => Fog::Dynect::Mock.job_id,
63
+ "msgs" => [{
64
+ "INFO"=>"add: Record added",
65
+ "SOURCE"=>"BLL",
66
+ "ERR_CD"=>nil,
67
+ "LVL"=>"INFO"
68
+ }]
69
+ }
70
+
71
+ response
72
+ end
73
+ end
74
+ end
75
+ end
76
+ end
@@ -15,8 +15,8 @@ module Fog
15
15
  load(data)
16
16
  end
17
17
 
18
- def get(identity)
19
- data = connection.get_machine_type(identity).body
18
+ def get(identity, zone_name = nil)
19
+ data = connection.get_machine_type(identity, zone_name).body
20
20
  new(data)
21
21
  rescue Excon::Errors::NotFound
22
22
  nil
@@ -4,7 +4,7 @@ module Fog
4
4
 
5
5
  class Mock
6
6
 
7
- def get_machine_type(machine_type_name)
7
+ def get_machine_type(machine_type_name, zone_name = nil)
8
8
  Fog::Mock.not_implemented
9
9
  end
10
10
 
@@ -12,9 +12,14 @@ module Fog
12
12
 
13
13
  class Real
14
14
 
15
- def get_machine_type(machine_type_name)
15
+ def get_machine_type(machine_type_name, zone_name = nil)
16
+ zone_name = list_zones.body['items'].first['name'] if zone_name.nil?
17
+ if zone_name.start_with? 'http'
18
+ zone_name = zone_name.split('/')[-1]
19
+ end
16
20
  api_method = @compute.machine_types.get
17
21
  parameters = {
22
+ 'zone' => zone_name,
18
23
  'project' => 'google',
19
24
  'machineType' => machine_type_name
20
25
  }
@@ -165,7 +165,7 @@ module Fog
165
165
  end
166
166
 
167
167
  response
168
- rescue Excon::Errors::Error => e
168
+ rescue Excon::Errors::HTTPStatusError => e
169
169
  raise_if_error!(e.request, e.response)
170
170
  end
171
171
 
@@ -19,7 +19,7 @@ module Fog
19
19
  end
20
20
 
21
21
  def public_ip_address
22
- ips.find{|ip| ip.ip !~ /^192/}.ip
22
+ ips.find{|ip| ip.ip !~ /^192\.168\./}.ip
23
23
  end
24
24
 
25
25
  def disks
@@ -18,7 +18,7 @@ module Fog
18
18
  load(data)
19
19
  end
20
20
 
21
- def get(key)
21
+ def get(key, options = {})
22
22
  if ::File.directory?(service.path_to(key))
23
23
  new(:key => key)
24
24
  else
data/lib/fog/openstack.rb CHANGED
@@ -48,6 +48,7 @@ module Fog
48
48
  service(:storage, 'openstack/storage', 'Storage')
49
49
  service(:volume, 'openstack/volume', 'Volume')
50
50
  service(:metering, 'openstack/metering', 'Metering')
51
+ service(:orchestration, 'openstack/orchestration', 'Orchestration')
51
52
 
52
53
  def self.authenticate(options, connection_options = {})
53
54
  case options[:openstack_auth_uri].path