brightbox-cli 0.14.1 → 0.15.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (381) hide show
  1. data/.gitignore +7 -0
  2. data/bin/brightbox-firewall-policies +14 -0
  3. data/bin/brightbox-firewall-rules +14 -0
  4. data/bin/brightbox-groups +14 -0
  5. data/lib/brightbox-cli/api.rb +2 -1
  6. data/lib/brightbox-cli/cloud_ips.rb +2 -2
  7. data/lib/brightbox-cli/command_generator.rb +3 -0
  8. data/lib/brightbox-cli/commands/cloudips-update.rb +2 -2
  9. data/lib/brightbox-cli/commands/config-client-list.rb +1 -1
  10. data/lib/brightbox-cli/commands/firewall-policies-apply.rb +31 -0
  11. data/lib/brightbox-cli/commands/firewall-policies-create.rb +39 -0
  12. data/lib/brightbox-cli/commands/firewall-policies-destroy.rb +24 -0
  13. data/lib/brightbox-cli/commands/firewall-policies-list.rb +17 -0
  14. data/lib/brightbox-cli/commands/firewall-policies-remove.rb +31 -0
  15. data/lib/brightbox-cli/commands/firewall-policies-show.rb +19 -0
  16. data/lib/brightbox-cli/commands/firewall-rules-create.rb +51 -0
  17. data/lib/brightbox-cli/commands/firewall-rules-destroy.rb +24 -0
  18. data/lib/brightbox-cli/commands/firewall-rules-list.rb +19 -0
  19. data/lib/brightbox-cli/commands/firewall-rules-show.rb +22 -0
  20. data/lib/brightbox-cli/commands/groups-add-server.rb +23 -0
  21. data/lib/brightbox-cli/commands/groups-create.rb +22 -0
  22. data/lib/brightbox-cli/commands/groups-destroy.rb +23 -0
  23. data/lib/brightbox-cli/commands/groups-list.rb +16 -0
  24. data/lib/brightbox-cli/commands/groups-move_servers.rb +39 -0
  25. data/lib/brightbox-cli/commands/groups-remove-servers.rb +35 -0
  26. data/lib/brightbox-cli/commands/groups-show.rb +14 -0
  27. data/lib/brightbox-cli/commands/groups-update.rb +38 -0
  28. data/lib/brightbox-cli/commands/images-register.rb +11 -3
  29. data/lib/brightbox-cli/commands/images-update.rb +4 -0
  30. data/lib/brightbox-cli/commands/servers-create.rb +19 -8
  31. data/lib/brightbox-cli/commands/servers-list.rb +0 -3
  32. data/lib/brightbox-cli/commands/servers-show.rb +3 -39
  33. data/lib/brightbox-cli/commands/servers-stop.rb +1 -1
  34. data/lib/brightbox-cli/detailed_server.rb +43 -0
  35. data/lib/brightbox-cli/detailed_server_group.rb +13 -0
  36. data/lib/brightbox-cli/firewall_policy.rb +32 -0
  37. data/lib/brightbox-cli/firewall_rule.rb +39 -0
  38. data/lib/brightbox-cli/firewall_rules.rb +26 -0
  39. data/lib/brightbox-cli/images.rb +2 -1
  40. data/lib/brightbox-cli/server_groups.rb +64 -0
  41. data/lib/brightbox-cli/servers.rb +5 -13
  42. data/lib/brightbox-cli/vendor/fog/Rakefile +17 -2
  43. data/lib/brightbox-cli/vendor/fog/changelog.txt +434 -0
  44. data/lib/brightbox-cli/vendor/fog/docs/_layouts/default.html +12 -12
  45. data/lib/brightbox-cli/vendor/fog/docs/about/getting_started.markdown +2 -2
  46. data/lib/brightbox-cli/vendor/fog/docs/dns/index.markdown +3 -3
  47. data/lib/brightbox-cli/vendor/fog/docs/index.markdown +1 -1
  48. data/lib/brightbox-cli/vendor/fog/docs/public/css/fog.css +14 -1
  49. data/lib/brightbox-cli/vendor/fog/docs/public/images/engineyard.png +0 -0
  50. data/lib/brightbox-cli/vendor/fog/docs/public/images/fog.png +0 -0
  51. data/lib/brightbox-cli/vendor/fog/fog.gemspec +4 -4
  52. data/lib/brightbox-cli/vendor/fog/lib/fog/aws/cloud_watch.rb +14 -0
  53. data/lib/brightbox-cli/vendor/fog/lib/fog/aws/compute.rb +50 -19
  54. data/lib/brightbox-cli/vendor/fog/lib/fog/aws/elasticache.rb +127 -0
  55. data/lib/brightbox-cli/vendor/fog/lib/fog/aws/models/cloud_watch/alarm.rb +12 -0
  56. data/lib/brightbox-cli/vendor/fog/lib/fog/aws/models/cloud_watch/alarm_data.rb +39 -0
  57. data/lib/brightbox-cli/vendor/fog/lib/fog/aws/models/cloud_watch/alarm_datum.rb +66 -0
  58. data/lib/brightbox-cli/vendor/fog/lib/fog/aws/models/cloud_watch/alarm_histories.rb +18 -0
  59. data/lib/brightbox-cli/vendor/fog/lib/fog/aws/models/cloud_watch/alarm_history.rb +16 -0
  60. data/lib/brightbox-cli/vendor/fog/lib/fog/aws/models/cloud_watch/alarms.rb +30 -0
  61. data/lib/brightbox-cli/vendor/fog/lib/fog/aws/models/compute/servers.rb +1 -1
  62. data/lib/brightbox-cli/vendor/fog/lib/fog/aws/models/elasticache/cluster.rb +69 -0
  63. data/lib/brightbox-cli/vendor/fog/lib/fog/aws/models/elasticache/clusters.rb +31 -0
  64. data/lib/brightbox-cli/vendor/fog/lib/fog/aws/models/elasticache/parameter_group.rb +32 -0
  65. data/lib/brightbox-cli/vendor/fog/lib/fog/aws/models/elasticache/parameter_groups.rb +30 -0
  66. data/lib/brightbox-cli/vendor/fog/lib/fog/aws/models/elasticache/security_group.rb +52 -0
  67. data/lib/brightbox-cli/vendor/fog/lib/fog/aws/models/elasticache/security_groups.rb +30 -0
  68. data/lib/brightbox-cli/vendor/fog/lib/fog/aws/parsers/cloud_watch/delete_alarms.rb +26 -0
  69. data/lib/brightbox-cli/vendor/fog/lib/fog/aws/parsers/cloud_watch/describe_alarm_history.rb +40 -0
  70. data/lib/brightbox-cli/vendor/fog/lib/fog/aws/parsers/cloud_watch/describe_alarms.rb +73 -0
  71. data/lib/brightbox-cli/vendor/fog/lib/fog/aws/parsers/cloud_watch/describe_alarms_for_metric.rb +71 -0
  72. data/lib/brightbox-cli/vendor/fog/lib/fog/aws/parsers/cloud_watch/disable_alarm_actions.rb +26 -0
  73. data/lib/brightbox-cli/vendor/fog/lib/fog/aws/parsers/cloud_watch/enable_alarm_actions.rb +26 -0
  74. data/lib/brightbox-cli/vendor/fog/lib/fog/aws/parsers/cloud_watch/get_metric_statistics.rb +1 -0
  75. data/lib/brightbox-cli/vendor/fog/lib/fog/aws/parsers/cloud_watch/put_metric_alarm.rb +26 -0
  76. data/lib/brightbox-cli/vendor/fog/lib/fog/aws/parsers/cloud_watch/set_alarm_state.rb +26 -0
  77. data/lib/brightbox-cli/vendor/fog/lib/fog/aws/parsers/compute/spot_instance_requests.rb +2 -2
  78. data/lib/brightbox-cli/vendor/fog/lib/fog/aws/parsers/{aws → dns}/change_resource_record_sets.rb +0 -0
  79. data/lib/brightbox-cli/vendor/fog/lib/fog/aws/parsers/{aws → dns}/create_hosted_zone.rb +0 -0
  80. data/lib/brightbox-cli/vendor/fog/lib/fog/aws/parsers/{aws → dns}/delete_hosted_zone.rb +0 -0
  81. data/lib/brightbox-cli/vendor/fog/lib/fog/aws/parsers/{aws → dns}/get_change.rb +0 -0
  82. data/lib/brightbox-cli/vendor/fog/lib/fog/aws/parsers/{aws → dns}/get_hosted_zone.rb +0 -0
  83. data/lib/brightbox-cli/vendor/fog/lib/fog/aws/parsers/{aws → dns}/list_hosted_zones.rb +0 -0
  84. data/lib/brightbox-cli/vendor/fog/lib/fog/aws/parsers/{aws → dns}/list_resource_record_sets.rb +0 -0
  85. data/lib/brightbox-cli/vendor/fog/lib/fog/aws/parsers/elasticache/authorize_cache_security_group_ingress.rb +26 -0
  86. data/lib/brightbox-cli/vendor/fog/lib/fog/aws/parsers/elasticache/base.rb +34 -0
  87. data/lib/brightbox-cli/vendor/fog/lib/fog/aws/parsers/elasticache/cache_cluster_parser.rb +79 -0
  88. data/lib/brightbox-cli/vendor/fog/lib/fog/aws/parsers/elasticache/describe_cache_clusters.rb +27 -0
  89. data/lib/brightbox-cli/vendor/fog/lib/fog/aws/parsers/elasticache/describe_cache_parameters.rb +22 -0
  90. data/lib/brightbox-cli/vendor/fog/lib/fog/aws/parsers/elasticache/describe_engine_default_parameters.rb +22 -0
  91. data/lib/brightbox-cli/vendor/fog/lib/fog/aws/parsers/elasticache/describe_parameter_groups.rb +27 -0
  92. data/lib/brightbox-cli/vendor/fog/lib/fog/aws/parsers/elasticache/describe_security_groups.rb +27 -0
  93. data/lib/brightbox-cli/vendor/fog/lib/fog/aws/parsers/elasticache/engine_defaults_parser.rb +59 -0
  94. data/lib/brightbox-cli/vendor/fog/lib/fog/aws/parsers/elasticache/event_list.rb +38 -0
  95. data/lib/brightbox-cli/vendor/fog/lib/fog/aws/parsers/elasticache/modify_parameter_group.rb +27 -0
  96. data/lib/brightbox-cli/vendor/fog/lib/fog/aws/parsers/elasticache/parameter_group_parser.rb +30 -0
  97. data/lib/brightbox-cli/vendor/fog/lib/fog/aws/parsers/elasticache/reset_parameter_group.rb +27 -0
  98. data/lib/brightbox-cli/vendor/fog/lib/fog/aws/parsers/elasticache/security_group_parser.rb +40 -0
  99. data/lib/brightbox-cli/vendor/fog/lib/fog/aws/parsers/elasticache/single_cache_cluster.rb +22 -0
  100. data/lib/brightbox-cli/vendor/fog/lib/fog/aws/parsers/elasticache/single_parameter_group.rb +22 -0
  101. data/lib/brightbox-cli/vendor/fog/lib/fog/aws/parsers/elasticache/single_security_group.rb +34 -0
  102. data/lib/brightbox-cli/vendor/fog/lib/fog/aws/requests/cloud_watch/delete_alarms.rb +30 -0
  103. data/lib/brightbox-cli/vendor/fog/lib/fog/aws/requests/cloud_watch/describe_alarm_history.rb +33 -0
  104. data/lib/brightbox-cli/vendor/fog/lib/fog/aws/requests/cloud_watch/describe_alarms.rb +38 -0
  105. data/lib/brightbox-cli/vendor/fog/lib/fog/aws/requests/cloud_watch/describe_alarms_for_metric.rb +39 -0
  106. data/lib/brightbox-cli/vendor/fog/lib/fog/aws/requests/cloud_watch/disable_alarm_actions.rb +30 -0
  107. data/lib/brightbox-cli/vendor/fog/lib/fog/aws/requests/cloud_watch/enable_alarm_actions.rb +30 -0
  108. data/lib/brightbox-cli/vendor/fog/lib/fog/aws/requests/cloud_watch/put_metric_alarm.rb +84 -0
  109. data/lib/brightbox-cli/vendor/fog/lib/fog/aws/requests/cloud_watch/set_alarm_state.rb +31 -0
  110. data/lib/brightbox-cli/vendor/fog/lib/fog/aws/requests/compute/create_security_group.rb +5 -4
  111. data/lib/brightbox-cli/vendor/fog/lib/fog/aws/requests/compute/create_snapshot.rb +2 -3
  112. data/lib/brightbox-cli/vendor/fog/lib/fog/aws/requests/compute/create_tags.rb +5 -3
  113. data/lib/brightbox-cli/vendor/fog/lib/fog/aws/requests/compute/create_volume.rb +0 -1
  114. data/lib/brightbox-cli/vendor/fog/lib/fog/aws/requests/compute/delete_tags.rb +2 -3
  115. data/lib/brightbox-cli/vendor/fog/lib/fog/aws/requests/compute/describe_images.rb +5 -8
  116. data/lib/brightbox-cli/vendor/fog/lib/fog/aws/requests/compute/describe_instances.rb +2 -2
  117. data/lib/brightbox-cli/vendor/fog/lib/fog/aws/requests/compute/describe_snapshots.rb +3 -1
  118. data/lib/brightbox-cli/vendor/fog/lib/fog/aws/requests/compute/describe_volumes.rb +3 -2
  119. data/lib/brightbox-cli/vendor/fog/lib/fog/aws/requests/compute/modify_image_attribute.rb +32 -0
  120. data/lib/brightbox-cli/vendor/fog/lib/fog/aws/requests/compute/purchase_reserved_instances_offering.rb +1 -1
  121. data/lib/brightbox-cli/vendor/fog/lib/fog/aws/requests/compute/register_image.rb +0 -1
  122. data/lib/brightbox-cli/vendor/fog/lib/fog/aws/requests/compute/run_instances.rb +1 -2
  123. data/lib/brightbox-cli/vendor/fog/lib/fog/aws/requests/elasticache/authorize_cache_security_group_ingress.rb +36 -0
  124. data/lib/brightbox-cli/vendor/fog/lib/fog/aws/requests/elasticache/create_cache_cluster.rb +62 -0
  125. data/lib/brightbox-cli/vendor/fog/lib/fog/aws/requests/elasticache/create_cache_parameter_group.rb +37 -0
  126. data/lib/brightbox-cli/vendor/fog/lib/fog/aws/requests/elasticache/create_cache_security_group.rb +33 -0
  127. data/lib/brightbox-cli/vendor/fog/lib/fog/aws/requests/elasticache/delete_cache_cluster.rb +32 -0
  128. data/lib/brightbox-cli/vendor/fog/lib/fog/aws/requests/elasticache/delete_cache_parameter_group.rb +31 -0
  129. data/lib/brightbox-cli/vendor/fog/lib/fog/aws/requests/elasticache/delete_cache_security_group.rb +31 -0
  130. data/lib/brightbox-cli/vendor/fog/lib/fog/aws/requests/elasticache/describe_cache_clusters.rb +39 -0
  131. data/lib/brightbox-cli/vendor/fog/lib/fog/aws/requests/elasticache/describe_cache_parameter_groups.rb +34 -0
  132. data/lib/brightbox-cli/vendor/fog/lib/fog/aws/requests/elasticache/describe_cache_parameters.rb +36 -0
  133. data/lib/brightbox-cli/vendor/fog/lib/fog/aws/requests/elasticache/describe_cache_security_groups.rb +34 -0
  134. data/lib/brightbox-cli/vendor/fog/lib/fog/aws/requests/elasticache/describe_engine_default_parameters.rb +35 -0
  135. data/lib/brightbox-cli/vendor/fog/lib/fog/aws/requests/elasticache/describe_events.rb +46 -0
  136. data/lib/brightbox-cli/vendor/fog/lib/fog/aws/requests/elasticache/modify_cache_cluster.rb +70 -0
  137. data/lib/brightbox-cli/vendor/fog/lib/fog/aws/requests/elasticache/modify_cache_parameter_group.rb +45 -0
  138. data/lib/brightbox-cli/vendor/fog/lib/fog/aws/requests/elasticache/reboot_cache_cluster.rb +44 -0
  139. data/lib/brightbox-cli/vendor/fog/lib/fog/aws/requests/elasticache/reset_cache_parameter_group.rb +46 -0
  140. data/lib/brightbox-cli/vendor/fog/lib/fog/aws/requests/elasticache/revoke_cache_security_group_ingress.rb +37 -0
  141. data/lib/brightbox-cli/vendor/fog/lib/fog/aws/requests/elb/create_load_balancer.rb +1 -1
  142. data/lib/brightbox-cli/vendor/fog/lib/fog/aws/requests/elb/create_load_balancer_listeners.rb +1 -1
  143. data/lib/brightbox-cli/vendor/fog/lib/fog/aws/requests/elb/deregister_instances_from_load_balancer.rb +1 -1
  144. data/lib/brightbox-cli/vendor/fog/lib/fog/aws/requests/elb/describe_instance_health.rb +2 -2
  145. data/lib/brightbox-cli/vendor/fog/lib/fog/aws/requests/elb/register_instances_with_load_balancer.rb +1 -1
  146. data/lib/brightbox-cli/vendor/fog/lib/fog/aws/requests/iam/get_server_certificate.rb +5 -7
  147. data/lib/brightbox-cli/vendor/fog/lib/fog/aws/requests/iam/list_server_certificates.rb +3 -1
  148. data/lib/brightbox-cli/vendor/fog/lib/fog/aws/requests/iam/upload_server_certificate.rb +3 -2
  149. data/lib/brightbox-cli/vendor/fog/lib/fog/aws/requests/sqs/change_message_visibility.rb +30 -0
  150. data/lib/brightbox-cli/vendor/fog/lib/fog/aws/requests/sqs/create_queue.rb +35 -1
  151. data/lib/brightbox-cli/vendor/fog/lib/fog/aws/requests/sqs/delete_message.rb +29 -0
  152. data/lib/brightbox-cli/vendor/fog/lib/fog/aws/requests/sqs/delete_queue.rb +24 -1
  153. data/lib/brightbox-cli/vendor/fog/lib/fog/aws/requests/sqs/get_queue_attributes.rb +22 -1
  154. data/lib/brightbox-cli/vendor/fog/lib/fog/aws/requests/sqs/list_queues.rb +15 -1
  155. data/lib/brightbox-cli/vendor/fog/lib/fog/aws/requests/sqs/receive_message.rb +55 -1
  156. data/lib/brightbox-cli/vendor/fog/lib/fog/aws/requests/sqs/send_message.rb +39 -1
  157. data/lib/brightbox-cli/vendor/fog/lib/fog/aws/requests/sqs/set_queue_attributes.rb +19 -1
  158. data/lib/brightbox-cli/vendor/fog/lib/fog/aws/requests/storage/copy_object.rb +1 -1
  159. data/lib/brightbox-cli/vendor/fog/lib/fog/aws/requests/storage/get_object_acl.rb +1 -1
  160. data/lib/brightbox-cli/vendor/fog/lib/fog/aws/requests/storage/hash_to_acl.rb +2 -3
  161. data/lib/brightbox-cli/vendor/fog/lib/fog/aws/sqs.rb +30 -0
  162. data/lib/brightbox-cli/vendor/fog/lib/fog/aws/storage.rb +2 -1
  163. data/lib/brightbox-cli/vendor/fog/lib/fog/aws.rb +17 -14
  164. data/lib/brightbox-cli/vendor/fog/lib/fog/bin/aws.rb +4 -0
  165. data/lib/brightbox-cli/vendor/fog/lib/fog/bin/openstack.rb +31 -0
  166. data/lib/brightbox-cli/vendor/fog/lib/fog/bin.rb +1 -0
  167. data/lib/brightbox-cli/vendor/fog/lib/fog/bluebox/models/compute/server.rb +1 -1
  168. data/lib/brightbox-cli/vendor/fog/lib/fog/bluebox/requests/compute/create_template.rb +1 -1
  169. data/lib/brightbox-cli/vendor/fog/lib/fog/bluebox.rb +2 -2
  170. data/lib/brightbox-cli/vendor/fog/lib/fog/brightbox/compute.rb +5 -0
  171. data/lib/brightbox-cli/vendor/fog/lib/fog/brightbox/models/compute/account.rb +1 -1
  172. data/lib/brightbox-cli/vendor/fog/lib/fog/brightbox/models/compute/firewall_policies.rb +29 -0
  173. data/lib/brightbox-cli/vendor/fog/lib/fog/brightbox/models/compute/firewall_policy.rb +65 -0
  174. data/lib/brightbox-cli/vendor/fog/lib/fog/brightbox/models/compute/firewall_rule.rb +54 -0
  175. data/lib/brightbox-cli/vendor/fog/lib/fog/brightbox/models/compute/firewall_rules.rb +24 -0
  176. data/lib/brightbox-cli/vendor/fog/lib/fog/brightbox/models/compute/image.rb +2 -0
  177. data/lib/brightbox-cli/vendor/fog/lib/fog/brightbox/models/compute/server.rb +27 -2
  178. data/lib/brightbox-cli/vendor/fog/lib/fog/brightbox/models/compute/server_group.rb +1 -1
  179. data/lib/brightbox-cli/vendor/fog/lib/fog/brightbox/requests/compute/remove_firewall_policy.rb +14 -0
  180. data/lib/brightbox-cli/vendor/fog/lib/fog/brightbox.rb +1 -1
  181. data/lib/brightbox-cli/vendor/fog/lib/fog/compute/models/server.rb +1 -2
  182. data/lib/brightbox-cli/vendor/fog/lib/fog/compute.rb +3 -0
  183. data/lib/brightbox-cli/vendor/fog/lib/fog/core/attributes.rb +5 -5
  184. data/lib/brightbox-cli/vendor/fog/lib/fog/core/credentials.rb +5 -0
  185. data/lib/brightbox-cli/vendor/fog/lib/fog/core/errors.rb +4 -0
  186. data/lib/brightbox-cli/vendor/fog/lib/fog/core/provider.rb +9 -4
  187. data/lib/brightbox-cli/vendor/fog/lib/fog/dnsimple.rb +1 -1
  188. data/lib/brightbox-cli/vendor/fog/lib/fog/dnsmadeeasy.rb +1 -1
  189. data/lib/brightbox-cli/vendor/fog/lib/fog/dynect.rb +1 -1
  190. data/lib/brightbox-cli/vendor/fog/lib/fog/ecloud/compute.rb +1 -5
  191. data/lib/brightbox-cli/vendor/fog/lib/fog/ecloud.rb +1 -1
  192. data/lib/brightbox-cli/vendor/fog/lib/fog/glesys/compute.rb +20 -4
  193. data/lib/brightbox-cli/vendor/fog/lib/fog/glesys/models/compute/templates.rb +0 -6
  194. data/lib/brightbox-cli/vendor/fog/lib/fog/glesys.rb +1 -1
  195. data/lib/brightbox-cli/vendor/fog/lib/fog/go_grid.rb +1 -1
  196. data/lib/brightbox-cli/vendor/fog/lib/fog/google.rb +1 -1
  197. data/lib/brightbox-cli/vendor/fog/lib/fog/libvirt/models/compute/server.rb +1 -1
  198. data/lib/brightbox-cli/vendor/fog/lib/fog/libvirt/models/compute/uri.rb +7 -3
  199. data/lib/brightbox-cli/vendor/fog/lib/fog/libvirt.rb +1 -1
  200. data/lib/brightbox-cli/vendor/fog/lib/fog/linode/models/compute/server.rb +10 -0
  201. data/lib/brightbox-cli/vendor/fog/lib/fog/linode/{models/dns/linode → requests/dns}/domain_create.rb +3 -3
  202. data/lib/brightbox-cli/vendor/fog/lib/fog/linode/{models/dns/linode → requests/dns}/domain_delete.rb +0 -0
  203. data/lib/brightbox-cli/vendor/fog/lib/fog/linode/{models/dns/linode → requests/dns}/domain_list.rb +1 -1
  204. data/lib/brightbox-cli/vendor/fog/lib/fog/linode/{models/dns/linode → requests/dns}/domain_resource_create.rb +8 -8
  205. data/lib/brightbox-cli/vendor/fog/lib/fog/linode/{models/dns/linode → requests/dns}/domain_resource_delete.rb +0 -0
  206. data/lib/brightbox-cli/vendor/fog/lib/fog/linode/{models/dns/linode → requests/dns}/domain_resource_list.rb +8 -8
  207. data/lib/brightbox-cli/vendor/fog/lib/fog/linode/{models/dns/linode → requests/dns}/domain_resource_update.rb +9 -9
  208. data/lib/brightbox-cli/vendor/fog/lib/fog/linode/{models/dns/linode → requests/dns}/domain_update.rb +5 -5
  209. data/lib/brightbox-cli/vendor/fog/lib/fog/linode.rb +2 -2
  210. data/lib/brightbox-cli/vendor/fog/lib/fog/local/models/storage/directories.rb +33 -0
  211. data/lib/brightbox-cli/vendor/fog/lib/fog/local/models/storage/directory.rb +57 -0
  212. data/lib/brightbox-cli/vendor/fog/lib/fog/local/models/storage/file.rb +113 -0
  213. data/lib/brightbox-cli/vendor/fog/lib/fog/local/models/storage/files.rb +87 -0
  214. data/lib/brightbox-cli/vendor/fog/lib/fog/local/storage.rb +71 -0
  215. data/lib/brightbox-cli/vendor/fog/lib/fog/local.rb +1 -1
  216. data/lib/brightbox-cli/vendor/fog/lib/fog/new_servers.rb +1 -1
  217. data/lib/brightbox-cli/vendor/fog/lib/fog/ninefold/compute.rb +1 -1
  218. data/lib/brightbox-cli/vendor/fog/lib/fog/ninefold/models/compute/server.rb +2 -1
  219. data/lib/brightbox-cli/vendor/fog/lib/fog/ninefold.rb +2 -2
  220. data/lib/brightbox-cli/vendor/fog/lib/fog/openstack/compute.rb +198 -0
  221. data/lib/brightbox-cli/vendor/fog/lib/fog/openstack/models/compute/flavor.rb +20 -0
  222. data/lib/brightbox-cli/vendor/fog/lib/fog/openstack/models/compute/flavors.rb +28 -0
  223. data/lib/brightbox-cli/vendor/fog/lib/fog/openstack/models/compute/image.rb +57 -0
  224. data/lib/brightbox-cli/vendor/fog/lib/fog/openstack/models/compute/images.rb +33 -0
  225. data/lib/brightbox-cli/vendor/fog/lib/fog/openstack/models/compute/meta.rb +29 -0
  226. data/lib/brightbox-cli/vendor/fog/lib/fog/openstack/models/compute/metadata.rb +69 -0
  227. data/lib/brightbox-cli/vendor/fog/lib/fog/openstack/models/compute/server.rb +195 -0
  228. data/lib/brightbox-cli/vendor/fog/lib/fog/openstack/models/compute/servers.rb +36 -0
  229. data/lib/brightbox-cli/vendor/fog/lib/fog/openstack/models/meta_parent.rb +33 -0
  230. data/lib/brightbox-cli/vendor/fog/lib/fog/openstack/requests/compute/change_password_server.rb +24 -0
  231. data/lib/brightbox-cli/vendor/fog/lib/fog/openstack/requests/compute/confirm_resized_server.rb +24 -0
  232. data/lib/brightbox-cli/vendor/fog/lib/fog/openstack/requests/compute/create_image.rb +49 -0
  233. data/lib/brightbox-cli/vendor/fog/lib/fog/openstack/requests/compute/create_server.rb +75 -0
  234. data/lib/brightbox-cli/vendor/fog/lib/fog/openstack/requests/compute/delete_image.rb +40 -0
  235. data/lib/brightbox-cli/vendor/fog/lib/fog/openstack/requests/compute/delete_meta.rb +28 -0
  236. data/lib/brightbox-cli/vendor/fog/lib/fog/openstack/requests/compute/delete_server.rb +38 -0
  237. data/lib/brightbox-cli/vendor/fog/lib/fog/openstack/requests/compute/get_flavor_details.rb +43 -0
  238. data/lib/brightbox-cli/vendor/fog/lib/fog/openstack/requests/compute/get_image_details.rb +33 -0
  239. data/lib/brightbox-cli/vendor/fog/lib/fog/openstack/requests/compute/get_meta.rb +29 -0
  240. data/lib/brightbox-cli/vendor/fog/lib/fog/openstack/requests/compute/get_server_details.rb +32 -0
  241. data/lib/brightbox-cli/vendor/fog/lib/fog/openstack/requests/compute/list_addresses.rb +32 -0
  242. data/lib/brightbox-cli/vendor/fog/lib/fog/openstack/requests/compute/list_flavors.rb +38 -0
  243. data/lib/brightbox-cli/vendor/fog/lib/fog/openstack/requests/compute/list_flavors_detail.rb +38 -0
  244. data/lib/brightbox-cli/vendor/fog/lib/fog/openstack/requests/compute/list_images.rb +33 -0
  245. data/lib/brightbox-cli/vendor/fog/lib/fog/openstack/requests/compute/list_images_detail.rb +39 -0
  246. data/lib/brightbox-cli/vendor/fog/lib/fog/openstack/requests/compute/list_metadata.rb +28 -0
  247. data/lib/brightbox-cli/vendor/fog/lib/fog/openstack/requests/compute/list_private_addresses.rb +32 -0
  248. data/lib/brightbox-cli/vendor/fog/lib/fog/openstack/requests/compute/list_public_addresses.rb +32 -0
  249. data/lib/brightbox-cli/vendor/fog/lib/fog/openstack/requests/compute/list_servers.rb +33 -0
  250. data/lib/brightbox-cli/vendor/fog/lib/fog/openstack/requests/compute/list_servers_detail.rb +39 -0
  251. data/lib/brightbox-cli/vendor/fog/lib/fog/openstack/requests/compute/reboot_server.rb +24 -0
  252. data/lib/brightbox-cli/vendor/fog/lib/fog/openstack/requests/compute/rebuild_server.rb +31 -0
  253. data/lib/brightbox-cli/vendor/fog/lib/fog/openstack/requests/compute/resize_server.rb +24 -0
  254. data/lib/brightbox-cli/vendor/fog/lib/fog/openstack/requests/compute/revert_resized_server.rb +30 -0
  255. data/lib/brightbox-cli/vendor/fog/lib/fog/openstack/requests/compute/server_action.rb +18 -0
  256. data/lib/brightbox-cli/vendor/fog/lib/fog/openstack/requests/compute/set_metadata.rb +45 -0
  257. data/lib/brightbox-cli/vendor/fog/lib/fog/openstack/requests/compute/update_meta.rb +45 -0
  258. data/lib/brightbox-cli/vendor/fog/lib/fog/openstack/requests/compute/update_metadata.rb +46 -0
  259. data/lib/brightbox-cli/vendor/fog/lib/fog/openstack/requests/compute/update_server.rb +35 -0
  260. data/lib/brightbox-cli/vendor/fog/lib/fog/openstack.rb +113 -0
  261. data/lib/brightbox-cli/vendor/fog/lib/fog/providers.rb +1 -0
  262. data/lib/brightbox-cli/vendor/fog/lib/fog/rackspace/dns.rb +25 -0
  263. data/lib/brightbox-cli/vendor/fog/lib/fog/rackspace/requests/dns/callback.rb +3 -2
  264. data/lib/brightbox-cli/vendor/fog/lib/fog/rackspace.rb +5 -5
  265. data/lib/brightbox-cli/vendor/fog/lib/fog/slicehost/{parsers/dns/slicehost → requests/dns}/create_record.rb +2 -2
  266. data/lib/brightbox-cli/vendor/fog/lib/fog/slicehost/{parsers/dns/slicehost → requests/dns}/create_zone.rb +1 -1
  267. data/lib/brightbox-cli/vendor/fog/lib/fog/slicehost/{parsers/dns/slicehost → requests/dns}/delete_record.rb +0 -0
  268. data/lib/brightbox-cli/vendor/fog/lib/fog/slicehost/{parsers/dns/slicehost → requests/dns}/delete_zone.rb +0 -0
  269. data/lib/brightbox-cli/vendor/fog/lib/fog/slicehost/{parsers/dns/slicehost → requests/dns}/get_record.rb +2 -2
  270. data/lib/brightbox-cli/vendor/fog/lib/fog/slicehost/{parsers/dns/slicehost → requests/dns}/get_records.rb +1 -1
  271. data/lib/brightbox-cli/vendor/fog/lib/fog/slicehost/{parsers/dns/slicehost → requests/dns}/get_zone.rb +0 -0
  272. data/lib/brightbox-cli/vendor/fog/lib/fog/slicehost/{parsers/dns/slicehost → requests/dns}/get_zones.rb +0 -0
  273. data/lib/brightbox-cli/vendor/fog/lib/fog/slicehost.rb +2 -2
  274. data/lib/brightbox-cli/vendor/fog/lib/fog/storm_on_demand.rb +1 -1
  275. data/lib/brightbox-cli/vendor/fog/lib/fog/vcloud.rb +1 -1
  276. data/lib/brightbox-cli/vendor/fog/lib/fog/virtual_box.rb +1 -1
  277. data/lib/brightbox-cli/vendor/fog/lib/fog/vmfusion/models/compute/servers.rb +6 -6
  278. data/lib/brightbox-cli/vendor/fog/lib/fog/vmfusion.rb +1 -1
  279. data/lib/brightbox-cli/vendor/fog/lib/fog/voxel.rb +1 -1
  280. data/lib/brightbox-cli/vendor/fog/lib/fog/vsphere/compute.rb +0 -2
  281. data/lib/brightbox-cli/vendor/fog/lib/fog/vsphere.rb +1 -1
  282. data/lib/brightbox-cli/vendor/fog/lib/fog/zerigo/dns.rb +14 -3
  283. data/lib/brightbox-cli/vendor/fog/lib/fog/zerigo/models/dns/record.rb +1 -1
  284. data/lib/brightbox-cli/vendor/fog/lib/fog/zerigo/models/dns/records.rb +5 -0
  285. data/lib/brightbox-cli/vendor/fog/lib/fog/zerigo/models/dns/zones.rb +2 -2
  286. data/lib/brightbox-cli/vendor/fog/lib/fog/zerigo/requests/dns/count_hosts.rb +20 -1
  287. data/lib/brightbox-cli/vendor/fog/lib/fog/zerigo/requests/dns/count_zones.rb +12 -1
  288. data/lib/brightbox-cli/vendor/fog/lib/fog/zerigo/requests/dns/create_host.rb +67 -1
  289. data/lib/brightbox-cli/vendor/fog/lib/fog/zerigo/requests/dns/create_zone.rb +44 -1
  290. data/lib/brightbox-cli/vendor/fog/lib/fog/zerigo/requests/dns/delete_host.rb +19 -0
  291. data/lib/brightbox-cli/vendor/fog/lib/fog/zerigo/requests/dns/delete_zone.rb +17 -0
  292. data/lib/brightbox-cli/vendor/fog/lib/fog/zerigo/requests/dns/find_hosts.rb +22 -1
  293. data/lib/brightbox-cli/vendor/fog/lib/fog/zerigo/requests/dns/get_host.rb +18 -1
  294. data/lib/brightbox-cli/vendor/fog/lib/fog/zerigo/requests/dns/get_zone.rb +19 -2
  295. data/lib/brightbox-cli/vendor/fog/lib/fog/zerigo/requests/dns/get_zone_stats.rb +23 -0
  296. data/lib/brightbox-cli/vendor/fog/lib/fog/zerigo/requests/dns/list_hosts.rb +20 -1
  297. data/lib/brightbox-cli/vendor/fog/lib/fog/zerigo/requests/dns/list_zones.rb +15 -0
  298. data/lib/brightbox-cli/vendor/fog/lib/fog/zerigo/requests/dns/update_host.rb +20 -1
  299. data/lib/brightbox-cli/vendor/fog/lib/fog/zerigo/requests/dns/update_zone.rb +20 -1
  300. data/lib/brightbox-cli/vendor/fog/lib/fog/zerigo.rb +1 -1
  301. data/lib/brightbox-cli/vendor/fog/lib/fog.rb +1 -1
  302. data/lib/brightbox-cli/vendor/fog/tests/aws/models/cloud_watch/alarm_data_tests.rb +40 -0
  303. data/lib/brightbox-cli/vendor/fog/tests/aws/models/cloud_watch/alarm_history_tests.rb +20 -0
  304. data/lib/brightbox-cli/vendor/fog/tests/aws/models/compute/server_tests.rb +2 -0
  305. data/lib/brightbox-cli/vendor/fog/tests/aws/models/elasticache/cluster_tests.rb +30 -0
  306. data/lib/brightbox-cli/vendor/fog/tests/aws/models/elasticache/parameter_groups_tests.rb +17 -0
  307. data/lib/brightbox-cli/vendor/fog/tests/aws/models/elasticache/security_groups_tests.rb +52 -0
  308. data/lib/brightbox-cli/vendor/fog/tests/aws/models/elb/model_tests.rb +2 -0
  309. data/lib/brightbox-cli/vendor/fog/tests/aws/requests/cloud_watch/list_metrics_test.rb +5 -5
  310. data/lib/brightbox-cli/vendor/fog/tests/aws/requests/compute/image_tests.rb +33 -2
  311. data/lib/brightbox-cli/vendor/fog/tests/aws/requests/compute/tag_tests.rb +40 -0
  312. data/lib/brightbox-cli/vendor/fog/tests/aws/requests/elasticache/cache_cluster_tests.rb +137 -0
  313. data/lib/brightbox-cli/vendor/fog/tests/aws/requests/elasticache/describe_events.rb +17 -0
  314. data/lib/brightbox-cli/vendor/fog/tests/aws/requests/elasticache/helper.rb +68 -0
  315. data/lib/brightbox-cli/vendor/fog/tests/aws/requests/elasticache/parameter_group_tests.rb +105 -0
  316. data/lib/brightbox-cli/vendor/fog/tests/aws/requests/elasticache/security_group_tests.rb +107 -0
  317. data/lib/brightbox-cli/vendor/fog/tests/aws/requests/iam/server_certificate_tests.rb +39 -18
  318. data/lib/brightbox-cli/vendor/fog/tests/aws/requests/simpledb/attributes_tests.rb +18 -18
  319. data/lib/brightbox-cli/vendor/fog/tests/aws/requests/simpledb/domain_tests.rb +7 -7
  320. data/lib/brightbox-cli/vendor/fog/tests/aws/requests/sqs/message_tests.rb +1 -7
  321. data/lib/brightbox-cli/vendor/fog/tests/aws/requests/sqs/queue_tests.rb +0 -5
  322. data/lib/brightbox-cli/vendor/fog/tests/brightbox/requests/compute/load_balancer_tests.rb +1 -0
  323. data/lib/brightbox-cli/vendor/fog/tests/compute/models/flavors_tests.rb +1 -1
  324. data/lib/brightbox-cli/vendor/fog/tests/core/attribute_tests.rb +29 -0
  325. data/lib/brightbox-cli/vendor/fog/tests/core/credential_tests.rb +2 -0
  326. data/lib/brightbox-cli/vendor/fog/tests/helper.rb +1 -1
  327. data/lib/brightbox-cli/vendor/fog/tests/helpers/collection_helper.rb +5 -0
  328. data/lib/brightbox-cli/vendor/fog/tests/helpers/compute/server_helper.rb +1 -0
  329. data/lib/brightbox-cli/vendor/fog/tests/helpers/formats_helper.rb +16 -8
  330. data/lib/brightbox-cli/vendor/fog/tests/helpers/formats_helper_tests.rb +8 -0
  331. data/lib/brightbox-cli/vendor/fog/tests/helpers/mock_helper.rb +6 -2
  332. data/lib/brightbox-cli/vendor/fog/tests/linode/requests/compute/linodeplans_tests.rb +2 -1
  333. data/lib/brightbox-cli/vendor/fog/tests/ninefold/requests/compute/helper.rb +14 -17
  334. data/lib/brightbox-cli/vendor/fog/tests/openstack/requests/compute/flavor_tests.rb +35 -0
  335. data/lib/brightbox-cli/vendor/fog/tests/openstack/requests/compute/helper.rb +17 -0
  336. data/lib/brightbox-cli/vendor/fog/tests/openstack/requests/compute/image_tests.rb +59 -0
  337. data/lib/brightbox-cli/vendor/fog/tests/openstack/requests/compute/server_tests.rb +142 -0
  338. data/lib/brightbox-cli/vendor/fog/tests/rackspace/requests/dns/dns_tests.rb +21 -21
  339. data/lib/brightbox-cli/vendor/fog/tests/rackspace/requests/dns/helper.rb +17 -9
  340. data/lib/brightbox-cli/vendor/fog/tests/rackspace/requests/dns/records_tests.rb +16 -16
  341. data/lib/brightbox-cli/vendor/fog/tests/rackspace/requests/{access_list_tests.rb → load_balancers/access_list_tests.rb} +0 -0
  342. data/lib/brightbox-cli/vendor/fog/tests/rackspace/requests/{algorithm_tests.rb → load_balancers/algorithm_tests.rb} +0 -0
  343. data/lib/brightbox-cli/vendor/fog/tests/rackspace/requests/{connection_logging_tests.rb → load_balancers/connection_logging_tests.rb} +0 -0
  344. data/lib/brightbox-cli/vendor/fog/tests/rackspace/requests/{connection_throttling_tests.rb → load_balancers/connection_throttling_tests.rb} +0 -0
  345. data/lib/brightbox-cli/vendor/fog/tests/rackspace/requests/{helper.rb → load_balancers/helper.rb} +12 -1
  346. data/lib/brightbox-cli/vendor/fog/tests/rackspace/requests/{load_balancer_tests.rb → load_balancers/load_balancer_tests.rb} +1 -1
  347. data/lib/brightbox-cli/vendor/fog/tests/rackspace/requests/{load_balancer_usage_tests.rb → load_balancers/load_balancer_usage_tests.rb} +0 -0
  348. data/lib/brightbox-cli/vendor/fog/tests/rackspace/requests/{monitor_tests.rb → load_balancers/monitor_tests.rb} +0 -0
  349. data/lib/brightbox-cli/vendor/fog/tests/rackspace/requests/{node_tests.rb → load_balancers/node_tests.rb} +0 -0
  350. data/lib/brightbox-cli/vendor/fog/tests/rackspace/requests/{protocol_tests.rb → load_balancers/protocol_tests.rb} +0 -0
  351. data/lib/brightbox-cli/vendor/fog/tests/rackspace/requests/{session_persistence_tests.rb → load_balancers/session_persistence_tests.rb} +0 -0
  352. data/lib/brightbox-cli/vendor/fog/tests/rackspace/requests/{usage_tests.rb → load_balancers/usage_tests.rb} +0 -0
  353. data/lib/brightbox-cli/vendor/fog/tests/rackspace/requests/{virtual_ip_tests.rb → load_balancers/virtual_ip_tests.rb} +2 -2
  354. data/lib/brightbox-cli/vendor/fog/tests/vsphere/requests/compute/vm_clone_tests.rb +2 -1
  355. data/lib/brightbox-cli/version.rb +1 -1
  356. data/lib/brightbox_cli.rb +16 -10
  357. data/spec/cloud_ips_spec.rb +17 -0
  358. data/spec/firewall_policy_spec.rb +78 -0
  359. data/spec/firewall_rule_spec.rb +74 -0
  360. data/spec/fixtures/vcr_cassettes/apply_firewall_policy.yml +137 -0
  361. data/spec/fixtures/vcr_cassettes/create_firewall_policy.yml +104 -0
  362. data/spec/fixtures/vcr_cassettes/destroy_firewall_policy.yml +137 -0
  363. data/spec/fixtures/vcr_cassettes/firewall_rule.yml +36 -0
  364. data/spec/fixtures/vcr_cassettes/firewall_rule_create.yml +36 -0
  365. data/spec/fixtures/vcr_cassettes/firewall_rule_destroy.yml +69 -0
  366. data/spec/fixtures/vcr_cassettes/firewall_rule_list.yml +36 -0
  367. data/spec/fixtures/vcr_cassettes/firewall_rule_show.yml +36 -0
  368. data/spec/fixtures/vcr_cassettes/list_cloud_ip.yml +36 -0
  369. data/spec/fixtures/vcr_cassettes/list_firewall_policy.yml +36 -0
  370. data/spec/fixtures/vcr_cassettes/list_server_groups.yml +36 -0
  371. data/spec/fixtures/vcr_cassettes/server_destroy.yml +71 -0
  372. data/spec/fixtures/vcr_cassettes/server_show.yml +141 -0
  373. data/spec/fixtures/vcr_cassettes/server_shutdown.yml +104 -0
  374. data/spec/fixtures/vcr_cassettes/server_start.yml +137 -0
  375. data/spec/fixtures/vcr_cassettes/server_stop.yml +104 -0
  376. data/spec/fixtures/vcr_cassettes/show_firewall_policy.yml +36 -0
  377. data/spec/server_group_spec.rb +15 -0
  378. data/spec/servers_spec.rb +75 -0
  379. data/spec/spec_helper.rb +0 -3
  380. data/tools/bash_completion_script +269 -122
  381. metadata +224 -41
