brightbox-cli 0.14.1 → 0.15.0

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 (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
data/.gitignore CHANGED
@@ -3,3 +3,10 @@ local
3
3
  pkg/
4
4
  spec/brightbox/config
5
5
  spec/brightbox/cache/
6
+ .bundle/
7
+ .rbenv-version
8
+ .rbx/
9
+ *.patch
10
+ *.html
11
+ *.gem
12
+
@@ -0,0 +1,14 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ begin
4
+ require "brightbox_cli"
5
+ rescue LoadError
6
+ brightbox_cli_path = File.expand_path('../../lib', __FILE__)
7
+ $:.unshift(brightbox_cli_path)
8
+ require "brightbox_cli"
9
+ end
10
+
11
+ Brightbox::BBConfig.config do
12
+ include GLI
13
+ run ARGV
14
+ end
@@ -0,0 +1,14 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ begin
4
+ require "brightbox_cli"
5
+ rescue LoadError
6
+ brightbox_cli_path = File.expand_path('../../lib', __FILE__)
7
+ $:.unshift(brightbox_cli_path)
8
+ require "brightbox_cli"
9
+ end
10
+
11
+ Brightbox::BBConfig.config do
12
+ include GLI
13
+ run ARGV
14
+ end
@@ -0,0 +1,14 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ begin
4
+ require "brightbox_cli"
5
+ rescue LoadError
6
+ brightbox_cli_path = File.expand_path('../../lib', __FILE__)
7
+ $:.unshift(brightbox_cli_path)
8
+ require "brightbox_cli"
9
+ end
10
+
11
+ Brightbox::BBConfig.config do
12
+ include GLI
13
+ run ARGV
14
+ end
@@ -56,6 +56,7 @@ module Brightbox
56
56
  options = {
57
57
  :order => :created_at,
58
58
  }.merge options
59
+
59
60
  objects = nil
60
61
  object = nil
61
62
  # get the data from the Api
@@ -114,7 +115,7 @@ module Brightbox
114
115
  end
115
116
 
116
117
  def self.cached_get(id)
117
- @cache = {} if @cache.nil?
118
+ @cache ||= {}
118
119
  value = @cache[id]
119
120
  if value
120
121
  value
@@ -19,8 +19,8 @@ module Brightbox
19
19
 
20
20
  def attributes
21
21
  a = fog_model.attributes
22
- if a["load_balancer"]
23
- a[:destination] = a["load_balancer"]["id"]
22
+ if(lb_id = a[:load_balancer] || a["load_balancer"])
23
+ a[:destination] = lb_id
24
24
  else
25
25
  a[:destination] = a[:server_id]
26
26
  end
@@ -4,9 +4,12 @@ module Brightbox
4
4
  'brightbox-accounts',
5
5
  'brightbox-cloudips',
6
6
  'brightbox-config',
7
+ 'brightbox-groups',
7
8
  'brightbox-images',
8
9
  'brightbox-lbs',
9
10
  'brightbox-servers',
11
+ 'brightbox-firewall-policies',
12
+ 'brightbox-firewall-rules',
10
13
  'brightbox-types',
11
14
  'brightbox-users',
12
15
  'brightbox-zones'
@@ -5,7 +5,7 @@ module Brightbox
5
5
  c.desc "Set reverse DNS for this cloud ip"
6
6
  c.flag [:r, "reverse-dns"]
7
7
 
8
- c.desc "Delete the reverse dns for this cloud ip"
8
+ c.desc "Delete the reverse DNS for this cloud ip"
9
9
  c.switch ["delete-reverse-dns"]
10
10
 
11
11
  c.action do |global_options,options,args|
@@ -13,7 +13,7 @@ module Brightbox
13
13
  raise "You must specify the cloud ip id as the first argument" unless cip_id =~ /^cip-/
14
14
 
15
15
  if options[:r] && options[:r] != "" && options[:"delete-reverse-dns"]
16
- raise "You must either specify a reverse dns record or --delete-reverse-dns"
16
+ raise "You must either specify a reverse DNS record or --delete-reverse-dns"
17
17
  end
18
18
 
19
19
  cip = CloudIP.find cip_id
@@ -8,7 +8,7 @@ module Brightbox
8
8
 
9
9
  clients = CONFIG.clients.collect do |cid|
10
10
  c = CONFIG[cid]
11
- calias = c['alias']
11
+ calias = c['alias'] || cid
12
12
  calias = calias + "*" if CONFIG.client_name == cid and CONFIG.clients.size > 1
13
13
  {
14
14
  :alias => calias,
@@ -0,0 +1,31 @@
1
+ module Brightbox
2
+ desc 'Apply firewall policy to a server group'
3
+ arg_name 'firewall-policy-id server-group-id'
4
+
5
+ command [:apply] do |c|
6
+ c.action do |global_options, options,args|
7
+ if args.size != 2
8
+ raise "You must specify firewall_policy_id and server_group_id as arguments"
9
+ end
10
+
11
+ firewall_policy_id = args.shift
12
+ raise "Invalid firewall policy id" unless firewall_policy_id[/^fwp-/]
13
+ server_group_id = args.shift
14
+ raise "Invalid Server Group id" unless server_group_id[/^grp-/]
15
+
16
+ firewall_policy = FirewallPolicy.find(firewall_policy_id)
17
+
18
+ unless firewall_policy
19
+ raise "Could not find firewall policy with #{firewall_policy_id}"
20
+ end
21
+
22
+
23
+ server_group = ServerGroup.find(server_group_id)
24
+ unless server_group
25
+ raise "Can\'t find group with #{options[:g]}"
26
+ end
27
+ firewall_policy.apply_to(server_group.id)
28
+ render_table([firewall_policy],global_options)
29
+ end
30
+ end
31
+ end
@@ -0,0 +1,39 @@
1
+ module Brightbox
2
+ desc 'Create Firewall Policy'
3
+ arg_name '[server-group-id...]'
4
+ command [:create] do |c|
5
+ c.desc "Name of firewall policy"
6
+ c.flag [:n, :name]
7
+
8
+ c.desc "Description of firewall policy"
9
+ c.flag [:d, :description]
10
+
11
+ c.action do |global_options, options, args|
12
+ server_group_id = nil
13
+ server_group = nil
14
+
15
+ unless args.empty?
16
+ server_group_id = args.shift
17
+ end
18
+
19
+ if server_group_id && !server_group_id.empty?
20
+ server_group = ServerGroup.find(server_group_id)
21
+ end
22
+
23
+
24
+ name = options[:n]
25
+ description = options[:d]
26
+
27
+ firewall_options = {
28
+ :name => name, :description => description
29
+ }
30
+
31
+ if server_group
32
+ firewall_options.update(:server_group_id => server_group.id)
33
+ end
34
+
35
+ firewall_policy = FirewallPolicy.create(firewall_options)
36
+ render_table([firewall_policy], global_options)
37
+ end
38
+ end
39
+ end
@@ -0,0 +1,24 @@
1
+ module Brightbox
2
+ desc 'Destroy Firewall Policy'
3
+ arg_name '[firewall-policy-id...]'
4
+ command [:destroy] do |c|
5
+ c.action do |global_options, options, args|
6
+
7
+ raise "You must specify firewall-policy-id to destroy" if args.empty?
8
+
9
+ firewall_policies = FirewallPolicy.find_or_call(args) do |id|
10
+ raise "Couldn't find Firewall Policy #{id}"
11
+ end
12
+
13
+ firewall_policies.each do |firewall_policy|
14
+ info "Destroying firewall policy #{firewall_policy}"
15
+ begin
16
+ firewall_policy.destroy
17
+ rescue Brightbox::Api::Conflict => e
18
+ error "Could not destroy #{firewall_policy}"
19
+ end
20
+ end
21
+
22
+ end
23
+ end
24
+ end
@@ -0,0 +1,17 @@
1
+ module Brightbox
2
+ desc 'List Firewall Policies'
3
+ arg_name '[firewall-policy-id...]'
4
+ command [:list] do |c|
5
+ c.action do |global_options,options,args|
6
+
7
+ if args.empty?
8
+ firewall_policies = FirewallPolicy.find(:all)
9
+ else
10
+ firewall_policies = FirewallPolicy.find_or_call(args) do |id|
11
+ warn "Couldn't find firewall policy #{id}"
12
+ end
13
+ end
14
+ render_table(firewall_policies, global_options)
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,31 @@
1
+ module Brightbox
2
+ desc "Disassociate firewall policy from given server group"
3
+ arg_name 'firewall-policy-id server-group-id'
4
+
5
+ command [:remove] do |c|
6
+ c.action do |global_options, options,args|
7
+ if args.size != 2
8
+ raise "You must specify firewall_policy_id and server_group_id as arguments"
9
+ end
10
+
11
+ firewall_policy_id = args.shift
12
+ raise "Invalid firewall policy id" unless firewall_policy_id[/^fwp-/]
13
+ server_group_id = args.shift
14
+ raise "Invalid Server Group id" unless server_group_id[/^grp-/]
15
+
16
+ firewall_policy = FirewallPolicy.find(firewall_policy_id)
17
+
18
+ unless firewall_policy
19
+ raise "Could not find firewall policy with #{firewall_policy_id}"
20
+ end
21
+
22
+
23
+ server_group = ServerGroup.find(server_group_id)
24
+ unless server_group
25
+ raise "Can\'t find group with #{options[:g]}"
26
+ end
27
+ firewall_policy.remove(server_group.id)
28
+ render_table([firewall_policy],global_options)
29
+ end
30
+ end
31
+ end
@@ -0,0 +1,19 @@
1
+ module Brightbox
2
+ desc 'Show Firewall Policy'
3
+ arg_name 'firewall-policy-id'
4
+ command [:show] do |c|
5
+ c.action do |global_options, options, args|
6
+ raise "You must specify server groups to show" if args.empty?
7
+
8
+ policies = FirewallPolicy.find_or_call(args) do |id|
9
+ raise "Couldn't find Firewall Policy #{id}"
10
+ end
11
+
12
+ table_opts = global_options.update(:vertical => true,
13
+ :fields => [:id, :server_group, :default,:name, :description])
14
+
15
+ render_table(policies, table_opts)
16
+ end
17
+ end
18
+ end
19
+
@@ -0,0 +1,51 @@
1
+ module Brightbox
2
+ desc 'Create Firewall Rule'
3
+ arg_name '[firewall-policy-id...]'
4
+
5
+ command [:create] do |c|
6
+ c.desc "Protocol - [tcp/udp/icmp/Protocol numbers]"
7
+ c.flag [:p, :protocol]
8
+
9
+ c.desc "Source - IPv4/IPv6 address or range (CIDR notation), 'any' for combined IPv4/IPv6 wildcard, server group identifer, server identifier."
10
+ c.flag [:s, :source]
11
+
12
+ c.desc "Source Port"
13
+ c.flag [:t, :sport]
14
+
15
+ c.desc "Destination. IPv4/IPv6 address or range (CIDR notation), 'any' for combined IPv4/IPv6 wildcard, server group identifer, server identifier."
16
+ c.flag [:d, :destination]
17
+
18
+ c.desc "Destination Port"
19
+ c.flag [:e, :dport]
20
+
21
+ c.desc "Icmp Type name"
22
+ c.flag [:i, :icmptype]
23
+
24
+ c.action do |global_options, options, args|
25
+ if args && args.empty?
26
+ raise "You must specify the firewall_policy_id as the first argument"
27
+ end
28
+
29
+ firewall_policy_id = args.shift
30
+ raise "Invalid firewall policy id" unless firewall_policy_id[/^fwp-/]
31
+
32
+ firewall_policy = FirewallPolicy.find(firewall_policy_id)
33
+
34
+ unless firewall_policy
35
+ raise "Could not find firewall policy with #{firewall_policy_id}"
36
+ end
37
+
38
+ create_options = {}
39
+ create_options[:source_port] = options[:t] if options[:t]
40
+ create_options[:source] = options[:s] if options[:s]
41
+ create_options[:destination] = options[:d] if options[:d]
42
+ create_options[:destination_port] = options[:e] if options[:e]
43
+ create_options[:icmp_type_name] = options[:i] if options[:i]
44
+ create_options[:protocol] = options[:p]
45
+
46
+ create_options[:firewall_policy_id] = firewall_policy.id
47
+ firewall_rule = FirewallRule.create(create_options)
48
+ render_table([firewall_rule],global_options)
49
+ end
50
+ end
51
+ end
@@ -0,0 +1,24 @@
1
+ module Brightbox
2
+ desc 'Destroy Firewall Rule'
3
+ arg_name '[firewall-rule-id...]'
4
+ command [:destroy] do |c|
5
+ c.action do |global_options, options, args|
6
+
7
+ raise "You must specify firewall-rule-id to destroy" if args.empty?
8
+
9
+ firewall_rules = FirewallRule.find_or_call(args) do |id|
10
+ raise "Couldn't find Firewall Rule #{id}"
11
+ end
12
+
13
+ firewall_rules.each do |firewall_rule|
14
+ info "Destroying firewall rule #{firewall_rule}"
15
+ begin
16
+ firewall_rule.destroy
17
+ rescue Brightbox::Api::Conflict => e
18
+ error "Could not destroy #{firewall_rule}"
19
+ end
20
+ end
21
+
22
+ end
23
+ end
24
+ end
@@ -0,0 +1,19 @@
1
+ module Brightbox
2
+ desc 'List Firewall Rules'
3
+ arg_name '[firewall-policy-id...]'
4
+ command [:list] do |c|
5
+ c.action do |global_options,options,args|
6
+ if args.empty?
7
+ raise "You must specify the firewall policy id as the first argument"
8
+ end
9
+
10
+ firewall_policy_id = args.shift
11
+ raise "Invalid firewall policy id" unless firewall_policy_id =~ /^fwp-/
12
+
13
+ firewall_policy = FirewallPolicy.find_or_call([firewall_policy_id]) do |id|
14
+ raise "Couldn't find firewall policy #{id}"
15
+ end
16
+ render_table(FirewallRules.from_policy(firewall_policy.first), global_options)
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,22 @@
1
+ module Brightbox
2
+ desc 'Show Firewall Rule'
3
+ arg_name 'firewall-rule-id'
4
+ command [:show] do |c|
5
+ c.action do |global_options, options, args|
6
+ raise "You must specify server groups to show" if args.empty?
7
+
8
+ policies = FirewallRule.find_or_call(args) do |id|
9
+ raise "Couldn't find Firewall Rule #{id}"
10
+ end
11
+
12
+ display_options = { :fields => [
13
+ :id, :protocol,:source, :sport,:destination, :dport, :icmp_type, :firewall_policy
14
+ ],
15
+ :vertical => true
16
+ }
17
+ table_opts = global_options.update(display_options)
18
+ render_table(policies, table_opts)
19
+ end
20
+ end
21
+ end
22
+
@@ -0,0 +1,23 @@
1
+ module Brightbox
2
+ desc 'Add servers to a server group'
3
+ arg_name 'grp-id [srv-id...]'
4
+ command [:add_servers] do |c|
5
+
6
+ c.action do |global_options, options, args|
7
+ grp_id = args.shift
8
+ raise "You must specify the server group and the server ids to add" unless grp_id && grp_id[/^grp-/] && !args.empty?
9
+
10
+ sg = ServerGroup.find grp_id
11
+
12
+ servers = Server.find_or_call(args) do |id|
13
+ raise "Couldn't find server #{id}"
14
+ end
15
+
16
+ info "Adding #{servers.size} servers to server group #{sg}"
17
+ sg.add_servers servers
18
+ sg.reload
19
+ render_table([sg], global_options)
20
+ end
21
+
22
+ end
23
+ end
@@ -0,0 +1,22 @@
1
+ module Brightbox
2
+ desc 'Create a server group'
3
+ command [:create] do |c|
4
+ c.desc "Name of Server Group"
5
+ c.flag [:n, :name]
6
+
7
+ c.desc "Server group description"
8
+ c.flag [:d, :description]
9
+
10
+ c.action do |global_options, options, args|
11
+ params = {}
12
+
13
+ params[:name] = options[:n] if options[:n]
14
+ params[:description] = options[:d] if options[:d]
15
+
16
+ info "Creating a new server group"
17
+ sg = ServerGroup.create(params)
18
+ render_table([sg], global_options)
19
+ end
20
+
21
+ end
22
+ end
@@ -0,0 +1,23 @@
1
+ module Brightbox
2
+ desc 'Destroy server groups'
3
+ arg_name 'grp-id...'
4
+
5
+ # todo: add option to remove all servers from group before destroying
6
+
7
+ command [:destroy] do |c|
8
+
9
+ c.action do |global_options, options, args|
10
+ raise "You must specify the server groups to destroy" if args.empty?
11
+
12
+ sgs = ServerGroup.find_or_call(args) do |id|
13
+ raise "Couldn't find server group #{id}"
14
+ end
15
+
16
+ sgs.each do |sg|
17
+ info "Destroying server group #{sg}"
18
+ sg.destroy
19
+ end
20
+ end
21
+
22
+ end
23
+ end
@@ -0,0 +1,16 @@
1
+ module Brightbox
2
+ desc 'List server groups'
3
+ command [:list] do |c|
4
+ c.action do |global_options,options,args|
5
+
6
+ if args.empty?
7
+ server_groups = ServerGroup.find(:all)
8
+ else
9
+ server_groups = ServerGroup.find_or_call(args) do |id|
10
+ warn "Couldn't find server group #{id}"
11
+ end
12
+ end
13
+ render_table(server_groups, global_options)
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,39 @@
1
+ module Brightbox
2
+ desc 'Move servers from one server group to another'
3
+ arg_name 'srv-id ...'
4
+ command [:move_servers] do |c|
5
+ c.desc "Source Server Group"
6
+ c.flag [:f, :from]
7
+
8
+ c.desc "Target Server Group"
9
+ c.flag [:t, :to]
10
+
11
+
12
+ c.action do |global_options, options, args|
13
+ unless args && !args.empty?
14
+ raise "You must specify server ids to move"
15
+ end
16
+
17
+ source_id = options[:f]
18
+ destination_id = options[:t]
19
+
20
+ unless source_id && source_id[/^grp-/] && destination_id && destination_id[/^grp-/]
21
+ raise "You must specify the source server group and destination server group"
22
+ end
23
+
24
+ source_group = ServerGroup.find source_id
25
+ destination_group = ServerGroup.find destination_id
26
+
27
+ servers = Server.find_or_call(args) do |id|
28
+ raise "Couldn't find server #{id}"
29
+ end
30
+
31
+ info "Moving #{servers.size} servers from server group #{source_group} to server group #{destination_group}"
32
+ source_group.move_servers servers, destination_group
33
+ source_group.reload
34
+ destination_group.reload
35
+ render_table([source_group, destination_group], global_options)
36
+ end
37
+
38
+ end
39
+ end
@@ -0,0 +1,35 @@
1
+ module Brightbox
2
+ desc 'Remove servers from a server group'
3
+ arg_name 'grp-id [srv-id...]'
4
+ command [:remove_servers] do |c|
5
+
6
+ c.desc "Remove all servers from group"
7
+ c.switch [:a, :all]
8
+
9
+ c.action do |global_options, options, args|
10
+ grp_id = args.shift
11
+ raise "You must specify the server group and the server ids to remove" unless grp_id && grp_id[/^grp-/] && (!args.empty? || options[:a])
12
+
13
+ sg = ServerGroup.find grp_id
14
+
15
+ servers = if options[:a]
16
+ sg.server_ids
17
+ else
18
+ Server.find_or_call(args) do |id|
19
+ raise "Couldn't find server #{id}"
20
+ end
21
+ end
22
+
23
+ if servers.empty?
24
+ info "Server group #{sg} already contains zero servers"
25
+ else
26
+ info "Removing#{" all" if options[:a]} #{servers.size} servers from server group #{sg}"
27
+ sg.remove_servers servers
28
+ end
29
+
30
+ sg.reload
31
+ render_table([sg], global_options)
32
+ end
33
+
34
+ end
35
+ end
@@ -0,0 +1,14 @@
1
+ module Brightbox
2
+ desc 'Show detailed server group info'
3
+ arg_name '[grp-id..]'
4
+ command [:show] do |c|
5
+ c.action do |global_options, options, args|
6
+ raise "You must specify server groups to show" if args.empty?
7
+
8
+ sgs = DetailedServerGroup.find_or_call(args) do |id|
9
+ raise "Couldn't find server group #{id}"
10
+ end
11
+ render_table(sgs, :vertical => true)
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,38 @@
1
+ module Brightbox
2
+ desc 'Update a server group'
3
+ arg_name 'grp-id'
4
+ # arg_name 'grp-id [srv-ids...]'
5
+ command [:update] do |c|
6
+
7
+ c.desc "Friendly name of server group"
8
+ c.flag [:n, :name]
9
+
10
+ c.desc "Server group description"
11
+ c.flag [:d, :description]
12
+
13
+ c.action do |global_options, options, args|
14
+ grp_id = args.shift
15
+ raise "You must specify the server group to update as the first argument" unless grp_id =~ /^grp-/
16
+
17
+ params = {}
18
+
19
+ # unless args.empty?
20
+ # params[:servers] = args.collect { |a| { :server => a } }
21
+ # end
22
+
23
+ if options[:n]
24
+ params[:name] = options[:n]
25
+ end
26
+
27
+ if options[:d]
28
+ params[:description] = options[:d]
29
+ end
30
+
31
+ sg = ServerGroup.find grp_id
32
+ info "Updating server group #{sg}"
33
+ sg = sg.update(params)
34
+ render_table([sg], global_options)
35
+ end
36
+
37
+ end
38
+ end
@@ -5,6 +5,9 @@ module Brightbox
5
5
  c.desc "Name to give the image"
6
6
  c.flag [:n, "name"]
7
7
 
8
+ c.desc "Image Username"
9
+ c.flag [:u, "username"]
10
+
8
11
  c.desc "Archtecture of the image (i686 or x86_64)"
9
12
  c.flag [:a, "arch"]
10
13
 
@@ -41,9 +44,14 @@ module Brightbox
41
44
  public_flag = false
42
45
  end
43
46
 
44
- image = Image.register :name => options[:n], :arch => options[:a],
45
- :source => options[:s], :compatibility_mode => compatibility_flag,
46
- :description => options[:d], :public => public_flag
47
+ image_options = {
48
+ :name => options[:n], :arch => options[:a],
49
+ :username => options[:u], :source => options[:s],
50
+ :compatibility_mode => compatibility_flag,
51
+ :description => options[:d], :public => public_flag
52
+ }
53
+
54
+ image = Image.register(image_options)
47
55
 
48
56
  render_table([image])
49
57