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.
- data/.gitignore +7 -0
- data/bin/brightbox-firewall-policies +14 -0
- data/bin/brightbox-firewall-rules +14 -0
- data/bin/brightbox-groups +14 -0
- data/lib/brightbox-cli/api.rb +2 -1
- data/lib/brightbox-cli/cloud_ips.rb +2 -2
- data/lib/brightbox-cli/command_generator.rb +3 -0
- data/lib/brightbox-cli/commands/cloudips-update.rb +2 -2
- data/lib/brightbox-cli/commands/config-client-list.rb +1 -1
- data/lib/brightbox-cli/commands/firewall-policies-apply.rb +31 -0
- data/lib/brightbox-cli/commands/firewall-policies-create.rb +39 -0
- data/lib/brightbox-cli/commands/firewall-policies-destroy.rb +24 -0
- data/lib/brightbox-cli/commands/firewall-policies-list.rb +17 -0
- data/lib/brightbox-cli/commands/firewall-policies-remove.rb +31 -0
- data/lib/brightbox-cli/commands/firewall-policies-show.rb +19 -0
- data/lib/brightbox-cli/commands/firewall-rules-create.rb +51 -0
- data/lib/brightbox-cli/commands/firewall-rules-destroy.rb +24 -0
- data/lib/brightbox-cli/commands/firewall-rules-list.rb +19 -0
- data/lib/brightbox-cli/commands/firewall-rules-show.rb +22 -0
- data/lib/brightbox-cli/commands/groups-add-server.rb +23 -0
- data/lib/brightbox-cli/commands/groups-create.rb +22 -0
- data/lib/brightbox-cli/commands/groups-destroy.rb +23 -0
- data/lib/brightbox-cli/commands/groups-list.rb +16 -0
- data/lib/brightbox-cli/commands/groups-move_servers.rb +39 -0
- data/lib/brightbox-cli/commands/groups-remove-servers.rb +35 -0
- data/lib/brightbox-cli/commands/groups-show.rb +14 -0
- data/lib/brightbox-cli/commands/groups-update.rb +38 -0
- data/lib/brightbox-cli/commands/images-register.rb +11 -3
- data/lib/brightbox-cli/commands/images-update.rb +4 -0
- data/lib/brightbox-cli/commands/servers-create.rb +19 -8
- data/lib/brightbox-cli/commands/servers-list.rb +0 -3
- data/lib/brightbox-cli/commands/servers-show.rb +3 -39
- data/lib/brightbox-cli/commands/servers-stop.rb +1 -1
- data/lib/brightbox-cli/detailed_server.rb +43 -0
- data/lib/brightbox-cli/detailed_server_group.rb +13 -0
- data/lib/brightbox-cli/firewall_policy.rb +32 -0
- data/lib/brightbox-cli/firewall_rule.rb +39 -0
- data/lib/brightbox-cli/firewall_rules.rb +26 -0
- data/lib/brightbox-cli/images.rb +2 -1
- data/lib/brightbox-cli/server_groups.rb +64 -0
- data/lib/brightbox-cli/servers.rb +5 -13
- data/lib/brightbox-cli/vendor/fog/Rakefile +17 -2
- data/lib/brightbox-cli/vendor/fog/changelog.txt +434 -0
- data/lib/brightbox-cli/vendor/fog/docs/_layouts/default.html +12 -12
- data/lib/brightbox-cli/vendor/fog/docs/about/getting_started.markdown +2 -2
- data/lib/brightbox-cli/vendor/fog/docs/dns/index.markdown +3 -3
- data/lib/brightbox-cli/vendor/fog/docs/index.markdown +1 -1
- data/lib/brightbox-cli/vendor/fog/docs/public/css/fog.css +14 -1
- data/lib/brightbox-cli/vendor/fog/docs/public/images/engineyard.png +0 -0
- data/lib/brightbox-cli/vendor/fog/docs/public/images/fog.png +0 -0
- data/lib/brightbox-cli/vendor/fog/fog.gemspec +4 -4
- data/lib/brightbox-cli/vendor/fog/lib/fog/aws/cloud_watch.rb +14 -0
- data/lib/brightbox-cli/vendor/fog/lib/fog/aws/compute.rb +50 -19
- data/lib/brightbox-cli/vendor/fog/lib/fog/aws/elasticache.rb +127 -0
- data/lib/brightbox-cli/vendor/fog/lib/fog/aws/models/cloud_watch/alarm.rb +12 -0
- data/lib/brightbox-cli/vendor/fog/lib/fog/aws/models/cloud_watch/alarm_data.rb +39 -0
- data/lib/brightbox-cli/vendor/fog/lib/fog/aws/models/cloud_watch/alarm_datum.rb +66 -0
- data/lib/brightbox-cli/vendor/fog/lib/fog/aws/models/cloud_watch/alarm_histories.rb +18 -0
- data/lib/brightbox-cli/vendor/fog/lib/fog/aws/models/cloud_watch/alarm_history.rb +16 -0
- data/lib/brightbox-cli/vendor/fog/lib/fog/aws/models/cloud_watch/alarms.rb +30 -0
- data/lib/brightbox-cli/vendor/fog/lib/fog/aws/models/compute/servers.rb +1 -1
- data/lib/brightbox-cli/vendor/fog/lib/fog/aws/models/elasticache/cluster.rb +69 -0
- data/lib/brightbox-cli/vendor/fog/lib/fog/aws/models/elasticache/clusters.rb +31 -0
- data/lib/brightbox-cli/vendor/fog/lib/fog/aws/models/elasticache/parameter_group.rb +32 -0
- data/lib/brightbox-cli/vendor/fog/lib/fog/aws/models/elasticache/parameter_groups.rb +30 -0
- data/lib/brightbox-cli/vendor/fog/lib/fog/aws/models/elasticache/security_group.rb +52 -0
- data/lib/brightbox-cli/vendor/fog/lib/fog/aws/models/elasticache/security_groups.rb +30 -0
- data/lib/brightbox-cli/vendor/fog/lib/fog/aws/parsers/cloud_watch/delete_alarms.rb +26 -0
- data/lib/brightbox-cli/vendor/fog/lib/fog/aws/parsers/cloud_watch/describe_alarm_history.rb +40 -0
- data/lib/brightbox-cli/vendor/fog/lib/fog/aws/parsers/cloud_watch/describe_alarms.rb +73 -0
- data/lib/brightbox-cli/vendor/fog/lib/fog/aws/parsers/cloud_watch/describe_alarms_for_metric.rb +71 -0
- data/lib/brightbox-cli/vendor/fog/lib/fog/aws/parsers/cloud_watch/disable_alarm_actions.rb +26 -0
- data/lib/brightbox-cli/vendor/fog/lib/fog/aws/parsers/cloud_watch/enable_alarm_actions.rb +26 -0
- data/lib/brightbox-cli/vendor/fog/lib/fog/aws/parsers/cloud_watch/get_metric_statistics.rb +1 -0
- data/lib/brightbox-cli/vendor/fog/lib/fog/aws/parsers/cloud_watch/put_metric_alarm.rb +26 -0
- data/lib/brightbox-cli/vendor/fog/lib/fog/aws/parsers/cloud_watch/set_alarm_state.rb +26 -0
- data/lib/brightbox-cli/vendor/fog/lib/fog/aws/parsers/compute/spot_instance_requests.rb +2 -2
- data/lib/brightbox-cli/vendor/fog/lib/fog/aws/parsers/{aws → dns}/change_resource_record_sets.rb +0 -0
- data/lib/brightbox-cli/vendor/fog/lib/fog/aws/parsers/{aws → dns}/create_hosted_zone.rb +0 -0
- data/lib/brightbox-cli/vendor/fog/lib/fog/aws/parsers/{aws → dns}/delete_hosted_zone.rb +0 -0
- data/lib/brightbox-cli/vendor/fog/lib/fog/aws/parsers/{aws → dns}/get_change.rb +0 -0
- data/lib/brightbox-cli/vendor/fog/lib/fog/aws/parsers/{aws → dns}/get_hosted_zone.rb +0 -0
- data/lib/brightbox-cli/vendor/fog/lib/fog/aws/parsers/{aws → dns}/list_hosted_zones.rb +0 -0
- data/lib/brightbox-cli/vendor/fog/lib/fog/aws/parsers/{aws → dns}/list_resource_record_sets.rb +0 -0
- data/lib/brightbox-cli/vendor/fog/lib/fog/aws/parsers/elasticache/authorize_cache_security_group_ingress.rb +26 -0
- data/lib/brightbox-cli/vendor/fog/lib/fog/aws/parsers/elasticache/base.rb +34 -0
- data/lib/brightbox-cli/vendor/fog/lib/fog/aws/parsers/elasticache/cache_cluster_parser.rb +79 -0
- data/lib/brightbox-cli/vendor/fog/lib/fog/aws/parsers/elasticache/describe_cache_clusters.rb +27 -0
- data/lib/brightbox-cli/vendor/fog/lib/fog/aws/parsers/elasticache/describe_cache_parameters.rb +22 -0
- data/lib/brightbox-cli/vendor/fog/lib/fog/aws/parsers/elasticache/describe_engine_default_parameters.rb +22 -0
- data/lib/brightbox-cli/vendor/fog/lib/fog/aws/parsers/elasticache/describe_parameter_groups.rb +27 -0
- data/lib/brightbox-cli/vendor/fog/lib/fog/aws/parsers/elasticache/describe_security_groups.rb +27 -0
- data/lib/brightbox-cli/vendor/fog/lib/fog/aws/parsers/elasticache/engine_defaults_parser.rb +59 -0
- data/lib/brightbox-cli/vendor/fog/lib/fog/aws/parsers/elasticache/event_list.rb +38 -0
- data/lib/brightbox-cli/vendor/fog/lib/fog/aws/parsers/elasticache/modify_parameter_group.rb +27 -0
- data/lib/brightbox-cli/vendor/fog/lib/fog/aws/parsers/elasticache/parameter_group_parser.rb +30 -0
- data/lib/brightbox-cli/vendor/fog/lib/fog/aws/parsers/elasticache/reset_parameter_group.rb +27 -0
- data/lib/brightbox-cli/vendor/fog/lib/fog/aws/parsers/elasticache/security_group_parser.rb +40 -0
- data/lib/brightbox-cli/vendor/fog/lib/fog/aws/parsers/elasticache/single_cache_cluster.rb +22 -0
- data/lib/brightbox-cli/vendor/fog/lib/fog/aws/parsers/elasticache/single_parameter_group.rb +22 -0
- data/lib/brightbox-cli/vendor/fog/lib/fog/aws/parsers/elasticache/single_security_group.rb +34 -0
- data/lib/brightbox-cli/vendor/fog/lib/fog/aws/requests/cloud_watch/delete_alarms.rb +30 -0
- data/lib/brightbox-cli/vendor/fog/lib/fog/aws/requests/cloud_watch/describe_alarm_history.rb +33 -0
- data/lib/brightbox-cli/vendor/fog/lib/fog/aws/requests/cloud_watch/describe_alarms.rb +38 -0
- data/lib/brightbox-cli/vendor/fog/lib/fog/aws/requests/cloud_watch/describe_alarms_for_metric.rb +39 -0
- data/lib/brightbox-cli/vendor/fog/lib/fog/aws/requests/cloud_watch/disable_alarm_actions.rb +30 -0
- data/lib/brightbox-cli/vendor/fog/lib/fog/aws/requests/cloud_watch/enable_alarm_actions.rb +30 -0
- data/lib/brightbox-cli/vendor/fog/lib/fog/aws/requests/cloud_watch/put_metric_alarm.rb +84 -0
- data/lib/brightbox-cli/vendor/fog/lib/fog/aws/requests/cloud_watch/set_alarm_state.rb +31 -0
- data/lib/brightbox-cli/vendor/fog/lib/fog/aws/requests/compute/create_security_group.rb +5 -4
- data/lib/brightbox-cli/vendor/fog/lib/fog/aws/requests/compute/create_snapshot.rb +2 -3
- data/lib/brightbox-cli/vendor/fog/lib/fog/aws/requests/compute/create_tags.rb +5 -3
- data/lib/brightbox-cli/vendor/fog/lib/fog/aws/requests/compute/create_volume.rb +0 -1
- data/lib/brightbox-cli/vendor/fog/lib/fog/aws/requests/compute/delete_tags.rb +2 -3
- data/lib/brightbox-cli/vendor/fog/lib/fog/aws/requests/compute/describe_images.rb +5 -8
- data/lib/brightbox-cli/vendor/fog/lib/fog/aws/requests/compute/describe_instances.rb +2 -2
- data/lib/brightbox-cli/vendor/fog/lib/fog/aws/requests/compute/describe_snapshots.rb +3 -1
- data/lib/brightbox-cli/vendor/fog/lib/fog/aws/requests/compute/describe_volumes.rb +3 -2
- data/lib/brightbox-cli/vendor/fog/lib/fog/aws/requests/compute/modify_image_attribute.rb +32 -0
- data/lib/brightbox-cli/vendor/fog/lib/fog/aws/requests/compute/purchase_reserved_instances_offering.rb +1 -1
- data/lib/brightbox-cli/vendor/fog/lib/fog/aws/requests/compute/register_image.rb +0 -1
- data/lib/brightbox-cli/vendor/fog/lib/fog/aws/requests/compute/run_instances.rb +1 -2
- data/lib/brightbox-cli/vendor/fog/lib/fog/aws/requests/elasticache/authorize_cache_security_group_ingress.rb +36 -0
- data/lib/brightbox-cli/vendor/fog/lib/fog/aws/requests/elasticache/create_cache_cluster.rb +62 -0
- data/lib/brightbox-cli/vendor/fog/lib/fog/aws/requests/elasticache/create_cache_parameter_group.rb +37 -0
- data/lib/brightbox-cli/vendor/fog/lib/fog/aws/requests/elasticache/create_cache_security_group.rb +33 -0
- data/lib/brightbox-cli/vendor/fog/lib/fog/aws/requests/elasticache/delete_cache_cluster.rb +32 -0
- data/lib/brightbox-cli/vendor/fog/lib/fog/aws/requests/elasticache/delete_cache_parameter_group.rb +31 -0
- data/lib/brightbox-cli/vendor/fog/lib/fog/aws/requests/elasticache/delete_cache_security_group.rb +31 -0
- data/lib/brightbox-cli/vendor/fog/lib/fog/aws/requests/elasticache/describe_cache_clusters.rb +39 -0
- data/lib/brightbox-cli/vendor/fog/lib/fog/aws/requests/elasticache/describe_cache_parameter_groups.rb +34 -0
- data/lib/brightbox-cli/vendor/fog/lib/fog/aws/requests/elasticache/describe_cache_parameters.rb +36 -0
- data/lib/brightbox-cli/vendor/fog/lib/fog/aws/requests/elasticache/describe_cache_security_groups.rb +34 -0
- data/lib/brightbox-cli/vendor/fog/lib/fog/aws/requests/elasticache/describe_engine_default_parameters.rb +35 -0
- data/lib/brightbox-cli/vendor/fog/lib/fog/aws/requests/elasticache/describe_events.rb +46 -0
- data/lib/brightbox-cli/vendor/fog/lib/fog/aws/requests/elasticache/modify_cache_cluster.rb +70 -0
- data/lib/brightbox-cli/vendor/fog/lib/fog/aws/requests/elasticache/modify_cache_parameter_group.rb +45 -0
- data/lib/brightbox-cli/vendor/fog/lib/fog/aws/requests/elasticache/reboot_cache_cluster.rb +44 -0
- data/lib/brightbox-cli/vendor/fog/lib/fog/aws/requests/elasticache/reset_cache_parameter_group.rb +46 -0
- data/lib/brightbox-cli/vendor/fog/lib/fog/aws/requests/elasticache/revoke_cache_security_group_ingress.rb +37 -0
- data/lib/brightbox-cli/vendor/fog/lib/fog/aws/requests/elb/create_load_balancer.rb +1 -1
- data/lib/brightbox-cli/vendor/fog/lib/fog/aws/requests/elb/create_load_balancer_listeners.rb +1 -1
- data/lib/brightbox-cli/vendor/fog/lib/fog/aws/requests/elb/deregister_instances_from_load_balancer.rb +1 -1
- data/lib/brightbox-cli/vendor/fog/lib/fog/aws/requests/elb/describe_instance_health.rb +2 -2
- data/lib/brightbox-cli/vendor/fog/lib/fog/aws/requests/elb/register_instances_with_load_balancer.rb +1 -1
- data/lib/brightbox-cli/vendor/fog/lib/fog/aws/requests/iam/get_server_certificate.rb +5 -7
- data/lib/brightbox-cli/vendor/fog/lib/fog/aws/requests/iam/list_server_certificates.rb +3 -1
- data/lib/brightbox-cli/vendor/fog/lib/fog/aws/requests/iam/upload_server_certificate.rb +3 -2
- data/lib/brightbox-cli/vendor/fog/lib/fog/aws/requests/sqs/change_message_visibility.rb +30 -0
- data/lib/brightbox-cli/vendor/fog/lib/fog/aws/requests/sqs/create_queue.rb +35 -1
- data/lib/brightbox-cli/vendor/fog/lib/fog/aws/requests/sqs/delete_message.rb +29 -0
- data/lib/brightbox-cli/vendor/fog/lib/fog/aws/requests/sqs/delete_queue.rb +24 -1
- data/lib/brightbox-cli/vendor/fog/lib/fog/aws/requests/sqs/get_queue_attributes.rb +22 -1
- data/lib/brightbox-cli/vendor/fog/lib/fog/aws/requests/sqs/list_queues.rb +15 -1
- data/lib/brightbox-cli/vendor/fog/lib/fog/aws/requests/sqs/receive_message.rb +55 -1
- data/lib/brightbox-cli/vendor/fog/lib/fog/aws/requests/sqs/send_message.rb +39 -1
- data/lib/brightbox-cli/vendor/fog/lib/fog/aws/requests/sqs/set_queue_attributes.rb +19 -1
- data/lib/brightbox-cli/vendor/fog/lib/fog/aws/requests/storage/copy_object.rb +1 -1
- data/lib/brightbox-cli/vendor/fog/lib/fog/aws/requests/storage/get_object_acl.rb +1 -1
- data/lib/brightbox-cli/vendor/fog/lib/fog/aws/requests/storage/hash_to_acl.rb +2 -3
- data/lib/brightbox-cli/vendor/fog/lib/fog/aws/sqs.rb +30 -0
- data/lib/brightbox-cli/vendor/fog/lib/fog/aws/storage.rb +2 -1
- data/lib/brightbox-cli/vendor/fog/lib/fog/aws.rb +17 -14
- data/lib/brightbox-cli/vendor/fog/lib/fog/bin/aws.rb +4 -0
- data/lib/brightbox-cli/vendor/fog/lib/fog/bin/openstack.rb +31 -0
- data/lib/brightbox-cli/vendor/fog/lib/fog/bin.rb +1 -0
- data/lib/brightbox-cli/vendor/fog/lib/fog/bluebox/models/compute/server.rb +1 -1
- data/lib/brightbox-cli/vendor/fog/lib/fog/bluebox/requests/compute/create_template.rb +1 -1
- data/lib/brightbox-cli/vendor/fog/lib/fog/bluebox.rb +2 -2
- data/lib/brightbox-cli/vendor/fog/lib/fog/brightbox/compute.rb +5 -0
- data/lib/brightbox-cli/vendor/fog/lib/fog/brightbox/models/compute/account.rb +1 -1
- data/lib/brightbox-cli/vendor/fog/lib/fog/brightbox/models/compute/firewall_policies.rb +29 -0
- data/lib/brightbox-cli/vendor/fog/lib/fog/brightbox/models/compute/firewall_policy.rb +65 -0
- data/lib/brightbox-cli/vendor/fog/lib/fog/brightbox/models/compute/firewall_rule.rb +54 -0
- data/lib/brightbox-cli/vendor/fog/lib/fog/brightbox/models/compute/firewall_rules.rb +24 -0
- data/lib/brightbox-cli/vendor/fog/lib/fog/brightbox/models/compute/image.rb +2 -0
- data/lib/brightbox-cli/vendor/fog/lib/fog/brightbox/models/compute/server.rb +27 -2
- data/lib/brightbox-cli/vendor/fog/lib/fog/brightbox/models/compute/server_group.rb +1 -1
- data/lib/brightbox-cli/vendor/fog/lib/fog/brightbox/requests/compute/remove_firewall_policy.rb +14 -0
- data/lib/brightbox-cli/vendor/fog/lib/fog/brightbox.rb +1 -1
- data/lib/brightbox-cli/vendor/fog/lib/fog/compute/models/server.rb +1 -2
- data/lib/brightbox-cli/vendor/fog/lib/fog/compute.rb +3 -0
- data/lib/brightbox-cli/vendor/fog/lib/fog/core/attributes.rb +5 -5
- data/lib/brightbox-cli/vendor/fog/lib/fog/core/credentials.rb +5 -0
- data/lib/brightbox-cli/vendor/fog/lib/fog/core/errors.rb +4 -0
- data/lib/brightbox-cli/vendor/fog/lib/fog/core/provider.rb +9 -4
- data/lib/brightbox-cli/vendor/fog/lib/fog/dnsimple.rb +1 -1
- data/lib/brightbox-cli/vendor/fog/lib/fog/dnsmadeeasy.rb +1 -1
- data/lib/brightbox-cli/vendor/fog/lib/fog/dynect.rb +1 -1
- data/lib/brightbox-cli/vendor/fog/lib/fog/ecloud/compute.rb +1 -5
- data/lib/brightbox-cli/vendor/fog/lib/fog/ecloud.rb +1 -1
- data/lib/brightbox-cli/vendor/fog/lib/fog/glesys/compute.rb +20 -4
- data/lib/brightbox-cli/vendor/fog/lib/fog/glesys/models/compute/templates.rb +0 -6
- data/lib/brightbox-cli/vendor/fog/lib/fog/glesys.rb +1 -1
- data/lib/brightbox-cli/vendor/fog/lib/fog/go_grid.rb +1 -1
- data/lib/brightbox-cli/vendor/fog/lib/fog/google.rb +1 -1
- data/lib/brightbox-cli/vendor/fog/lib/fog/libvirt/models/compute/server.rb +1 -1
- data/lib/brightbox-cli/vendor/fog/lib/fog/libvirt/models/compute/uri.rb +7 -3
- data/lib/brightbox-cli/vendor/fog/lib/fog/libvirt.rb +1 -1
- data/lib/brightbox-cli/vendor/fog/lib/fog/linode/models/compute/server.rb +10 -0
- data/lib/brightbox-cli/vendor/fog/lib/fog/linode/{models/dns/linode → requests/dns}/domain_create.rb +3 -3
- data/lib/brightbox-cli/vendor/fog/lib/fog/linode/{models/dns/linode → requests/dns}/domain_delete.rb +0 -0
- data/lib/brightbox-cli/vendor/fog/lib/fog/linode/{models/dns/linode → requests/dns}/domain_list.rb +1 -1
- data/lib/brightbox-cli/vendor/fog/lib/fog/linode/{models/dns/linode → requests/dns}/domain_resource_create.rb +8 -8
- data/lib/brightbox-cli/vendor/fog/lib/fog/linode/{models/dns/linode → requests/dns}/domain_resource_delete.rb +0 -0
- data/lib/brightbox-cli/vendor/fog/lib/fog/linode/{models/dns/linode → requests/dns}/domain_resource_list.rb +8 -8
- data/lib/brightbox-cli/vendor/fog/lib/fog/linode/{models/dns/linode → requests/dns}/domain_resource_update.rb +9 -9
- data/lib/brightbox-cli/vendor/fog/lib/fog/linode/{models/dns/linode → requests/dns}/domain_update.rb +5 -5
- data/lib/brightbox-cli/vendor/fog/lib/fog/linode.rb +2 -2
- data/lib/brightbox-cli/vendor/fog/lib/fog/local/models/storage/directories.rb +33 -0
- data/lib/brightbox-cli/vendor/fog/lib/fog/local/models/storage/directory.rb +57 -0
- data/lib/brightbox-cli/vendor/fog/lib/fog/local/models/storage/file.rb +113 -0
- data/lib/brightbox-cli/vendor/fog/lib/fog/local/models/storage/files.rb +87 -0
- data/lib/brightbox-cli/vendor/fog/lib/fog/local/storage.rb +71 -0
- data/lib/brightbox-cli/vendor/fog/lib/fog/local.rb +1 -1
- data/lib/brightbox-cli/vendor/fog/lib/fog/new_servers.rb +1 -1
- data/lib/brightbox-cli/vendor/fog/lib/fog/ninefold/compute.rb +1 -1
- data/lib/brightbox-cli/vendor/fog/lib/fog/ninefold/models/compute/server.rb +2 -1
- data/lib/brightbox-cli/vendor/fog/lib/fog/ninefold.rb +2 -2
- data/lib/brightbox-cli/vendor/fog/lib/fog/openstack/compute.rb +198 -0
- data/lib/brightbox-cli/vendor/fog/lib/fog/openstack/models/compute/flavor.rb +20 -0
- data/lib/brightbox-cli/vendor/fog/lib/fog/openstack/models/compute/flavors.rb +28 -0
- data/lib/brightbox-cli/vendor/fog/lib/fog/openstack/models/compute/image.rb +57 -0
- data/lib/brightbox-cli/vendor/fog/lib/fog/openstack/models/compute/images.rb +33 -0
- data/lib/brightbox-cli/vendor/fog/lib/fog/openstack/models/compute/meta.rb +29 -0
- data/lib/brightbox-cli/vendor/fog/lib/fog/openstack/models/compute/metadata.rb +69 -0
- data/lib/brightbox-cli/vendor/fog/lib/fog/openstack/models/compute/server.rb +195 -0
- data/lib/brightbox-cli/vendor/fog/lib/fog/openstack/models/compute/servers.rb +36 -0
- data/lib/brightbox-cli/vendor/fog/lib/fog/openstack/models/meta_parent.rb +33 -0
- data/lib/brightbox-cli/vendor/fog/lib/fog/openstack/requests/compute/change_password_server.rb +24 -0
- data/lib/brightbox-cli/vendor/fog/lib/fog/openstack/requests/compute/confirm_resized_server.rb +24 -0
- data/lib/brightbox-cli/vendor/fog/lib/fog/openstack/requests/compute/create_image.rb +49 -0
- data/lib/brightbox-cli/vendor/fog/lib/fog/openstack/requests/compute/create_server.rb +75 -0
- data/lib/brightbox-cli/vendor/fog/lib/fog/openstack/requests/compute/delete_image.rb +40 -0
- data/lib/brightbox-cli/vendor/fog/lib/fog/openstack/requests/compute/delete_meta.rb +28 -0
- data/lib/brightbox-cli/vendor/fog/lib/fog/openstack/requests/compute/delete_server.rb +38 -0
- data/lib/brightbox-cli/vendor/fog/lib/fog/openstack/requests/compute/get_flavor_details.rb +43 -0
- data/lib/brightbox-cli/vendor/fog/lib/fog/openstack/requests/compute/get_image_details.rb +33 -0
- data/lib/brightbox-cli/vendor/fog/lib/fog/openstack/requests/compute/get_meta.rb +29 -0
- data/lib/brightbox-cli/vendor/fog/lib/fog/openstack/requests/compute/get_server_details.rb +32 -0
- data/lib/brightbox-cli/vendor/fog/lib/fog/openstack/requests/compute/list_addresses.rb +32 -0
- data/lib/brightbox-cli/vendor/fog/lib/fog/openstack/requests/compute/list_flavors.rb +38 -0
- data/lib/brightbox-cli/vendor/fog/lib/fog/openstack/requests/compute/list_flavors_detail.rb +38 -0
- data/lib/brightbox-cli/vendor/fog/lib/fog/openstack/requests/compute/list_images.rb +33 -0
- data/lib/brightbox-cli/vendor/fog/lib/fog/openstack/requests/compute/list_images_detail.rb +39 -0
- data/lib/brightbox-cli/vendor/fog/lib/fog/openstack/requests/compute/list_metadata.rb +28 -0
- data/lib/brightbox-cli/vendor/fog/lib/fog/openstack/requests/compute/list_private_addresses.rb +32 -0
- data/lib/brightbox-cli/vendor/fog/lib/fog/openstack/requests/compute/list_public_addresses.rb +32 -0
- data/lib/brightbox-cli/vendor/fog/lib/fog/openstack/requests/compute/list_servers.rb +33 -0
- data/lib/brightbox-cli/vendor/fog/lib/fog/openstack/requests/compute/list_servers_detail.rb +39 -0
- data/lib/brightbox-cli/vendor/fog/lib/fog/openstack/requests/compute/reboot_server.rb +24 -0
- data/lib/brightbox-cli/vendor/fog/lib/fog/openstack/requests/compute/rebuild_server.rb +31 -0
- data/lib/brightbox-cli/vendor/fog/lib/fog/openstack/requests/compute/resize_server.rb +24 -0
- data/lib/brightbox-cli/vendor/fog/lib/fog/openstack/requests/compute/revert_resized_server.rb +30 -0
- data/lib/brightbox-cli/vendor/fog/lib/fog/openstack/requests/compute/server_action.rb +18 -0
- data/lib/brightbox-cli/vendor/fog/lib/fog/openstack/requests/compute/set_metadata.rb +45 -0
- data/lib/brightbox-cli/vendor/fog/lib/fog/openstack/requests/compute/update_meta.rb +45 -0
- data/lib/brightbox-cli/vendor/fog/lib/fog/openstack/requests/compute/update_metadata.rb +46 -0
- data/lib/brightbox-cli/vendor/fog/lib/fog/openstack/requests/compute/update_server.rb +35 -0
- data/lib/brightbox-cli/vendor/fog/lib/fog/openstack.rb +113 -0
- data/lib/brightbox-cli/vendor/fog/lib/fog/providers.rb +1 -0
- data/lib/brightbox-cli/vendor/fog/lib/fog/rackspace/dns.rb +25 -0
- data/lib/brightbox-cli/vendor/fog/lib/fog/rackspace/requests/dns/callback.rb +3 -2
- data/lib/brightbox-cli/vendor/fog/lib/fog/rackspace.rb +5 -5
- data/lib/brightbox-cli/vendor/fog/lib/fog/slicehost/{parsers/dns/slicehost → requests/dns}/create_record.rb +2 -2
- data/lib/brightbox-cli/vendor/fog/lib/fog/slicehost/{parsers/dns/slicehost → requests/dns}/create_zone.rb +1 -1
- data/lib/brightbox-cli/vendor/fog/lib/fog/slicehost/{parsers/dns/slicehost → requests/dns}/delete_record.rb +0 -0
- data/lib/brightbox-cli/vendor/fog/lib/fog/slicehost/{parsers/dns/slicehost → requests/dns}/delete_zone.rb +0 -0
- data/lib/brightbox-cli/vendor/fog/lib/fog/slicehost/{parsers/dns/slicehost → requests/dns}/get_record.rb +2 -2
- data/lib/brightbox-cli/vendor/fog/lib/fog/slicehost/{parsers/dns/slicehost → requests/dns}/get_records.rb +1 -1
- data/lib/brightbox-cli/vendor/fog/lib/fog/slicehost/{parsers/dns/slicehost → requests/dns}/get_zone.rb +0 -0
- data/lib/brightbox-cli/vendor/fog/lib/fog/slicehost/{parsers/dns/slicehost → requests/dns}/get_zones.rb +0 -0
- data/lib/brightbox-cli/vendor/fog/lib/fog/slicehost.rb +2 -2
- data/lib/brightbox-cli/vendor/fog/lib/fog/storm_on_demand.rb +1 -1
- data/lib/brightbox-cli/vendor/fog/lib/fog/vcloud.rb +1 -1
- data/lib/brightbox-cli/vendor/fog/lib/fog/virtual_box.rb +1 -1
- data/lib/brightbox-cli/vendor/fog/lib/fog/vmfusion/models/compute/servers.rb +6 -6
- data/lib/brightbox-cli/vendor/fog/lib/fog/vmfusion.rb +1 -1
- data/lib/brightbox-cli/vendor/fog/lib/fog/voxel.rb +1 -1
- data/lib/brightbox-cli/vendor/fog/lib/fog/vsphere/compute.rb +0 -2
- data/lib/brightbox-cli/vendor/fog/lib/fog/vsphere.rb +1 -1
- data/lib/brightbox-cli/vendor/fog/lib/fog/zerigo/dns.rb +14 -3
- data/lib/brightbox-cli/vendor/fog/lib/fog/zerigo/models/dns/record.rb +1 -1
- data/lib/brightbox-cli/vendor/fog/lib/fog/zerigo/models/dns/records.rb +5 -0
- data/lib/brightbox-cli/vendor/fog/lib/fog/zerigo/models/dns/zones.rb +2 -2
- data/lib/brightbox-cli/vendor/fog/lib/fog/zerigo/requests/dns/count_hosts.rb +20 -1
- data/lib/brightbox-cli/vendor/fog/lib/fog/zerigo/requests/dns/count_zones.rb +12 -1
- data/lib/brightbox-cli/vendor/fog/lib/fog/zerigo/requests/dns/create_host.rb +67 -1
- data/lib/brightbox-cli/vendor/fog/lib/fog/zerigo/requests/dns/create_zone.rb +44 -1
- data/lib/brightbox-cli/vendor/fog/lib/fog/zerigo/requests/dns/delete_host.rb +19 -0
- data/lib/brightbox-cli/vendor/fog/lib/fog/zerigo/requests/dns/delete_zone.rb +17 -0
- data/lib/brightbox-cli/vendor/fog/lib/fog/zerigo/requests/dns/find_hosts.rb +22 -1
- data/lib/brightbox-cli/vendor/fog/lib/fog/zerigo/requests/dns/get_host.rb +18 -1
- data/lib/brightbox-cli/vendor/fog/lib/fog/zerigo/requests/dns/get_zone.rb +19 -2
- data/lib/brightbox-cli/vendor/fog/lib/fog/zerigo/requests/dns/get_zone_stats.rb +23 -0
- data/lib/brightbox-cli/vendor/fog/lib/fog/zerigo/requests/dns/list_hosts.rb +20 -1
- data/lib/brightbox-cli/vendor/fog/lib/fog/zerigo/requests/dns/list_zones.rb +15 -0
- data/lib/brightbox-cli/vendor/fog/lib/fog/zerigo/requests/dns/update_host.rb +20 -1
- data/lib/brightbox-cli/vendor/fog/lib/fog/zerigo/requests/dns/update_zone.rb +20 -1
- data/lib/brightbox-cli/vendor/fog/lib/fog/zerigo.rb +1 -1
- data/lib/brightbox-cli/vendor/fog/lib/fog.rb +1 -1
- data/lib/brightbox-cli/vendor/fog/tests/aws/models/cloud_watch/alarm_data_tests.rb +40 -0
- data/lib/brightbox-cli/vendor/fog/tests/aws/models/cloud_watch/alarm_history_tests.rb +20 -0
- data/lib/brightbox-cli/vendor/fog/tests/aws/models/compute/server_tests.rb +2 -0
- data/lib/brightbox-cli/vendor/fog/tests/aws/models/elasticache/cluster_tests.rb +30 -0
- data/lib/brightbox-cli/vendor/fog/tests/aws/models/elasticache/parameter_groups_tests.rb +17 -0
- data/lib/brightbox-cli/vendor/fog/tests/aws/models/elasticache/security_groups_tests.rb +52 -0
- data/lib/brightbox-cli/vendor/fog/tests/aws/models/elb/model_tests.rb +2 -0
- data/lib/brightbox-cli/vendor/fog/tests/aws/requests/cloud_watch/list_metrics_test.rb +5 -5
- data/lib/brightbox-cli/vendor/fog/tests/aws/requests/compute/image_tests.rb +33 -2
- data/lib/brightbox-cli/vendor/fog/tests/aws/requests/compute/tag_tests.rb +40 -0
- data/lib/brightbox-cli/vendor/fog/tests/aws/requests/elasticache/cache_cluster_tests.rb +137 -0
- data/lib/brightbox-cli/vendor/fog/tests/aws/requests/elasticache/describe_events.rb +17 -0
- data/lib/brightbox-cli/vendor/fog/tests/aws/requests/elasticache/helper.rb +68 -0
- data/lib/brightbox-cli/vendor/fog/tests/aws/requests/elasticache/parameter_group_tests.rb +105 -0
- data/lib/brightbox-cli/vendor/fog/tests/aws/requests/elasticache/security_group_tests.rb +107 -0
- data/lib/brightbox-cli/vendor/fog/tests/aws/requests/iam/server_certificate_tests.rb +39 -18
- data/lib/brightbox-cli/vendor/fog/tests/aws/requests/simpledb/attributes_tests.rb +18 -18
- data/lib/brightbox-cli/vendor/fog/tests/aws/requests/simpledb/domain_tests.rb +7 -7
- data/lib/brightbox-cli/vendor/fog/tests/aws/requests/sqs/message_tests.rb +1 -7
- data/lib/brightbox-cli/vendor/fog/tests/aws/requests/sqs/queue_tests.rb +0 -5
- data/lib/brightbox-cli/vendor/fog/tests/brightbox/requests/compute/load_balancer_tests.rb +1 -0
- data/lib/brightbox-cli/vendor/fog/tests/compute/models/flavors_tests.rb +1 -1
- data/lib/brightbox-cli/vendor/fog/tests/core/attribute_tests.rb +29 -0
- data/lib/brightbox-cli/vendor/fog/tests/core/credential_tests.rb +2 -0
- data/lib/brightbox-cli/vendor/fog/tests/helper.rb +1 -1
- data/lib/brightbox-cli/vendor/fog/tests/helpers/collection_helper.rb +5 -0
- data/lib/brightbox-cli/vendor/fog/tests/helpers/compute/server_helper.rb +1 -0
- data/lib/brightbox-cli/vendor/fog/tests/helpers/formats_helper.rb +16 -8
- data/lib/brightbox-cli/vendor/fog/tests/helpers/formats_helper_tests.rb +8 -0
- data/lib/brightbox-cli/vendor/fog/tests/helpers/mock_helper.rb +6 -2
- data/lib/brightbox-cli/vendor/fog/tests/linode/requests/compute/linodeplans_tests.rb +2 -1
- data/lib/brightbox-cli/vendor/fog/tests/ninefold/requests/compute/helper.rb +14 -17
- data/lib/brightbox-cli/vendor/fog/tests/openstack/requests/compute/flavor_tests.rb +35 -0
- data/lib/brightbox-cli/vendor/fog/tests/openstack/requests/compute/helper.rb +17 -0
- data/lib/brightbox-cli/vendor/fog/tests/openstack/requests/compute/image_tests.rb +59 -0
- data/lib/brightbox-cli/vendor/fog/tests/openstack/requests/compute/server_tests.rb +142 -0
- data/lib/brightbox-cli/vendor/fog/tests/rackspace/requests/dns/dns_tests.rb +21 -21
- data/lib/brightbox-cli/vendor/fog/tests/rackspace/requests/dns/helper.rb +17 -9
- data/lib/brightbox-cli/vendor/fog/tests/rackspace/requests/dns/records_tests.rb +16 -16
- data/lib/brightbox-cli/vendor/fog/tests/rackspace/requests/{access_list_tests.rb → load_balancers/access_list_tests.rb} +0 -0
- data/lib/brightbox-cli/vendor/fog/tests/rackspace/requests/{algorithm_tests.rb → load_balancers/algorithm_tests.rb} +0 -0
- data/lib/brightbox-cli/vendor/fog/tests/rackspace/requests/{connection_logging_tests.rb → load_balancers/connection_logging_tests.rb} +0 -0
- data/lib/brightbox-cli/vendor/fog/tests/rackspace/requests/{connection_throttling_tests.rb → load_balancers/connection_throttling_tests.rb} +0 -0
- data/lib/brightbox-cli/vendor/fog/tests/rackspace/requests/{helper.rb → load_balancers/helper.rb} +12 -1
- data/lib/brightbox-cli/vendor/fog/tests/rackspace/requests/{load_balancer_tests.rb → load_balancers/load_balancer_tests.rb} +1 -1
- data/lib/brightbox-cli/vendor/fog/tests/rackspace/requests/{load_balancer_usage_tests.rb → load_balancers/load_balancer_usage_tests.rb} +0 -0
- data/lib/brightbox-cli/vendor/fog/tests/rackspace/requests/{monitor_tests.rb → load_balancers/monitor_tests.rb} +0 -0
- data/lib/brightbox-cli/vendor/fog/tests/rackspace/requests/{node_tests.rb → load_balancers/node_tests.rb} +0 -0
- data/lib/brightbox-cli/vendor/fog/tests/rackspace/requests/{protocol_tests.rb → load_balancers/protocol_tests.rb} +0 -0
- data/lib/brightbox-cli/vendor/fog/tests/rackspace/requests/{session_persistence_tests.rb → load_balancers/session_persistence_tests.rb} +0 -0
- data/lib/brightbox-cli/vendor/fog/tests/rackspace/requests/{usage_tests.rb → load_balancers/usage_tests.rb} +0 -0
- data/lib/brightbox-cli/vendor/fog/tests/rackspace/requests/{virtual_ip_tests.rb → load_balancers/virtual_ip_tests.rb} +2 -2
- data/lib/brightbox-cli/vendor/fog/tests/vsphere/requests/compute/vm_clone_tests.rb +2 -1
- data/lib/brightbox-cli/version.rb +1 -1
- data/lib/brightbox_cli.rb +16 -10
- data/spec/cloud_ips_spec.rb +17 -0
- data/spec/firewall_policy_spec.rb +78 -0
- data/spec/firewall_rule_spec.rb +74 -0
- data/spec/fixtures/vcr_cassettes/apply_firewall_policy.yml +137 -0
- data/spec/fixtures/vcr_cassettes/create_firewall_policy.yml +104 -0
- data/spec/fixtures/vcr_cassettes/destroy_firewall_policy.yml +137 -0
- data/spec/fixtures/vcr_cassettes/firewall_rule.yml +36 -0
- data/spec/fixtures/vcr_cassettes/firewall_rule_create.yml +36 -0
- data/spec/fixtures/vcr_cassettes/firewall_rule_destroy.yml +69 -0
- data/spec/fixtures/vcr_cassettes/firewall_rule_list.yml +36 -0
- data/spec/fixtures/vcr_cassettes/firewall_rule_show.yml +36 -0
- data/spec/fixtures/vcr_cassettes/list_cloud_ip.yml +36 -0
- data/spec/fixtures/vcr_cassettes/list_firewall_policy.yml +36 -0
- data/spec/fixtures/vcr_cassettes/list_server_groups.yml +36 -0
- data/spec/fixtures/vcr_cassettes/server_destroy.yml +71 -0
- data/spec/fixtures/vcr_cassettes/server_show.yml +141 -0
- data/spec/fixtures/vcr_cassettes/server_shutdown.yml +104 -0
- data/spec/fixtures/vcr_cassettes/server_start.yml +137 -0
- data/spec/fixtures/vcr_cassettes/server_stop.yml +104 -0
- data/spec/fixtures/vcr_cassettes/show_firewall_policy.yml +36 -0
- data/spec/server_group_spec.rb +15 -0
- data/spec/servers_spec.rb +75 -0
- data/spec/spec_helper.rb +0 -3
- data/tools/bash_completion_script +269 -122
- metadata +224 -41
@@ -18,6 +18,9 @@ module Brightbox
|
|
18
18
|
c.desc "Image description"
|
19
19
|
c.flag [:d, "description"]
|
20
20
|
|
21
|
+
c.desc "Image Usernmae"
|
22
|
+
c.flag [:u, "username"]
|
23
|
+
|
21
24
|
c.action do |global_options,options,args|
|
22
25
|
img_id = args.shift
|
23
26
|
raise "You must specify the image to update as the first argument" unless img_id =~ /^img-/
|
@@ -33,6 +36,7 @@ module Brightbox
|
|
33
36
|
params[:arch] = options[:a] if options[:a]
|
34
37
|
params[:source] = options[:s] if options[:s]
|
35
38
|
params[:description] = options[:d] if options[:d]
|
39
|
+
params[:username] = options[:u] if options[:u]
|
36
40
|
|
37
41
|
params[:compatibility_mode] = true if options[:m] == "compatibility"
|
38
42
|
params[:compatibility_mode] = false if options[:m] == "virtio"
|
@@ -26,6 +26,9 @@ module Brightbox
|
|
26
26
|
c.desc "Don't base64 encode the user data"
|
27
27
|
c.switch [:e, :no_base64]
|
28
28
|
|
29
|
+
c.desc "Server groups to place server in - comma delimited list"
|
30
|
+
c.flag [:g, "server-groups"]
|
31
|
+
|
29
32
|
c.action do |global_options, options, args|
|
30
33
|
|
31
34
|
if args.empty?
|
@@ -83,20 +86,28 @@ module Brightbox
|
|
83
86
|
raise "User data too big (>16k)" if user_data.size > 16 * 1024
|
84
87
|
end
|
85
88
|
|
89
|
+
# Split server groups into array of identifiers (or empty array)
|
90
|
+
server_groups = ServerGroup.find_or_call(options[:g].to_s.split(/,\s*/)) do |id|
|
91
|
+
raise "Couldn't find server #{id}"
|
92
|
+
end
|
93
|
+
|
86
94
|
msg = "Creating #{options[:i] > 1 ? options[:i] : 'a'} #{type.handle} (#{type.id})"
|
87
95
|
msg << " server#{options[:i] > 1 ? 's' : ''} with image #{image.name.strip} (#{image.id})"
|
88
96
|
msg << " in zone #{zone.handle} (#{zone})" if zone
|
97
|
+
msg << " in groups #{server_groups.map(&:id).join(", ")}" unless server_groups.empty?
|
89
98
|
msg << " with %.2fk of user data" % (user_data.size / 1024.0) if user_data
|
90
99
|
info msg
|
91
100
|
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
|
101
|
+
params = {
|
102
|
+
:image_id => image.id,
|
103
|
+
:flavor_id => type.id,
|
104
|
+
:zone_id => zone.to_s,
|
105
|
+
:name => options[:n],
|
106
|
+
:user_data => user_data,
|
107
|
+
:server_groups => server_groups.map(&:id)
|
108
|
+
}
|
109
|
+
|
110
|
+
servers = Server.create_servers options[:i], params
|
100
111
|
render_table(servers, global_options)
|
101
112
|
end
|
102
113
|
end
|
@@ -7,48 +7,12 @@ module Brightbox
|
|
7
7
|
|
8
8
|
raise "You must specify servers to show" if args.empty?
|
9
9
|
|
10
|
-
servers =
|
10
|
+
servers = DetailedServer.find_or_call(args) do |id|
|
11
11
|
raise "Couldn't find server #{id}"
|
12
12
|
end
|
13
13
|
|
14
|
-
|
15
|
-
servers
|
16
|
-
o = s.to_row
|
17
|
-
if s.server_type.exists?
|
18
|
-
o[:type] = s.server_type.id
|
19
|
-
o[:type_handle] = s.server_type.handle
|
20
|
-
o[:type_name] = s.server_type.name
|
21
|
-
o[:ram] = s.server_type.ram
|
22
|
-
o[:cores] = s.server_type.cores
|
23
|
-
o[:disk] = s.server_type.disk.to_i
|
24
|
-
end
|
25
|
-
|
26
|
-
if s.image.exists?
|
27
|
-
o[:image_name] = s.image.name
|
28
|
-
o[:arch] = s.image.arch
|
29
|
-
end
|
30
|
-
interfaces = s.interfaces
|
31
|
-
o[:private_ips] = interfaces.collect { |i| i['ipv4_address'] }.join(", ")
|
32
|
-
o[:ipv6_address] = interfaces.collect { |i| i['ipv6_address'] }.join(", ")
|
33
|
-
|
34
|
-
o[:cloud_ip_ids] = s.cloud_ips.collect { |i| i['id'] }.join(", ")
|
35
|
-
o[:cloud_ips] = s.cloud_ips.collect { |i| i['public_ip'] }.join(", ")
|
36
|
-
o[:snapshots] = s.snapshots.collect { |i| i['id'] }.join(", ")
|
37
|
-
rows << o
|
38
|
-
end
|
39
|
-
|
40
|
-
display_options = {
|
41
|
-
:vertical => true,
|
42
|
-
:fields => [:id, :status, :name, :created_at, :deleted_at,
|
43
|
-
:zone, :type, :type_name, :type_handle, :ram, :cores,
|
44
|
-
:disk, :image, :image_name, :private_ips, :cloud_ips, :ipv6_address,
|
45
|
-
:cloud_ip_ids, :hostname, :public_hostname, :snapshots
|
46
|
-
]
|
47
|
-
}
|
48
|
-
|
49
|
-
table_opts = global_options.merge(display_options)
|
50
|
-
render_table(rows, table_opts)
|
51
|
-
|
14
|
+
table_opts = global_options.merge(:vertical => true)
|
15
|
+
render_table(servers, table_opts)
|
52
16
|
end
|
53
17
|
end
|
54
18
|
end
|
@@ -0,0 +1,43 @@
|
|
1
|
+
module Brightbox
|
2
|
+
class DetailedServer < Server
|
3
|
+
def to_row
|
4
|
+
row_attributes = attributes
|
5
|
+
if server_type
|
6
|
+
row_attributes[:type] = server_type['id']
|
7
|
+
row_attributes[:type_handle] = server_type['handle']
|
8
|
+
row_attributes[:type_name] = server_type['name']
|
9
|
+
row_attributes[:ram] = server_type['ram']
|
10
|
+
row_attributes[:cores] = server_type['cores']
|
11
|
+
row_attributes[:disk] = server_type['disk'].to_i
|
12
|
+
end
|
13
|
+
|
14
|
+
if image
|
15
|
+
row_attributes[:image_name] = image.name
|
16
|
+
row_attributes[:arch] = image.arch
|
17
|
+
end
|
18
|
+
|
19
|
+
row_attributes[:private_ips] = interfaces.collect { |i| i['ipv4_address'] }.join(", ")
|
20
|
+
row_attributes[:ipv6_address] = interfaces.collect { |i| i['ipv6_address'] }.join(", ")
|
21
|
+
|
22
|
+
row_attributes[:cloud_ip_ids] = cloud_ips.collect { |i| i['id'] }.join(", ")
|
23
|
+
row_attributes[:cloud_ips] = cloud_ips.collect { |i| i['public_ip'] }.join(", ")
|
24
|
+
row_attributes[:snapshots] = snapshots.collect { |i| i['id'] }.join(", ")
|
25
|
+
|
26
|
+
if server_groups
|
27
|
+
row_attributes[:server_groups] = server_groups.map { |sg| sg['id']}.join(", ")
|
28
|
+
end
|
29
|
+
|
30
|
+
|
31
|
+
row_attributes
|
32
|
+
end
|
33
|
+
|
34
|
+
def self.default_field_order
|
35
|
+
[:id, :status, :name, :created_at, :deleted_at,
|
36
|
+
:zone, :type, :type_name, :type_handle, :ram, :cores,
|
37
|
+
:disk, :image, :image_name, :private_ips, :cloud_ips, :ipv6_address,
|
38
|
+
:cloud_ip_ids, :hostname, :public_hostname, :snapshots,
|
39
|
+
:server_groups
|
40
|
+
]
|
41
|
+
end
|
42
|
+
end
|
43
|
+
end
|
@@ -0,0 +1,13 @@
|
|
1
|
+
module Brightbox
|
2
|
+
class DetailedServerGroup < ServerGroup
|
3
|
+
def to_row
|
4
|
+
row_attributes = super
|
5
|
+
row_attributes[:firewall_policy] = firewall_policy && firewall_policy.id
|
6
|
+
row_attributes
|
7
|
+
end
|
8
|
+
|
9
|
+
def self.default_field_order
|
10
|
+
[:id, :name, :servers, :firewall_policy, :description]
|
11
|
+
end
|
12
|
+
end
|
13
|
+
end
|
@@ -0,0 +1,32 @@
|
|
1
|
+
module Brightbox
|
2
|
+
class FirewallPolicy < Api
|
3
|
+
|
4
|
+
def self.create(options)
|
5
|
+
new(conn.firewall_policies.create(options))
|
6
|
+
end
|
7
|
+
|
8
|
+
def self.get(id)
|
9
|
+
conn.firewall_policies.get(id)
|
10
|
+
end
|
11
|
+
|
12
|
+
def self.all
|
13
|
+
conn.firewall_policies
|
14
|
+
end
|
15
|
+
|
16
|
+
def attributes
|
17
|
+
t = fog_model.attributes
|
18
|
+
t[:name] = name
|
19
|
+
t[:description] = description
|
20
|
+
t[:server_group] = server_group_id
|
21
|
+
t
|
22
|
+
end
|
23
|
+
|
24
|
+
def to_row
|
25
|
+
attributes
|
26
|
+
end
|
27
|
+
|
28
|
+
def self.default_field_order
|
29
|
+
[:id, :server_group, :name]
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
@@ -0,0 +1,39 @@
|
|
1
|
+
require "pp"
|
2
|
+
module Brightbox
|
3
|
+
class FirewallRule < Api
|
4
|
+
attr_writer :attributes
|
5
|
+
|
6
|
+
def self.create(options)
|
7
|
+
new(conn.firewall_rules.create(options))
|
8
|
+
end
|
9
|
+
|
10
|
+
def self.get(id)
|
11
|
+
conn.firewall_rules.get(id)
|
12
|
+
end
|
13
|
+
|
14
|
+
def attributes
|
15
|
+
t = @attributes || fog_model.attributes
|
16
|
+
t[:sport] = t[:source_port]
|
17
|
+
t[:dport] = t[:destination_port]
|
18
|
+
t[:firewall_policy] = t[:firewall_policy_id]
|
19
|
+
t[:icmp_type] = t[:icmp_type_name]
|
20
|
+
t
|
21
|
+
end
|
22
|
+
|
23
|
+
def to_row
|
24
|
+
attrs = attributes.dup
|
25
|
+
[:protocol,:source,:sport, :destination, :dport, :icmp_type].each do |key|
|
26
|
+
attrs[key] = attributes[key] || '-'
|
27
|
+
end
|
28
|
+
attrs
|
29
|
+
end
|
30
|
+
|
31
|
+
def ret_val(attributes,key)
|
32
|
+
attributes[key] || "-"
|
33
|
+
end
|
34
|
+
|
35
|
+
def self.default_field_order
|
36
|
+
[:id, :protocol,:source, :sport,:destination, :dport, :icmp_type]
|
37
|
+
end
|
38
|
+
end
|
39
|
+
end
|
@@ -0,0 +1,26 @@
|
|
1
|
+
module Brightbox
|
2
|
+
class FirewallRules
|
3
|
+
def self.from_policy(firewall_policy)
|
4
|
+
rules = firewall_policy.rules
|
5
|
+
rules.map do |rule|
|
6
|
+
fwr = FirewallRule.new('fwr')
|
7
|
+
fwr.attributes = symbolize_keys(rule)
|
8
|
+
fwr
|
9
|
+
end
|
10
|
+
end
|
11
|
+
|
12
|
+
def self.symbolize_keys(object) #:nodoc:
|
13
|
+
modify_keys(object) do |key|
|
14
|
+
key.is_a?(String) ? key.to_sym : key
|
15
|
+
end
|
16
|
+
end
|
17
|
+
|
18
|
+
def self.modify_keys(object, &modifier) #:nodoc:
|
19
|
+
object.inject({}) do |result, (key, value)|
|
20
|
+
new_key = modifier.call(key)
|
21
|
+
result.merge! new_key => value
|
22
|
+
end
|
23
|
+
end
|
24
|
+
|
25
|
+
end
|
26
|
+
end
|
data/lib/brightbox-cli/images.rb
CHANGED
@@ -15,7 +15,7 @@ module Brightbox
|
|
15
15
|
end
|
16
16
|
|
17
17
|
def self.default_field_order
|
18
|
-
[:id, :owner, :type, :created_on, :status, :size, :name]
|
18
|
+
[:id, :owner, :type, :created_on, :status, :size, :username,:name]
|
19
19
|
end
|
20
20
|
|
21
21
|
def update options
|
@@ -34,6 +34,7 @@ module Brightbox
|
|
34
34
|
else
|
35
35
|
o[:status] = status
|
36
36
|
end
|
37
|
+
o[:username] = username
|
37
38
|
o[:arch] = arch
|
38
39
|
o[:name] = name.to_s + " (#{arch})"
|
39
40
|
o[:owner] = owner_id
|
@@ -0,0 +1,64 @@
|
|
1
|
+
module Brightbox
|
2
|
+
class ServerGroup < Api
|
3
|
+
|
4
|
+
def self.all
|
5
|
+
conn.server_groups
|
6
|
+
end
|
7
|
+
|
8
|
+
def self.get(id)
|
9
|
+
conn.server_groups.get(id)
|
10
|
+
end
|
11
|
+
|
12
|
+
def self.create(options)
|
13
|
+
new(conn.server_groups.create(options))
|
14
|
+
end
|
15
|
+
|
16
|
+
def self.default_field_order
|
17
|
+
[:id, :server_count, :name]
|
18
|
+
end
|
19
|
+
|
20
|
+
def firewall_policy
|
21
|
+
FirewallPolicy.all.detect do |policy|
|
22
|
+
policy.server_group_id == self.id
|
23
|
+
end
|
24
|
+
end
|
25
|
+
|
26
|
+
def update(options)
|
27
|
+
self.class.conn.update_server_group(id, options)
|
28
|
+
self.reload
|
29
|
+
self
|
30
|
+
rescue Excon::Errors::BadRequest => e
|
31
|
+
raise Conflict, JSON.parse(e.response.body)['error']['details']
|
32
|
+
end
|
33
|
+
|
34
|
+
def destroy
|
35
|
+
fog_model.destroy
|
36
|
+
end
|
37
|
+
|
38
|
+
def attributes
|
39
|
+
fog_model.attributes
|
40
|
+
end
|
41
|
+
|
42
|
+
def to_row
|
43
|
+
o = attributes
|
44
|
+
o[:servers] = server_string
|
45
|
+
o[:server_count] = server_count
|
46
|
+
o
|
47
|
+
end
|
48
|
+
|
49
|
+
def server_count
|
50
|
+
server_ids.respond_to?(:size) ? server_ids.size : 0
|
51
|
+
end
|
52
|
+
|
53
|
+
def server_string
|
54
|
+
server_ids.respond_to?(:join) ? server_ids.join(" ") : ""
|
55
|
+
end
|
56
|
+
|
57
|
+
def server_ids
|
58
|
+
if attributes["servers"]
|
59
|
+
@server_ids ||= attributes["servers"].collect { |s| s["id"] }
|
60
|
+
end
|
61
|
+
end
|
62
|
+
|
63
|
+
end
|
64
|
+
end
|
@@ -31,30 +31,20 @@ module Brightbox
|
|
31
31
|
|
32
32
|
def destroy
|
33
33
|
fog_model.destroy
|
34
|
-
rescue Excon::Errors::Conflict => e
|
35
|
-
raise Conflict, "Cannot delete server #{id}"
|
36
34
|
end
|
37
35
|
|
38
36
|
def activate_console
|
39
37
|
self.class.conn.activate_console_server id
|
40
38
|
end
|
41
39
|
|
42
|
-
def server_type
|
43
|
-
@server_type ||= (Type.new(flavor_id) if flavor_id)
|
44
|
-
end
|
45
|
-
|
46
|
-
def image
|
47
|
-
@image ||= (Image.new(image_id) if image_id)
|
48
|
-
end
|
49
|
-
|
50
40
|
def attributes
|
51
41
|
a = fog_model.attributes
|
52
|
-
a[:image] =
|
42
|
+
a[:image] = image_id
|
53
43
|
a[:created_at] = created_at
|
54
44
|
a[:created_on] = fog_model.created_at.strftime("%Y-%m-%d")
|
55
|
-
a[:type] = server_type
|
45
|
+
a[:type] = server_type['handle']
|
56
46
|
a[:status] = fog_model.state
|
57
|
-
a[:zone] =
|
47
|
+
a[:zone] = zone && zone['handle']
|
58
48
|
a[:hostname] = hostname
|
59
49
|
a[:public_hostname] = public_hostname unless cloud_ips.empty?
|
60
50
|
a
|
@@ -79,4 +69,6 @@ module Brightbox
|
|
79
69
|
"public.#{hostname}"
|
80
70
|
end
|
81
71
|
end
|
72
|
+
|
73
|
+
|
82
74
|
end
|
@@ -98,6 +98,7 @@ end
|
|
98
98
|
|
99
99
|
task :nuke do
|
100
100
|
Fog.providers.each do |provider|
|
101
|
+
next if ['Vmfusion'].include?(provider)
|
101
102
|
begin
|
102
103
|
compute = Fog::Compute.new(:provider => provider)
|
103
104
|
for server in compute.servers
|
@@ -106,6 +107,17 @@ task :nuke do
|
|
106
107
|
end
|
107
108
|
rescue
|
108
109
|
end
|
110
|
+
begin
|
111
|
+
dns = Fog::DNS.new(:provider => provider)
|
112
|
+
for zone in dns.zones
|
113
|
+
for record in zone.records
|
114
|
+
record.destroy rescue nil
|
115
|
+
end
|
116
|
+
Formatador.display_line("[#{provider}] destroying zone #{zone.identity}")
|
117
|
+
zone.destroy rescue nil
|
118
|
+
end
|
119
|
+
rescue
|
120
|
+
end
|
109
121
|
end
|
110
122
|
end
|
111
123
|
|
@@ -191,8 +203,10 @@ task :changelog do
|
|
191
203
|
changelog << ''
|
192
204
|
|
193
205
|
require 'multi_json'
|
194
|
-
|
195
|
-
data =
|
206
|
+
github_repo_data = MultiJson.decode(Excon.get('http://github.com/api/v2/json/repos/show/geemus/fog').body)
|
207
|
+
data = github_repo_data['repository'].reject {|key, value| !['forks', 'open_issues', 'watchers'].include?(key)}
|
208
|
+
github_collaborator_data = MultiJson.decode(Excon.get('http://github.com/api/v2/json/repos/show/geemus/fog/collaborators').body)
|
209
|
+
data['collaborators'] = github_collaborator_data['collaborators'].length
|
196
210
|
rubygems_data = MultiJson.decode(Excon.get('https://rubygems.org/api/v1/gems/fog.json').body)
|
197
211
|
data['downloads'] = rubygems_data['downloads']
|
198
212
|
stats = []
|
@@ -236,6 +250,7 @@ task :changelog do
|
|
236
250
|
'Lincoln Stoll',
|
237
251
|
'Luqman Amjad',
|
238
252
|
'nightshade427',
|
253
|
+
'Patrick Debois',
|
239
254
|
'Wesley Beary'
|
240
255
|
].include?(committer)
|
241
256
|
next
|