@@ -2,57 +2,57 @@ Shindo.tests('AWS::SimpleDB | attributes requests', ['aws']) do
2
2
 
3
3
  @domain_name = "fog_domain_#{Time.now.to_f.to_s.gsub('.','')}"
4
4
 
5
- Fog::AWS[:sdb].create_domain(@domain_name)
5
+ Fog::AWS[:simpledb].create_domain(@domain_name)
6
6
 
7
7
  tests('success') do
8
8
 
9
9
  tests("#batch_put_attributes('#{@domain_name}', { 'a' => { 'b' => 'c', 'd' => 'e' }, 'x' => { 'y' => 'z' } }).body").formats(AWS::SimpleDB::Formats::BASIC) do
10
- Fog::AWS[:sdb].batch_put_attributes(@domain_name, { 'a' => { 'b' => 'c', 'd' => 'e' }, 'x' => { 'y' => 'z' } }).body
10
+ Fog::AWS[:simpledb].batch_put_attributes(@domain_name, { 'a' => { 'b' => 'c', 'd' => 'e' }, 'x' => { 'y' => 'z' } }).body
11
11
  end
12
12
 
13
13
  tests("#get_attributes('#{@domain_name}', 'a', {'ConsistentRead' => true}).body['Attributes']").returns({'b' => ['c'], 'd' => ['e']}) do
