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
@@ -103,12 +103,17 @@ module Fog
|
|
103
103
|
|
104
104
|
def self.data
|
105
105
|
@data ||= Hash.new do |hash, region|
|
106
|
-
owner_id = Fog::AWS::Mock.owner_id
|
107
106
|
hash[region] = Hash.new do |region_hash, key|
|
107
|
+
owner_id = Fog::AWS::Mock.owner_id
|
108
108
|
region_hash[key] = {
|
109
109
|
:deleted_at => {},
|
110
110
|
:addresses => {},
|
111
111
|
:images => {},
|
112
|
+
:image_launch_permissions => Hash.new do |permissions_hash, image_key|
|
113
|
+
permissions_hash[image_key] = {
|
114
|
+
:users => []
|
115
|
+
}
|
116
|
+
end,
|
112
117
|
:instances => {},
|
113
118
|
:reserved_instances => {},
|
114
119
|
:key_pairs => {},
|
@@ -116,9 +121,10 @@ module Fog
|
|
116
121
|
:owner_id => owner_id,
|
117
122
|
:security_groups => {
|
118
123
|
'default' => {
|
119
|
-
'groupDescription'
|
120
|
-
'groupName'
|
121
|
-
'
|
124
|
+
'groupDescription' => 'default group',
|
125
|
+
'groupName' => 'default',
|
126
|
+
'ipPermissionsEgress' => [],
|
127
|
+
'ipPermissions' => [
|
122
128
|
{
|
123
129
|
'groups' => [{'groupName' => 'default', 'userId' => owner_id}],
|
124
130
|
'fromPort' => -1,
|
@@ -141,12 +147,15 @@ module Fog
|
|
141
147
|
'ipRanges' => []
|
142
148
|
}
|
143
149
|
],
|
144
|
-
'ownerId'
|
150
|
+
'ownerId' => owner_id
|
145
151
|
}
|
146
152
|
},
|
147
153
|
:snapshots => {},
|
148
154
|
:volumes => {},
|
149
|
-
:tags => {}
|
155
|
+
:tags => {},
|
156
|
+
:tag_sets => Hash.new do |tag_set_hash, resource_id|
|
157
|
+
tag_set_hash[resource_id] = {}
|
158
|
+
end
|
150
159
|
}
|
151
160
|
end
|
152
161
|
end
|
@@ -166,36 +175,58 @@ module Fog
|
|
166
175
|
end
|
167
176
|
end
|
168
177
|
|
178
|
+
def region_data
|
179
|
+
self.class.data[@region]
|
180
|
+
end
|
181
|
+
|
169
182
|
def data
|
170
|
-
self.
|
183
|
+
self.region_data[@aws_access_key_id]
|
171
184
|
end
|
172
185
|
|
173
186
|
def reset_data
|
174
|
-
self.
|
187
|
+
self.region_data.delete(@aws_access_key_id)
|
188
|
+
end
|
189
|
+
|
190
|
+
def visible_images
|
191
|
+
images = self.data[:images].values.inject({}) do |h, image|
|
192
|
+
h.update(image['imageId'] => image)
|
193
|
+
end
|
194
|
+
|
195
|
+
self.region_data.each do |aws_access_key_id, data|
|
196
|
+
data[:image_launch_permissions].each do |image_id, list|
|
197
|
+
if list[:users].include?(self.data[:owner_id])
|
198
|
+
images.update(image_id => data[:images][image_id])
|
199
|
+
end
|
200
|
+
end
|
201
|
+
end
|
202
|
+
|
203
|
+
images
|
175
204
|
end
|
176
205
|
|
177
|
-
def apply_tag_filters(resources, filters)
|
206
|
+
def apply_tag_filters(resources, filters, resource_id_key)
|
207
|
+
tag_set_fetcher = lambda {|resource| self.data[:tag_sets][resource[resource_id_key]] }
|
208
|
+
|
178
209
|
# tag-key: match resources tagged with this key (any value)
|
179
210
|
if filters.has_key?('tag-key')
|
180
211
|
value = filters.delete('tag-key')
|
181
|
-
resources = resources.select{|r| r
|
212
|
+
resources = resources.select{|r| tag_set_fetcher[r].has_key?(value)}
|
182
213
|
end
|
183
|
-
|
214
|
+
|
184
215
|
# tag-value: match resources tagged with this value (any key)
|
185
216
|
if filters.has_key?('tag-value')
|
186
217
|
value = filters.delete('tag-value')
|
187
|
-
resources = resources.select{|r| r
|
218
|
+
resources = resources.select{|r| tag_set_fetcher[r].values.include?(value)}
|
188
219
|
end
|
189
|
-
|
190
|
-
# tag:key: match resources
|
220
|
+
|
221
|
+
# tag:key: match resources tagged with a key-value pair. Value may be an array, which is OR'd.
|
191
222
|
tag_filters = {}
|
192
|
-
filters.keys.each do |key|
|
223
|
+
filters.keys.each do |key|
|
193
224
|
tag_filters[key.gsub('tag:', '')] = filters.delete(key) if /^tag:/ =~ key
|
194
225
|
end
|
195
226
|
for tag_key, tag_value in tag_filters
|
196
|
-
resources = resources.select{|r| tag_value.include?(r
|
227
|
+
resources = resources.select{|r| tag_value.include?(tag_set_fetcher[r][tag_key])}
|
197
228
|
end
|
198
|
-
|
229
|
+
|
199
230
|
resources
|
200
231
|
end
|
201
232
|
end
|
@@ -205,7 +236,7 @@ module Fog
|
|
205
236
|
# Initialize connection to EC2
|
206
237
|
#
|
207
238
|
# ==== Notes
|
208
|
-
# options parameter must include values for :aws_access_key_id and
|
239
|
+
# options parameter must include values for :aws_access_key_id and
|
209
240
|
# :aws_secret_access_key in order to create a connection
|
210
241
|
#
|
211
242
|
# ==== Examples
|
@@ -264,7 +295,7 @@ module Fog
|
|
264
295
|
end
|
265
296
|
|
266
297
|
private
|
267
|
-
|
298
|
+
|
268
299
|
def request(params)
|
269
300
|
idempotent = params.delete(:idempotent)
|
270
301
|
parser = params.delete(:parser)
|
@@ -0,0 +1,127 @@
|
|
1
|
+
module Fog
|
2
|
+
module AWS
|
3
|
+
class Elasticache < Fog::Service
|
4
|
+
|
5
|
+
class IdentifierTaken < Fog::Errors::Error; end
|
6
|
+
class InvalidInstance < Fog::Errors::Error; end
|
7
|
+
|
8
|
+
requires :aws_access_key_id, :aws_secret_access_key
|
9
|
+
recognizes :region, :host, :path, :port, :scheme, :persistent
|
10
|
+
|
11
|
+
request_path 'fog/aws/requests/elasticache'
|
12
|
+
|
13
|
+
request :create_cache_cluster
|
14
|
+
request :delete_cache_cluster
|
15
|
+
request :describe_cache_clusters
|
16
|
+
request :modify_cache_cluster
|
17
|
+
request :reboot_cache_cluster
|
18
|
+
|
19
|
+
request :create_cache_parameter_group
|
20
|
+
request :delete_cache_parameter_group
|
21
|
+
request :describe_cache_parameter_groups
|
22
|
+
request :modify_cache_parameter_group
|
23
|
+
request :reset_cache_parameter_group
|
24
|
+
request :describe_engine_default_parameters
|
25
|
+
request :describe_cache_parameters
|
26
|
+
|
27
|
+
request :create_cache_security_group
|
28
|
+
request :delete_cache_security_group
|
29
|
+
request :describe_cache_security_groups
|
30
|
+
request :authorize_cache_security_group_ingress
|
31
|
+
request :revoke_cache_security_group_ingress
|
32
|
+
|
33
|
+
request :describe_events
|
34
|
+
|
35
|
+
model_path 'fog/aws/models/elasticache'
|
36
|
+
model :cluster
|
37
|
+
collection :clusters
|
38
|
+
model :security_group
|
39
|
+
collection :security_groups
|
40
|
+
model :parameter_group
|
41
|
+
collection :parameter_groups
|
42
|
+
|
43
|
+
class Mock
|
44
|
+
def initalize(options={})
|
45
|
+
Fog::Mock.not_implemented
|
46
|
+
end
|
47
|
+
end
|
48
|
+
|
49
|
+
class Real
|
50
|
+
|
51
|
+
def initialize(options={})
|
52
|
+
@aws_access_key_id = options[:aws_access_key_id]
|
53
|
+
@aws_secret_access_key = options[:aws_secret_access_key]
|
54
|
+
@hmac = Fog::HMAC.new('sha256', @aws_secret_access_key)
|
55
|
+
|
56
|
+
options[:region] ||= 'us-east-1'
|
57
|
+
@host = options[:host] || case options[:region]
|
58
|
+
when 'us-east-1'
|
59
|
+
'elasticache.us-east-1.amazonaws.com'
|
60
|
+
#TODO: Support other regions
|
61
|
+
else
|
62
|
+
raise ArgumentError, "Unknown region: #{options[:region].inspect}"
|
63
|
+
end
|
64
|
+
@path = options[:path] || '/'
|
65
|
+
@port = options[:port] || 443
|
66
|
+
@scheme = options[:scheme] || 'https'
|
67
|
+
@connection = Fog::Connection.new(
|
68
|
+
"#{@scheme}://#{@host}:#{@port}#{@path}", options[:persistent]
|
69
|
+
)
|
70
|
+
end
|
71
|
+
|
72
|
+
def reload
|
73
|
+
@connection.reset
|
74
|
+
end
|
75
|
+
|
76
|
+
private
|
77
|
+
def request(params)
|
78
|
+
idempotent = params.delete(:idempotent)
|
79
|
+
parser = params.delete(:parser)
|
80
|
+
|
81
|
+
body = Fog::AWS.signed_params(
|
82
|
+
params,
|
83
|
+
{
|
84
|
+
:aws_access_key_id => @aws_access_key_id,
|
85
|
+
:hmac => @hmac,
|
86
|
+
:host => @host,
|
87
|
+
:path => @path,
|
88
|
+
:port => @port,
|
89
|
+
:version => '2011-07-15'
|
90
|
+
}
|
91
|
+
)
|
92
|
+
|
93
|
+
begin
|
94
|
+
response = @connection.request({
|
95
|
+
:body => body,
|
96
|
+
:expects => 200,
|
97
|
+
:headers => { 'Content-Type' => 'application/x-www-form-urlencoded' },
|
98
|
+
:idempotent => idempotent,
|
99
|
+
:host => @host,
|
100
|
+
:method => 'POST',
|
101
|
+
:parser => parser
|
102
|
+
})
|
103
|
+
rescue Excon::Errors::HTTPStatusError => error
|
104
|
+
if match = error.message.match(/<Code>(.*)<\/Code>/m)
|
105
|
+
case match[1]
|
106
|
+
when 'CacheSecurityGroupNotFound', 'CacheParameterGroupNotFound',
|
107
|
+
'CacheClusterNotFound'
|
108
|
+
raise Fog::AWS::Elasticache::NotFound
|
109
|
+
when 'CacheSecurityGroupAlreadyExists'
|
110
|
+
raise Fog::AWS::Elasticache::IdentifierTaken
|
111
|
+
when 'InvalidParameterValue'
|
112
|
+
raise Fog::AWS::Elasticache::InvalidInstance
|
113
|
+
else
|
114
|
+
raise
|
115
|
+
end
|
116
|
+
else
|
117
|
+
raise
|
118
|
+
end
|
119
|
+
end
|
120
|
+
|
121
|
+
response
|
122
|
+
end
|
123
|
+
|
124
|
+
end
|
125
|
+
end
|
126
|
+
end
|
127
|
+
end
|
@@ -0,0 +1,39 @@
|
|
1
|
+
require 'fog/core/collection'
|
2
|
+
require 'fog/aws/models/cloud_watch/alarm_datum'
|
3
|
+
|
4
|
+
module Fog
|
5
|
+
module AWS
|
6
|
+
class CloudWatch
|
7
|
+
class AlarmData < Fog::Collection
|
8
|
+
model Fog::AWS::CloudWatch::AlarmDatum
|
9
|
+
|
10
|
+
def all(conditions={})
|
11
|
+
data = connection.describe_alarms(conditions).body['DescribeAlarmsResult']['MetricAlarms']
|
12
|
+
load(data) # data is an array of attribute hashes
|
13
|
+
end
|
14
|
+
|
15
|
+
def get(namespace, metric_name, dimensions=nil, period=nil, statistic=nil, unit=nil)
|
16
|
+
list_opts = {'Namespace' => namespace, 'MetricName' => metric_name}
|
17
|
+
if dimensions
|
18
|
+
dimensions_array = dimensions.collect do |name, value|
|
19
|
+
{'Name' => name, 'Value' => value}
|
20
|
+
end
|
21
|
+
list_opts.merge!('Dimensions' => dimensions_array)
|
22
|
+
end
|
23
|
+
if period
|
24
|
+
list_opts.merge!('Period' => period)
|
25
|
+
end
|
26
|
+
if statistic
|
27
|
+
list_opts.merge!('Statistic' => statistic)
|
28
|
+
end
|
29
|
+
if unit
|
30
|
+
list_opts.merge!('Unit' => unit)
|
31
|
+
end
|
32
|
+
data = connection.describe_alarms_for_metric(list_opts).body['DescribeAlarmsForMetricResult']['MetricAlarms']
|
33
|
+
load(data)
|
34
|
+
end
|
35
|
+
|
36
|
+
end
|
37
|
+
end
|
38
|
+
end
|
39
|
+
end
|
@@ -0,0 +1,66 @@
|
|
1
|
+
require 'fog/core/model'
|
2
|
+
|
3
|
+
module Fog
|
4
|
+
module AWS
|
5
|
+
class CloudWatch
|
6
|
+
|
7
|
+
class AlarmDatum < Fog::Model
|
8
|
+
attribute :alarm_name, :aliases => 'AlarmName'
|
9
|
+
attribute :metric_name, :aliases => 'MetricName'
|
10
|
+
attribute :namespace, :aliases => 'Namespace'
|
11
|
+
attribute :dimensions, :aliases => 'Dimensions'
|
12
|
+
attribute :alarm_description, :aliases => 'AlarmDescription'
|
13
|
+
attribute :alarm_arn, :aliases => 'AlarmArn'
|
14
|
+
attribute :state_value, :aliases => 'StateValue'
|
15
|
+
attribute :statistic, :aliases => 'Statistic'
|
16
|
+
attribute :comparison_operator, :aliases => 'ComparisonOperator'
|
17
|
+
attribute :state_reason, :aliases => 'StateReason'
|
18
|
+
attribute :action_enabled, :aliases => 'ActionsEnabled'
|
19
|
+
attribute :period, :aliases => 'Period'
|
20
|
+
attribute :evaluation_periods, :aliases => 'EvaluationPeriods'
|
21
|
+
attribute :threshold, :aliases => 'Threshold'
|
22
|
+
attribute :alarm_actions, :aliases => 'AlarmActions'
|
23
|
+
attribute :ok_actions, :aliases => 'OKActions'
|
24
|
+
attribute :insufficient_actions, :aliases => 'InsufficientDataActions'
|
25
|
+
attribute :unit, :aliases => 'Unit'
|
26
|
+
attribute :state_updated_timestamp, :aliases => 'StateUpdatedTimestamp'
|
27
|
+
attribute :alarm_configuration_updated_timestamp, :aliases => 'AlarmConfigurationUpdatedTimestamp'
|
28
|
+
|
29
|
+
def save
|
30
|
+
requires :alarm_name
|
31
|
+
requires :comparison_operator
|
32
|
+
requires :evaluation_periods
|
33
|
+
requires :metric_name
|
34
|
+
requires :namespace
|
35
|
+
requires :period
|
36
|
+
requires :statistic
|
37
|
+
requires :threshold
|
38
|
+
|
39
|
+
alarm_definition = {
|
40
|
+
'AlarmName' => alarm_name,
|
41
|
+
'ComparisonOperator' => comparison_operator,
|
42
|
+
'EvaluationPeriods' => evaluation_periods,
|
43
|
+
'MetricName' => metric_name,
|
44
|
+
'Namespace' => namespace,
|
45
|
+
'Period' => period,
|
46
|
+
'Statistic' => statistic,
|
47
|
+
'Threshold' => threshold
|
48
|
+
}
|
49
|
+
|
50
|
+
alarm_definition.merge!('ActionsEnabled' => action_enabled) if action_enabled
|
51
|
+
alarm_definition.merge!('AlarmActions' => alarm_actions) if alarm_actions
|
52
|
+
alarm_definition.merge!('AlarmDescription' => alarm_description) if alarm_description
|
53
|
+
|
54
|
+
#dimension is an array of Name/Value pairs, ex. [{'Name'=>'host', 'Value'=>'localhost'},{'Name'=>'version', 'Value'=>'0.11.0'}]
|
55
|
+
alarm_definition.merge!('Dimensions' => dimensions) if dimensions
|
56
|
+
alarm_definition.merge!('InsufficientDataActions' => insufficient_actions) if insufficient_actions
|
57
|
+
alarm_definition.merge!('OKActions' => ok_actions) if ok_actions
|
58
|
+
alarm_definition.merge!('Unit' => unit) if unit
|
59
|
+
|
60
|
+
connection.put_metric_alarm(alarm_definition)
|
61
|
+
true
|
62
|
+
end
|
63
|
+
end
|
64
|
+
end
|
65
|
+
end
|
66
|
+
end
|
@@ -0,0 +1,18 @@
|
|
1
|
+
require 'fog/core/collection'
|
2
|
+
require 'fog/aws/models/cloud_watch/alarm_history'
|
3
|
+
|
4
|
+
module Fog
|
5
|
+
module AWS
|
6
|
+
class CloudWatch
|
7
|
+
class AlarmHistories < Fog::Collection
|
8
|
+
model Fog::AWS::CloudWatch::AlarmHistory
|
9
|
+
|
10
|
+
def all(conditions={})
|
11
|
+
data = connection.describe_alarm_history(conditions).body['DescribeAlarmHistoryResult']['AlarmHistoryItems']
|
12
|
+
load(data) # data is an array of attribute hashes
|
13
|
+
end
|
14
|
+
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
@@ -0,0 +1,16 @@
|
|
1
|
+
require 'fog/core/model'
|
2
|
+
|
3
|
+
module Fog
|
4
|
+
module AWS
|
5
|
+
class CloudWatch
|
6
|
+
|
7
|
+
class AlarmHistory < Fog::Model
|
8
|
+
attribute :alarm_name, :aliases => 'AlarmName'
|
9
|
+
attribute :end_date, :aliases => 'EndDate'
|
10
|
+
attribute :history_item_type, :aliases => 'HistoryItemType'
|
11
|
+
attribute :max_records, :aliases => 'MaxRecords'
|
12
|
+
attribute :start_date, :aliases => 'StartDate'
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
@@ -0,0 +1,30 @@
|
|
1
|
+
require 'fog/core/collection'
|
2
|
+
require 'fog/aws/models/cloud_watch/alarm'
|
3
|
+
|
4
|
+
module Fog
|
5
|
+
module AWS
|
6
|
+
class CloudWatch
|
7
|
+
|
8
|
+
class Alarms < Fog::Collection
|
9
|
+
model Fog::AWS::CloudWatch::Alarm
|
10
|
+
|
11
|
+
#alarm_names is an array of alarm names
|
12
|
+
def delete(alarm_names)
|
13
|
+
connection.delete_alarms(alarm_names)
|
14
|
+
true
|
15
|
+
end
|
16
|
+
|
17
|
+
def disable(alarm_names)
|
18
|
+
connection.disable_alarm_actions(alarm_names)
|
19
|
+
true
|
20
|
+
end
|
21
|
+
|
22
|
+
def enable(alarm_names)
|
23
|
+
connection.enable_alarm_actions(alarm_names)
|
24
|
+
true
|
25
|
+
end
|
26
|
+
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
@@ -0,0 +1,69 @@
|
|
1
|
+
require 'fog/core/model'
|
2
|
+
|
3
|
+
module Fog
|
4
|
+
module AWS
|
5
|
+
class Elasticache
|
6
|
+
|
7
|
+
class Cluster < Fog::Model
|
8
|
+
# simple attributes
|
9
|
+
identity :id, :aliases => 'CacheClusterId'
|
10
|
+
attribute :auto_upgrade, :aliases => 'AutoMinorVersionUpgrade'
|
11
|
+
attribute :status, :aliases => 'CacheClusterStatus'
|
12
|
+
attribute :node_type, :aliases => 'CacheNodeType'
|
13
|
+
attribute :engine, :aliases => 'Engine'
|
14
|
+
attribute :engine_version, :aliases => 'EngineVersion'
|
15
|
+
attribute :num_nodes, :aliases => 'NumCacheNodes'
|
16
|
+
attribute :zone, :aliases => 'PreferredAvailabilityZone'
|
17
|
+
attribute :port, :aliases => 'Port'
|
18
|
+
attribute :maintenance_window, :aliases => 'PreferredMaintenanceWindow'
|
19
|
+
# complex attributes
|
20
|
+
attribute :nodes, :aliases => 'CacheNodes', :type => :array
|
21
|
+
attribute :parameter_group,
|
22
|
+
:aliases => 'CacheParameterGroup', :type => :hash
|
23
|
+
attribute :pending_values,
|
24
|
+
:aliases => 'PendingModifiedValues', :type => :hash
|
25
|
+
attribute :create_time,
|
26
|
+
:aliases => 'CacheClusterCreateTime', :type => :date_time
|
27
|
+
attribute :security_groups,
|
28
|
+
:aliases => 'CacheSecurityGroups', :type => :array
|
29
|
+
attribute :notification_config,
|
30
|
+
:aliases => 'NotificationConfiguration', :type => :hash
|
31
|
+
|
32
|
+
def ready?
|
33
|
+
status == 'available'
|
34
|
+
end
|
35
|
+
|
36
|
+
def destroy
|
37
|
+
requires :id
|
38
|
+
connection.delete_cache_cluster(id)
|
39
|
+
true
|
40
|
+
end
|
41
|
+
|
42
|
+
def save
|
43
|
+
requires :id
|
44
|
+
|
45
|
+
parameter_group ||= Hash.new
|
46
|
+
notification_config ||= Hash.new
|
47
|
+
|
48
|
+
connection.create_cache_cluster(
|
49
|
+
id, {
|
50
|
+
:node_type => node_type,
|
51
|
+
:security_group_names => security_groups,
|
52
|
+
:num_nodes => num_nodes,
|
53
|
+
:auto_minor_version_upgrade => auto_upgrade,
|
54
|
+
:engine => engine,
|
55
|
+
:engine_version => engine_version,
|
56
|
+
:notification_topic_arn => notification_config['TopicArn'],
|
57
|
+
:port => port,
|
58
|
+
:preferred_availablility_zone => zone,
|
59
|
+
:preferred_maintenance_window => maintenance_window,
|
60
|
+
:parameter_group_name => parameter_group['CacheParameterGroupName'],
|
61
|
+
}
|
62
|
+
)
|
63
|
+
end
|
64
|
+
|
65
|
+
end
|
66
|
+
|
67
|
+
end
|
68
|
+
end
|
69
|
+
end
|
@@ -0,0 +1,31 @@
|
|
1
|
+
require 'fog/core/collection'
|
2
|
+
require 'fog/aws/models/elasticache/cluster'
|
3
|
+
|
4
|
+
module Fog
|
5
|
+
module AWS
|
6
|
+
class Elasticache
|
7
|
+
|
8
|
+
class Clusters < Fog::Collection
|
9
|
+
model Fog::AWS::Elasticache::Cluster
|
10
|
+
|
11
|
+
def all
|
12
|
+
load(
|
13
|
+
connection.describe_cache_clusters(
|
14
|
+
nil, :show_node_info => true
|
15
|
+
).body['CacheClusters']
|
16
|
+
)
|
17
|
+
end
|
18
|
+
|
19
|
+
def get(identity, show_node_info = true)
|
20
|
+
new(
|
21
|
+
connection.describe_cache_clusters(
|
22
|
+
identity, :show_node_info => show_node_info
|
23
|
+
).body['CacheClusters'].first
|
24
|
+
)
|
25
|
+
rescue Fog::AWS::Elasticache::NotFound
|
26
|
+
end
|
27
|
+
end
|
28
|
+
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
@@ -0,0 +1,32 @@
|
|
1
|
+
require 'fog/core/model'
|
2
|
+
|
3
|
+
module Fog
|
4
|
+
module AWS
|
5
|
+
class Elasticache
|
6
|
+
|
7
|
+
class ParameterGroup < Fog::Model
|
8
|
+
|
9
|
+
identity :id, :aliases => 'CacheParameterGroupName'
|
10
|
+
attribute :description, :aliases => 'Description'
|
11
|
+
attribute :family, :aliases => 'CacheParameterGroupFamily'
|
12
|
+
|
13
|
+
def destroy
|
14
|
+
requires :id
|
15
|
+
connection.delete_cache_parameter_group(id)
|
16
|
+
true
|
17
|
+
end
|
18
|
+
|
19
|
+
def save
|
20
|
+
requires :id
|
21
|
+
connection.create_cache_parameter_group(
|
22
|
+
id,
|
23
|
+
description = id,
|
24
|
+
family = 'memcached1.4'
|
25
|
+
)
|
26
|
+
end
|
27
|
+
|
28
|
+
end
|
29
|
+
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
@@ -0,0 +1,30 @@
|
|
1
|
+
require 'fog/core/collection'
|
2
|
+
require 'fog/aws/models/elasticache/parameter_group'
|
3
|
+
|
4
|
+
module Fog
|
5
|
+
module AWS
|
6
|
+
class Elasticache
|
7
|
+
|
8
|
+
class ParameterGroups < Fog::Collection
|
9
|
+
model Fog::AWS::Elasticache::ParameterGroup
|
10
|
+
|
11
|
+
def all
|
12
|
+
load(
|
13
|
+
connection.describe_cache_parameter_groups.body['CacheParameterGroups']
|
14
|
+
)
|
15
|
+
end
|
16
|
+
|
17
|
+
def get(identity)
|
18
|
+
new(
|
19
|
+
connection.describe_cache_parameter_groups(
|
20
|
+
identity
|
21
|
+
).body['CacheParameterGroups'].first
|
22
|
+
)
|
23
|
+
rescue Fog::AWS::Elasticache::NotFound
|
24
|
+
nil
|
25
|
+
end
|
26
|
+
end
|
27
|
+
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
@@ -0,0 +1,52 @@
|
|
1
|
+
require 'fog/core/model'
|
2
|
+
|
3
|
+
module Fog
|
4
|
+
module AWS
|
5
|
+
class Elasticache
|
6
|
+
|
7
|
+
class SecurityGroup < Fog::Model
|
8
|
+
|
9
|
+
identity :id, :aliases => 'CacheSecurityGroupName'
|
10
|
+
attribute :description, :aliases => 'Description'
|
11
|
+
attribute :ec2_groups, :aliases => 'EC2SecurityGroups', :type => :array
|
12
|
+
attribute :owner_id, :aliases => 'OwnerId'
|
13
|
+
|
14
|
+
def ready?
|
15
|
+
ec2_groups.all?{|ingress| ingress['Status'] == 'authorized'}
|
16
|
+
end
|
17
|
+
|
18
|
+
def destroy
|
19
|
+
requires :id
|
20
|
+
connection.delete_cache_security_group(id)
|
21
|
+
true
|
22
|
+
end
|
23
|
+
|
24
|
+
def save
|
25
|
+
requires :id
|
26
|
+
requires :description
|
27
|
+
connection.create_cache_security_group(id, description)
|
28
|
+
end
|
29
|
+
|
30
|
+
def authorize_ec2_group(group_name, group_owner_id=owner_id)
|
31
|
+
requires :id
|
32
|
+
requires :owner_id if group_owner_id.nil?
|
33
|
+
data = connection.authorize_cache_security_group_ingress(
|
34
|
+
id, group_name, group_owner_id
|
35
|
+
)
|
36
|
+
merge_attributes(data.body['CacheSecurityGroup'])
|
37
|
+
end
|
38
|
+
|
39
|
+
def revoke_ec2_group(group_name, group_owner_id=owner_id)
|
40
|
+
requires :id
|
41
|
+
requires :owner_id if group_owner_id.nil?
|
42
|
+
data = connection.revoke_cache_security_group_ingress(
|
43
|
+
id, group_name, group_owner_id
|
44
|
+
)
|
45
|
+
merge_attributes(data.body['CacheSecurityGroup'])
|
46
|
+
end
|
47
|
+
|
48
|
+
end
|
49
|
+
|
50
|
+
end
|
51
|
+
end
|
52
|
+
end
|