fog-maestrodev 1.7.0.20121114190951 → 1.8.0.20130109172219
Sign up to get free protection for your applications and to get access to all the features.
- data/.gitignore +2 -2
- data/README.md +48 -37
- data/RELEASE.md +39 -0
- data/Rakefile +48 -312
- data/bin/fog +4 -0
- data/changelog.txt +153 -0
- data/docs/storage/aws.markdown +21 -0
- data/fog.gemspec +3 -3
- data/lib/fog.rb +0 -5
- 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/auto_scaling.rb +1 -1
- data/lib/fog/aws/cloud_watch.rb +1 -1
- data/lib/fog/aws/compute.rb +4 -2
- data/lib/fog/aws/dynamodb.rb +30 -64
- data/lib/fog/aws/elb.rb +1 -1
- data/lib/fog/aws/glacier.rb +1 -1
- data/lib/fog/aws/iam.rb +1 -0
- 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 +13 -13
- 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 +22 -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 -13
- 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 +5 -5
- 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 +3 -1
- data/lib/fog/aws/parsers/compute/describe_reserved_instances_offerings.rb +1 -1
- data/lib/fog/aws/parsers/compute/spot_instance_requests.rb +5 -3
- data/lib/fog/aws/parsers/storage/cors_configuration.rb +41 -0
- data/lib/fog/aws/parsers/storage/delete_multiple_objects.rb +50 -0
- data/lib/fog/aws/rds.rb +2 -2
- 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_watch/list_metrics.rb +27 -0
- data/lib/fog/aws/requests/compute/copy_snapshot.rb +58 -0
- data/lib/fog/aws/requests/compute/describe_availability_zones.rb +3 -0
- data/lib/fog/aws/requests/compute/describe_reserved_instances_offerings.rb +11 -8
- data/lib/fog/aws/requests/compute/modify_volume_attribute.rb +51 -0
- data/lib/fog/aws/requests/dns/change_resource_record_sets.rb +1 -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 +167 -0
- 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 +21 -21
- data/lib/fog/aws/requests/storage/initiate_multipart_upload.rb +18 -19
- data/lib/fog/aws/requests/storage/put_bucket_cors.rb +51 -0
- data/lib/fog/aws/signaturev4.rb +1 -1
- data/lib/fog/aws/sqs.rb +1 -1
- data/lib/fog/aws/storage.rb +10 -1
- 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 +3 -5
- data/lib/fog/brightbox/compute.rb +284 -82
- data/lib/fog/brightbox/models/compute/account.rb +9 -3
- 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 +25 -18
- 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 +35 -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/oauth2.rb +164 -0
- data/lib/fog/brightbox/requests/compute/activate_console_server.rb +10 -3
- data/lib/fog/brightbox/requests/compute/add_listeners_load_balancer.rb +12 -3
- data/lib/fog/brightbox/requests/compute/add_nodes_load_balancer.rb +12 -3
- data/lib/fog/brightbox/requests/compute/add_servers_server_group.rb +10 -12
- data/lib/fog/brightbox/requests/compute/apply_to_firewall_policy.rb +12 -3
- data/lib/fog/brightbox/requests/compute/create_api_client.rb +12 -3
- data/lib/fog/brightbox/requests/compute/create_application.rb +12 -3
- data/lib/fog/brightbox/requests/compute/create_cloud_ip.rb +12 -2
- data/lib/fog/brightbox/requests/compute/create_firewall_policy.rb +14 -3
- data/lib/fog/brightbox/requests/compute/create_firewall_rule.rb +18 -3
- data/lib/fog/brightbox/requests/compute/create_image.rb +19 -3
- data/lib/fog/brightbox/requests/compute/create_load_balancer.rb +15 -3
- data/lib/fog/brightbox/requests/compute/create_server.rb +18 -3
- data/lib/fog/brightbox/requests/compute/create_server_group.rb +12 -3
- data/lib/fog/brightbox/requests/compute/destroy_api_client.rb +10 -3
- data/lib/fog/brightbox/requests/compute/destroy_application.rb +10 -3
- data/lib/fog/brightbox/requests/compute/destroy_cloud_ip.rb +10 -3
- data/lib/fog/brightbox/requests/compute/destroy_firewall_policy.rb +10 -3
- data/lib/fog/brightbox/requests/compute/destroy_firewall_rule.rb +10 -3
- data/lib/fog/brightbox/requests/compute/destroy_image.rb +10 -3
- data/lib/fog/brightbox/requests/compute/destroy_load_balancer.rb +10 -3
- data/lib/fog/brightbox/requests/compute/destroy_server.rb +10 -3
- data/lib/fog/brightbox/requests/compute/destroy_server_group.rb +10 -3
- data/lib/fog/brightbox/requests/compute/get_account.rb +8 -16
- data/lib/fog/brightbox/requests/compute/get_api_client.rb +10 -3
- data/lib/fog/brightbox/requests/compute/get_application.rb +10 -3
- data/lib/fog/brightbox/requests/compute/get_authenticated_user.rb +2 -4
- data/lib/fog/brightbox/requests/compute/get_cloud_ip.rb +10 -3
- data/lib/fog/brightbox/requests/compute/get_firewall_policy.rb +10 -3
- data/lib/fog/brightbox/requests/compute/get_firewall_rule.rb +10 -3
- data/lib/fog/brightbox/requests/compute/get_image.rb +10 -3
- data/lib/fog/brightbox/requests/compute/get_interface.rb +10 -3
- data/lib/fog/brightbox/requests/compute/get_load_balancer.rb +10 -3
- data/lib/fog/brightbox/requests/compute/get_scoped_account.rb +2 -6
- data/lib/fog/brightbox/requests/compute/get_server.rb +10 -3
- data/lib/fog/brightbox/requests/compute/get_server_group.rb +10 -3
- data/lib/fog/brightbox/requests/compute/get_server_type.rb +10 -3
- data/lib/fog/brightbox/requests/compute/get_user.rb +8 -16
- data/lib/fog/brightbox/requests/compute/get_zone.rb +10 -3
- data/lib/fog/brightbox/requests/compute/list_accounts.rb +7 -3
- data/lib/fog/brightbox/requests/compute/list_api_clients.rb +9 -3
- data/lib/fog/brightbox/requests/compute/list_applications.rb +9 -3
- data/lib/fog/brightbox/requests/compute/list_cloud_ips.rb +9 -3
- data/lib/fog/brightbox/requests/compute/list_firewall_policies.rb +9 -3
- data/lib/fog/brightbox/requests/compute/list_images.rb +9 -3
- data/lib/fog/brightbox/requests/compute/list_load_balancers.rb +9 -3
- data/lib/fog/brightbox/requests/compute/list_server_groups.rb +9 -3
- data/lib/fog/brightbox/requests/compute/list_server_types.rb +9 -3
- data/lib/fog/brightbox/requests/compute/list_servers.rb +9 -3
- data/lib/fog/brightbox/requests/compute/list_users.rb +9 -3
- data/lib/fog/brightbox/requests/compute/list_zones.rb +9 -3
- data/lib/fog/brightbox/requests/compute/map_cloud_ip.rb +12 -3
- data/lib/fog/brightbox/requests/compute/move_servers_server_group.rb +11 -13
- data/lib/fog/brightbox/requests/compute/remove_firewall_policy.rb +12 -3
- data/lib/fog/brightbox/requests/compute/remove_listeners_load_balancer.rb +12 -3
- data/lib/fog/brightbox/requests/compute/remove_nodes_load_balancer.rb +12 -3
- data/lib/fog/brightbox/requests/compute/remove_servers_server_group.rb +10 -11
- data/lib/fog/brightbox/requests/compute/reset_ftp_password_account.rb +22 -3
- data/lib/fog/brightbox/requests/compute/reset_ftp_password_scoped_account.rb +18 -0
- data/lib/fog/brightbox/requests/compute/reset_secret_api_client.rb +14 -2
- data/lib/fog/brightbox/requests/compute/reset_secret_application.rb +10 -3
- data/lib/fog/brightbox/requests/compute/shutdown_server.rb +10 -3
- data/lib/fog/brightbox/requests/compute/snapshot_server.rb +10 -3
- data/lib/fog/brightbox/requests/compute/start_server.rb +10 -3
- data/lib/fog/brightbox/requests/compute/stop_server.rb +10 -3
- data/lib/fog/brightbox/requests/compute/unmap_cloud_ip.rb +10 -3
- data/lib/fog/brightbox/requests/compute/update_account.rb +33 -35
- data/lib/fog/brightbox/requests/compute/update_api_client.rb +13 -3
- data/lib/fog/brightbox/requests/compute/update_application.rb +13 -3
- data/lib/fog/brightbox/requests/compute/update_cloud_ip.rb +14 -3
- data/lib/fog/brightbox/requests/compute/update_firewall_rule.rb +17 -2
- data/lib/fog/brightbox/requests/compute/update_image.rb +18 -3
- data/lib/fog/brightbox/requests/compute/update_load_balancer.rb +16 -3
- data/lib/fog/brightbox/requests/compute/update_scoped_account.rb +13 -20
- data/lib/fog/brightbox/requests/compute/update_server.rb +13 -3
- data/lib/fog/brightbox/requests/compute/update_server_group.rb +13 -3
- data/lib/fog/brightbox/requests/compute/update_user.rb +16 -3
- 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 +14 -12
- 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.rb +1 -0
- data/lib/fog/core/attributes.rb +19 -2
- data/lib/fog/core/collection.rb +17 -6
- data/lib/fog/core/connection.rb +1 -0
- 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/model.rb +11 -1
- 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/google/storage.rb +13 -2
- 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/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 +29 -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/libvirt/requests/compute/list_domains.rb +2 -2
- 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 +89 -65
- data/lib/fog/openstack/README.identity.md +69 -0
- data/lib/fog/openstack/compute.rb +71 -41
- data/lib/fog/openstack/identity.rb +43 -22
- data/lib/fog/openstack/image.rb +11 -5
- 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 +9 -4
- 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 +5 -5
- data/lib/fog/openstack/models/compute/security_groups.rb +2 -2
- data/lib/fog/openstack/models/compute/server.rb +41 -27
- 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 +4 -5
- 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/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 +5 -3
- data/lib/fog/openstack/requests/compute/create_flavor.rb +4 -1
- data/lib/fog/openstack/requests/compute/create_security_group.rb +3 -2
- 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/get_limits.rb +93 -0
- data/lib/fog/openstack/requests/compute/list_security_groups.rb +17 -41
- data/lib/fog/openstack/requests/compute/list_tenants.rb +1 -0
- data/lib/fog/openstack/requests/compute/release_address.rb +13 -1
- data/lib/fog/openstack/requests/compute/reset_server_state.rb +24 -0
- 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/set_tenant.rb +21 -0
- 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/volume.rb +6 -3
- 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 +20 -11
- data/lib/fog/rackspace/block_storage.rb +1 -0
- data/lib/fog/rackspace/compute_v2.rb +10 -0
- data/lib/fog/rackspace/load_balancers.rb +2 -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 +2 -2
- 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 +9 -0
- data/lib/fog/rackspace/models/compute_v2/images.rb +2 -2
- data/lib/fog/rackspace/models/compute_v2/server.rb +47 -14
- data/lib/fog/rackspace/models/compute_v2/servers.rb +10 -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 +23 -5
- 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 +71 -5
- data/lib/fog/rackspace/models/storage/files.rb +2 -2
- data/lib/fog/rackspace/requests/compute_v2/create_image.rb +41 -0
- data/lib/fog/rackspace/requests/compute_v2/create_server.rb +3 -0
- data/lib/fog/rackspace/requests/compute_v2/delete_image.rb +31 -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/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/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 +3 -0
- 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 +78 -9
- data/lib/fog/vsphere/models/compute/cluster.rb +31 -0
- data/lib/fog/vsphere/models/compute/clusters.rb +26 -0
- data/lib/fog/vsphere/models/compute/datacenter.rb +39 -0
- data/lib/fog/vsphere/models/compute/datacenters.rb +23 -0
- data/lib/fog/vsphere/models/compute/datastore.rb +24 -0
- data/lib/fog/vsphere/models/compute/datastores.rb +25 -0
- data/lib/fog/vsphere/models/compute/folder.rb +28 -0
- data/lib/fog/vsphere/models/compute/folders.rb +27 -0
- data/lib/fog/vsphere/models/compute/interface.rb +39 -0
- data/lib/fog/vsphere/models/compute/interfaces.rb +33 -0
- data/lib/fog/vsphere/models/compute/network.rb +21 -0
- data/lib/fog/vsphere/models/compute/networks.rb +25 -0
- data/lib/fog/vsphere/models/compute/resource_pool.rb +23 -0
- data/lib/fog/vsphere/models/compute/resource_pools.rb +26 -0
- data/lib/fog/vsphere/models/compute/server.rb +106 -29
- data/lib/fog/vsphere/models/compute/servers.rb +16 -20
- data/lib/fog/vsphere/models/compute/template.rb +13 -0
- data/lib/fog/vsphere/models/compute/templates.rb +23 -0
- data/lib/fog/vsphere/models/compute/volume.rb +45 -0
- data/lib/fog/vsphere/models/compute/volumes.rb +33 -0
- data/lib/fog/vsphere/requests/compute/create_folder.rb +22 -0
- data/lib/fog/vsphere/requests/compute/create_vm.rb +114 -0
- data/lib/fog/vsphere/requests/compute/get_cluster.rb +25 -0
- data/lib/fog/vsphere/requests/compute/get_datacenter.rb +29 -0
- data/lib/fog/vsphere/requests/compute/get_datastore.rb +25 -0
- data/lib/fog/vsphere/requests/compute/get_folder.rb +73 -0
- data/lib/fog/vsphere/requests/compute/get_network.rb +25 -0
- data/lib/fog/vsphere/requests/compute/get_resource_pool.rb +26 -0
- data/lib/fog/vsphere/requests/compute/get_virtual_machine.rb +62 -0
- data/lib/fog/vsphere/requests/compute/list_clusters.rb +37 -0
- data/lib/fog/vsphere/requests/compute/list_datacenters.rb +34 -0
- data/lib/fog/vsphere/requests/compute/list_datastores.rb +40 -0
- data/lib/fog/vsphere/requests/compute/list_folders.rb +45 -0
- data/lib/fog/vsphere/requests/compute/list_networks.rb +38 -0
- data/lib/fog/vsphere/requests/compute/list_resource_pools.rb +39 -0
- data/lib/fog/vsphere/requests/compute/list_virtual_machines.rb +132 -166
- data/lib/fog/vsphere/requests/compute/list_vm_interfaces.rb +52 -0
- data/lib/fog/vsphere/requests/compute/list_vm_volumes.rb +51 -0
- data/lib/fog/vsphere/requests/compute/vm_clone.rb +134 -67
- data/lib/fog/vsphere/requests/compute/vm_destroy.rb +1 -8
- data/lib/fog/vsphere/requests/compute/vm_reconfig_hardware.rb +1 -2
- data/lib/fog/xenserver.rb +26 -2
- data/lib/fog/xenserver/compute.rb +8 -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 +75 -8
- 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 +98 -0
- data/lib/tasks/test_task.rb +46 -0
- data/tests/aws/models/cloud_watch/metrics_tests.rb +16 -1
- data/tests/aws/models/iam/users_tests.rb +16 -2
- data/tests/aws/requests/auto_scaling/model_tests.rb +1 -3
- data/tests/aws/requests/auto_scaling/notification_configuration_tests.rb +1 -0
- data/tests/aws/requests/auto_scaling/tag_tests.rb +1 -0
- data/tests/aws/requests/compute/instance_tests.rb +2 -0
- 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/compute/volume_tests.rb +8 -0
- data/tests/aws/requests/storage/bucket_tests.rb +14 -0
- data/tests/aws/requests/storage/cors_utils_tests.rb +108 -0
- data/tests/aws/requests/storage/object_tests.rb +18 -1
- data/tests/aws/requests/storage/versioning_tests.rb +70 -0
- data/tests/brightbox/compute_tests.rb +96 -4
- data/tests/brightbox/models/compute/account_tests.rb +17 -0
- data/tests/brightbox/models/compute/server_tests.rb +21 -0
- data/tests/brightbox/oauth2_tests.rb +103 -0
- data/tests/brightbox/requests/compute/account_tests.rb +9 -2
- 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/brightbox/requests/compute/interface_tests.rb +18 -4
- 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/wait_for_tests.rb +13 -0
- data/tests/dns/models/record_tests.rb +17 -3
- 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 +143 -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/requests/compute/address_tests.rb +20 -19
- data/tests/openstack/requests/compute/flavor_tests.rb +4 -2
- data/tests/openstack/requests/compute/helper.rb +20 -0
- data/tests/openstack/requests/compute/limit_tests.rb +60 -0
- data/tests/openstack/requests/compute/quota_tests.rb +18 -3
- data/tests/openstack/requests/compute/security_group_tests.rb +11 -3
- 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/models/block_storage/snapshot_tests.rb +18 -11
- data/tests/rackspace/models/block_storage/volume_tests.rb +13 -7
- data/tests/rackspace/models/compute_v2/image_tests.rb +28 -0
- data/tests/rackspace/models/compute_v2/server_tests.rb +15 -0
- data/tests/rackspace/models/compute_v2/servers_tests.rb +6 -0
- data/tests/rackspace/models/load_balancers/load_balancer_tests.rb +17 -0
- data/tests/rackspace/models/storage/file_tests.rb +178 -0
- 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/image_tests.rb +38 -10
- data/tests/rackspace/requests/dns/helper.rb +12 -26
- 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/compute_tests.rb +3 -3
- data/tests/vsphere/models/compute/server_tests.rb +1 -2
- data/tests/vsphere/requests/compute/list_virtual_machines_tests.rb +5 -13
- data/tests/vsphere/requests/compute/vm_clone_tests.rb +6 -4
- data/tests/xenserver/models/compute/host_metrics_tests.rb +48 -0
- data/tests/xenserver/models/compute/host_tests.rb +20 -1
- 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 +312 -89
- data/docs/_config.yml +0 -39
- data/docs/_layouts/default.html +0 -111
- data/docs/about/contributing.markdown +0 -228
- 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 -88
- 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/images/engineyard.png +0 -0
- data/docs/public/images/fog.png +0 -0
- 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/fog/vsphere/requests/compute/datacenters.rb +0 -34
- data/lib/fog/vsphere/requests/compute/find_vm_by_ref.rb +0 -41
- data/lib/fog/vsphere/requests/compute/vm_create.rb +0 -97
- data/tests/vsphere/requests/compute/find_vm_by_ref_tests.rb +0 -26
- data/tests/vsphere/requests/compute/vm_create_tests.rb +0 -20
@@ -0,0 +1,52 @@
|
|
1
|
+
module Fog
|
2
|
+
module Compute
|
3
|
+
class Vsphere
|
4
|
+
class Real
|
5
|
+
# => VirtualE1000(
|
6
|
+
#addressType: "assigned",
|
7
|
+
#backing: VirtualEthernetCardNetworkBackingInfo(
|
8
|
+
# deviceName: "VM Network",
|
9
|
+
# dynamicProperty: [],
|
10
|
+
# network: Network("network-163"),
|
11
|
+
# useAutoDetect: false
|
12
|
+
#),
|
13
|
+
#connectable: VirtualDeviceConnectInfo(
|
14
|
+
# allowGuestControl: true,
|
15
|
+
# connected: true,
|
16
|
+
# dynamicProperty: [],
|
17
|
+
# startConnected: true,
|
18
|
+
# status: "ok"
|
19
|
+
#),
|
20
|
+
#controllerKey: 100,
|
21
|
+
#deviceInfo: Description(
|
22
|
+
# dynamicProperty: [],
|
23
|
+
# label: "Network adapter 1",
|
24
|
+
# summary: "VM Network"
|
25
|
+
#),
|
26
|
+
#dynamicProperty: [],
|
27
|
+
#key: 4000,
|
28
|
+
#macAddress: "00:50:56:a9:00:28",
|
29
|
+
#unitNumber: 7,
|
30
|
+
#
|
31
|
+
def list_vm_interfaces(vm_id)
|
32
|
+
get_vm_ref(vm_id).config.hardware.device.grep(RbVmomi::VIM::VirtualEthernetCard).map do |nic|
|
33
|
+
{
|
34
|
+
:name => nic.deviceInfo.label,
|
35
|
+
:mac => nic.macAddress,
|
36
|
+
:network => nic.backing.network.name,
|
37
|
+
:status => nic.connectable.status,
|
38
|
+
:summary => nic.deviceInfo.summary,
|
39
|
+
:type => nic.class,
|
40
|
+
}
|
41
|
+
end
|
42
|
+
|
43
|
+
end
|
44
|
+
|
45
|
+
end
|
46
|
+
class Mock
|
47
|
+
def list_vm_interfaces(vm_id)
|
48
|
+
end
|
49
|
+
end
|
50
|
+
end
|
51
|
+
end
|
52
|
+
end
|
@@ -0,0 +1,51 @@
|
|
1
|
+
module Fog
|
2
|
+
module Compute
|
3
|
+
class Vsphere
|
4
|
+
class Real
|
5
|
+
# [VirtualDisk(
|
6
|
+
# backing: VirtualDiskFlatVer2BackingInfo(
|
7
|
+
# contentId: "a172d19487e878e17d6b16ff2505d7eb",
|
8
|
+
# datastore: Datastore("datastore-162"),
|
9
|
+
# diskMode: "persistent",
|
10
|
+
# dynamicProperty: [],
|
11
|
+
# fileName: "[Storage1] rhel6-mfojtik/rhel6-mfojtik.vmdk",
|
12
|
+
# split: false,
|
13
|
+
# thinProvisioned: true,
|
14
|
+
# uuid: "6000C29c-a47d-4cd9-5249-c371de775f06",
|
15
|
+
# writeThrough: false
|
16
|
+
# ),
|
17
|
+
# capacityInKB: 8388608,
|
18
|
+
# controllerKey: 1000,
|
19
|
+
# deviceInfo: Description(
|
20
|
+
# dynamicProperty: [],
|
21
|
+
# label: "Hard disk 1",
|
22
|
+
# summary: "8,388,608 KB"
|
23
|
+
# ),
|
24
|
+
# dynamicProperty: [],
|
25
|
+
# key: 2001,
|
26
|
+
# shares: SharesInfo( dynamicProperty: [], level: "normal", shares: 1000 ),
|
27
|
+
# unitNumber: 1
|
28
|
+
#)]
|
29
|
+
|
30
|
+
def list_vm_volumes(vm_id)
|
31
|
+
get_vm_ref(vm_id).disks.map do |vol|
|
32
|
+
{
|
33
|
+
:id => vol.backing.uuid,
|
34
|
+
:thin => vol.backing.thinProvisioned,
|
35
|
+
:mode => vol.backing.diskMode,
|
36
|
+
:filename => vol.backing.fileName,
|
37
|
+
:datastore => (vol.backing.datastore.name rescue(nil)),
|
38
|
+
:size => vol.capacityInKB,
|
39
|
+
:name => vol.deviceInfo.label
|
40
|
+
}
|
41
|
+
end
|
42
|
+
end
|
43
|
+
|
44
|
+
end
|
45
|
+
class Mock
|
46
|
+
def list_vm_volumes(vm_id)
|
47
|
+
end
|
48
|
+
end
|
49
|
+
end
|
50
|
+
end
|
51
|
+
end
|
@@ -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 self.datacenters.include? dc_name then
|
25
|
-
raise ArgumentError, "Datacenter #{dc_name} does not exist, only datacenters #{self.datacenters.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,57 +76,101 @@ 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
|
-
# Make sure @datacenters is populated. We need the instances from the Hash keys.
|
79
|
-
self.datacenters
|
80
|
-
# Get the datacenter managed object from the hash
|
81
|
-
dc = @datacenters[template_dc]
|
82
|
-
# Get the VM Folder (Group) efficiently
|
83
|
-
vm_folder = dc.vmFolder
|
84
|
-
# Walk the tree resetting the folder pointer as we go
|
85
|
-
folder = path_elements.inject(vm_folder) do |current_folder, sub_folder_name|
|
86
|
-
# JJM VIM::Folder#find appears to be quite efficient as it uses the
|
87
|
-
# searchIndex It certainly appears to be faster than
|
88
|
-
# VIM::Folder#inventory since that returns _all_ managed objects of
|
89
|
-
# a certain type _and_ their properties.
|
90
|
-
sub_folder = current_folder.find(sub_folder_name, RbVmomi::VIM::Folder)
|
91
|
-
raise ArgumentError, "Could not descend into #{sub_folder_name}. Please check your path." unless sub_folder
|
92
|
-
sub_folder
|
93
|
-
end
|
94
|
-
|
83
|
+
# Options['template_path']<~String>
|
84
|
+
# Added for people still using options['path']
|
85
|
+
template_path = options['path'] || options['template_path']
|
95
86
|
# Now find the template itself using the efficient find method
|
96
|
-
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
|
97
93
|
|
94
|
+
# Options['resource_pool']<~Array>
|
98
95
|
# Now find _a_ resource pool to use for the clone if one is not specified
|
99
|
-
if ( options.has_key?('resource_pool') )
|
100
|
-
|
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'])
|
101
100
|
elsif ( vm_mob_ref.resourcePool == nil )
|
102
101
|
# If the template is really a template then there is no associated resource pool,
|
103
102
|
# so we need to find one using the template's parent host or cluster
|
104
103
|
esx_host = vm_mob_ref.collect!('runtime.host')['runtime.host']
|
105
104
|
# The parent of the ESX host itself is a ComputeResource which has a resourcePool
|
106
105
|
resource_pool = esx_host.parent.resourcePool
|
107
|
-
else
|
108
|
-
# If the vm given did return a valid resource pool, default to using it for the clone.
|
109
|
-
# Even if specific pools aren't implemented in this environment, we will still get back
|
110
|
-
# at least the cluster or host we can pass on to the clone task
|
111
|
-
resource_pool = vm_mob_ref.resourcePool
|
112
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
|
+
if ( options.has_key?('customization_spec') )
|
148
|
+
cust_options = options['customization_spec']
|
149
|
+
cust_domain = cust_options['domain']
|
150
|
+
cust_hostname = RbVmomi::VIM::CustomizationFixedName.new(:name => cust_options['hostname']) if cust_options.has_key?('hostname')
|
151
|
+
cust_hostname ||= RbVmomi::VIM::CustomizationFixedName.new(:name => options['name'])
|
152
|
+
cust_hwclockutc = cust_options['hw_clock_utc']
|
153
|
+
cust_timezone = cust_options['time_zone']
|
154
|
+
# Start Building objects
|
155
|
+
# Build the CustomizationLinuxPrep Object
|
156
|
+
cust_prep = RbVmomi::VIM::CustomizationLinuxPrep.new(
|
157
|
+
:domain => cust_domain,
|
158
|
+
:hostName => cust_hostname,
|
159
|
+
:hwClockUTC => cust_hwclockutc,
|
160
|
+
:timeZone => cust_timezone)
|
161
|
+
# Build the Dhcp Generator Object
|
162
|
+
cust_fixed_ip = RbVmomi::VIM::CustomizationDhcpIpGenerator.new()
|
163
|
+
# Build the custom_ip_settings Object
|
164
|
+
cust_ip_setting = RbVmomi::VIM::CustomizationIPSettings.new(:ip => cust_fixed_ip)
|
165
|
+
# Build the Custom Adapter Mapping Supports only one eth right now
|
166
|
+
cust_adapter_mapping = [RbVmomi::VIM::CustomizationAdapterMapping.new(:adapter => cust_ip_setting)]
|
167
|
+
# Build the customization Spec
|
168
|
+
customization_spec = RbVmomi::VIM::CustomizationSpec.new(
|
169
|
+
:identity => cust_prep,
|
170
|
+
:globalIPSettings => RbVmomi::VIM::CustomizationGlobalIPSettings.new(),
|
171
|
+
:nicSettingMap => cust_adapter_mapping)
|
172
|
+
end
|
173
|
+
customization_spec ||= nil
|
113
174
|
|
114
175
|
relocation_spec=nil
|
115
176
|
if ( options['linked_clone'] )
|
@@ -141,17 +202,23 @@ module Fog
|
|
141
202
|
vm_mob_ref.ReconfigVM_Task(:spec => disk_spec).wait_for_completion
|
142
203
|
end
|
143
204
|
# Next, create a Relocation Spec instance
|
144
|
-
relocation_spec = RbVmomi::VIM.VirtualMachineRelocateSpec(:
|
205
|
+
relocation_spec = RbVmomi::VIM.VirtualMachineRelocateSpec(:datastore => datastore_obj,
|
206
|
+
:pool => resource_pool,
|
145
207
|
:diskMoveType => :moveChildMostDiskBacking)
|
146
208
|
else
|
147
|
-
relocation_spec = RbVmomi::VIM.VirtualMachineRelocateSpec(:
|
209
|
+
relocation_spec = RbVmomi::VIM.VirtualMachineRelocateSpec(:datastore => datastore_obj,
|
210
|
+
:pool => resource_pool,
|
148
211
|
:transform => options['transform'] || 'sparse')
|
149
212
|
end
|
150
213
|
# And the clone specification
|
151
214
|
clone_spec = RbVmomi::VIM.VirtualMachineCloneSpec(:location => relocation_spec,
|
215
|
+
:config => virtual_machine_config_spec,
|
216
|
+
:customization => customization_spec,
|
152
217
|
:powerOn => options.has_key?('power_on') ? options['power_on'] : true,
|
153
218
|
:template => false)
|
154
|
-
|
219
|
+
|
220
|
+
# Perform the actual Clone Task
|
221
|
+
task = vm_mob_ref.CloneVM_Task(:folder => dest_folder,
|
155
222
|
:name => options['name'],
|
156
223
|
:spec => clone_spec)
|
157
224
|
# Waiting for the VM to complete allows us to get the VirtulMachine
|
@@ -178,11 +245,11 @@ module Fog
|
|
178
245
|
nil
|
179
246
|
end
|
180
247
|
end
|
181
|
-
|
248
|
+
|
182
249
|
# Return hash
|
183
250
|
{
|
184
251
|
'vm_ref' => new_vm ? new_vm._ref : nil,
|
185
|
-
'
|
252
|
+
'new_vm' => new_vm ? get_virtual_machine("#{options['dest_folder']}/#{options['name']}", options['datacenter']) : nil,
|
186
253
|
'task_ref' => task._ref
|
187
254
|
}
|
188
255
|
end
|
@@ -192,11 +259,11 @@ module Fog
|
|
192
259
|
class Mock
|
193
260
|
include Shared
|
194
261
|
def vm_clone(options = {})
|
195
|
-
# Option handling
|
262
|
+
# Option handling TODO Needs better method of checking
|
196
263
|
options = vm_clone_check_options(options)
|
197
264
|
notfound = lambda { raise Fog::Compute::Vsphere::NotFound, "Could not find VM template" }
|
198
|
-
|
199
|
-
vm[
|
265
|
+
list_virtual_machines.find(notfound) do |vm|
|
266
|
+
vm[:name] == options['template_path'].split("/")[-1]
|
200
267
|
end
|
201
268
|
{
|
202
269
|
'vm_ref' => 'vm-123',
|
@@ -6,14 +6,7 @@ module Fog
|
|
6
6
|
def vm_destroy(options = {})
|
7
7
|
raise ArgumentError, "instance_uuid is a required parameter" unless options.has_key? 'instance_uuid'
|
8
8
|
|
9
|
-
|
10
|
-
search_filter = { :uuid => options['instance_uuid'], 'vmSearch' => true, 'instanceUuid' => true }
|
11
|
-
vm_mob_ref = @connection.searchIndex.FindAllByUuid(search_filter).first
|
12
|
-
|
13
|
-
unless vm_mob_ref.kind_of? RbVmomi::VIM::VirtualMachine
|
14
|
-
raise Fog::Vsphere::Errors::NotFound,
|
15
|
-
"Could not find VirtualMachine with instance uuid #{options['instance_uuid']}"
|
16
|
-
end
|
9
|
+
vm_mob_ref = get_vm_ref(options['instance_uuid'])
|
17
10
|
task = vm_mob_ref.Destroy_Task
|
18
11
|
task.wait_for_completion
|
19
12
|
{ 'task_state' => task.info.state }
|
@@ -5,8 +5,7 @@ module Fog
|
|
5
5
|
def vm_reconfig_hardware(options = {})
|
6
6
|
raise ArgumentError, "hardware_spec is a required parameter" unless options.has_key? 'hardware_spec'
|
7
7
|
raise ArgumentError, "instance_uuid is a required parameter" unless options.has_key? 'instance_uuid'
|
8
|
-
|
9
|
-
vm_mob_ref = @connection.searchIndex.FindAllByUuid(search_filter).first
|
8
|
+
vm_mob_ref = get_vm_by_ref(options['instance_uuid'])
|
10
9
|
task = vm_mob_ref.ReconfigVM_Task(:spec => RbVmomi::VIM.VirtualMachineConfigSpec(options['hardware_spec']))
|
11
10
|
task.wait_for_completion
|
12
11
|
{ 'task_state' => task.info.state }
|
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
|
|