14
- Fog::AWS[:sdb].get_attributes(@domain_name, 'a', {'ConsistentRead' => true}).body['Attributes']
14
+ Fog::AWS[:simpledb].get_attributes(@domain_name, 'a', {'ConsistentRead' => true}).body['Attributes']
15
15
  end
16
16
 
17
17
  tests("#get_attributes('#{@domain_name}', 'AttributeName' => 'notanattribute')").succeeds do
18
- Fog::AWS[:sdb].get_attributes(@domain_name, 'AttributeName' => 'notanattribute')
18
+ Fog::AWS[:simpledb].get_attributes(@domain_name, 'AttributeName' => 'notanattribute')
19
19
  end
20
20
 
21
21
  tests("#select('select * from #{@domain_name}', {'ConsistentRead' => true}).body['Items']").returns({'a' => { 'b' => ['c'], 'd' => ['e']}, 'x' => { 'y' => ['z'] } }) do
22
22
  pending if Fog.mocking?
23
- Fog::AWS[:sdb].select("select * from #{@domain_name}", {'ConsistentRead' => true}).body['Items']
23
+ Fog::AWS[:simpledb].select("select * from #{@domain_name}", {'ConsistentRead' => true}).body['Items']
24
24
  end
25
25
 
26
26
  tests("#put_attributes('#{@domain_name}', 'conditional', { 'version' => '1' }).body").formats(AWS::SimpleDB::Formats::BASIC) do
