fog 1.8.0 → 1.9.0
Sign up to get free protection for your applications and to get access to all the features.
- data/.gitignore +1 -0
- data/README.md +3 -1
- data/RELEASE.md +39 -0
- data/Rakefile +39 -14
- data/bin/fog +4 -0
- data/changelog.txt +430 -0
- data/docs/storage/aws.markdown +21 -0
- data/fog.gemspec +2 -2
- data/lib/fog/atmos/models/storage/directories.rb +2 -2
- data/lib/fog/atmos/models/storage/directory.rb +11 -11
- data/lib/fog/atmos/models/storage/file.rb +8 -8
- data/lib/fog/atmos/models/storage/files.rb +3 -3
- data/lib/fog/aws.rb +1 -0
- data/lib/fog/aws/compute.rb +2 -1
- data/lib/fog/aws/dynamodb.rb +1 -1
- data/lib/fog/aws/elasticache.rb +3 -1
- data/lib/fog/aws/models/auto_scaling/activities.rb +2 -2
- data/lib/fog/aws/models/auto_scaling/activity.rb +1 -1
- data/lib/fog/aws/models/auto_scaling/configuration.rb +2 -2
- data/lib/fog/aws/models/auto_scaling/configurations.rb +2 -2
- data/lib/fog/aws/models/auto_scaling/group.rb +12 -12
- data/lib/fog/aws/models/auto_scaling/groups.rb +2 -2
- data/lib/fog/aws/models/auto_scaling/instance.rb +5 -5
- data/lib/fog/aws/models/auto_scaling/instances.rb +2 -2
- data/lib/fog/aws/models/auto_scaling/policies.rb +2 -2
- data/lib/fog/aws/models/auto_scaling/policy.rb +2 -2
- data/lib/fog/aws/models/beanstalk/application.rb +7 -7
- data/lib/fog/aws/models/beanstalk/applications.rb +2 -2
- data/lib/fog/aws/models/beanstalk/environment.rb +10 -10
- data/lib/fog/aws/models/beanstalk/environments.rb +2 -2
- data/lib/fog/aws/models/beanstalk/events.rb +1 -1
- data/lib/fog/aws/models/beanstalk/template.rb +5 -5
- data/lib/fog/aws/models/beanstalk/templates.rb +3 -3
- data/lib/fog/aws/models/beanstalk/version.rb +6 -6
- data/lib/fog/aws/models/beanstalk/versions.rb +2 -2
- data/lib/fog/aws/models/cdn/distribution.rb +4 -4
- data/lib/fog/aws/models/cdn/distributions.rb +2 -2
- data/lib/fog/aws/models/cdn/invalidation.rb +2 -2
- data/lib/fog/aws/models/cdn/invalidations.rb +2 -2
- data/lib/fog/aws/models/cdn/streaming_distribution.rb +3 -3
- data/lib/fog/aws/models/cdn/streaming_distributions.rb +2 -2
- data/lib/fog/aws/models/cloud_watch/alarm.rb +2 -2
- data/lib/fog/aws/models/cloud_watch/alarm_data.rb +9 -9
- data/lib/fog/aws/models/cloud_watch/alarm_datum.rb +3 -3
- data/lib/fog/aws/models/cloud_watch/alarm_histories.rb +1 -1
- data/lib/fog/aws/models/cloud_watch/alarms.rb +7 -7
- data/lib/fog/aws/models/cloud_watch/metric_statistic.rb +2 -2
- data/lib/fog/aws/models/cloud_watch/metric_statistics.rb +3 -3
- data/lib/fog/aws/models/cloud_watch/metrics.rb +27 -7
- data/lib/fog/aws/models/compute/address.rb +9 -9
- data/lib/fog/aws/models/compute/addresses.rb +2 -2
- data/lib/fog/aws/models/compute/dhcp_option.rb +3 -3
- data/lib/fog/aws/models/compute/dhcp_options.rb +2 -2
- data/lib/fog/aws/models/compute/flavors.rb +1 -1
- data/lib/fog/aws/models/compute/image.rb +2 -2
- data/lib/fog/aws/models/compute/images.rb +5 -5
- data/lib/fog/aws/models/compute/internet_gateway.rb +4 -4
- data/lib/fog/aws/models/compute/internet_gateways.rb +2 -2
- data/lib/fog/aws/models/compute/key_pair.rb +4 -4
- data/lib/fog/aws/models/compute/key_pairs.rb +2 -2
- data/lib/fog/aws/models/compute/network_interface.rb +3 -3
- data/lib/fog/aws/models/compute/network_interfaces.rb +2 -2
- data/lib/fog/aws/models/compute/security_group.rb +7 -7
- data/lib/fog/aws/models/compute/security_groups.rb +3 -3
- data/lib/fog/aws/models/compute/server.rb +20 -16
- data/lib/fog/aws/models/compute/servers.rb +6 -6
- data/lib/fog/aws/models/compute/snapshot.rb +4 -4
- data/lib/fog/aws/models/compute/snapshots.rb +3 -3
- data/lib/fog/aws/models/compute/spot_request.rb +18 -8
- data/lib/fog/aws/models/compute/spot_requests.rb +11 -11
- data/lib/fog/aws/models/compute/subnet.rb +3 -3
- data/lib/fog/aws/models/compute/subnets.rb +2 -2
- data/lib/fog/aws/models/compute/tag.rb +2 -2
- data/lib/fog/aws/models/compute/tags.rb +3 -3
- data/lib/fog/aws/models/compute/volume.rb +12 -12
- data/lib/fog/aws/models/compute/volumes.rb +2 -2
- data/lib/fog/aws/models/compute/vpc.rb +2 -2
- data/lib/fog/aws/models/compute/vpcs.rb +2 -2
- data/lib/fog/aws/models/dns/record.rb +4 -4
- data/lib/fog/aws/models/dns/records.rb +3 -3
- data/lib/fog/aws/models/dns/zone.rb +3 -3
- data/lib/fog/aws/models/dns/zones.rb +2 -2
- data/lib/fog/aws/models/elasticache/cluster.rb +2 -2
- data/lib/fog/aws/models/elasticache/clusters.rb +2 -2
- data/lib/fog/aws/models/elasticache/parameter_group.rb +2 -2
- data/lib/fog/aws/models/elasticache/parameter_groups.rb +2 -2
- data/lib/fog/aws/models/elasticache/security_group.rb +4 -4
- data/lib/fog/aws/models/elasticache/security_groups.rb +2 -2
- data/lib/fog/aws/models/elb/listener.rb +2 -2
- data/lib/fog/aws/models/elb/load_balancer.rb +19 -19
- data/lib/fog/aws/models/elb/load_balancers.rb +2 -2
- data/lib/fog/aws/models/elb/policy.rb +3 -3
- data/lib/fog/aws/models/glacier/archive.rb +7 -7
- data/lib/fog/aws/models/glacier/job.rb +2 -2
- data/lib/fog/aws/models/glacier/jobs.rb +3 -3
- data/lib/fog/aws/models/glacier/vault.rb +7 -7
- data/lib/fog/aws/models/glacier/vaults.rb +2 -2
- data/lib/fog/aws/models/iam/access_key.rb +8 -8
- data/lib/fog/aws/models/iam/access_keys.rb +7 -7
- data/lib/fog/aws/models/iam/policies.rb +10 -10
- data/lib/fog/aws/models/iam/policy.rb +8 -8
- data/lib/fog/aws/models/iam/user.rb +10 -10
- data/lib/fog/aws/models/iam/users.rb +2 -2
- data/lib/fog/aws/models/rds/parameter.rb +2 -2
- data/lib/fog/aws/models/rds/parameter_group.rb +10 -10
- data/lib/fog/aws/models/rds/parameter_groups.rb +3 -3
- data/lib/fog/aws/models/rds/parameters.rb +2 -2
- data/lib/fog/aws/models/rds/security_group.rb +4 -4
- data/lib/fog/aws/models/rds/security_groups.rb +2 -2
- data/lib/fog/aws/models/rds/server.rb +10 -10
- data/lib/fog/aws/models/rds/servers.rb +3 -3
- data/lib/fog/aws/models/rds/snapshot.rb +3 -3
- data/lib/fog/aws/models/rds/snapshots.rb +3 -3
- data/lib/fog/aws/models/rds/subnet_groups.rb +2 -2
- data/lib/fog/aws/models/storage/directories.rb +2 -2
- data/lib/fog/aws/models/storage/directory.rb +13 -13
- data/lib/fog/aws/models/storage/file.rb +106 -14
- data/lib/fog/aws/models/storage/files.rb +10 -10
- data/lib/fog/aws/models/storage/version.rb +2 -2
- data/lib/fog/aws/models/storage/versions.rb +3 -3
- data/lib/fog/aws/parsers/compute/copy_snapshot.rb +22 -0
- data/lib/fog/aws/parsers/compute/describe_instances.rb +8 -1
- data/lib/fog/aws/parsers/compute/spot_instance_requests.rb +5 -3
- data/lib/fog/aws/parsers/elasticache/describe_reserved_cache_nodes.rb +37 -0
- data/lib/fog/aws/parsers/storage/cors_configuration.rb +41 -0
- data/lib/fog/aws/parsers/storage/get_bucket_lifecycle.rb +45 -11
- data/lib/fog/aws/requests/auto_scaling/resume_processes.rb +10 -1
- data/lib/fog/aws/requests/auto_scaling/suspend_processes.rb +7 -2
- data/lib/fog/aws/requests/cloud_formation/create_stack.rb +17 -0
- data/lib/fog/aws/requests/cloud_watch/list_metrics.rb +27 -0
- data/lib/fog/aws/requests/compute/copy_snapshot.rb +58 -0
- data/lib/fog/aws/requests/elasticache/describe_reserved_cache_nodes.rb +42 -0
- data/lib/fog/aws/requests/storage/abort_multipart_upload.rb +5 -7
- data/lib/fog/aws/requests/storage/complete_multipart_upload.rb +12 -16
- data/lib/fog/aws/requests/storage/copy_object.rb +19 -20
- data/lib/fog/aws/requests/storage/cors_utils.rb +41 -0
- data/lib/fog/aws/requests/storage/delete_bucket.rb +4 -7
- data/lib/fog/aws/requests/storage/delete_bucket_cors.rb +29 -0
- data/lib/fog/aws/requests/storage/delete_bucket_lifecycle.rb +4 -7
- data/lib/fog/aws/requests/storage/delete_bucket_policy.rb +5 -8
- data/lib/fog/aws/requests/storage/delete_bucket_website.rb +4 -7
- data/lib/fog/aws/requests/storage/delete_multiple_objects.rb +24 -29
- data/lib/fog/aws/requests/storage/delete_object.rb +5 -8
- data/lib/fog/aws/requests/storage/get_bucket.rb +25 -28
- data/lib/fog/aws/requests/storage/get_bucket_acl.rb +15 -18
- data/lib/fog/aws/requests/storage/get_bucket_cors.rb +65 -0
- data/lib/fog/aws/requests/storage/get_bucket_lifecycle.rb +9 -12
- data/lib/fog/aws/requests/storage/get_bucket_location.rb +5 -8
- data/lib/fog/aws/requests/storage/get_bucket_logging.rb +15 -18
- data/lib/fog/aws/requests/storage/get_bucket_object_versions.rb +37 -43
- data/lib/fog/aws/requests/storage/get_bucket_policy.rb +4 -7
- data/lib/fog/aws/requests/storage/get_bucket_versioning.rb +6 -9
- data/lib/fog/aws/requests/storage/get_bucket_website.rb +9 -11
- data/lib/fog/aws/requests/storage/get_object.rb +17 -20
- data/lib/fog/aws/requests/storage/get_object_acl.rb +18 -21
- data/lib/fog/aws/requests/storage/get_object_http_url.rb +6 -9
- data/lib/fog/aws/requests/storage/get_object_https_url.rb +6 -9
- data/lib/fog/aws/requests/storage/get_object_torrent.rb +15 -18
- data/lib/fog/aws/requests/storage/get_object_url.rb +7 -10
- data/lib/fog/aws/requests/storage/get_request_payment.rb +5 -8
- data/lib/fog/aws/requests/storage/get_service.rb +9 -11
- data/lib/fog/aws/requests/storage/head_object.rb +19 -22
- data/lib/fog/aws/requests/storage/initiate_multipart_upload.rb +17 -20
- data/lib/fog/aws/requests/storage/list_multipart_uploads.rb +27 -32
- data/lib/fog/aws/requests/storage/list_parts.rb +25 -29
- data/lib/fog/aws/requests/storage/post_object_hidden_fields.rb +15 -17
- data/lib/fog/aws/requests/storage/put_bucket.rb +8 -11
- data/lib/fog/aws/requests/storage/put_bucket_acl.rb +15 -17
- data/lib/fog/aws/requests/storage/put_bucket_cors.rb +49 -0
- data/lib/fog/aws/requests/storage/put_bucket_lifecycle.rb +44 -15
- data/lib/fog/aws/requests/storage/put_bucket_logging.rb +13 -15
- data/lib/fog/aws/requests/storage/put_bucket_policy.rb +3 -5
- data/lib/fog/aws/requests/storage/put_bucket_versioning.rb +3 -5
- data/lib/fog/aws/requests/storage/put_bucket_website.rb +5 -7
- data/lib/fog/aws/requests/storage/put_object.rb +19 -22
- data/lib/fog/aws/requests/storage/put_object_acl.rb +17 -19
- data/lib/fog/aws/requests/storage/put_object_url.rb +6 -9
- data/lib/fog/aws/requests/storage/put_request_payment.rb +3 -5
- data/lib/fog/aws/requests/storage/upload_part.rb +12 -15
- data/lib/fog/aws/storage.rb +8 -1
- data/lib/fog/bin/rackspace.rb +7 -0
- data/lib/fog/bluebox/models/compute/flavors.rb +2 -2
- data/lib/fog/bluebox/models/compute/image.rb +8 -8
- data/lib/fog/bluebox/models/compute/images.rb +2 -2
- data/lib/fog/bluebox/models/compute/locations.rb +2 -2
- data/lib/fog/bluebox/models/compute/server.rb +10 -10
- data/lib/fog/bluebox/models/compute/servers.rb +2 -2
- data/lib/fog/bluebox/models/dns/record.rb +3 -3
- data/lib/fog/bluebox/models/dns/records.rb +2 -2
- data/lib/fog/bluebox/models/dns/zone.rb +3 -3
- data/lib/fog/bluebox/models/dns/zones.rb +2 -2
- data/lib/fog/bluebox/requests/compute/create_block.rb +2 -2
- data/lib/fog/brightbox/compute.rb +56 -9
- data/lib/fog/brightbox/models/compute/account.rb +1 -1
- data/lib/fog/brightbox/models/compute/accounts.rb +3 -3
- data/lib/fog/brightbox/models/compute/api_client.rb +4 -4
- data/lib/fog/brightbox/models/compute/api_clients.rb +2 -2
- data/lib/fog/brightbox/models/compute/application.rb +2 -2
- data/lib/fog/brightbox/models/compute/applications.rb +3 -3
- data/lib/fog/brightbox/models/compute/cloud_ip.rb +4 -3
- data/lib/fog/brightbox/models/compute/cloud_ips.rb +4 -4
- data/lib/fog/brightbox/models/compute/firewall_policies.rb +3 -3
- data/lib/fog/brightbox/models/compute/firewall_policy.rb +5 -5
- data/lib/fog/brightbox/models/compute/firewall_rule.rb +3 -3
- data/lib/fog/brightbox/models/compute/firewall_rules.rb +2 -2
- data/lib/fog/brightbox/models/compute/flavors.rb +3 -3
- data/lib/fog/brightbox/models/compute/image.rb +3 -3
- data/lib/fog/brightbox/models/compute/images.rb +2 -2
- data/lib/fog/brightbox/models/compute/load_balancer.rb +3 -3
- data/lib/fog/brightbox/models/compute/load_balancers.rb +2 -2
- data/lib/fog/brightbox/models/compute/server.rb +23 -17
- data/lib/fog/brightbox/models/compute/server_group.rb +6 -6
- data/lib/fog/brightbox/models/compute/server_groups.rb +3 -3
- data/lib/fog/brightbox/models/compute/servers.rb +3 -3
- data/lib/fog/brightbox/models/compute/user.rb +1 -1
- data/lib/fog/brightbox/models/compute/users.rb +3 -3
- data/lib/fog/brightbox/models/compute/zones.rb +3 -3
- data/lib/fog/brightbox/requests/compute/activate_console_server.rb +1 -1
- data/lib/fog/brightbox/requests/compute/add_listeners_load_balancer.rb +1 -1
- data/lib/fog/brightbox/requests/compute/add_nodes_load_balancer.rb +1 -1
- data/lib/fog/brightbox/requests/compute/add_servers_server_group.rb +1 -1
- data/lib/fog/brightbox/requests/compute/apply_to_firewall_policy.rb +1 -1
- data/lib/fog/brightbox/requests/compute/create_api_client.rb +1 -1
- data/lib/fog/brightbox/requests/compute/create_application.rb +1 -1
- data/lib/fog/brightbox/requests/compute/create_cloud_ip.rb +1 -1
- data/lib/fog/brightbox/requests/compute/create_firewall_policy.rb +1 -1
- data/lib/fog/brightbox/requests/compute/create_firewall_rule.rb +1 -1
- data/lib/fog/brightbox/requests/compute/create_image.rb +1 -1
- data/lib/fog/brightbox/requests/compute/create_load_balancer.rb +1 -1
- data/lib/fog/brightbox/requests/compute/create_server.rb +1 -1
- data/lib/fog/brightbox/requests/compute/create_server_group.rb +1 -1
- data/lib/fog/brightbox/requests/compute/destroy_api_client.rb +1 -1
- data/lib/fog/brightbox/requests/compute/destroy_application.rb +1 -1
- data/lib/fog/brightbox/requests/compute/destroy_cloud_ip.rb +1 -1
- data/lib/fog/brightbox/requests/compute/destroy_firewall_policy.rb +1 -1
- data/lib/fog/brightbox/requests/compute/destroy_firewall_rule.rb +1 -1
- data/lib/fog/brightbox/requests/compute/destroy_image.rb +1 -1
- data/lib/fog/brightbox/requests/compute/destroy_load_balancer.rb +1 -1
- data/lib/fog/brightbox/requests/compute/destroy_server.rb +1 -1
- data/lib/fog/brightbox/requests/compute/destroy_server_group.rb +1 -1
- data/lib/fog/brightbox/requests/compute/get_account.rb +1 -1
- data/lib/fog/brightbox/requests/compute/get_api_client.rb +1 -1
- data/lib/fog/brightbox/requests/compute/get_application.rb +1 -1
- data/lib/fog/brightbox/requests/compute/get_authenticated_user.rb +1 -1
- data/lib/fog/brightbox/requests/compute/get_cloud_ip.rb +1 -1
- data/lib/fog/brightbox/requests/compute/get_firewall_policy.rb +1 -1
- data/lib/fog/brightbox/requests/compute/get_firewall_rule.rb +1 -1
- data/lib/fog/brightbox/requests/compute/get_image.rb +1 -1
- data/lib/fog/brightbox/requests/compute/get_interface.rb +1 -1
- data/lib/fog/brightbox/requests/compute/get_load_balancer.rb +1 -1
- data/lib/fog/brightbox/requests/compute/get_scoped_account.rb +1 -1
- data/lib/fog/brightbox/requests/compute/get_server.rb +1 -1
- data/lib/fog/brightbox/requests/compute/get_server_group.rb +1 -1
- data/lib/fog/brightbox/requests/compute/get_server_type.rb +1 -1
- data/lib/fog/brightbox/requests/compute/get_user.rb +1 -1
- data/lib/fog/brightbox/requests/compute/get_zone.rb +1 -1
- data/lib/fog/brightbox/requests/compute/list_accounts.rb +1 -1
- data/lib/fog/brightbox/requests/compute/list_api_clients.rb +1 -1
- data/lib/fog/brightbox/requests/compute/list_applications.rb +1 -1
- data/lib/fog/brightbox/requests/compute/list_cloud_ips.rb +1 -1
- data/lib/fog/brightbox/requests/compute/list_firewall_policies.rb +1 -1
- data/lib/fog/brightbox/requests/compute/list_images.rb +1 -1
- data/lib/fog/brightbox/requests/compute/list_load_balancers.rb +1 -1
- data/lib/fog/brightbox/requests/compute/list_server_groups.rb +1 -1
- data/lib/fog/brightbox/requests/compute/list_server_types.rb +1 -1
- data/lib/fog/brightbox/requests/compute/list_servers.rb +1 -1
- data/lib/fog/brightbox/requests/compute/list_users.rb +1 -1
- data/lib/fog/brightbox/requests/compute/list_zones.rb +1 -1
- data/lib/fog/brightbox/requests/compute/map_cloud_ip.rb +1 -1
- data/lib/fog/brightbox/requests/compute/move_servers_server_group.rb +1 -1
- data/lib/fog/brightbox/requests/compute/remove_firewall_policy.rb +1 -1
- data/lib/fog/brightbox/requests/compute/remove_listeners_load_balancer.rb +1 -1
- data/lib/fog/brightbox/requests/compute/remove_nodes_load_balancer.rb +1 -1
- data/lib/fog/brightbox/requests/compute/remove_servers_server_group.rb +1 -1
- data/lib/fog/brightbox/requests/compute/reset_ftp_password_account.rb +1 -1
- data/lib/fog/brightbox/requests/compute/reset_ftp_password_scoped_account.rb +1 -1
- data/lib/fog/brightbox/requests/compute/reset_secret_api_client.rb +1 -1
- data/lib/fog/brightbox/requests/compute/reset_secret_application.rb +1 -1
- data/lib/fog/brightbox/requests/compute/shutdown_server.rb +1 -1
- data/lib/fog/brightbox/requests/compute/snapshot_server.rb +1 -1
- data/lib/fog/brightbox/requests/compute/start_server.rb +1 -1
- data/lib/fog/brightbox/requests/compute/stop_server.rb +1 -1
- data/lib/fog/brightbox/requests/compute/unmap_cloud_ip.rb +1 -1
- data/lib/fog/brightbox/requests/compute/update_account.rb +1 -1
- data/lib/fog/brightbox/requests/compute/update_api_client.rb +1 -1
- data/lib/fog/brightbox/requests/compute/update_application.rb +1 -1
- data/lib/fog/brightbox/requests/compute/update_cloud_ip.rb +1 -1
- data/lib/fog/brightbox/requests/compute/update_firewall_rule.rb +1 -1
- data/lib/fog/brightbox/requests/compute/update_image.rb +1 -1
- data/lib/fog/brightbox/requests/compute/update_load_balancer.rb +1 -1
- data/lib/fog/brightbox/requests/compute/update_scoped_account.rb +1 -1
- data/lib/fog/brightbox/requests/compute/update_server.rb +1 -1
- data/lib/fog/brightbox/requests/compute/update_server_group.rb +1 -1
- data/lib/fog/brightbox/requests/compute/update_user.rb +1 -1
- data/lib/fog/clodo/models/compute/images.rb +2 -2
- data/lib/fog/clodo/models/compute/server.rb +7 -7
- data/lib/fog/clodo/models/compute/servers.rb +2 -2
- data/lib/fog/cloudstack/models/compute/flavors.rb +2 -2
- data/lib/fog/cloudstack/models/compute/image.rb +2 -2
- data/lib/fog/cloudstack/models/compute/images.rb +2 -2
- data/lib/fog/cloudstack/models/compute/job.rb +2 -2
- data/lib/fog/cloudstack/models/compute/jobs.rb +2 -2
- data/lib/fog/cloudstack/models/compute/security_group.rb +3 -3
- data/lib/fog/cloudstack/models/compute/security_group_rule.rb +5 -5
- data/lib/fog/cloudstack/models/compute/security_group_rules.rb +1 -1
- data/lib/fog/cloudstack/models/compute/security_groups.rb +2 -2
- data/lib/fog/cloudstack/models/compute/server.rb +11 -11
- data/lib/fog/cloudstack/models/compute/servers.rb +2 -2
- data/lib/fog/cloudstack/models/compute/volume.rb +8 -8
- data/lib/fog/cloudstack/models/compute/volumes.rb +2 -2
- data/lib/fog/cloudstack/models/compute/zone.rb +1 -1
- data/lib/fog/cloudstack/models/compute/zones.rb +2 -2
- data/lib/fog/compute.rb +2 -1
- data/lib/fog/core/attributes.rb +20 -3
- data/lib/fog/core/collection.rb +17 -6
- data/lib/fog/core/deprecated_connection_accessors.rb +41 -0
- data/lib/fog/core/errors.rb +2 -0
- data/lib/fog/core/json.rb +4 -16
- data/lib/fog/core/logger.rb +2 -0
- data/lib/fog/core/model.rb +11 -1
- data/lib/fog/core/parser.rb +13 -0
- data/lib/fog/core/service.rb +1 -1
- data/lib/fog/core/wait_for.rb +1 -1
- data/lib/fog/dnsimple/models/dns/record.rb +4 -4
- data/lib/fog/dnsimple/models/dns/records.rb +2 -2
- data/lib/fog/dnsimple/models/dns/zone.rb +3 -3
- data/lib/fog/dnsimple/models/dns/zones.rb +2 -2
- data/lib/fog/dnsmadeeasy/models/dns/record.rb +5 -5
- data/lib/fog/dnsmadeeasy/models/dns/records.rb +2 -2
- data/lib/fog/dnsmadeeasy/models/dns/zone.rb +3 -3
- data/lib/fog/dnsmadeeasy/models/dns/zones.rb +2 -2
- data/lib/fog/dynect/models/dns/record.rb +3 -3
- data/lib/fog/dynect/models/dns/records.rb +2 -2
- data/lib/fog/dynect/models/dns/zone.rb +4 -4
- data/lib/fog/dynect/models/dns/zones.rb +2 -2
- data/lib/fog/ecloud.rb +19 -5
- data/lib/fog/ecloud/compute.rb +663 -351
- data/lib/fog/ecloud/generate_collection.rb +3 -3
- data/lib/fog/ecloud/models/compute/admin_organization.rb +14 -10
- data/lib/fog/ecloud/models/compute/admin_organizations.rb +1 -6
- data/lib/fog/ecloud/models/compute/api_keys.rb +2 -2
- data/lib/fog/ecloud/models/compute/association.rb +3 -3
- data/lib/fog/ecloud/models/compute/associations.rb +2 -2
- data/lib/fog/ecloud/models/compute/authentication_levels.rb +2 -2
- data/lib/fog/ecloud/models/compute/backup_internet_service.rb +7 -7
- data/lib/fog/ecloud/models/compute/backup_internet_services.rb +3 -3
- data/lib/fog/ecloud/models/compute/catalog.rb +2 -2
- data/lib/fog/ecloud/models/compute/catalog_configurations.rb +2 -2
- data/lib/fog/ecloud/models/compute/catalog_item.rb +1 -1
- data/lib/fog/ecloud/models/compute/compute_pool.rb +27 -15
- data/lib/fog/ecloud/models/compute/compute_pools.rb +2 -2
- data/lib/fog/ecloud/models/compute/cpu_usage_detail_summary.rb +2 -2
- data/lib/fog/ecloud/models/compute/detached_disk.rb +27 -0
- data/lib/fog/ecloud/models/compute/detached_disks.rb +31 -0
- data/lib/fog/ecloud/models/compute/environment.rb +27 -20
- data/lib/fog/ecloud/models/compute/environments.rb +2 -2
- data/lib/fog/ecloud/models/compute/firewall_acl.rb +1 -1
- data/lib/fog/ecloud/models/compute/firewall_acls.rb +2 -2
- data/lib/fog/ecloud/models/compute/group.rb +8 -6
- data/lib/fog/ecloud/models/compute/groups.rb +17 -6
- data/lib/fog/ecloud/models/compute/guest_processes.rb +2 -2
- data/lib/fog/ecloud/models/compute/hardware_configuration.rb +4 -4
- data/lib/fog/ecloud/models/compute/hardware_configurations.rb +2 -2
- data/lib/fog/ecloud/models/compute/internet_service.rb +35 -29
- data/lib/fog/ecloud/models/compute/internet_services.rb +11 -8
- data/lib/fog/ecloud/models/compute/ip_address.rb +17 -3
- data/lib/fog/ecloud/models/compute/ip_addresses.rb +7 -2
- data/lib/fog/ecloud/models/compute/layout.rb +1 -1
- data/lib/fog/ecloud/models/compute/layouts.rb +2 -2
- data/lib/fog/ecloud/models/compute/location.rb +1 -1
- data/lib/fog/ecloud/models/compute/locations.rb +2 -2
- data/lib/fog/ecloud/models/compute/login_banners.rb +2 -2
- data/lib/fog/ecloud/models/compute/memory_usage_detail_summary.rb +2 -2
- data/lib/fog/ecloud/models/compute/monitor.rb +4 -4
- data/lib/fog/ecloud/models/compute/monitors.rb +2 -2
- data/lib/fog/ecloud/models/compute/network.rb +22 -12
- data/lib/fog/ecloud/models/compute/networks.rb +9 -5
- data/lib/fog/ecloud/models/compute/node.rb +12 -6
- data/lib/fog/ecloud/models/compute/nodes.rb +7 -4
- data/lib/fog/ecloud/models/compute/operating_system_families.rb +2 -2
- data/lib/fog/ecloud/models/compute/operating_system_family.rb +1 -1
- data/lib/fog/ecloud/models/compute/operating_systems.rb +1 -1
- data/lib/fog/ecloud/models/compute/organization.rb +17 -17
- data/lib/fog/ecloud/models/compute/organizations.rb +3 -3
- data/lib/fog/ecloud/models/compute/password_complexity_rules.rb +2 -2
- data/lib/fog/ecloud/models/compute/physical_devices.rb +2 -2
- data/lib/fog/ecloud/models/compute/public_ip.rb +2 -2
- data/lib/fog/ecloud/models/compute/public_ips.rb +8 -5
- data/lib/fog/ecloud/models/compute/rnat.rb +2 -2
- data/lib/fog/ecloud/models/compute/rnats.rb +2 -2
- data/lib/fog/ecloud/models/compute/roles.rb +2 -2
- data/lib/fog/ecloud/models/compute/row.rb +10 -7
- data/lib/fog/ecloud/models/compute/rows.rb +9 -6
- data/lib/fog/ecloud/models/compute/server.rb +139 -93
- data/lib/fog/ecloud/models/compute/server_configuration_options.rb +2 -2
- data/lib/fog/ecloud/models/compute/servers.rb +18 -15
- data/lib/fog/ecloud/models/compute/ssh_key.rb +1 -1
- data/lib/fog/ecloud/models/compute/ssh_keys.rb +2 -2
- data/lib/fog/ecloud/models/compute/storage_usage_detail_summary.rb +2 -2
- data/lib/fog/ecloud/models/compute/support_tickets.rb +2 -2
- data/lib/fog/ecloud/models/compute/tags.rb +2 -2
- data/lib/fog/ecloud/models/compute/task.rb +3 -0
- data/lib/fog/ecloud/models/compute/tasks.rb +3 -3
- data/lib/fog/ecloud/models/compute/template.rb +8 -9
- data/lib/fog/ecloud/models/compute/templates.rb +2 -2
- data/lib/fog/ecloud/models/compute/trusted_network_group.rb +5 -5
- data/lib/fog/ecloud/models/compute/trusted_network_groups.rb +2 -2
- data/lib/fog/ecloud/models/compute/user.rb +2 -2
- data/lib/fog/ecloud/models/compute/users.rb +2 -2
- data/lib/fog/ecloud/models/compute/virtual_machine_assigned_ip.rb +32 -0
- data/lib/fog/ecloud/models/compute/virtual_machine_assigned_ips.rb +27 -0
- data/lib/fog/ecloud/requests/compute/admin_edit_authentication_levels.rb +1 -2
- data/lib/fog/ecloud/requests/compute/get_admin_organization.rb +14 -0
- data/lib/fog/ecloud/requests/compute/get_compute_pool.rb +11 -0
- data/lib/fog/ecloud/requests/compute/get_compute_pools.rb +21 -0
- data/lib/fog/ecloud/requests/compute/get_detached_disk.rb +21 -0
- data/lib/fog/ecloud/requests/compute/get_detached_disks.rb +33 -0
- data/lib/fog/ecloud/requests/compute/get_environment.rb +21 -0
- data/lib/fog/ecloud/requests/compute/get_group.rb +8 -1
- data/lib/fog/ecloud/requests/compute/get_groups.rb +8 -1
- data/lib/fog/ecloud/requests/compute/get_hardware_configuration.rb +19 -0
- data/lib/fog/ecloud/requests/compute/get_hardware_configurations.rb +4 -0
- data/lib/fog/ecloud/requests/compute/get_internet_service.rb +12 -0
- data/lib/fog/ecloud/requests/compute/get_internet_services.rb +8 -0
- data/lib/fog/ecloud/requests/compute/get_ip_address.rb +11 -0
- data/lib/fog/ecloud/requests/compute/get_layout.rb +8 -1
- data/lib/fog/ecloud/requests/compute/get_layouts.rb +8 -1
- data/lib/fog/ecloud/requests/compute/get_network.rb +11 -0
- data/lib/fog/ecloud/requests/compute/get_networks.rb +20 -0
- data/lib/fog/ecloud/requests/compute/get_node.rb +11 -0
- data/lib/fog/ecloud/requests/compute/get_nodes.rb +9 -0
- data/lib/fog/ecloud/requests/compute/get_operating_system.rb +14 -0
- data/lib/fog/ecloud/requests/compute/get_operating_system_families.rb +20 -0
- data/lib/fog/ecloud/requests/compute/get_organization.rb +14 -0
- data/lib/fog/ecloud/requests/compute/get_organizations.rb +14 -2
- data/lib/fog/ecloud/requests/compute/get_public_ip.rb +11 -1
- data/lib/fog/ecloud/requests/compute/get_public_ips.rb +22 -0
- data/lib/fog/ecloud/requests/compute/get_row.rb +8 -1
- data/lib/fog/ecloud/requests/compute/get_rows.rb +2 -1
- data/lib/fog/ecloud/requests/compute/get_server.rb +11 -0
- data/lib/fog/ecloud/requests/compute/get_servers.rb +32 -1
- data/lib/fog/ecloud/requests/compute/get_ssh_key.rb +11 -0
- data/lib/fog/ecloud/requests/compute/get_ssh_keys.rb +20 -0
- data/lib/fog/ecloud/requests/compute/get_task.rb +4 -2
- data/lib/fog/ecloud/requests/compute/get_template.rb +11 -0
- data/lib/fog/ecloud/requests/compute/get_templates.rb +38 -0
- data/lib/fog/ecloud/requests/compute/get_virtual_machine_assigned_ips.rb +44 -0
- data/lib/fog/ecloud/requests/compute/groups_delete.rb +16 -1
- data/lib/fog/ecloud/requests/compute/internet_service_create.rb +36 -1
- data/lib/fog/ecloud/requests/compute/internet_service_delete.rb +23 -0
- data/lib/fog/ecloud/requests/compute/node_service_create.rb +49 -1
- data/lib/fog/ecloud/requests/compute/node_service_delete.rb +24 -0
- data/lib/fog/ecloud/requests/compute/rows_delete.rb +11 -1
- data/lib/fog/ecloud/requests/compute/virtual_machine_attach_disk.rb +62 -0
- data/lib/fog/ecloud/requests/compute/virtual_machine_create_from_template.rb +136 -16
- data/lib/fog/ecloud/requests/compute/virtual_machine_delete.rb +36 -1
- data/lib/fog/ecloud/requests/compute/virtual_machine_detach_disk.rb +71 -0
- data/lib/fog/ecloud/requests/compute/virtual_machine_edit_assigned_ips.rb +82 -0
- data/lib/fog/ecloud/requests/compute/virtual_machine_edit_hardware_configuration.rb +27 -3
- data/lib/fog/ecloud/requests/compute/virtual_machine_import.rb +120 -6
- data/lib/fog/glesys/models/compute/ip.rb +7 -7
- data/lib/fog/glesys/models/compute/ips.rb +7 -7
- data/lib/fog/glesys/models/compute/server.rb +6 -6
- data/lib/fog/glesys/models/compute/servers.rb +4 -4
- data/lib/fog/glesys/models/compute/template.rb +1 -1
- data/lib/fog/glesys/models/compute/templates.rb +2 -2
- data/lib/fog/go_grid/models/compute/image.rb +3 -3
- data/lib/fog/go_grid/models/compute/images.rb +2 -2
- data/lib/fog/go_grid/models/compute/password.rb +5 -5
- data/lib/fog/go_grid/models/compute/passwords.rb +3 -3
- data/lib/fog/go_grid/models/compute/server.rb +4 -4
- data/lib/fog/go_grid/models/compute/servers.rb +2 -2
- data/lib/fog/google/models/storage/directories.rb +2 -2
- data/lib/fog/google/models/storage/directory.rb +4 -4
- data/lib/fog/google/models/storage/file.rb +5 -5
- data/lib/fog/google/models/storage/files.rb +4 -4
- data/lib/fog/hp.rb +6 -3
- data/lib/fog/hp/models/compute/address.rb +8 -8
- data/lib/fog/hp/models/compute/addresses.rb +2 -2
- data/lib/fog/hp/models/compute/flavors.rb +2 -2
- data/lib/fog/hp/models/compute/image.rb +2 -2
- data/lib/fog/hp/models/compute/images.rb +2 -2
- data/lib/fog/hp/models/compute/key_pair.rb +3 -3
- data/lib/fog/hp/models/compute/key_pairs.rb +2 -2
- data/lib/fog/hp/models/compute/security_group.rb +4 -4
- data/lib/fog/hp/models/compute/security_groups.rb +3 -3
- data/lib/fog/hp/models/compute/server.rb +15 -15
- data/lib/fog/hp/models/compute/servers.rb +2 -2
- data/lib/fog/hp/models/storage/directories.rb +3 -3
- data/lib/fog/hp/models/storage/directory.rb +18 -18
- data/lib/fog/hp/models/storage/file.rb +4 -4
- data/lib/fog/hp/models/storage/files.rb +2 -2
- data/lib/fog/ibm/models/compute/address.rb +2 -2
- data/lib/fog/ibm/models/compute/addresses.rb +2 -2
- data/lib/fog/ibm/models/compute/image.rb +3 -3
- data/lib/fog/ibm/models/compute/images.rb +2 -2
- data/lib/fog/ibm/models/compute/key.rb +2 -2
- data/lib/fog/ibm/models/compute/keys.rb +3 -3
- data/lib/fog/ibm/models/compute/locations.rb +2 -2
- data/lib/fog/ibm/models/compute/server.rb +12 -12
- data/lib/fog/ibm/models/compute/servers.rb +2 -2
- data/lib/fog/ibm/models/compute/vlans.rb +2 -2
- data/lib/fog/ibm/models/storage/offerings.rb +1 -1
- data/lib/fog/ibm/models/storage/volume.rb +5 -5
- data/lib/fog/ibm/models/storage/volumes.rb +2 -2
- data/lib/fog/identity.rb +3 -0
- data/lib/fog/joyent/models/compute/flavors.rb +2 -2
- data/lib/fog/joyent/models/compute/images.rb +2 -2
- data/lib/fog/joyent/models/compute/key.rb +1 -1
- data/lib/fog/joyent/models/compute/keys.rb +3 -3
- data/lib/fog/joyent/models/compute/server.rb +13 -13
- data/lib/fog/joyent/models/compute/servers.rb +3 -3
- data/lib/fog/joyent/models/compute/snapshot.rb +4 -4
- data/lib/fog/joyent/models/compute/snapshots.rb +3 -3
- data/lib/fog/libvirt/compute.rb +6 -1
- data/lib/fog/libvirt/models/compute/interface.rb +1 -1
- data/lib/fog/libvirt/models/compute/interfaces.rb +1 -1
- data/lib/fog/libvirt/models/compute/network.rb +1 -1
- data/lib/fog/libvirt/models/compute/networks.rb +1 -1
- data/lib/fog/libvirt/models/compute/nic.rb +2 -2
- data/lib/fog/libvirt/models/compute/nodes.rb +1 -1
- data/lib/fog/libvirt/models/compute/pool.rb +7 -7
- data/lib/fog/libvirt/models/compute/pools.rb +1 -1
- data/lib/fog/libvirt/models/compute/server.rb +28 -28
- data/lib/fog/libvirt/models/compute/servers.rb +2 -2
- data/lib/fog/libvirt/models/compute/volume.rb +5 -5
- data/lib/fog/libvirt/models/compute/volumes.rb +1 -1
- data/lib/fog/linode/models/compute/data_centers.rb +2 -2
- data/lib/fog/linode/models/compute/disk.rb +7 -7
- data/lib/fog/linode/models/compute/disks.rb +2 -2
- data/lib/fog/linode/models/compute/flavors.rb +2 -2
- data/lib/fog/linode/models/compute/images.rb +2 -2
- data/lib/fog/linode/models/compute/ip.rb +3 -3
- data/lib/fog/linode/models/compute/ips.rb +2 -2
- data/lib/fog/linode/models/compute/kernels.rb +2 -2
- data/lib/fog/linode/models/compute/server.rb +13 -13
- data/lib/fog/linode/models/compute/servers.rb +2 -2
- data/lib/fog/linode/models/compute/stack_scripts.rb +3 -3
- data/lib/fog/linode/models/dns/record.rb +6 -6
- data/lib/fog/linode/models/dns/records.rb +2 -2
- data/lib/fog/linode/models/dns/zone.rb +6 -6
- data/lib/fog/linode/models/dns/zones.rb +2 -2
- data/lib/fog/local/models/storage/directories.rb +3 -3
- data/lib/fog/local/models/storage/directory.rb +2 -2
- data/lib/fog/local/models/storage/file.rb +6 -6
- data/lib/fog/local/models/storage/files.rb +2 -2
- data/lib/fog/ninefold/models/compute/address.rb +5 -5
- data/lib/fog/ninefold/models/compute/addresses.rb +2 -2
- data/lib/fog/ninefold/models/compute/flavors.rb +2 -2
- data/lib/fog/ninefold/models/compute/images.rb +2 -2
- data/lib/fog/ninefold/models/compute/ip_forwarding_rule.rb +3 -3
- data/lib/fog/ninefold/models/compute/ip_forwarding_rules.rb +2 -2
- data/lib/fog/ninefold/models/compute/server.rb +9 -9
- data/lib/fog/ninefold/models/compute/servers.rb +2 -2
- data/lib/fog/openstack.rb +40 -14
- data/lib/fog/openstack/README.identity.md +69 -0
- data/lib/fog/openstack/compute.rb +49 -18
- data/lib/fog/openstack/identity.rb +33 -20
- data/lib/fog/openstack/image.rb +10 -4
- data/lib/fog/openstack/models/compute/address.rb +8 -8
- data/lib/fog/openstack/models/compute/addresses.rb +3 -3
- data/lib/fog/openstack/models/compute/flavor.rb +4 -3
- data/lib/fog/openstack/models/compute/flavors.rb +2 -2
- data/lib/fog/openstack/models/compute/host.rb +3 -2
- data/lib/fog/openstack/models/compute/hosts.rb +2 -2
- data/lib/fog/openstack/models/compute/image.rb +4 -3
- data/lib/fog/openstack/models/compute/images.rb +2 -2
- data/lib/fog/openstack/models/compute/key_pair.rb +3 -3
- data/lib/fog/openstack/models/compute/key_pairs.rb +1 -1
- data/lib/fog/openstack/models/compute/metadata.rb +4 -4
- data/lib/fog/openstack/models/compute/metadatum.rb +2 -2
- data/lib/fog/openstack/models/compute/security_group.rb +4 -4
- data/lib/fog/openstack/models/compute/security_groups.rb +2 -2
- data/lib/fog/openstack/models/compute/server.rb +33 -20
- data/lib/fog/openstack/models/compute/servers.rb +2 -2
- data/lib/fog/openstack/models/compute/snapshot.rb +4 -3
- data/lib/fog/openstack/models/compute/snapshots.rb +2 -2
- data/lib/fog/openstack/models/compute/tenant.rb +1 -1
- data/lib/fog/openstack/models/compute/tenants.rb +7 -3
- data/lib/fog/openstack/models/compute/volume.rb +6 -5
- data/lib/fog/openstack/models/compute/volumes.rb +2 -2
- data/lib/fog/openstack/models/identity/ec2_credential.rb +44 -0
- data/lib/fog/openstack/models/identity/ec2_credentials.rb +53 -0
- data/lib/fog/openstack/models/identity/role.rb +4 -4
- data/lib/fog/openstack/models/identity/roles.rb +2 -2
- data/lib/fog/openstack/models/identity/tenant.rb +7 -7
- data/lib/fog/openstack/models/identity/tenants.rb +3 -3
- data/lib/fog/openstack/models/identity/user.rb +12 -6
- data/lib/fog/openstack/models/identity/users.rb +3 -3
- data/lib/fog/openstack/models/image/image.rb +10 -9
- data/lib/fog/openstack/models/image/images.rb +6 -6
- data/lib/fog/openstack/models/network/floating_ip.rb +52 -0
- data/lib/fog/openstack/models/network/floating_ips.rb +34 -0
- data/lib/fog/openstack/models/network/network.rb +6 -5
- data/lib/fog/openstack/models/network/networks.rb +3 -3
- data/lib/fog/openstack/models/network/port.rb +6 -5
- data/lib/fog/openstack/models/network/ports.rb +3 -3
- data/lib/fog/openstack/models/network/subnet.rb +6 -5
- data/lib/fog/openstack/models/network/subnets.rb +3 -3
- data/lib/fog/openstack/models/volume/volume.rb +4 -3
- data/lib/fog/openstack/models/volume/volumes.rb +2 -2
- data/lib/fog/openstack/network.rb +16 -3
- data/lib/fog/openstack/requests/compute/create_security_group.rb +2 -1
- data/lib/fog/openstack/requests/compute/create_security_group_rule.rb +1 -0
- data/lib/fog/openstack/requests/compute/create_server.rb +54 -7
- data/lib/fog/openstack/requests/compute/delete_security_group.rb +2 -0
- data/lib/fog/openstack/requests/compute/list_security_groups.rb +17 -41
- data/lib/fog/openstack/requests/identity/add_user_to_tenant.rb +7 -2
- data/lib/fog/openstack/requests/identity/create_ec2_credential.rb +58 -0
- data/lib/fog/openstack/requests/identity/create_role.rb +1 -1
- data/lib/fog/openstack/requests/identity/create_tenant.rb +1 -3
- data/lib/fog/openstack/requests/identity/delete_ec2_credential.rb +44 -0
- data/lib/fog/openstack/requests/identity/get_ec2_credential.rb +49 -0
- data/lib/fog/openstack/requests/identity/get_user_by_name.rb +8 -0
- data/lib/fog/openstack/requests/identity/list_ec2_credentials.rb +44 -0
- data/lib/fog/openstack/requests/identity/list_roles_for_user_on_tenant.rb +7 -1
- data/lib/fog/openstack/requests/identity/list_users.rb +10 -1
- data/lib/fog/openstack/requests/identity/update_tenant.rb +1 -3
- data/lib/fog/openstack/requests/image/create_image.rb +3 -1
- data/lib/fog/openstack/requests/network/associate_floating_ip.rb +49 -0
- data/lib/fog/openstack/requests/network/create_floating_ip.rb +50 -0
- data/lib/fog/openstack/requests/network/delete_floating_ip.rb +30 -0
- data/lib/fog/openstack/requests/network/disassociate_floating_ip.rb +49 -0
- data/lib/fog/openstack/requests/network/get_floating_ip.rb +42 -0
- data/lib/fog/openstack/requests/network/list_floating_ips.rb +27 -0
- data/lib/fog/openstack/volume.rb +4 -2
- data/lib/fog/ovirt/models/compute/cluster.rb +1 -1
- data/lib/fog/ovirt/models/compute/clusters.rb +2 -2
- data/lib/fog/ovirt/models/compute/interfaces.rb +3 -3
- data/lib/fog/ovirt/models/compute/server.rb +15 -15
- data/lib/fog/ovirt/models/compute/servers.rb +2 -2
- data/lib/fog/ovirt/models/compute/template.rb +5 -5
- data/lib/fog/ovirt/models/compute/templates.rb +2 -2
- data/lib/fog/ovirt/models/compute/volumes.rb +3 -3
- data/lib/fog/rackspace.rb +22 -11
- data/lib/fog/rackspace/block_storage.rb +19 -0
- data/lib/fog/rackspace/compute_v2.rb +29 -0
- data/lib/fog/rackspace/docs/cloud_servers.md +65 -0
- data/lib/fog/rackspace/docs/getting_started.md +76 -0
- data/lib/fog/rackspace/load_balancers.rb +2 -0
- data/lib/fog/rackspace/mock_data.rb +144 -0
- data/lib/fog/rackspace/models/block_storage/snapshot.rb +3 -2
- data/lib/fog/rackspace/models/block_storage/snapshots.rb +2 -2
- data/lib/fog/rackspace/models/block_storage/volume.rb +9 -3
- data/lib/fog/rackspace/models/block_storage/volume_types.rb +3 -3
- data/lib/fog/rackspace/models/block_storage/volumes.rb +2 -2
- data/lib/fog/rackspace/models/compute/flavors.rb +2 -2
- data/lib/fog/rackspace/models/compute/image.rb +3 -3
- data/lib/fog/rackspace/models/compute/images.rb +2 -2
- data/lib/fog/rackspace/models/compute/server.rb +7 -7
- data/lib/fog/rackspace/models/compute/servers.rb +2 -2
- data/lib/fog/rackspace/models/compute_v2/attachment.rb +13 -9
- data/lib/fog/rackspace/models/compute_v2/attachments.rb +2 -2
- data/lib/fog/rackspace/models/compute_v2/flavors.rb +2 -2
- data/lib/fog/rackspace/models/compute_v2/image.rb +36 -1
- data/lib/fog/rackspace/models/compute_v2/images.rb +2 -2
- data/lib/fog/rackspace/models/compute_v2/meta_parent.rb +33 -0
- data/lib/fog/rackspace/models/compute_v2/metadata.rb +77 -0
- data/lib/fog/rackspace/models/compute_v2/metadatum.rb +29 -0
- data/lib/fog/rackspace/models/compute_v2/server.rb +75 -21
- data/lib/fog/rackspace/models/compute_v2/servers.rb +2 -2
- data/lib/fog/rackspace/models/databases/database.rb +2 -2
- data/lib/fog/rackspace/models/databases/databases.rb +1 -1
- data/lib/fog/rackspace/models/databases/flavors.rb +2 -2
- data/lib/fog/rackspace/models/databases/instance.rb +10 -10
- data/lib/fog/rackspace/models/databases/instances.rb +2 -2
- data/lib/fog/rackspace/models/databases/user.rb +2 -2
- data/lib/fog/rackspace/models/databases/users.rb +1 -1
- data/lib/fog/rackspace/models/dns/callback.rb +1 -1
- data/lib/fog/rackspace/models/dns/record.rb +13 -8
- data/lib/fog/rackspace/models/dns/records.rb +2 -2
- data/lib/fog/rackspace/models/dns/zone.rb +5 -5
- data/lib/fog/rackspace/models/dns/zones.rb +2 -2
- data/lib/fog/rackspace/models/identity/credentials.rb +1 -1
- data/lib/fog/rackspace/models/identity/roles.rb +1 -1
- data/lib/fog/rackspace/models/identity/tenants.rb +1 -1
- data/lib/fog/rackspace/models/identity/user.rb +6 -6
- data/lib/fog/rackspace/models/identity/users.rb +3 -3
- data/lib/fog/rackspace/models/load_balancers/access_rule.rb +4 -4
- data/lib/fog/rackspace/models/load_balancers/access_rules.rb +1 -1
- data/lib/fog/rackspace/models/load_balancers/load_balancer.rb +45 -27
- data/lib/fog/rackspace/models/load_balancers/load_balancers.rb +2 -2
- data/lib/fog/rackspace/models/load_balancers/node.rb +4 -4
- data/lib/fog/rackspace/models/load_balancers/nodes.rb +2 -2
- data/lib/fog/rackspace/models/load_balancers/virtual_ip.rb +3 -3
- data/lib/fog/rackspace/models/load_balancers/virtual_ips.rb +1 -1
- data/lib/fog/rackspace/models/storage/directories.rb +2 -2
- data/lib/fog/rackspace/models/storage/directory.rb +12 -12
- data/lib/fog/rackspace/models/storage/file.rb +6 -6
- data/lib/fog/rackspace/models/storage/files.rb +2 -2
- data/lib/fog/rackspace/requests/block_storage/create_snapshot.rb +28 -0
- data/lib/fog/rackspace/requests/block_storage/create_volume.rb +37 -0
- data/lib/fog/rackspace/requests/block_storage/delete_snapshot.rb +7 -0
- data/lib/fog/rackspace/requests/block_storage/delete_volume.rb +17 -0
- data/lib/fog/rackspace/requests/block_storage/get_snapshot.rb +11 -0
- data/lib/fog/rackspace/requests/block_storage/get_volume.rb +17 -0
- data/lib/fog/rackspace/requests/block_storage/get_volume_type.rb +13 -0
- data/lib/fog/rackspace/requests/block_storage/list_snapshots.rb +8 -0
- data/lib/fog/rackspace/requests/block_storage/list_volume_types.rb +7 -0
- data/lib/fog/rackspace/requests/block_storage/list_volumes.rb +7 -0
- data/lib/fog/rackspace/requests/compute_v2/attach_volume.rb +41 -2
- data/lib/fog/rackspace/requests/compute_v2/change_server_password.rb +6 -0
- data/lib/fog/rackspace/requests/compute_v2/confirm_resize_server.rb +8 -0
- data/lib/fog/rackspace/requests/compute_v2/create_image.rb +89 -0
- data/lib/fog/rackspace/requests/compute_v2/create_server.rb +102 -0
- data/lib/fog/rackspace/requests/compute_v2/delete_attachment.rb +15 -0
- data/lib/fog/rackspace/requests/compute_v2/delete_image.rb +31 -0
- data/lib/fog/rackspace/requests/compute_v2/delete_metadata_item.rb +26 -0
- data/lib/fog/rackspace/requests/compute_v2/delete_server.rb +12 -0
- data/lib/fog/rackspace/requests/compute_v2/get_attachment.rb +8 -0
- data/lib/fog/rackspace/requests/compute_v2/get_flavor.rb +11 -0
- data/lib/fog/rackspace/requests/compute_v2/get_image.rb +11 -0
- data/lib/fog/rackspace/requests/compute_v2/get_metadata_item.rb +26 -0
- data/lib/fog/rackspace/requests/compute_v2/get_server.rb +13 -0
- data/lib/fog/rackspace/requests/compute_v2/list_addresses.rb +34 -0
- data/lib/fog/rackspace/requests/compute_v2/list_addresses_by_network.rb +36 -0
- data/lib/fog/rackspace/requests/compute_v2/list_attachments.rb +7 -0
- data/lib/fog/rackspace/requests/compute_v2/list_flavors.rb +7 -0
- data/lib/fog/rackspace/requests/compute_v2/list_images.rb +7 -0
- data/lib/fog/rackspace/requests/compute_v2/list_metadata.rb +26 -0
- data/lib/fog/rackspace/requests/compute_v2/list_servers.rb +7 -0
- data/lib/fog/rackspace/requests/compute_v2/reboot_server.rb +14 -0
- data/lib/fog/rackspace/requests/compute_v2/rebuild_server.rb +13 -4
- data/lib/fog/rackspace/requests/compute_v2/resize_server.rb +8 -0
- data/lib/fog/rackspace/requests/compute_v2/revert_resize_server.rb +8 -0
- data/lib/fog/rackspace/requests/compute_v2/set_metadata.rb +28 -0
- data/lib/fog/rackspace/requests/compute_v2/set_metadata_item.rb +27 -0
- data/lib/fog/rackspace/requests/compute_v2/update_metadata.rb +27 -0
- data/lib/fog/rackspace/requests/compute_v2/update_server.rb +17 -7
- data/lib/fog/rackspace/requests/dns/add_records.rb +5 -1
- data/lib/fog/rackspace/requests/load_balancers/get_content_caching.rb +15 -0
- data/lib/fog/rackspace/requests/load_balancers/set_content_caching.rb +21 -0
- data/lib/fog/rackspace/requests/load_balancers/set_ssl_termination.rb +3 -3
- data/lib/fog/rackspace/requests/storage/post_set_meta_temp_url_key.rb +1 -1
- data/lib/fog/serverlove/models/compute/image.rb +11 -11
- data/lib/fog/serverlove/models/compute/images.rb +2 -2
- data/lib/fog/serverlove/models/compute/server.rb +10 -10
- data/lib/fog/serverlove/models/compute/servers.rb +2 -2
- data/lib/fog/storm_on_demand/models/compute/balancer.rb +7 -7
- data/lib/fog/storm_on_demand/models/compute/balancers.rb +1 -1
- data/lib/fog/storm_on_demand/models/compute/configs.rb +1 -1
- data/lib/fog/storm_on_demand/models/compute/images.rb +1 -1
- data/lib/fog/storm_on_demand/models/compute/private_ips.rb +2 -2
- data/lib/fog/storm_on_demand/models/compute/server.rb +5 -5
- data/lib/fog/storm_on_demand/models/compute/servers.rb +2 -2
- data/lib/fog/storm_on_demand/models/compute/stats.rb +1 -1
- data/lib/fog/storm_on_demand/models/compute/templates.rb +1 -1
- data/lib/fog/terremark/models/shared/address.rb +1 -1
- data/lib/fog/terremark/models/shared/addresses.rb +5 -5
- data/lib/fog/terremark/models/shared/images.rb +5 -5
- data/lib/fog/terremark/models/shared/internetservice.rb +6 -6
- data/lib/fog/terremark/models/shared/internetservices.rb +5 -5
- data/lib/fog/terremark/models/shared/network.rb +1 -1
- data/lib/fog/terremark/models/shared/networks.rb +6 -6
- data/lib/fog/terremark/models/shared/nodeservice.rb +3 -3
- data/lib/fog/terremark/models/shared/nodeservices.rb +4 -4
- data/lib/fog/terremark/models/shared/server.rb +17 -17
- data/lib/fog/terremark/models/shared/servers.rb +6 -6
- data/lib/fog/terremark/models/shared/task.rb +4 -4
- data/lib/fog/terremark/models/shared/tasks.rb +5 -5
- data/lib/fog/terremark/models/shared/vdc.rb +4 -4
- data/lib/fog/terremark/models/shared/vdcs.rb +5 -5
- data/lib/fog/terremark/parser.rb +1 -1
- data/lib/fog/terremark/shared.rb +1 -1
- data/lib/fog/vcloud/compute.rb +4 -4
- data/lib/fog/vcloud/models/compute/catalog.rb +1 -1
- data/lib/fog/vcloud/models/compute/catalog_item.rb +1 -1
- data/lib/fog/vcloud/models/compute/catalog_items.rb +4 -4
- data/lib/fog/vcloud/models/compute/catalogs.rb +3 -3
- data/lib/fog/vcloud/models/compute/ip.rb +1 -1
- data/lib/fog/vcloud/models/compute/ips.rb +3 -3
- data/lib/fog/vcloud/models/compute/network.rb +1 -1
- data/lib/fog/vcloud/models/compute/networks.rb +6 -6
- data/lib/fog/vcloud/models/compute/organization.rb +4 -4
- data/lib/fog/vcloud/models/compute/organizations.rb +4 -4
- data/lib/fog/vcloud/models/compute/server.rb +13 -13
- data/lib/fog/vcloud/models/compute/servers.rb +4 -4
- data/lib/fog/vcloud/models/compute/tasks.rb +3 -3
- data/lib/fog/vcloud/models/compute/vapp.rb +2 -2
- data/lib/fog/vcloud/models/compute/vapps.rb +2 -2
- data/lib/fog/vcloud/models/compute/vdc.rb +2 -2
- data/lib/fog/vcloud/models/compute/vdcs.rb +3 -3
- data/lib/fog/version.rb +1 -3
- data/lib/fog/virtual_box/compute.rb +11 -5
- data/lib/fog/virtual_box/models/compute/medium.rb +2 -2
- data/lib/fog/virtual_box/models/compute/mediums.rb +4 -4
- data/lib/fog/virtual_box/models/compute/nat_engine.rb +2 -2
- data/lib/fog/virtual_box/models/compute/network_adapter.rb +1 -1
- data/lib/fog/virtual_box/models/compute/network_adapters.rb +1 -1
- data/lib/fog/virtual_box/models/compute/server.rb +5 -5
- data/lib/fog/virtual_box/models/compute/servers.rb +2 -2
- data/lib/fog/vmfusion/compute.rb +6 -1
- data/lib/fog/vmfusion/models/compute/server.rb +1 -1
- data/lib/fog/voxel/models/compute/images.rb +2 -2
- data/lib/fog/voxel/models/compute/server.rb +6 -6
- data/lib/fog/voxel/models/compute/servers.rb +2 -2
- data/lib/fog/vsphere/compute.rb +4 -1
- data/lib/fog/vsphere/models/compute/cluster.rb +2 -2
- data/lib/fog/vsphere/models/compute/clusters.rb +2 -2
- data/lib/fog/vsphere/models/compute/datacenter.rb +8 -4
- data/lib/fog/vsphere/models/compute/datacenters.rb +3 -3
- data/lib/fog/vsphere/models/compute/datastores.rb +2 -2
- data/lib/fog/vsphere/models/compute/folder.rb +1 -1
- data/lib/fog/vsphere/models/compute/folders.rb +2 -2
- data/lib/fog/vsphere/models/compute/interfaces.rb +3 -3
- data/lib/fog/vsphere/models/compute/networks.rb +2 -2
- data/lib/fog/vsphere/models/compute/resource_pools.rb +3 -3
- data/lib/fog/vsphere/models/compute/server.rb +37 -26
- data/lib/fog/vsphere/models/compute/servers.rb +2 -2
- data/lib/fog/vsphere/models/compute/templates.rb +2 -2
- data/lib/fog/vsphere/models/compute/volumes.rb +3 -3
- data/lib/fog/vsphere/requests/compute/create_folder.rb +22 -0
- data/lib/fog/vsphere/requests/compute/create_vm.rb +2 -2
- data/lib/fog/vsphere/requests/compute/get_folder.rb +1 -1
- data/lib/fog/vsphere/requests/compute/get_network.rb +6 -1
- data/lib/fog/vsphere/requests/compute/get_virtual_machine.rb +1 -1
- data/lib/fog/vsphere/requests/compute/list_virtual_machines.rb +9 -3
- data/lib/fog/vsphere/requests/compute/vm_clone.rb +148 -64
- data/lib/fog/xenserver.rb +26 -2
- data/lib/fog/xenserver/CHANGELOG.md +71 -0
- data/lib/fog/xenserver/compute.rb +9 -0
- data/lib/fog/xenserver/examples/README.md +11 -0
- data/lib/fog/xenserver/examples/chage_default_storage_repository.md +99 -0
- data/lib/fog/xenserver/examples/creating_servers.md +168 -0
- data/lib/fog/xenserver/examples/getting_started.md +163 -0
- data/lib/fog/xenserver/examples/storage_repositories.md +94 -0
- data/lib/fog/xenserver/models/compute/host.rb +87 -7
- data/lib/fog/xenserver/models/compute/host_cpu.rb +37 -0
- data/lib/fog/xenserver/models/compute/host_metrics.rb +29 -0
- data/lib/fog/xenserver/models/compute/hosts.rb +8 -8
- data/lib/fog/xenserver/models/compute/network.rb +11 -11
- data/lib/fog/xenserver/models/compute/networks.rb +3 -3
- data/lib/fog/xenserver/models/compute/pbd.rb +11 -6
- data/lib/fog/xenserver/models/compute/pbds.rb +3 -3
- data/lib/fog/xenserver/models/compute/pif.rb +9 -9
- data/lib/fog/xenserver/models/compute/pifs.rb +3 -3
- data/lib/fog/xenserver/models/compute/pool.rb +30 -8
- data/lib/fog/xenserver/models/compute/pools.rb +3 -3
- data/lib/fog/xenserver/models/compute/server.rb +29 -29
- data/lib/fog/xenserver/models/compute/servers.rb +8 -8
- data/lib/fog/xenserver/models/compute/storage_repositories.rb +2 -2
- data/lib/fog/xenserver/models/compute/storage_repository.rb +52 -9
- data/lib/fog/xenserver/models/compute/vbd.rb +16 -16
- data/lib/fog/xenserver/models/compute/vbds.rb +3 -3
- data/lib/fog/xenserver/models/compute/vdi.rb +17 -17
- data/lib/fog/xenserver/models/compute/vdis.rb +3 -3
- data/lib/fog/xenserver/models/compute/vif.rb +10 -10
- data/lib/fog/xenserver/models/compute/vifs.rb +3 -3
- data/lib/fog/xenserver/requests/compute/create_sr.rb +72 -0
- data/lib/fog/xenserver/requests/compute/destroy_sr.rb +30 -0
- data/lib/fog/xenserver/requests/compute/disable_host.rb +29 -0
- data/lib/fog/xenserver/requests/compute/enable_host.rb +28 -0
- data/lib/fog/xenserver/requests/compute/reboot_host.rb +23 -0
- data/lib/fog/xenserver/requests/compute/shutdown_host.rb +23 -0
- data/lib/fog/xenserver/requests/compute/unplug_pbd.rb +25 -0
- data/lib/fog/zerigo/models/dns/record.rb +4 -4
- data/lib/fog/zerigo/models/dns/records.rb +2 -2
- data/lib/fog/zerigo/models/dns/zone.rb +6 -6
- data/lib/fog/zerigo/models/dns/zones.rb +2 -2
- data/lib/tasks/changelog_task.rb +1 -0
- data/lib/tasks/test_task.rb +1 -1
- data/tests/aws/models/cloud_watch/metrics_tests.rb +16 -1
- data/tests/aws/requests/auto_scaling/model_tests.rb +1 -3
- data/tests/aws/requests/compute/snapshot_tests.rb +19 -0
- data/tests/aws/requests/compute/spot_instance_tests.rb +4 -2
- data/tests/aws/requests/elasticache/describe_reserved_cache_nodes.rb +17 -0
- data/tests/aws/requests/elasticache/helper.rb +17 -0
- data/tests/aws/requests/glacier/vault_tests.rb +1 -1
- data/tests/aws/requests/storage/bucket_tests.rb +37 -3
- data/tests/aws/requests/storage/cors_utils_tests.rb +108 -0
- data/tests/brightbox/models/compute/account_tests.rb +2 -0
- data/tests/brightbox/models/compute/server_tests.rb +21 -0
- data/tests/brightbox/requests/compute/firewall_policy_tests.rb +33 -0
- data/tests/brightbox/requests/compute/firewall_rule_tests.rb +43 -0
- data/tests/brightbox/requests/compute/helper.rb +33 -30
- data/tests/compute/helper.rb +28 -6
- data/tests/compute/models/flavors_tests.rb +4 -2
- data/tests/compute/models/server_tests.rb +5 -1
- data/tests/compute/models/servers_tests.rb +5 -2
- data/tests/core/parser_tests.rb +32 -6
- data/tests/core/wait_for_tests.rb +13 -0
- data/tests/ecloud/compute/models/admin_organization_tests.rb +16 -0
- data/tests/ecloud/compute/models/compute_pool_tests.rb +17 -0
- data/tests/ecloud/compute/models/detached_disk_tests.rb +26 -0
- data/tests/ecloud/compute/models/environment_tests.rb +23 -0
- data/tests/ecloud/compute/models/internet_service_tests.rb +28 -0
- data/tests/ecloud/compute/models/ip_address_tests.rb +19 -0
- data/tests/ecloud/compute/models/network_tests.rb +17 -0
- data/tests/ecloud/compute/models/operating_system_families_tests.rb +13 -0
- data/tests/ecloud/compute/models/operating_system_tests.rb +22 -0
- data/tests/ecloud/compute/models/organization_tests.rb +21 -0
- data/tests/ecloud/compute/models/public_ip_tests.rb +19 -0
- data/tests/ecloud/compute/models/server_tests.rb +151 -0
- data/tests/ecloud/compute/models/ssh_key_tests.rb +19 -0
- data/tests/ecloud/compute/models/template_tests.rb +20 -0
- data/tests/openstack/authenticate_tests.rb +142 -0
- data/tests/openstack/models/compute/server_tests.rb +45 -0
- data/tests/openstack/models/identity/ec2_credential_tests.rb +41 -0
- data/tests/openstack/models/identity/ec2_credentials_tests.rb +58 -0
- data/tests/openstack/models/identity/tenant_tests.rb +6 -0
- data/tests/openstack/models/network/floating_ip_tests.rb +30 -0
- data/tests/openstack/models/network/floating_ips_tests.rb +27 -0
- data/tests/openstack/requests/compute/address_tests.rb +1 -3
- data/tests/openstack/requests/compute/helper.rb +20 -0
- data/tests/openstack/requests/compute/quota_tests.rb +2 -0
- data/tests/openstack/requests/compute/security_group_tests.rb +10 -2
- data/tests/openstack/requests/compute/server_tests.rb +29 -14
- data/tests/openstack/requests/identity/ec2_credentials_tests.rb +41 -0
- data/tests/openstack/requests/identity/role_tests.rb +0 -1
- data/tests/openstack/requests/identity/user_tests.rb +8 -0
- data/tests/rackspace/helper.rb +17 -1
- data/tests/rackspace/models/block_storage/snapshot_tests.rb +18 -13
- data/tests/rackspace/models/block_storage/snapshots_tests.rb +1 -3
- data/tests/rackspace/models/block_storage/volume_tests.rb +14 -10
- data/tests/rackspace/models/block_storage/volume_types_tests.rb +1 -3
- data/tests/rackspace/models/block_storage/volumes_tests.rb +1 -3
- data/tests/rackspace/models/compute_v2/flavors_tests.rb +1 -4
- data/tests/rackspace/models/compute_v2/image_tests.rb +26 -0
- data/tests/rackspace/models/compute_v2/images_tests.rb +1 -3
- data/tests/rackspace/models/compute_v2/metadata_tests.rb +42 -0
- data/tests/rackspace/models/compute_v2/server_tests.rb +89 -15
- data/tests/rackspace/models/compute_v2/servers_tests.rb +12 -8
- data/tests/rackspace/models/load_balancers/load_balancer_tests.rb +17 -0
- data/tests/rackspace/models/storage/file_tests.rb +6 -0
- data/tests/rackspace/requests/block_storage/snapshot_tests.rb +15 -15
- data/tests/rackspace/requests/block_storage/volume_tests.rb +9 -11
- data/tests/rackspace/requests/block_storage/volume_type_tests.rb +8 -11
- data/tests/rackspace/requests/compute/address_tests.rb +11 -9
- data/tests/rackspace/requests/compute/flavor_tests.rb +6 -5
- data/tests/rackspace/requests/compute/image_tests.rb +12 -10
- data/tests/rackspace/requests/compute/resize_tests.rb +8 -6
- data/tests/rackspace/requests/compute/server_tests.rb +19 -17
- data/tests/rackspace/requests/compute_v2/address_tests.rb +43 -0
- data/tests/rackspace/requests/compute_v2/attachment_tests.rb +17 -17
- data/tests/rackspace/requests/compute_v2/flavor_tests.rb +7 -9
- data/tests/rackspace/requests/compute_v2/image_tests.rb +42 -16
- data/tests/rackspace/requests/compute_v2/metadata_tests.rb +104 -0
- data/tests/rackspace/requests/compute_v2/server_tests.rb +44 -60
- data/tests/rackspace/requests/dns/records_tests.rb +2 -2
- data/tests/rackspace/requests/load_balancers/content_caching_tests.rb +25 -0
- data/tests/rackspace/requests/load_balancers/helper.rb +5 -1
- data/tests/vsphere/requests/compute/vm_clone_tests.rb +6 -4
- data/tests/xenserver/models/compute/host_cpu_tests.rb +58 -0
- data/tests/xenserver/models/compute/host_metrics_tests.rb +48 -0
- data/tests/xenserver/models/compute/host_tests.rb +33 -2
- data/tests/xenserver/models/compute/pbd_tests.rb +33 -1
- data/tests/xenserver/models/compute/pool_tests.rb +7 -1
- data/tests/xenserver/models/compute/storage_repository_tests.rb +52 -1
- data/tests/xenserver/requests/compute/create_sr_tests.rb +54 -0
- data/tests/xenserver/requests/compute/destroy_sr_tests.rb +46 -0
- data/tests/xenserver/requests/compute/disable_host_tests.rb +16 -0
- data/tests/xenserver/requests/compute/enable_host_tests.rb +16 -0
- data/tests/xenserver/requests/compute/unplug_pbd_tests.rb +48 -0
- metadata +153 -42
- data/docs/_config.yml +0 -39
- data/docs/_layouts/default.html +0 -111
- data/docs/about/contributing.markdown +0 -229
- data/docs/about/getting_started.markdown +0 -108
- data/docs/about/press.markdown +0 -52
- data/docs/about/structure.markdown +0 -78
- data/docs/about/users.markdown +0 -34
- data/docs/cdn/index.markdown +0 -148
- data/docs/compute/index.markdown +0 -122
- data/docs/dns/index.markdown +0 -79
- data/docs/index.markdown +0 -93
- data/docs/public/crossdomain.xml +0 -25
- data/docs/public/css/fog.css +0 -142
- data/docs/public/css/handheld.css +0 -8
- data/docs/public/css/style.css +0 -129
- data/docs/public/images/.gitignore +0 -3
- data/docs/public/js/libs/dd_belatedpng.js +0 -289
- data/docs/public/js/libs/dd_belatedpng.min.js +0 -13
- data/docs/public/js/libs/jquery-1.4.2.js +0 -6240
- data/docs/public/js/libs/jquery-1.4.2.min.js +0 -154
- data/docs/public/js/libs/modernizr-1.6.js +0 -892
- data/docs/public/js/libs/modernizr-1.6.min.js +0 -30
- data/docs/public/js/mylibs/.gitignore +0 -3
- data/docs/public/js/plugins.js +0 -34
- data/docs/public/js/profiling/config.js +0 -59
- data/docs/public/js/profiling/yahoo-profiling.css +0 -7
- data/docs/public/js/profiling/yahoo-profiling.js +0 -1028
- data/docs/public/js/profiling/yahoo-profiling.min.js +0 -39
- data/docs/public/js/script.js +0 -26
- data/docs/public/robots.txt +0 -5
- data/docs/storage/index.markdown +0 -204
- data/lib/fog/ecloud/requests/compute/get_admin_organizations.rb +0 -11
- data/lib/fog/ecloud/requests/compute/get_ip_addresses.rb +0 -11
- data/lib/fog/ecloud/requests/compute/get_operating_system_family.rb +0 -11
- data/lib/fog/ecloud/requests/compute/virtual_machine_add_ip.rb +0 -40
- data/lib/tasks/documentation_task.rb +0 -155
@@ -17,7 +17,7 @@ module Fog
|
|
17
17
|
# 'folder' => '/Datacenters/vm/Jeff/Templates' will be MUCH faster.
|
18
18
|
# than simply listing everything.
|
19
19
|
def all(filters = { })
|
20
|
-
load
|
20
|
+
load service.list_virtual_machines(filters.merge(
|
21
21
|
:datacenter => datacenter,
|
22
22
|
:cluster => cluster,
|
23
23
|
:network => network,
|
@@ -27,7 +27,7 @@ module Fog
|
|
27
27
|
end
|
28
28
|
|
29
29
|
def get(id, datacenter = nil)
|
30
|
-
new
|
30
|
+
new service.get_virtual_machine id, datacenter
|
31
31
|
rescue Fog::Compute::Vsphere::NotFound
|
32
32
|
nil
|
33
33
|
end
|
@@ -10,11 +10,11 @@ module Fog
|
|
10
10
|
model Fog::Compute::Vsphere::Template
|
11
11
|
|
12
12
|
def all(filters = {})
|
13
|
-
load
|
13
|
+
load service.list_templates(filters)
|
14
14
|
end
|
15
15
|
|
16
16
|
def get(id)
|
17
|
-
new
|
17
|
+
new service.get_template(id)
|
18
18
|
end
|
19
19
|
|
20
20
|
end
|
@@ -15,16 +15,16 @@ module Fog
|
|
15
15
|
requires :vm
|
16
16
|
case vm
|
17
17
|
when Fog::Compute::Vsphere::Server
|
18
|
-
load
|
18
|
+
load service.list_vm_volumes(vm.id)
|
19
19
|
when Fog::Compute::Vsphere::Template
|
20
|
-
load
|
20
|
+
load service.list_template_volumes(vm.id)
|
21
21
|
else
|
22
22
|
raise 'volumes should have vm or template'
|
23
23
|
end
|
24
24
|
end
|
25
25
|
|
26
26
|
def get(id)
|
27
|
-
new
|
27
|
+
new service.get_volume(id)
|
28
28
|
end
|
29
29
|
|
30
30
|
end
|
@@ -0,0 +1,22 @@
|
|
1
|
+
module Fog
|
2
|
+
module Compute
|
3
|
+
class Vsphere
|
4
|
+
class Real
|
5
|
+
def create_folder(datacenter, path, name)
|
6
|
+
#Path cannot be nil but it can be an empty string
|
7
|
+
raise ArgumentError, "Path cannot be nil" if path.nil?
|
8
|
+
|
9
|
+
parent_folder = get_raw_vmfolder(path, datacenter)
|
10
|
+
begin
|
11
|
+
new_folder = parent_folder.CreateFolder(:name => name)
|
12
|
+
# output is cleaned up to return the new path
|
13
|
+
# new path will be path/name, example: "Production/Pool1"
|
14
|
+
new_folder.path.reject { |a| a.first.class == "Folder" }.collect { |a| a.first.name }.join("/").sub(/^\/?Datacenters\/#{datacenter}\/vm\/?/, '')
|
15
|
+
rescue => e
|
16
|
+
raise e, "failed to create folder: #{e}"
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
@@ -75,7 +75,7 @@ module Fog
|
|
75
75
|
}
|
76
76
|
end
|
77
77
|
|
78
|
-
def create_disk disk, index = 0, operation = :add, controller_key = 1000
|
78
|
+
def create_disk disk, index = 0, operation = :add, controller_key = 1000
|
79
79
|
{
|
80
80
|
:operation => operation,
|
81
81
|
:fileOperation => :create,
|
@@ -87,7 +87,7 @@ module Fog
|
|
87
87
|
:thinProvisioned => disk.thin
|
88
88
|
),
|
89
89
|
:controllerKey => controller_key,
|
90
|
-
:unitNumber =>
|
90
|
+
:unitNumber => index,
|
91
91
|
:capacityInKB => disk.size
|
92
92
|
)
|
93
93
|
}
|
@@ -12,7 +12,12 @@ module Fog
|
|
12
12
|
|
13
13
|
def get_raw_network(name, datacenter_name)
|
14
14
|
dc = find_raw_datacenter(datacenter_name)
|
15
|
-
|
15
|
+
|
16
|
+
@connection.serviceContent.viewManager.CreateContainerView({
|
17
|
+
:container => dc.networkFolder,
|
18
|
+
:type => ["Network"],
|
19
|
+
:recursive => true
|
20
|
+
}).view.select{|n| n.name == name}.first
|
16
21
|
end
|
17
22
|
end
|
18
23
|
|
@@ -9,7 +9,7 @@ module Fog
|
|
9
9
|
|
10
10
|
options[:folder] ||= options['folder']
|
11
11
|
if options['instance_uuid'] then
|
12
|
-
[
|
12
|
+
[service.get_virtual_machine(options['instance_uuid'])]
|
13
13
|
elsif options[:folder] && options[:datacenter] then
|
14
14
|
list_all_virtual_machines_in_folder(options[:folder], options[:datacenter])
|
15
15
|
else
|
@@ -27,8 +27,14 @@ module Fog
|
|
27
27
|
|
28
28
|
def list_all_virtual_machines(options = { })
|
29
29
|
datacenters = find_datacenters(options[:datacenter])
|
30
|
-
|
31
|
-
vms
|
30
|
+
|
31
|
+
vms = datacenters.map do |dc|
|
32
|
+
@connection.serviceContent.viewManager.CreateContainerView({
|
33
|
+
:container => dc.vmFolder,
|
34
|
+
:type => ["VirtualMachine"],
|
35
|
+
:recursive => true
|
36
|
+
}).view
|
37
|
+
end.flatten
|
32
38
|
# remove all template based virtual machines
|
33
39
|
vms.delete_if { |v| v.config.template }
|
34
40
|
|
@@ -10,19 +10,17 @@ module Fog
|
|
10
10
|
'linked_clone' => false,
|
11
11
|
}
|
12
12
|
options = default_options.merge(options)
|
13
|
-
|
13
|
+
# Backwards compat for "path" option
|
14
|
+
options["template_path"] ||= options["path"]
|
15
|
+
options["path"] ||= options["template_path"]
|
16
|
+
required_options = %w{ datacenter template_path name }
|
14
17
|
required_options.each do |param|
|
15
18
|
raise ArgumentError, "#{required_options.join(', ')} are required" unless options.has_key? param
|
16
19
|
end
|
17
|
-
#
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
raise ArgumentError, "vm_clone path option must start with /Datacenters. Got: #{options['path']}"
|
22
|
-
end
|
23
|
-
dc_name = path_elements.shift
|
24
|
-
if not datacenters.get dc_name then
|
25
|
-
raise ArgumentError, "Datacenter #{dc_name} does not exist, only datacenters #{datacenters.all.map(:name).join(",")} are accessible."
|
20
|
+
# TODO This is ugly and needs to rethink mocks
|
21
|
+
unless ENV['FOG_MOCK']
|
22
|
+
raise ArgumentError, "#{options["datacenter"]} Doesn't Exist!" unless get_datacenter(options["datacenter"])
|
23
|
+
raise ArgumentError, "#{options["template_path"]} Doesn't Exist!" unless get_virtual_machine(options["template_path"], options["datacenter"])
|
26
24
|
end
|
27
25
|
options
|
28
26
|
end
|
@@ -36,22 +34,41 @@ module Fog
|
|
36
34
|
#
|
37
35
|
# ==== Parameters
|
38
36
|
# * options<~Hash>:
|
37
|
+
# * 'datacenter'<~String> - *REQUIRED* Datacenter name your cloning
|
38
|
+
# in. Make sure this datacenter exists, should if you're using
|
39
|
+
# the clone function in server.rb model.
|
39
40
|
# * 'template_path'<~String> - *REQUIRED* The path to the machine you
|
40
|
-
# want to clone FROM. (Example:
|
41
|
-
# "
|
41
|
+
# want to clone FROM. Relative to Datacenter (Example:
|
42
|
+
# "FolderNameHere/VMNameHere")
|
42
43
|
# * 'name'<~String> - *REQUIRED* The VMName of the Destination
|
43
|
-
# * 'resource_pool'<~String> - The resource pool on your datacenter
|
44
|
-
# cluster you want to use.
|
45
44
|
# * 'dest_folder'<~String> - Destination Folder of where 'name' will
|
46
|
-
# be placed on your cluster.
|
45
|
+
# be placed on your cluster. Relative Path to Datacenter E.G.
|
46
|
+
# "FolderPlaceHere/anotherSub Folder/onemore"
|
47
47
|
# * 'power_on'<~Boolean> - Whether to power on machine after clone.
|
48
48
|
# Defaults to true.
|
49
49
|
# * 'wait'<~Boolean> - Whether the method should wait for the virtual
|
50
|
-
# machine to
|
51
|
-
# vSphere.
|
52
|
-
#
|
53
|
-
#
|
50
|
+
# machine to finish cloning before returning information from
|
51
|
+
# vSphere. Broken right now as you cannot return a model of a serer
|
52
|
+
# that isn't finished cloning. Defaults to True
|
53
|
+
# * 'resource_pool'<~Array> - The resource pool on your datacenter
|
54
|
+
# cluster you want to use. Only works with clusters within same
|
55
|
+
# same datacenter as where you're cloning from. Datacenter grabbed
|
56
|
+
# from template_path option.
|
57
|
+
# Example: ['cluster_name_here','resource_pool_name_here']
|
58
|
+
# * 'datastore'<~String> - The datastore you'd like to use.
|
59
|
+
# (datacenterObj.datastoreFolder.find('name') in API)
|
54
60
|
# * 'transform'<~String> - Not documented - see http://www.vmware.com/support/developer/vc-sdk/visdk41pubs/ApiReference/vim.vm.RelocateSpec.html
|
61
|
+
# * customization_spec<~Hash>: Options are marked as required if you
|
62
|
+
# use this customization_spec. Static IP Settings not configured.
|
63
|
+
# This only support cloning and setting DHCP on the first interface
|
64
|
+
# * 'domain'<~String> - *REQUIRED* This is put into
|
65
|
+
# /etc/resolve.conf (we hope)
|
66
|
+
# * 'hostname'<~String> - Hostname of the Guest Os - default is
|
67
|
+
# options['name']
|
68
|
+
# * 'hw_utc_clock'<~Boolean> - *REQUIRED* Is hardware clock UTC?
|
69
|
+
# Default true
|
70
|
+
# * 'time_zone'<~String> - *REQUIRED* Only valid linux options
|
71
|
+
# are valid - example: 'America/Denver'
|
55
72
|
#
|
56
73
|
def vm_clone(options = {})
|
57
74
|
# Option handling
|
@@ -59,55 +76,116 @@ module Fog
|
|
59
76
|
|
60
77
|
# Added for people still using options['path']
|
61
78
|
template_path = options['path'] || options['template_path']
|
79
|
+
|
80
|
+
# Default wait enabled
|
81
|
+
options['wait'] = true
|
62
82
|
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
# searching ALL VM's looking for the template.
|
67
|
-
# Tap gets rid of the leading empty string and "Datacenters" element
|
68
|
-
# and returns the array.
|
69
|
-
path_elements = template_path.split('/').tap { |ary| ary.shift 2 }
|
70
|
-
# The DC name itself.
|
71
|
-
template_dc = path_elements.shift
|
72
|
-
# If the first path element contains "vm" this denotes the vmFolder
|
73
|
-
# and needs to be shifted out
|
74
|
-
path_elements.shift if path_elements[0] == 'vm'
|
75
|
-
# The template name. The remaining elements are the folders in the
|
76
|
-
# datacenter.
|
77
|
-
template_name = path_elements.pop
|
78
|
-
|
79
|
-
dc = find_raw_datacenter(template_dc)
|
80
|
-
# Get the VM Folder (Group) efficiently
|
81
|
-
vm_folder = dc.vmFolder
|
82
|
-
# Walk the tree resetting the folder pointer as we go
|
83
|
-
folder = path_elements.inject(vm_folder) do |current_folder, sub_folder_name|
|
84
|
-
# JJM VIM::Folder#find appears to be quite efficient as it uses the
|
85
|
-
# searchIndex It certainly appears to be faster than
|
86
|
-
# VIM::Folder#inventory since that returns _all_ managed objects of
|
87
|
-
# a certain type _and_ their properties.
|
88
|
-
sub_folder = current_folder.find(sub_folder_name, RbVmomi::VIM::Folder)
|
89
|
-
raise ArgumentError, "Could not descend into #{sub_folder_name}. Please check your path." unless sub_folder
|
90
|
-
sub_folder
|
91
|
-
end
|
92
|
-
|
83
|
+
# Options['template_path']<~String>
|
84
|
+
# Added for people still using options['path']
|
85
|
+
template_path = options['path'] || options['template_path']
|
93
86
|
# Now find the template itself using the efficient find method
|
94
|
-
vm_mob_ref =
|
87
|
+
vm_mob_ref = get_vm_ref(template_path, options['datacenter'])
|
88
|
+
|
89
|
+
# Options['dest_folder']<~String>
|
90
|
+
# Grab the destination folder object if it exists else use cloned mach
|
91
|
+
dest_folder = get_raw_vmfolder(options['dest_folder'], options['datacenter']) if options.has_key?('dest_folder')
|
92
|
+
dest_folder ||= vm_mob_ref.parent
|
95
93
|
|
94
|
+
# Options['resource_pool']<~Array>
|
96
95
|
# Now find _a_ resource pool to use for the clone if one is not specified
|
97
|
-
if ( options.has_key?('resource_pool') )
|
98
|
-
|
96
|
+
if ( options.has_key?('resource_pool') && options['resource_pool'].is_a?(Array) && options['resource_pool'].length == 2 )
|
97
|
+
cluster_name = options['resource_pool'][0]
|
98
|
+
pool_name = options['resource_pool'][1]
|
99
|
+
resource_pool = get_raw_resource_pool(pool_name, cluster_name, options['datacenter'])
|
99
100
|
elsif ( vm_mob_ref.resourcePool == nil )
|
100
101
|
# If the template is really a template then there is no associated resource pool,
|
101
102
|
# so we need to find one using the template's parent host or cluster
|
102
103
|
esx_host = vm_mob_ref.collect!('runtime.host')['runtime.host']
|
103
104
|
# The parent of the ESX host itself is a ComputeResource which has a resourcePool
|
104
105
|
resource_pool = esx_host.parent.resourcePool
|
105
|
-
else
|
106
|
-
# If the vm given did return a valid resource pool, default to using it for the clone.
|
107
|
-
# Even if specific pools aren't implemented in this environment, we will still get back
|
108
|
-
# at least the cluster or host we can pass on to the clone task
|
109
|
-
resource_pool = vm_mob_ref.resourcePool
|
110
106
|
end
|
107
|
+
# If the vm given did return a valid resource pool, default to using it for the clone.
|
108
|
+
# Even if specific pools aren't implemented in this environment, we will still get back
|
109
|
+
# at least the cluster or host we can pass on to the clone task
|
110
|
+
# This catches if resource_pool option is set but comes back nil and if resourcePool is
|
111
|
+
# already set.
|
112
|
+
resource_pool ||= vm_mob_ref.resourcePool.nil? ? esx_host.parent.resourcePool : vm_mob_ref.resourcePool
|
113
|
+
|
114
|
+
# Options['datastore']<~String>
|
115
|
+
# Grab the datastore object if option is set
|
116
|
+
datastore_obj = get_raw_datastore(options['datastore'], options['datacenter']) if options.has_key?('datastore')
|
117
|
+
# confirm nil if nil or option is not set
|
118
|
+
datastore_obj ||= nil
|
119
|
+
|
120
|
+
# Options['network']
|
121
|
+
# Build up the config spec
|
122
|
+
if ( options.has_key?('network_label') )
|
123
|
+
#network_obj = datacenter_obj.networkFolder.find(options['network_label'])
|
124
|
+
config_spec_operation = RbVmomi::VIM::VirtualDeviceConfigSpecOperation('edit')
|
125
|
+
nic_backing_info = RbVmomi::VIM::VirtualEthernetCardNetworkBackingInfo(:deviceName => options['network_label'])
|
126
|
+
#:deviceName => "Network adapter 1",
|
127
|
+
#:network => network_obj)
|
128
|
+
connectable = RbVmomi::VIM::VirtualDeviceConnectInfo(
|
129
|
+
:allowGuestControl => true,
|
130
|
+
:connected => true,
|
131
|
+
:startConnected => true)
|
132
|
+
device = RbVmomi::VIM::VirtualE1000(
|
133
|
+
:backing => nic_backing_info,
|
134
|
+
:deviceInfo => RbVmomi::VIM::Description(:label => "Network adapter 1", :summary => options['network_label']),
|
135
|
+
:key => options['network_adapter_device_key'],
|
136
|
+
:connectable => connectable)
|
137
|
+
device_spec = RbVmomi::VIM::VirtualDeviceConfigSpec(
|
138
|
+
:operation => config_spec_operation,
|
139
|
+
:device => device)
|
140
|
+
virtual_machine_config_spec = RbVmomi::VIM::VirtualMachineConfigSpec(
|
141
|
+
:deviceChange => [device_spec])
|
142
|
+
end
|
143
|
+
|
144
|
+
# Options['customization_spec']
|
145
|
+
# Build up all the crappy tiered objects like the perl method
|
146
|
+
# Collect your variables ifset (writing at 11pm revist me)
|
147
|
+
# * domain <~String> - *REQUIRED* - Sets the server's domain for customization
|
148
|
+
# * ipsettings <~Hash> - Optional - If not set defaults to dhcp
|
149
|
+
# * ip <~String> - *REQUIRED* Sets the ip address of the VM - Example: 10.0.0.10
|
150
|
+
# * dnsServerList <~Array> - Optional - Sets the nameservers in resolv - Example: ["10.0.0.2", "10.0.0.3"]
|
151
|
+
# * gateway <~Array> - Optional - Sets the gateway for the interface - Example: ["10.0.0.1"]
|
152
|
+
# * subnetMask <~String> - *REQUIRED* - Set the netmask of the interface - Example: "255.255.255.0"
|
153
|
+
# For other ip settings options see http://www.vmware.com/support/developer/vc-sdk/visdk41pubs/ApiReference/vim.vm.customization.IPSettings.html
|
154
|
+
if ( options.has_key?('customization_spec') )
|
155
|
+
cust_options = options['customization_spec']
|
156
|
+
if cust_options.has_key?("ipsettings")
|
157
|
+
raise ArgumentError, "ip and subnetMask is required for static ip" unless cust_options["ipsettings"].has_key?("ip") and
|
158
|
+
cust_options["ipsettings"].has_key?("subnetMask")
|
159
|
+
end
|
160
|
+
raise ArgumentError, "domain is required" unless cust_options.has_key?("domain")
|
161
|
+
cust_domain = cust_options['domain']
|
162
|
+
cust_ip_settings = RbVmomi::VIM::CustomizationIPSettings.new(cust_options["ipsettings"]) if cust_options.has_key?("ipsettings")
|
163
|
+
cust_ip_settings.ip = RbVmomi::VIM::CustomizationFixedIp("ipAddress" => cust_options["ipsettings"]["ip"]) if cust_options.has_key?("ipsettings")
|
164
|
+
cust_ip_settings ||= RbVmomi::VIM::CustomizationIPSettings.new("ip" => RbVmomi::VIM::CustomizationDhcpIpGenerator.new())
|
165
|
+
cust_ip_settings.dnsDomain = cust_domain
|
166
|
+
cust_global_ip_settings = RbVmomi::VIM::CustomizationGlobalIPSettings.new
|
167
|
+
cust_global_ip_settings.dnsServerList = cust_ip_settings.dnsServerList
|
168
|
+
cust_global_ip_settings.dnsSuffixList = [cust_domain]
|
169
|
+
cust_hostname = RbVmomi::VIM::CustomizationFixedName.new(:name => cust_options['hostname']) if cust_options.has_key?('hostname')
|
170
|
+
cust_hostname ||= RbVmomi::VIM::CustomizationFixedName.new(:name => options['name'])
|
171
|
+
cust_hwclockutc = cust_options['hw_clock_utc']
|
172
|
+
cust_timezone = cust_options['time_zone']
|
173
|
+
# Start Building objects
|
174
|
+
# Build the CustomizationLinuxPrep Object
|
175
|
+
cust_prep = RbVmomi::VIM::CustomizationLinuxPrep.new(
|
176
|
+
:domain => cust_domain,
|
177
|
+
:hostName => cust_hostname,
|
178
|
+
:hwClockUTC => cust_hwclockutc,
|
179
|
+
:timeZone => cust_timezone)
|
180
|
+
# Build the Custom Adapter Mapping Supports only one eth right now
|
181
|
+
cust_adapter_mapping = [RbVmomi::VIM::CustomizationAdapterMapping.new("adapter" => cust_ip_settings)]
|
182
|
+
# Build the customization Spec
|
183
|
+
customization_spec = RbVmomi::VIM::CustomizationSpec.new(
|
184
|
+
:identity => cust_prep,
|
185
|
+
:globalIPSettings => cust_global_ip_settings,
|
186
|
+
:nicSettingMap => cust_adapter_mapping)
|
187
|
+
end
|
188
|
+
customization_spec ||= nil
|
111
189
|
|
112
190
|
relocation_spec=nil
|
113
191
|
if ( options['linked_clone'] )
|
@@ -139,17 +217,23 @@ module Fog
|
|
139
217
|
vm_mob_ref.ReconfigVM_Task(:spec => disk_spec).wait_for_completion
|
140
218
|
end
|
141
219
|
# Next, create a Relocation Spec instance
|
142
|
-
relocation_spec = RbVmomi::VIM.VirtualMachineRelocateSpec(:
|
220
|
+
relocation_spec = RbVmomi::VIM.VirtualMachineRelocateSpec(:datastore => datastore_obj,
|
221
|
+
:pool => resource_pool,
|
143
222
|
:diskMoveType => :moveChildMostDiskBacking)
|
144
223
|
else
|
145
|
-
relocation_spec = RbVmomi::VIM.VirtualMachineRelocateSpec(:
|
224
|
+
relocation_spec = RbVmomi::VIM.VirtualMachineRelocateSpec(:datastore => datastore_obj,
|
225
|
+
:pool => resource_pool,
|
146
226
|
:transform => options['transform'] || 'sparse')
|
147
227
|
end
|
148
228
|
# And the clone specification
|
149
229
|
clone_spec = RbVmomi::VIM.VirtualMachineCloneSpec(:location => relocation_spec,
|
230
|
+
:config => virtual_machine_config_spec,
|
231
|
+
:customization => customization_spec,
|
150
232
|
:powerOn => options.has_key?('power_on') ? options['power_on'] : true,
|
151
233
|
:template => false)
|
152
|
-
|
234
|
+
|
235
|
+
# Perform the actual Clone Task
|
236
|
+
task = vm_mob_ref.CloneVM_Task(:folder => dest_folder,
|
153
237
|
:name => options['name'],
|
154
238
|
:spec => clone_spec)
|
155
239
|
# Waiting for the VM to complete allows us to get the VirtulMachine
|
@@ -176,11 +260,11 @@ module Fog
|
|
176
260
|
nil
|
177
261
|
end
|
178
262
|
end
|
179
|
-
|
263
|
+
|
180
264
|
# Return hash
|
181
265
|
{
|
182
266
|
'vm_ref' => new_vm ? new_vm._ref : nil,
|
183
|
-
'
|
267
|
+
'new_vm' => new_vm ? get_virtual_machine("#{options['dest_folder']}/#{options['name']}", options['datacenter']) : nil,
|
184
268
|
'task_ref' => task._ref
|
185
269
|
}
|
186
270
|
end
|
@@ -190,11 +274,11 @@ module Fog
|
|
190
274
|
class Mock
|
191
275
|
include Shared
|
192
276
|
def vm_clone(options = {})
|
193
|
-
# Option handling
|
277
|
+
# Option handling TODO Needs better method of checking
|
194
278
|
options = vm_clone_check_options(options)
|
195
279
|
notfound = lambda { raise Fog::Compute::Vsphere::NotFound, "Could not find VM template" }
|
196
280
|
list_virtual_machines.find(notfound) do |vm|
|
197
|
-
vm[:name] == options['
|
281
|
+
vm[:name] == options['template_path'].split("/")[-1]
|
198
282
|
end
|
199
283
|
{
|
200
284
|
'vm_ref' => 'vm-123',
|
data/lib/fog/xenserver.rb
CHANGED
@@ -14,11 +14,11 @@ module Fog
|
|
14
14
|
|
15
15
|
def initialize(host)
|
16
16
|
@factory = XMLRPC::Client.new(host, '/')
|
17
|
-
@factory.set_parser(
|
17
|
+
@factory.set_parser(NokogiriStreamParser.new)
|
18
18
|
end
|
19
19
|
|
20
20
|
def authenticate( username, password )
|
21
|
-
response = @factory.call('session.login_with_password', username, password
|
21
|
+
response = @factory.call('session.login_with_password', username.to_s, password.to_s)
|
22
22
|
raise Fog::XenServer::InvalidLogin.new unless response["Status"] =~ /Success/
|
23
23
|
@credentials = response["Value"]
|
24
24
|
end
|
@@ -50,6 +50,30 @@ module Fog
|
|
50
50
|
end
|
51
51
|
end
|
52
52
|
|
53
|
+
class NokogiriStreamParser < XMLRPC::XMLParser::AbstractStreamParser
|
54
|
+
|
55
|
+
def initialize
|
56
|
+
require 'nokogiri/xml/sax/document'
|
57
|
+
require 'nokogiri/xml/sax/parser'
|
58
|
+
|
59
|
+
@parser_class = Class.new(Nokogiri::XML::SAX::Document) do
|
60
|
+
|
61
|
+
include XMLRPC::XMLParser::StreamParserMixin
|
62
|
+
|
63
|
+
alias_method :start_element, :startElement
|
64
|
+
alias_method :end_element, :endElement
|
65
|
+
alias_method :characters, :character
|
66
|
+
alias_method :cdata_block, :character
|
67
|
+
|
68
|
+
def parse(str)
|
69
|
+
Nokogiri::XML::SAX::Parser.new(self).parse(str)
|
70
|
+
end
|
71
|
+
|
72
|
+
end
|
73
|
+
end
|
74
|
+
|
75
|
+
end
|
76
|
+
|
53
77
|
end
|
54
78
|
end
|
55
79
|
|