27
- Fog::AWS[:sdb].put_attributes(@domain_name, 'conditional', { 'version' => '1' }).body
27
+ Fog::AWS[:simpledb].put_attributes(@domain_name, 'conditional', { 'version' => '1' }).body
28
28
  end
29
29
 
30
30
  tests("#put_attributes('#{@domain_name}', 'conditional', { 'version' => '2' }, :expect => { 'version' => '1' }, :replace => ['version']).body").formats(AWS::SimpleDB::Formats::BASIC) do
31
- Fog::AWS[:sdb].put_attributes(@domain_name, 'conditional', { 'version' => '2' }, :expect => { 'version' => '1' }, :replace => ['version']).body
31
+ Fog::AWS[:simpledb].put_attributes(@domain_name, 'conditional', { 'version' => '2' }, :expect => { 'version' => '1' }, :replace => ['version']).body
32
32
  end
33
33
 
34
34
  # Verify that we can delete individual attributes.
35
35
  tests("#delete_attributes('#{@domain_name}', 'a', {'d' => []})").succeeds do
36
- Fog::AWS[:sdb].delete_attributes(@domain_name, 'a', {'d' => []}).body
36
+ Fog::AWS[:simpledb].delete_attributes(@domain_name, 'a', {'d' => []}).body
37
37
  end
38
38
 
39
39
  # Verify that individually deleted attributes are actually removed.
40
40
  tests("#get_attributes('#{@domain_name}', 'a', {'AttributeName' => ['d'], 'ConsistentRead' => true}).body['Attributes']").returns({}) do
41
- Fog::AWS[:sdb].get_attributes(@domain_name, 'a', {'AttributeName' => ['d'], 'ConsistentRead' => true}).body['Attributes']
41
+ Fog::AWS[:simpledb].get_attributes(@domain_name, 'a', {'AttributeName' => ['d'], 'ConsistentRead' => true}).body['Attributes']
42
42
  end
43
43
 
44
44
  tests("#delete_attributes('#{@domain_name}', 'a').body").formats(AWS::SimpleDB::Formats::BASIC) do
45
- Fog::AWS[:sdb].delete_attributes(@domain_name, 'a').body
45
+ Fog::AWS[:simpledb].delete_attributes(@domain_name, 'a').body
46
46
  end
47
47
 
48
48
  # Verify that we can delete entire domain, item combinations.
49
49
  tests("#delete_attributes('#{@domain_name}', 'a').body").succeeds do
50
- Fog::AWS[:sdb].delete_attributes(@domain_name, 'a').body
50
+ Fog::AWS[:simpledb].delete_attributes(@domain_name, 'a').body
51
51
  end
52
52
 
53
53
  # Verify that deleting a domain, item combination removes all related attributes.
54
54
  tests("#get_attributes('#{@domain_name}', 'a', {'ConsistentRead' => true}).body['Attributes']").returns({}) do
55
- Fog::AWS[:sdb].get_attributes(@domain_name, 'a', {'ConsistentRead' => true}).body['Attributes']
55
+ Fog::AWS[:simpledb].get_attributes(@domain_name, 'a', {'ConsistentRead' => true}).body['Attributes']
56
56
  end
57
57
 
58
58
  end
@@ -60,27 +60,27 @@ Shindo.tests('AWS::SimpleDB | attributes requests', ['aws']) do
60
60
  tests('failure') do
61
61
 
62
62
  tests("#batch_put_attributes('notadomain', { 'a' => { 'b' => 'c' }, 'x' => { 'y' => 'z' } })").raises(Excon::Errors::BadRequest) do
63
- Fog::AWS[:sdb].batch_put_attributes('notadomain', { 'a' => { 'b' => 'c' }, 'x' => { 'y' => 'z' } })
63
+ Fog::AWS[:simpledb].batch_put_attributes('notadomain', { 'a' => { 'b' => 'c' }, 'x' => { 'y' => 'z' } })
64
64
  end
65
65
 
66
66
  tests("#get_attributes('notadomain', 'a')").raises(Excon::Errors::BadRequest) do
67
- Fog::AWS[:sdb].get_attributes('notadomain', 'a')
67
+ Fog::AWS[:simpledb].get_attributes('notadomain', 'a')
68
68
  end
69
69
 
70
70
  tests("#put_attributes('notadomain', 'conditional', { 'version' => '1' })").raises(Excon::Errors::BadRequest) do
71
- Fog::AWS[:sdb].put_attributes('notadomain', 'foo', { 'version' => '1' })
71
+ Fog::AWS[:simpledb].put_attributes('notadomain', 'foo', { 'version' => '1' })
72
72
  end
73
73
 
74
74
  tests("#put_attributes('#{@domain_name}', 'conditional', { 'version' => '2' }, :expect => { 'version' => '1' }, :replace => ['version'])").raises(Excon::Errors::Conflict) do
75
- Fog::AWS[:sdb].put_attributes(@domain_name, 'conditional', { 'version' => '2' }, :expect => { 'version' => '1' }, :replace => ['version'])
75
+ Fog::AWS[:simpledb].put_attributes(@domain_name, 'conditional', { 'version' => '2' }, :expect => { 'version' => '1' }, :replace => ['version'])
76
76
  end
77
77
 
78
78
  tests("#delete_attributes('notadomain', 'a')").raises(Excon::Errors::BadRequest) do
79
- Fog::AWS[:sdb].delete_attributes('notadomain', 'a')
79
+ Fog::AWS[:simpledb].delete_attributes('notadomain', 'a')
80
80
  end
81
81
 
82
82
  end
83
83
 
84
- Fog::AWS[:sdb].delete_domain(@domain_name)
84
+ Fog::AWS[:simpledb].delete_domain(@domain_name)
85
85
 
86
86
  end
@@ -15,27 +15,27 @@ Shindo.tests('AWS::SimpleDB | domain requests', ['aws']) do
15
15
  tests('success') do
16
16
 
17
17
  tests("#create_domain(#{@domain_name})").formats(AWS::SimpleDB::Formats::BASIC) do
18
- Fog::AWS[:sdb].create_domain(@domain_name).body
18
+ Fog::AWS[:simpledb].create_domain(@domain_name).body
19
19
  end
20
20
 
21
21
  tests("#create_domain(#{@domain_name})").succeeds do
22
- Fog::AWS[:sdb].create_domain(@domain_name)
22
+ Fog::AWS[:simpledb].create_domain(@domain_name)
23
23
  end
24
24
 
25
25
  tests("#domain_metadata(#{@domain_name})").formats(@domain_metadata_format) do
26
- Fog::AWS[:sdb].domain_metadata(@domain_name).body
26
+ Fog::AWS[:simpledb].domain_metadata(@domain_name).body
27
27
  end
28
28
 
29
29
  tests("#list_domains").formats(AWS::SimpleDB::Formats::BASIC.merge('Domains' => [String])) do
30
- Fog::AWS[:sdb].list_domains.body
30
+ Fog::AWS[:simpledb].list_domains.body
31
31
  end
32
32
 
33
33
  tests("#delete_domain(#{@domain_name})").formats(AWS::SimpleDB::Formats::BASIC) do
34
- Fog::AWS[:sdb].delete_domain(@domain_name).body
34
+ Fog::AWS[:simpledb].delete_domain(@domain_name).body
35
35
  end
36
36
 
37
37
  tests("#delete_domain(#{@domain_name})").succeeds do
38
- Fog::AWS[:sdb].delete_domain(@domain_name)
38
+ Fog::AWS[:simpledb].delete_domain(@domain_name)
39
39
  end
40
40
 
41
41
  end
@@ -43,7 +43,7 @@ Shindo.tests('AWS::SimpleDB | domain requests', ['aws']) do
43
43
  tests('failure') do
44
44
 
45
45
  tests("#domain_metadata('notadomain')").raises(Excon::Errors::BadRequest) do
46
- Fog::AWS[:sdb].domain_metadata('notadomain')
46
+ Fog::AWS[:simpledb].domain_metadata('notadomain')
47
47
  end
48
48
 
49
49
  end
@@ -2,9 +2,7 @@ Shindo.tests('AWS::SQS | message requests', ['aws']) do
2
2
 
3
3
  tests('success') do
4
4
 
5
- unless Fog.mocking?
6
- @queue_url = Fog::AWS[:sqs].create_queue('fog_message_tests').body['QueueUrl']
7
- end
5
+ @queue_url = Fog::AWS[:sqs].create_queue('fog_message_tests').body['QueueUrl']
8
6
 
9
7
  send_message_format = AWS::SQS::Formats::BASIC.merge({
10
8
  'MessageId' => String,
@@ -12,7 +10,6 @@ Shindo.tests('AWS::SQS | message requests', ['aws']) do
12
10
  })
13
11
 
14
12
  tests("#send_message('#{@queue_url}', 'message')").formats(send_message_format) do
15
- pending if Fog.mocking?
16
13
  Fog::AWS[:sqs].send_message(@queue_url, 'message').body
17
14
  end
18
15
 
@@ -32,19 +29,16 @@ Shindo.tests('AWS::SQS | message requests', ['aws']) do
32
29
  })
33
30
 
34
31
  tests("#receive_message").formats(receive_message_format) do
35
- pending if Fog.mocking?
36
32
  data = Fog::AWS[:sqs].receive_message(@queue_url).body
37
33
  @receipt_handle = data['Message'].first['ReceiptHandle']
38
34
  data
39
35
  end
40
36
 
41
37
  tests("#change_message_visibility('#{@queue_url}, '#{@receipt_handle}', 60)").formats(AWS::SQS::Formats::BASIC) do
42
- pending if Fog.mocking?
43
38
  Fog::AWS[:sqs].change_message_visibility(@queue_url, @receipt_handle, 60).body
44
39
  end
45
40
 
46
41
  tests("#delete_message('#{@queue_url}', '#{@receipt_handle}')").formats(AWS::SQS::Formats::BASIC) do
47
- pending if Fog.mocking?
48
42
  Fog::AWS[:sqs].delete_message(@queue_url, @receipt_handle).body
49
43
  end
50
44
 
@@ -7,7 +7,6 @@ Shindo.tests('AWS::SQS | queue requests', ['aws']) do
7
7
  })
8
8
 
9
9
  tests("#create_queue('fog_queue_tests')").formats(create_queue_format) do
10
- pending if Fog.mocking?
11
10
  data = Fog::AWS[:sqs].create_queue('fog_queue_tests').body
12
11
  @queue_url = data['QueueUrl']
13
12
  data
@@ -18,12 +17,10 @@ Shindo.tests('AWS::SQS | queue requests', ['aws']) do
18
17
  })
19
18
 
20
19
  tests("#list_queues").formats(list_queues_format) do
21
- pending if Fog.mocking?
22
20
  Fog::AWS[:sqs].list_queues.body
23
21
  end
24
22
 
25
23
  tests("#set_queue_attributes('#{@queue_url}', 'VisibilityTimeout', 60)").formats(AWS::SQS::Formats::BASIC) do
26
- pending if Fog.mocking?
27
24
  Fog::AWS[:sqs].set_queue_attributes(@queue_url, 'VisibilityTimeout', 60).body
28
25
  end
29
26
 
@@ -41,12 +38,10 @@ Shindo.tests('AWS::SQS | queue requests', ['aws']) do
41
38
  })
42
39
 
43
40
  tests("#get_queue_attributes('#{@queue_url}', 'All')").formats(get_queue_attributes_format) do
44
- pending if Fog.mocking?
45
41
  Fog::AWS[:sqs].get_queue_attributes(@queue_url, 'All').body
46
42
  end
47
43
 
48
44
  tests("#delete_queue('#{@queue_url}')").formats(AWS::SQS::Formats::BASIC) do
49
- pending if Fog.mocking?
50
45
  Fog::AWS[:sqs].delete_queue(@queue_url).body
51
46
  end
52
47
 
@@ -34,6 +34,7 @@ Shindo.tests('Fog::Compute[:brightbox] | load balancer requests', ['brightbox'])
34
34
  end
35
35
 
36
36
  tests("#list_load_balancers()").formats(Brightbox::Compute::Formats::Collection::LOAD_BALANCERS) do
37
+ pending if Fog.mocking?
37
38
  Fog::Compute[:brightbox].list_load_balancers
38
39
  end
39
40
 
@@ -1,6 +1,6 @@
1
1
  for provider, config in compute_providers
2
2
 
3
- next if [:voxel].include?(provider)
3
+ next if [:glesys, :voxel].include?(provider)
4
4
 
5
5
  Shindo.tests("Fog::Compute[:#{provider}] | flavors", [provider]) do
6
6
 
@@ -1,6 +1,7 @@
1
1
  class FogAttributeTestModel < Fog::Model
2
2
  attribute :key, :aliases => 'keys', :squash => "id"
3
3
  attribute :time, :type => :time
4
+ attribute :bool, :type => :boolean
4
5
  end
5
6
 
6
7
  Shindo.tests('Fog::Attributes', 'core') do
@@ -51,4 +52,32 @@ Shindo.tests('Fog::Attributes', 'core') do
51
52
 
52
53
  end
53
54
 
55
+ tests(':type => :boolean') do
56
+ tests(':bool => "true"').returns(true) do
57
+ @model.merge_attributes(:bool => 'true')
58
+ @model.bool
59
+ end
60
+
61
+ tests(':bool => true').returns(true) do
62
+ @model.merge_attributes(:bool => true)
63
+ @model.bool
64
+ end
65
+
66
+ tests(':bool => "false"').returns(false) do
67
+ @model.merge_attributes(:bool => 'false')
68
+ @model.bool
69
+ end
70
+
71
+ tests(':bool => false').returns(false) do
72
+ @model.merge_attributes(:bool => false)
73
+ @model.bool
74
+ end
75
+
76
+ tests(':bool => "foo"').returns(nil) do
77
+ @model.merge_attributes(:bool => "foo")
78
+ @model.bool
79
+ end
80
+
81
+ end
82
+
54
83
  end
@@ -3,6 +3,7 @@ Shindo.tests do
3
3
  @old_home = ENV['HOME']
4
4
  @old_rc = ENV['FOG_RC']
5
5
  @old_credential = ENV['FOG_CREDENTIAL']
6
+ @old_credentials = Fog.credentials
6
7
  Fog.instance_variable_set('@credential_path', nil) # kill memoization
7
8
  Fog.instance_variable_set('@credential', nil) # kill memoization
8
9
  end
@@ -11,6 +12,7 @@ Shindo.tests do
11
12
  ENV['HOME'] = @old_home
12
13
  ENV['FOG_RC'] = @old_rc
13
14
  ENV['FOG_CREDENTIAL'] = @old_credential
15
+ Fog.credentials = @old_credentials
14
16
  end
15
17
 
16
18
  tests('credential') do
@@ -8,7 +8,7 @@ def lorem_file
8
8
  end
9
9
 
10
10
  # check to see which credentials are available and add others to the skipped tags list
11
- all_providers = ['aws', 'bluebox', 'brightbox', 'dnsimple', 'dnsmadeeasy', 'dynect', 'ecloud', 'glesys', 'gogrid', 'google', 'linode', 'local', 'ninefold', 'newservers', 'rackspace', 'slicehost', 'stormondemand', 'voxel', 'zerigo']
11
+ all_providers = ['aws', 'bluebox', 'brightbox', 'dnsimple', 'dnsmadeeasy', 'dynect', 'ecloud', 'glesys', 'gogrid', 'google', 'linode', 'local', 'ninefold', 'newservers', 'openstack', 'rackspace', 'slicehost', 'stormondemand', 'voxel', 'zerigo']
12
12
  available_providers = Fog.available_providers.map {|provider| provider.downcase}
13
13
  for provider in (all_providers - available_providers)
14
14
  Formatador.display_line("[yellow]Skipping tests for [bold]#{provider}[/] [yellow]due to lacking credentials (add some to '~/.fog' to run them)[/]")
@@ -12,6 +12,11 @@ def collection_tests(collection, params = {}, mocks_implemented = true)
12
12
  @instance = collection.create(params)
13
13
  end
14
14
 
15
+ # FIXME: work around for timing issue on AWS describe_instances mocks
16
+ if Fog.mocking? && @instance.respond_to?(:ready?)
17
+ @instance.wait_for { ready? }
18
+ end
19
+
15
20
  tests("#all").succeeds do
16
21
  pending if Fog.mocking? && !mocks_implemented
17
22
  collection.all
@@ -4,6 +4,7 @@ def server_tests(connection, params = {}, mocks_implemented = true)
4
4
 
5
5
  tests('#reload').returns(true) do
6
6
  pending if Fog.mocking? && !mocks_implemented
7
+ @instance.wait_for { ready? }
7
8
  identity = @instance.identity
8
9
  !identity.nil? && identity == @instance.reload.identity
9
10
  end
@@ -9,6 +9,8 @@ module Fog
9
9
  module String; end
10
10
  module Time; end
11
11
  module Float; end
12
+ module Hash; end
13
+ module Array; end
12
14
  end
13
15
  end
14
16
  [FalseClass, TrueClass].each {|klass| klass.send(:include, Fog::Boolean)}
@@ -17,21 +19,23 @@ end
17
19
  [NilClass, Time].each {|klass| klass.send(:include, Fog::Nullable::Time)}
18
20
  [Integer, NilClass].each {|klass| klass.send(:include, Fog::Nullable::Integer)}
19
21
  [Float, NilClass].each {|klass| klass.send(:include, Fog::Nullable::Float)}
22
+ [Hash, NilClass].each {|klass| klass.send(:include, Fog::Nullable::Hash)}
23
+ [Array, NilClass].each {|klass| klass.send(:include, Fog::Nullable::Array)}
20
24
 
21
25
  module Shindo
22
26
  class Tests
23
27
 
24
- def formats(format)
28
+ def formats(format, strict=true)
25
29
  raise ArgumentError, 'format is nil' unless format
26
30
 
27
31
  test('has proper format') do
28
- formats_kernel(instance_eval(&Proc.new), format)
32
+ formats_kernel(instance_eval(&Proc.new), format, true, strict)
29
33
  end
30
34
  end
31
35
 
32
36
  private
33
37
 
34
- def formats_kernel(original_data, original_format, original = true)
38
+ def formats_kernel(original_data, original_format, original = true, strict = true)
35
39
  valid = true
36
40
  data = original_data.dup
37
41
  format = original_format.dup
@@ -44,20 +48,20 @@ module Shindo
44
48
  format.delete(key)
45
49
  case value
46
50
  when Array
47
- valid &&= datum.is_a?(Array) || p("not Array: #{datum.inspect}")
51
+ valid &&= datum.is_a?(Array) || p("#{key.inspect} not Array: #{datum.inspect}")
48
52
  if datum.is_a?(Array) && !value.empty?
49
53
  for element in datum
50
54
  type = value.first
51
55
  if type.is_a?(Hash)
52
- valid &&= formats_kernel({:element => element}, {:element => type}, false)
56
+ valid &&= formats_kernel({:element => element}, {:element => type}, false, strict)
53
57
  else
54
58
  valid &&= element.is_a?(type)
55
59
  end
56
60
  end
57
61
  end
58
62
  when Hash
59
- valid &&= datum.is_a?(Hash) || p("not Hash: #{datum.inspect}")
60
- valid &&= formats_kernel(datum, value, false)
63
+ valid &&= datum.is_a?(Hash) || p("#{key.inspect} not Hash: #{datum.inspect}")
64
+ valid &&= formats_kernel(datum, value, false, strict)
61
65
  else
62
66
  p "#{key.inspect} not #{value.inspect}: #{datum.inspect}" unless datum.is_a?(value)
63
67
  valid &&= datum.is_a?(value)
@@ -65,7 +69,11 @@ module Shindo
65
69
  end
66
70
  p data unless data.empty?
67
71
  p format unless format.empty?
68
- valid &&= data.empty? && format.empty?
72
+ if strict
73
+ valid &&= data.empty? && format.empty?
74
+ else
75
+ valid &&= format.empty?
76
+ end
69
77
  if !valid && original
70
78
  @message = "#{original_data.inspect} does not match #{original_format.inspect}"
71
79
  end
@@ -20,6 +20,10 @@ Shindo.tests('test_helper', 'meta') do
20
20
  formats_kernel([{:a => :b}], [{:a => Symbol}])
21
21
  end
22
22
 
23
+ test('non strict extra data') do
24
+ formats_kernel({:a => :b, :b => :c}, {:a => Symbol}, true, false)
25
+ end
26
+
23
27
  end
24
28
 
25
29
  tests('returns false') do
@@ -36,6 +40,10 @@ Shindo.tests('test_helper', 'meta') do
36
40
  !formats_kernel({}, {:a => String})
37
41
  end
38
42
 
43
+ test('non strict extra data') do
44
+ !formats_kernel({:a => :b, :b => :c}, {:z => Symbol}, true, false)
45
+ end
46
+
39
47
  end
40
48
 
41
49
  end
@@ -8,7 +8,7 @@ end
8
8
 
9
9
  # if in mocked mode, fill in some fake credentials for us
10
10
  if Fog.mock?
11
- Fog.instance_variable_set(:@credentials, {
11
+ Fog.credentials = {
12
12
  :aws_access_key_id => 'aws_access_key_id',
13
13
  :aws_secret_access_key => 'aws_secret_access_key',
14
14
  :bluebox_api_key => 'bluebox_api_key',
@@ -38,6 +38,10 @@ if Fog.mock?
38
38
  :ninefold_storage_token => 'ninefold_storage_token',
39
39
  # :public_key_path => '~/.ssh/id_rsa.pub',
40
40
  # :private_key_path => '~/.ssh/id_rsa',
41
+ :openstack_api_key => 'openstack_api_key',
42
+ :openstack_username => 'openstack_username',
43
+ :openstack_tenant => 'openstack_tenant',
44
+ :openstack_auth_url => 'openstack_auth_url',
41
45
  :rackspace_api_key => 'rackspace_api_key',
42
46
  :rackspace_username => 'rackspace_username',
43
47
  :slicehost_password => 'slicehost_password',
@@ -57,5 +61,5 @@ if Fog.mock?
57
61
  :vsphere_username => 'apiuser',
58
62
  :vsphere_password => 'apipassword',
59
63
  :vsphere_expected_pubkey_hash => 'abcdef1234567890'
60
- })
64
+ }
61
65
  end
@@ -7,7 +7,8 @@ Shindo.tests('Fog::Compute[:linode] | linodeplans requests', ['linode']) do
7
7
  '3' => Integer,
8
8
  '4' => Integer,
9
9
  '6' => Integer,
10
- '7' => Integer
10
+ '7' => Integer,
11
+ '8' => Integer
11
12
  },
12
13
  'DISK' => Integer,
13
14
  'PLANID' => Integer,
@@ -37,9 +37,13 @@ class Ninefold
37
37
  "storagetype" => String,
38
38
  "offerha" => Fog::Boolean,
39
39
  "domainid" => Integer,
40
- "domain" => String
40
+ "domain" => String,
41
+ "issystem" => Fog::Boolean,
42
+ "limitcpuuse" => Fog::Boolean,
43
+ "defaultuse" => Fog::Boolean
44
+
41
45
  }
42
- #SERVICE_OFFERINGS = [Ninefold::Compute::Formats::Lists::SERVICE_OFFERING]
46
+ SERVICE_OFFERINGS = [Ninefold::Compute::Formats::Lists::SERVICE_OFFERING]
43
47
  ACCOUNTS = [{
44
48
  "id"=>Integer,
45
49
  "name"=>String,
@@ -95,19 +99,6 @@ class Ninefold
95
99
  "state"=>String,
96
100
  "parentid"=>Integer
97
101
  }]
98
- SERVICE_OFFERINGS = [{
99
- "id"=>Integer,
100
- "name"=>String,
101
- "displaytext"=>String,
102
- "cpunumber"=>Integer,
103
- "cpuspeed"=>Integer,
104
- "memory"=>Integer,
105
- "created"=>String,
106
- "storagetype"=>String,
107
- "offerha"=>Fog::Boolean,
108
- "domainid"=>Integer,
109
- "domain"=>String
110
- }]
111
102
  DISK_OFFERINGS = [{
112
103
  "id"=>Integer,
113
104
  "domainid"=>Integer,
@@ -129,6 +120,7 @@ class Ninefold
129
120
  }]
130
121
  ZONES = [{
131
122
  "allocationstate"=>String,
123
+ "dhcpprovider"=>String,
132
124
  "id"=>Integer,
133
125
  "name"=>String,
134
126
  "networktype"=>String,
@@ -266,8 +258,13 @@ class Ninefold
266
258
  "domain"=>String,
267
259
  "isdefault"=>Fog::Boolean,
268
260
  "service"=>Array,
269
- "networkdomain"=>String,
270
- "securitygroupenabled"=>Fog::Boolean
261
+ "networkdomain"=>Fog::Nullable::String,
262
+ "securitygroupenabled"=>Fog::Boolean,
263
+ "netmask"=>Fog::Nullable::String,
264
+ "startip"=>Fog::Nullable::String,
265
+ "endip"=>Fog::Nullable::String,
266
+ "gateway"=>Fog::Nullable::String,
267
+ "vlan"=>Fog::Nullable::String
271
268
  }]
272
269
  end
273
270
  module Addresses
@@ -0,0 +1,35 @@
1
+ Shindo.tests('Fog::Compute[:openstack] | flavor requests', ['openstack']) do
2
+
3
+ @flavor_format = {
4
+ 'id' => String,
5
+ 'name' => String,
6
+ 'disk' => Integer,
7
+ 'ram' => Integer,
8
+ 'links' => Array
9
+ }
10
+
11
+ tests('success') do
12
+
13
+ tests('#get_flavor_details(1)').formats(@flavor_format, false) do
14
+ Fog::Compute[:openstack].get_flavor_details("1").body['flavor']
15
+ end
16
+
17
+ tests('#list_flavors').formats({'flavors' => [OpenStack::Compute::Formats::SUMMARY]}) do
18
+ Fog::Compute[:openstack].list_flavors.body
19
+ end
20
+
21
+ tests('#list_flavors_detail').formats({'flavors' => [@flavor_format]}, false) do
22
+ Fog::Compute[:openstack].list_flavors_detail.body
23
+ end
24
+
25
+ end
26
+
27
+ tests('failure') do
28
+
29
+ tests('#get_flavor_details(0)').raises(Fog::Compute::OpenStack::NotFound) do
30
+ Fog::Compute[:openstack].get_flavor_details("0")
31
+ end
32
+
33
+ end
34
+
35
+ end
@@ -0,0 +1,17 @@
1
+ class OpenStack
2
+
3
+ module Compute
4
+
5
+ module Formats
6
+
7
+ SUMMARY = {
8
+ 'id' => String,
9
+ 'name' => String,
10
+ 'links' => Array
11
+ }
12
+
13
+ end
14
+
15
+ end
16
+
17
+ end
@@ -0,0 +1,59 @@
1
+ require 'fog/openstack'
2
+
3
+ Shindo.tests('Fog::Compute[:openstack] | image requests', ['openstack']) do
4
+
5
+ @image_format = {
6
+ 'created' => Fog::Nullable::String,
7
+ 'id' => String,
8
+ 'name' => String,
9
+ 'progress' => Fog::Nullable::Integer,
10
+ 'status' => String,
11
+ 'updated' => String,
12
+ 'minRam' => Integer,
13
+ 'minDisk' => Integer,
14
+ 'server' => Fog::Nullable::Hash,
15
+ 'metadata' => Hash,
16
+ 'links' => Array
17
+ }
18
+
19
+ tests('success') do
20
+
21
+ @image_id = Fog::Compute[:openstack].images[0].id
22
+
23
+ unless Fog.mocking?
24
+ Fog::Compute[:openstack].images.get(@image_id).wait_for { ready? }
25
+ end
26
+ tests("#get_image_details(#{@image_id})").formats(@image_format) do
27
+ pending if Fog.mocking?
28
+ Fog::Compute[:openstack].get_image_details(@image_id).body['image']
29
+ end
30
+
31
+ tests('#list_images').formats({'images' => [OpenStack::Compute::Formats::SUMMARY]}) do
32
+ Fog::Compute[:openstack].list_images.body
33
+ end
34
+
35
+ tests('#list_images_detail').formats({'images' => [@image_format]}) do
36
+ Fog::Compute[:openstack].list_images_detail.body
37
+ end
38
+
39
+ unless Fog.mocking?
40
+ Fog::Compute[:openstack].images.get(@image_id).wait_for { ready? }
41
+ end
42
+
43
+ end
44
+
45
+ tests('failure') do
46
+
47
+ tests('#delete_image(0)').raises(Fog::Compute::OpenStack::NotFound) do
48
+ pending if Fog.mocking?
49
+ Fog::Compute[:openstack].delete_image(0)
50
+ end
51
+
52
+ tests('#get_image_details(0)').raises(Fog::Compute::OpenStack::NotFound) do
53
+ pending if Fog.mocking?
54
+ Fog::Compute[:openstack].get_image_details(0)
55
+ end
56
+
57
+ end
58
+
59
+ end