fog 1.10.1 → 1.11.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/.travis.yml +1 -0
- data/Gemfile +2 -0
- data/README.md +4 -3
- data/changelog.txt +207 -0
- data/fog.gemspec +4 -3
- data/lib/fog/aws.rb +0 -2
- data/lib/fog/aws/dynamodb.rb +1 -1
- data/lib/fog/aws/elasticache.rb +0 -2
- data/lib/fog/aws/iam.rb +1 -0
- data/lib/fog/aws/models/compute/volume.rb +1 -0
- data/lib/fog/aws/models/iam/user.rb +1 -0
- data/lib/fog/aws/models/storage/directories.rb +1 -1
- data/lib/fog/aws/models/storage/directory.rb +20 -17
- data/lib/fog/aws/models/storage/file.rb +4 -5
- data/lib/fog/aws/parsers/iam/get_user.rb +2 -0
- data/lib/fog/aws/parsers/iam/list_users.rb +2 -0
- data/lib/fog/aws/requests/cdn/delete_streaming_distribution.rb +2 -2
- data/lib/fog/aws/requests/cdn/put_distribution_config.rb +3 -3
- data/lib/fog/aws/requests/cloud_formation/update_stack.rb +3 -3
- data/lib/fog/aws/requests/cloud_formation/validate_template.rb +5 -5
- data/lib/fog/aws/requests/iam/create_user.rb +5 -4
- data/lib/fog/aws/requests/iam/get_user.rb +5 -4
- data/lib/fog/aws/requests/iam/list_users.rb +5 -4
- data/lib/fog/aws/requests/rds/create_db_instance.rb +25 -25
- data/lib/fog/aws/requests/storage/abort_multipart_upload.rb +3 -3
- data/lib/fog/aws/requests/storage/complete_multipart_upload.rb +2 -2
- data/lib/fog/aws/requests/storage/copy_object.rb +2 -2
- data/lib/fog/aws/requests/storage/delete_bucket.rb +1 -1
- data/lib/fog/aws/requests/storage/delete_bucket_cors.rb +1 -1
- data/lib/fog/aws/requests/storage/delete_bucket_lifecycle.rb +1 -1
- data/lib/fog/aws/requests/storage/delete_bucket_policy.rb +1 -1
- data/lib/fog/aws/requests/storage/delete_bucket_website.rb +1 -1
- data/lib/fog/aws/requests/storage/delete_multiple_objects.rb +1 -1
- data/lib/fog/aws/requests/storage/delete_object.rb +1 -1
- data/lib/fog/aws/requests/storage/get_bucket.rb +1 -1
- data/lib/fog/aws/requests/storage/get_bucket_acl.rb +1 -1
- data/lib/fog/aws/requests/storage/get_bucket_cors.rb +1 -1
- data/lib/fog/aws/requests/storage/get_bucket_lifecycle.rb +1 -1
- data/lib/fog/aws/requests/storage/get_bucket_location.rb +1 -1
- data/lib/fog/aws/requests/storage/get_bucket_logging.rb +1 -1
- data/lib/fog/aws/requests/storage/get_bucket_object_versions.rb +1 -1
- data/lib/fog/aws/requests/storage/get_bucket_policy.rb +1 -1
- data/lib/fog/aws/requests/storage/get_bucket_versioning.rb +1 -1
- data/lib/fog/aws/requests/storage/get_bucket_website.rb +1 -1
- data/lib/fog/aws/requests/storage/get_object.rb +2 -2
- data/lib/fog/aws/requests/storage/get_object_acl.rb +2 -2
- data/lib/fog/aws/requests/storage/get_object_http_url.rb +1 -19
- data/lib/fog/aws/requests/storage/get_object_torrent.rb +2 -2
- data/lib/fog/aws/requests/storage/get_object_url.rb +5 -14
- data/lib/fog/aws/requests/storage/get_request_payment.rb +1 -1
- data/lib/fog/aws/requests/storage/head_object.rb +2 -2
- data/lib/fog/aws/requests/storage/initiate_multipart_upload.rb +2 -2
- data/lib/fog/aws/requests/storage/list_multipart_uploads.rb +7 -8
- data/lib/fog/aws/requests/storage/list_parts.rb +2 -2
- data/lib/fog/aws/requests/storage/put_bucket.rb +1 -1
- data/lib/fog/aws/requests/storage/put_bucket_acl.rb +1 -1
- data/lib/fog/aws/requests/storage/put_bucket_cors.rb +1 -1
- data/lib/fog/aws/requests/storage/put_bucket_lifecycle.rb +1 -1
- data/lib/fog/aws/requests/storage/put_bucket_logging.rb +1 -1
- data/lib/fog/aws/requests/storage/put_bucket_policy.rb +1 -1
- data/lib/fog/aws/requests/storage/put_bucket_versioning.rb +1 -1
- data/lib/fog/aws/requests/storage/put_bucket_website.rb +1 -1
- data/lib/fog/aws/requests/storage/put_object.rb +2 -2
- data/lib/fog/aws/requests/storage/put_object_acl.rb +8 -8
- data/lib/fog/aws/requests/storage/put_object_url.rb +5 -7
- data/lib/fog/aws/requests/storage/put_request_payment.rb +1 -1
- data/lib/fog/aws/requests/storage/upload_part.rb +2 -2
- data/lib/fog/aws/storage.rb +201 -97
- data/lib/fog/bin/google.rb +47 -1
- data/lib/fog/bluebox/models/compute/server.rb +3 -1
- data/lib/fog/brightbox/compute.rb +11 -26
- data/lib/fog/brightbox/compute/image_selector.rb +45 -0
- data/lib/fog/cloudstack/compute.rb +70 -2
- data/lib/fog/cloudstack/models/compute/disk_offering.rb +46 -0
- data/lib/fog/cloudstack/models/compute/disk_offerings.rb +27 -0
- data/lib/fog/cloudstack/models/compute/image.rb +1 -1
- data/lib/fog/cloudstack/models/compute/servers.rb +3 -2
- data/lib/fog/cloudstack/requests/compute/create_disk_offering.rb +51 -0
- data/lib/fog/cloudstack/requests/compute/delete_disk_offering.rb +31 -0
- data/lib/fog/cloudstack/requests/compute/delete_snapshot.rb +44 -2
- data/lib/fog/cloudstack/requests/compute/list_disk_offerings.rb +9 -0
- data/lib/fog/cloudstack/requests/compute/list_os_types.rb +9 -0
- data/lib/fog/cloudstack/requests/compute/list_snapshots.rb +21 -0
- data/lib/fog/core/errors.rb +3 -0
- data/lib/fog/core/json.rb +48 -7
- data/lib/fog/core/model.rb +11 -10
- data/lib/fog/core/service.rb +1 -1
- data/lib/fog/digitalocean/CHANGELOG.md +1 -1
- data/lib/fog/dreamhost/dns.rb +1 -3
- data/lib/fog/google.rb +1 -0
- data/lib/fog/google/compute.rb +131 -0
- data/lib/fog/google/models/compute/flavor.rb +24 -0
- data/lib/fog/google/models/compute/flavors.rb +28 -0
- data/lib/fog/google/models/compute/image.rb +19 -0
- data/lib/fog/google/models/compute/images.rb +28 -0
- data/lib/fog/google/models/compute/server.rb +80 -0
- data/lib/fog/google/models/compute/servers.rb +61 -0
- data/lib/fog/google/requests/compute/delete_disk.rb +31 -0
- data/lib/fog/google/requests/compute/delete_firewall.rb +30 -0
- data/lib/fog/google/requests/compute/delete_image.rb +30 -0
- data/lib/fog/google/requests/compute/delete_network.rb +30 -0
- data/lib/fog/google/requests/compute/delete_operation.rb +30 -0
- data/lib/fog/google/requests/compute/delete_server.rb +40 -0
- data/lib/fog/google/requests/compute/get_disk.rb +31 -0
- data/lib/fog/google/requests/compute/get_firewall.rb +30 -0
- data/lib/fog/google/requests/compute/get_image.rb +30 -0
- data/lib/fog/google/requests/compute/get_machine_type.rb +30 -0
- data/lib/fog/google/requests/compute/get_network.rb +30 -0
- data/lib/fog/google/requests/compute/get_server.rb +31 -0
- data/lib/fog/google/requests/compute/get_zone.rb +30 -0
- data/lib/fog/google/requests/compute/insert_disk.rb +35 -0
- data/lib/fog/google/requests/compute/insert_firewall.rb +37 -0
- data/lib/fog/google/requests/compute/insert_image.rb +38 -0
- data/lib/fog/google/requests/compute/insert_network.rb +34 -0
- data/lib/fog/google/requests/compute/insert_server.rb +49 -0
- data/lib/fog/google/requests/compute/list_disks.rb +30 -0
- data/lib/fog/google/requests/compute/list_firewalls.rb +29 -0
- data/lib/fog/google/requests/compute/list_global_operations.rb +28 -0
- data/lib/fog/google/requests/compute/list_images.rb +29 -0
- data/lib/fog/google/requests/compute/list_machine_types.rb +29 -0
- data/lib/fog/google/requests/compute/list_networks.rb +29 -0
- data/lib/fog/google/requests/compute/list_servers.rb +30 -0
- data/lib/fog/google/requests/compute/list_zone_operations.rb +28 -0
- data/lib/fog/google/requests/compute/list_zones.rb +29 -0
- data/lib/fog/google/requests/compute/set_metadata.rb +36 -0
- data/lib/fog/hp.rb +1 -1
- data/lib/fog/hp/storage.rb +1 -1
- data/lib/fog/internet_archive/models/storage/ia_attributes.rb +1 -1
- data/lib/fog/internet_archive/requests/storage/head_object.rb +1 -2
- data/lib/fog/internet_archive/requests/storage/list_multipart_uploads.rb +5 -6
- data/lib/fog/openstack.rb +29 -1
- data/lib/fog/openstack/CHANGELOG.md +1 -1
- data/lib/fog/openstack/compute.rb +3 -2
- data/lib/fog/openstack/identity.rb +1 -5
- data/lib/fog/openstack/image.rb +8 -9
- data/lib/fog/openstack/models/compute/server.rb +24 -0
- data/lib/fog/openstack/network.rb +7 -28
- data/lib/fog/openstack/requests/compute/allocate_address.rb +1 -1
- data/lib/fog/openstack/requests/compute/attach_volume.rb +11 -6
- data/lib/fog/openstack/requests/compute/boot_from_snapshot.rb +1 -1
- data/lib/fog/openstack/requests/compute/create_flavor.rb +1 -1
- data/lib/fog/openstack/requests/compute/create_key_pair.rb +1 -1
- data/lib/fog/openstack/requests/compute/create_security_group.rb +1 -1
- data/lib/fog/openstack/requests/compute/create_security_group_rule.rb +1 -1
- data/lib/fog/openstack/requests/compute/create_volume.rb +15 -14
- data/lib/fog/openstack/requests/compute/create_volume_snapshot.rb +1 -1
- data/lib/fog/openstack/requests/compute/delete_volume.rb +9 -2
- data/lib/fog/openstack/requests/compute/detach_volume.rb +7 -2
- data/lib/fog/openstack/requests/compute/get_server_volumes.rb +10 -0
- data/lib/fog/openstack/requests/compute/get_volume_details.rb +7 -16
- data/lib/fog/openstack/requests/compute/list_tenants.rb +1 -1
- data/lib/fog/openstack/requests/compute/list_volumes.rb +4 -26
- data/lib/fog/openstack/requests/compute/revert_resize_server.rb +2 -2
- data/lib/fog/openstack/requests/compute/update_quota.rb +1 -1
- data/lib/fog/openstack/requests/identity/create_ec2_credential.rb +1 -1
- data/lib/fog/openstack/requests/identity/create_role.rb +1 -1
- data/lib/fog/openstack/requests/identity/create_user.rb +1 -1
- data/lib/fog/openstack/requests/identity/update_user.rb +1 -1
- data/lib/fog/openstack/requests/image/update_image_members.rb +1 -1
- data/lib/fog/openstack/requests/volume/create_volume.rb +1 -1
- data/lib/fog/openstack/requests/volume/create_volume_snapshot.rb +1 -1
- data/lib/fog/openstack/requests/volume/get_quota.rb +31 -0
- data/lib/fog/openstack/requests/volume/get_quota_defaults.rb +31 -0
- data/lib/fog/openstack/requests/volume/update_quota.rb +32 -0
- data/lib/fog/openstack/volume.rb +11 -7
- data/lib/fog/rackspace.rb +11 -5
- data/lib/fog/rackspace/block_storage.rb +2 -1
- data/lib/fog/rackspace/cdn.rb +15 -15
- data/lib/fog/rackspace/compute.rb +2 -2
- data/lib/fog/rackspace/compute_v2.rb +8 -5
- data/lib/fog/rackspace/databases.rb +2 -1
- data/lib/fog/rackspace/dns.rb +2 -1
- data/lib/fog/rackspace/errors.rb +27 -0
- data/lib/fog/rackspace/load_balancers.rb +2 -1
- data/lib/fog/rackspace/mock_data.rb +5 -6
- data/lib/fog/rackspace/models/block_storage/snapshot.rb +8 -8
- data/lib/fog/rackspace/models/block_storage/snapshots.rb +8 -8
- data/lib/fog/rackspace/models/block_storage/volume.rb +16 -16
- data/lib/fog/rackspace/models/block_storage/volume_types.rb +8 -8
- data/lib/fog/rackspace/models/block_storage/volumes.rb +8 -8
- data/lib/fog/rackspace/models/compute_v2/attachment.rb +8 -8
- data/lib/fog/rackspace/models/compute_v2/attachments.rb +8 -8
- data/lib/fog/rackspace/models/compute_v2/flavors.rb +8 -8
- data/lib/fog/rackspace/models/compute_v2/image.rb +8 -8
- data/lib/fog/rackspace/models/compute_v2/images.rb +8 -8
- data/lib/fog/rackspace/models/compute_v2/metadata.rb +12 -12
- data/lib/fog/rackspace/models/compute_v2/metadatum.rb +8 -8
- data/lib/fog/rackspace/models/compute_v2/server.rb +94 -55
- data/lib/fog/rackspace/models/compute_v2/servers.rb +12 -12
- data/lib/fog/rackspace/models/dns/records.rb +1 -1
- data/lib/fog/rackspace/models/dns/zones.rb +1 -1
- data/lib/fog/rackspace/models/storage/account.rb +8 -8
- data/lib/fog/rackspace/models/storage/directories.rb +8 -8
- data/lib/fog/rackspace/models/storage/directory.rb +32 -32
- data/lib/fog/rackspace/models/storage/file.rb +36 -36
- data/lib/fog/rackspace/models/storage/files.rb +20 -20
- data/lib/fog/rackspace/requests/block_storage/create_snapshot.rb +4 -4
- data/lib/fog/rackspace/requests/block_storage/create_volume.rb +4 -4
- data/lib/fog/rackspace/requests/block_storage/delete_snapshot.rb +4 -4
- data/lib/fog/rackspace/requests/block_storage/delete_volume.rb +4 -4
- data/lib/fog/rackspace/requests/block_storage/get_snapshot.rb +4 -4
- data/lib/fog/rackspace/requests/block_storage/get_volume.rb +4 -4
- data/lib/fog/rackspace/requests/block_storage/get_volume_type.rb +4 -4
- data/lib/fog/rackspace/requests/block_storage/list_snapshots.rb +4 -4
- data/lib/fog/rackspace/requests/block_storage/list_volume_types.rb +4 -4
- data/lib/fog/rackspace/requests/block_storage/list_volumes.rb +4 -4
- data/lib/fog/rackspace/requests/cdn/delete_object.rb +4 -4
- data/lib/fog/rackspace/requests/cdn/get_containers.rb +4 -4
- data/lib/fog/rackspace/requests/cdn/head_container.rb +4 -4
- data/lib/fog/rackspace/requests/cdn/post_container.rb +4 -4
- data/lib/fog/rackspace/requests/cdn/put_container.rb +4 -4
- data/lib/fog/rackspace/requests/compute/delete_image.rb +1 -1
- data/lib/fog/rackspace/requests/compute_v2/attach_volume.rb +4 -4
- data/lib/fog/rackspace/requests/compute_v2/change_server_password.rb +4 -4
- data/lib/fog/rackspace/requests/compute_v2/confirm_resize_server.rb +4 -4
- data/lib/fog/rackspace/requests/compute_v2/create_image.rb +4 -4
- data/lib/fog/rackspace/requests/compute_v2/create_server.rb +11 -5
- data/lib/fog/rackspace/requests/compute_v2/delete_attachment.rb +4 -4
- data/lib/fog/rackspace/requests/compute_v2/delete_image.rb +5 -4
- data/lib/fog/rackspace/requests/compute_v2/delete_metadata_item.rb +4 -4
- data/lib/fog/rackspace/requests/compute_v2/delete_server.rb +4 -4
- data/lib/fog/rackspace/requests/compute_v2/get_attachment.rb +4 -4
- data/lib/fog/rackspace/requests/compute_v2/get_flavor.rb +4 -4
- data/lib/fog/rackspace/requests/compute_v2/get_image.rb +4 -4
- data/lib/fog/rackspace/requests/compute_v2/get_metadata_item.rb +4 -4
- data/lib/fog/rackspace/requests/compute_v2/get_server.rb +4 -4
- data/lib/fog/rackspace/requests/compute_v2/list_addresses.rb +4 -4
- data/lib/fog/rackspace/requests/compute_v2/list_addresses_by_network.rb +4 -4
- data/lib/fog/rackspace/requests/compute_v2/list_attachments.rb +4 -4
- data/lib/fog/rackspace/requests/compute_v2/list_flavors.rb +4 -4
- data/lib/fog/rackspace/requests/compute_v2/list_images.rb +4 -4
- data/lib/fog/rackspace/requests/compute_v2/list_metadata.rb +4 -4
- data/lib/fog/rackspace/requests/compute_v2/list_servers.rb +4 -4
- data/lib/fog/rackspace/requests/compute_v2/reboot_server.rb +4 -4
- data/lib/fog/rackspace/requests/compute_v2/rebuild_server.rb +4 -4
- data/lib/fog/rackspace/requests/compute_v2/rescue_server.rb +43 -0
- data/lib/fog/rackspace/requests/compute_v2/resize_server.rb +4 -4
- data/lib/fog/rackspace/requests/compute_v2/revert_resize_server.rb +4 -4
- data/lib/fog/rackspace/requests/compute_v2/set_metadata.rb +4 -4
- data/lib/fog/rackspace/requests/compute_v2/set_metadata_item.rb +4 -4
- data/lib/fog/rackspace/requests/compute_v2/unrescue_server.rb +40 -0
- data/lib/fog/rackspace/requests/compute_v2/update_metadata.rb +4 -4
- data/lib/fog/rackspace/requests/compute_v2/update_server.rb +4 -4
- data/lib/fog/rackspace/requests/storage/copy_object.rb +4 -4
- data/lib/fog/rackspace/requests/storage/delete_container.rb +4 -4
- data/lib/fog/rackspace/requests/storage/delete_object.rb +4 -4
- data/lib/fog/rackspace/requests/storage/get_container.rb +4 -4
- data/lib/fog/rackspace/requests/storage/get_containers.rb +4 -4
- data/lib/fog/rackspace/requests/storage/get_object.rb +4 -4
- data/lib/fog/rackspace/requests/storage/get_object_https_url.rb +4 -4
- data/lib/fog/rackspace/requests/storage/head_container.rb +4 -4
- data/lib/fog/rackspace/requests/storage/head_containers.rb +4 -4
- data/lib/fog/rackspace/requests/storage/head_object.rb +4 -4
- data/lib/fog/rackspace/requests/storage/post_set_meta_temp_url_key.rb +4 -4
- data/lib/fog/rackspace/requests/storage/put_container.rb +4 -4
- data/lib/fog/rackspace/requests/storage/put_object.rb +4 -4
- data/lib/fog/rackspace/requests/storage/put_object_manifest.rb +4 -4
- data/lib/fog/rackspace/service.rb +1 -1
- data/lib/fog/rackspace/storage.rb +12 -6
- data/lib/fog/riakcs.rb +3 -3
- data/lib/fog/riakcs/provisioning.rb +1 -3
- data/lib/fog/riakcs/requests/provisioning/create_user.rb +2 -2
- data/lib/fog/riakcs/requests/provisioning/get_user.rb +1 -1
- data/lib/fog/riakcs/requests/provisioning/list_users.rb +1 -1
- data/lib/fog/riakcs/requests/usage/get_usage.rb +1 -1
- data/lib/fog/riakcs/usage.rb +0 -1
- data/lib/fog/version.rb +1 -1
- data/lib/fog/vsphere/compute.rb +21 -14
- data/lib/fog/vsphere/models/compute/networks.rb +2 -2
- data/lib/fog/vsphere/models/compute/server.rb +10 -0
- data/lib/fog/vsphere/requests/compute/get_resource_pool.rb +1 -1
- data/lib/fog/vsphere/requests/compute/get_template.rb +16 -0
- data/lib/fog/vsphere/requests/compute/list_datacenters.rb +1 -1
- data/lib/fog/vsphere/requests/compute/list_templates.rb +49 -0
- data/lib/fog/vsphere/requests/compute/list_virtual_machines.rb +9 -6
- data/lib/fog/vsphere/requests/compute/vm_clone.rb +41 -27
- data/lib/fog/xenserver/CHANGELOG.md +1 -1
- data/lib/fog/xenserver/models/compute/network.rb +2 -2
- data/lib/tasks/changelog_task.rb +2 -1
- data/tests/aws/models/storage/directory_tests.rb +41 -5
- data/tests/aws/models/storage/file_tests.rb +1 -2
- data/tests/aws/models/storage/files_tests.rb +6 -4
- data/tests/aws/models/storage/url_tests.rb +7 -5
- data/tests/aws/models/storage/version_tests.rb +2 -2
- data/tests/aws/models/storage/versions_tests.rb +5 -5
- data/tests/aws/requests/iam/user_tests.rb +10 -8
- data/tests/aws/requests/storage/multipart_upload_tests.rb +1 -1
- data/tests/aws/requests/storage/object_tests.rb +15 -13
- data/tests/brightbox/compute/image_selector_tests.rb +103 -0
- data/tests/cloudstack/compute/models/disk_offering_tests.rb +5 -0
- data/tests/cloudstack/compute/models/snapshot_tests.rb +5 -20
- data/tests/cloudstack/requests/disk_offering_tests.rb +3 -3
- data/tests/cloudstack/requests/os_type_tests.rb +2 -3
- data/tests/compute/helper.rb +9 -0
- data/tests/core/json_tests.rb +62 -0
- data/tests/dynect/requests/dns/dns_tests.rb +0 -3
- data/tests/google/models/compute/server_tests.rb +24 -0
- data/tests/google/requests/compute/disk_tests.rb +88 -0
- data/tests/google/requests/compute/firewall_tests.rb +85 -0
- data/tests/google/requests/compute/image_tests.rb +80 -0
- data/tests/google/requests/compute/network_tests.rb +74 -0
- data/tests/google/requests/compute/operation_tests.rb +19 -0
- data/tests/google/requests/compute/server_tests.rb +84 -0
- data/tests/google/requests/compute/zone_tests.rb +46 -0
- data/tests/helpers/mock_helper.rb +4 -0
- data/tests/openstack/models/compute/server_tests.rb +91 -1
- data/tests/openstack/requests/compute/volume_tests.rb +11 -9
- data/tests/openstack/requests/volume/quota_tests.rb +51 -0
- data/tests/openstack/version_tests.rb +55 -0
- data/tests/rackspace/helper.rb +10 -0
- data/tests/rackspace/models/compute_v2/server_tests.rb +26 -1
- data/tests/rackspace/requests/compute/image_tests.rb +1 -1
- data/tests/rackspace/requests/compute_v2/image_tests.rb +2 -2
- data/tests/rackspace/requests/compute_v2/server_tests.rb +13 -0
- data/tests/rackspace/requests/dns/dns_tests.rb +1 -1
- data/tests/rackspace/requests/dns/records_tests.rb +3 -3
- data/tests/vsphere/requests/compute/vm_clone_tests.rb +10 -0
- metadata +109 -747
@@ -14,10 +14,10 @@ module Fog
|
|
14
14
|
# ==== Returns
|
15
15
|
# * response<~Excon::Response>:
|
16
16
|
# * body<~String> - url for object
|
17
|
-
# @raise [Fog::Rackspace::
|
18
|
-
# @raise [Fog::Rackspace::
|
19
|
-
# @raise [Fog::Rackspace::
|
20
|
-
# @raise [Fog::Rackspace::
|
17
|
+
# @raise [Fog::Storage::Rackspace::NotFound] - HTTP 404
|
18
|
+
# @raise [Fog::Storage::Rackspace::BadRequest] - HTTP 400
|
19
|
+
# @raise [Fog::Storage::Rackspace::InternalServerError] - HTTP 500
|
20
|
+
# @raise [Fog::Storage::Rackspace::ServiceError]
|
21
21
|
# ==== See Also
|
22
22
|
# http://docs.rackspace.com/files/api/v1/cf-devguide/content/Create_TempURL-d1a444.html
|
23
23
|
def get_object_https_url(container, object, expires, options = {})
|
@@ -13,10 +13,10 @@ module Fog
|
|
13
13
|
# * headers<~Hash>:
|
14
14
|
# * 'X-Container-Object-Count'<~String> - Count of containers
|
15
15
|
# * 'X-Container-Bytes-Used'<~String> - Bytes used
|
16
|
-
# @raise [Fog::Rackspace::
|
17
|
-
# @raise [Fog::Rackspace::
|
18
|
-
# @raise [Fog::Rackspace::
|
19
|
-
# @raise [Fog::Rackspace::
|
16
|
+
# @raise [Fog::Storage::Rackspace::NotFound] - HTTP 404
|
17
|
+
# @raise [Fog::Storage::Rackspace::BadRequest] - HTTP 400
|
18
|
+
# @raise [Fog::Storage::Rackspace::InternalServerError] - HTTP 500
|
19
|
+
# @raise [Fog::Storage::Rackspace::ServiceError]
|
20
20
|
def head_container(container)
|
21
21
|
request(
|
22
22
|
:expects => 204,
|
@@ -10,10 +10,10 @@ module Fog
|
|
10
10
|
# * headers<~Hash>:
|
11
11
|
# * 'X-Account-Container-Count'<~String> - Count of containers
|
12
12
|
# * 'X-Account-Bytes-Used'<~String> - Bytes used
|
13
|
-
# @raise [Fog::Rackspace::
|
14
|
-
# @raise [Fog::Rackspace::
|
15
|
-
# @raise [Fog::Rackspace::
|
16
|
-
# @raise [Fog::Rackspace::
|
13
|
+
# @raise [Fog::Storage::Rackspace::NotFound] - HTTP 404
|
14
|
+
# @raise [Fog::Storage::Rackspace::BadRequest] - HTTP 400
|
15
|
+
# @raise [Fog::Storage::Rackspace::InternalServerError] - HTTP 500
|
16
|
+
# @raise [Fog::Storage::Rackspace::ServiceError]
|
17
17
|
def head_containers
|
18
18
|
request(
|
19
19
|
:expects => 204,
|
@@ -8,10 +8,10 @@ module Fog
|
|
8
8
|
# ==== Parameters
|
9
9
|
# * container<~String> - Name of container to look in
|
10
10
|
# * object<~String> - Name of object to look for
|
11
|
-
# @raise [Fog::Rackspace::
|
12
|
-
# @raise [Fog::Rackspace::
|
13
|
-
# @raise [Fog::Rackspace::
|
14
|
-
# @raise [Fog::Rackspace::
|
11
|
+
# @raise [Fog::Storage::Rackspace::NotFound] - HTTP 404
|
12
|
+
# @raise [Fog::Storage::Rackspace::BadRequest] - HTTP 400
|
13
|
+
# @raise [Fog::Storage::Rackspace::InternalServerError] - HTTP 500
|
14
|
+
# @raise [Fog::Storage::Rackspace::ServiceError]
|
15
15
|
def head_object(container, object)
|
16
16
|
request({
|
17
17
|
:expects => 200,
|
@@ -19,10 +19,10 @@ module Fog
|
|
19
19
|
#
|
20
20
|
# ==== Returns
|
21
21
|
# * response<~Excon::Response>
|
22
|
-
# @raise [Fog::Rackspace::
|
23
|
-
# @raise [Fog::Rackspace::
|
24
|
-
# @raise [Fog::Rackspace::
|
25
|
-
# @raise [Fog::Rackspace::
|
22
|
+
# @raise [Fog::Storage::Rackspace::NotFound] - HTTP 404
|
23
|
+
# @raise [Fog::Storage::Rackspace::BadRequest] - HTTP 400
|
24
|
+
# @raise [Fog::Storage::Rackspace::InternalServerError] - HTTP 500
|
25
|
+
# @raise [Fog::Storage::Rackspace::ServiceError]
|
26
26
|
# ==== See Also
|
27
27
|
# http://docs.rackspace.com/files/api/v1/cf-devguide/content/Set_Account_Metadata-d1a4460.html
|
28
28
|
def post_set_meta_temp_url_key(key)
|
@@ -7,10 +7,10 @@ module Fog
|
|
7
7
|
#
|
8
8
|
# ==== Parameters
|
9
9
|
# * name<~String> - Name for container, should be < 256 bytes and must not contain '/'
|
10
|
-
# @raise [Fog::Rackspace::
|
11
|
-
# @raise [Fog::Rackspace::
|
12
|
-
# @raise [Fog::Rackspace::
|
13
|
-
# @raise [Fog::Rackspace::
|
10
|
+
# @raise [Fog::Storage::Rackspace::NotFound] - HTTP 404
|
11
|
+
# @raise [Fog::Storage::Rackspace::BadRequest] - HTTP 400
|
12
|
+
# @raise [Fog::Storage::Rackspace::InternalServerError] - HTTP 500
|
13
|
+
# @raise [Fog::Storage::Rackspace::ServiceError]
|
14
14
|
def put_container(name, options={})
|
15
15
|
request(
|
16
16
|
:expects => [201, 202],
|
@@ -10,10 +10,10 @@ module Fog
|
|
10
10
|
# * object<~String> - Name for object
|
11
11
|
# * data<~String|File> - data to upload
|
12
12
|
# * options<~Hash> - config headers for object. Defaults to {}.
|
13
|
-
# @raise [Fog::Rackspace::
|
14
|
-
# @raise [Fog::Rackspace::
|
15
|
-
# @raise [Fog::Rackspace::
|
16
|
-
# @raise [Fog::Rackspace::
|
13
|
+
# @raise [Fog::Storage::Rackspace::NotFound] - HTTP 404
|
14
|
+
# @raise [Fog::Storage::Rackspace::BadRequest] - HTTP 400
|
15
|
+
# @raise [Fog::Storage::Rackspace::InternalServerError] - HTTP 500
|
16
|
+
# @raise [Fog::Storage::Rackspace::ServiceError]
|
17
17
|
def put_object(container, object, data, options = {})
|
18
18
|
data = Fog::Storage.parse_data(data)
|
19
19
|
headers = data[:headers].merge!(options)
|
@@ -8,10 +8,10 @@ module Fog
|
|
8
8
|
# ==== Parameters
|
9
9
|
# * container<~String> - Name for container, should be < 256 bytes and must not contain '/'
|
10
10
|
# * object<~String> - Name for object
|
11
|
-
# @raise [Fog::Rackspace::
|
12
|
-
# @raise [Fog::Rackspace::
|
13
|
-
# @raise [Fog::Rackspace::
|
14
|
-
# @raise [Fog::Rackspace::
|
11
|
+
# @raise [Fog::Storage::Rackspace::NotFound] - HTTP 404
|
12
|
+
# @raise [Fog::Storage::Rackspace::BadRequest] - HTTP 400
|
13
|
+
# @raise [Fog::Storage::Rackspace::InternalServerError] - HTTP 500
|
14
|
+
# @raise [Fog::Storage::Rackspace::ServiceError]
|
15
15
|
def put_object_manifest(container, object)
|
16
16
|
path = "#{Fog::Rackspace.escape(container)}/#{Fog::Rackspace.escape(object)}"
|
17
17
|
request(
|
@@ -4,6 +4,11 @@ require 'fog/storage'
|
|
4
4
|
module Fog
|
5
5
|
module Storage
|
6
6
|
class Rackspace < Fog::Service
|
7
|
+
include Fog::Rackspace::Errors
|
8
|
+
|
9
|
+
class ServiceError < Fog::Rackspace::Errors::ServiceError; end
|
10
|
+
class InternalServerError < Fog::Rackspace::Errors::InternalServerError; end
|
11
|
+
class BadRequest < Fog::Rackspace::Errors::BadRequest; end
|
7
12
|
|
8
13
|
requires :rackspace_api_key, :rackspace_username
|
9
14
|
recognizes :rackspace_auth_url, :rackspace_servicenet, :rackspace_cdn_ssl, :persistent, :rackspace_region
|
@@ -152,13 +157,14 @@ module Fog
|
|
152
157
|
else # bad credentials
|
153
158
|
raise error
|
154
159
|
end
|
160
|
+
rescue Excon::Errors::NotFound => error
|
161
|
+
raise NotFound.slurp(error, region)
|
162
|
+
rescue Excon::Errors::BadRequest => error
|
163
|
+
raise BadRequest.slurp error
|
164
|
+
rescue Excon::Errors::InternalServerError => error
|
165
|
+
raise InternalServerError.slurp error
|
155
166
|
rescue Excon::Errors::HTTPStatusError => error
|
156
|
-
raise
|
157
|
-
when Excon::Errors::NotFound
|
158
|
-
Fog::Storage::Rackspace::NotFound.slurp(error)
|
159
|
-
else
|
160
|
-
error
|
161
|
-
end
|
167
|
+
raise ServiceError.slurp error
|
162
168
|
end
|
163
169
|
if !response.body.empty? && parse_json && response.headers['Content-Type'] =~ %r{application/json}
|
164
170
|
response.body = Fog::JSON.decode(response.body)
|
data/lib/fog/riakcs.rb
CHANGED
@@ -71,9 +71,9 @@ module Fog
|
|
71
71
|
|
72
72
|
module UserUtils
|
73
73
|
def update_riakcs_user(key_id, user)
|
74
|
-
response = @s3_connection.put_object('riak-cs', "user/#{key_id}",
|
74
|
+
response = @s3_connection.put_object('riak-cs', "user/#{key_id}", Fog::JSON.encode(user), { 'Content-Type' => 'application/json' })
|
75
75
|
if !response.body.empty?
|
76
|
-
response.body =
|
76
|
+
response.body = Fog::JSON.decode(response.body)
|
77
77
|
end
|
78
78
|
response
|
79
79
|
end
|
@@ -84,7 +84,7 @@ module Fog
|
|
84
84
|
data[key_id][:status] = status
|
85
85
|
end
|
86
86
|
|
87
|
-
if
|
87
|
+
if user[:new_key_secret]
|
88
88
|
data[key_id][:key_secret] = rand(100).to_s
|
89
89
|
end
|
90
90
|
|
@@ -48,8 +48,6 @@ module Fog
|
|
48
48
|
|
49
49
|
def initialize(options = {})
|
50
50
|
require 'mime/types'
|
51
|
-
require 'multi_json'
|
52
|
-
|
53
51
|
configure_uri_options(options)
|
54
52
|
@riakcs_access_key_id = options[:riakcs_access_key_id]
|
55
53
|
@riakcs_secret_access_key = options[:riakcs_secret_access_key]
|
@@ -89,7 +87,7 @@ module Fog
|
|
89
87
|
end
|
90
88
|
end
|
91
89
|
if !response.body.empty? && parse_response
|
92
|
-
response.body =
|
90
|
+
response.body = Fog::JSON.decode(response.body)
|
93
91
|
end
|
94
92
|
response
|
95
93
|
end
|
@@ -3,7 +3,7 @@ module Fog
|
|
3
3
|
class Provisioning
|
4
4
|
class Real
|
5
5
|
def create_user(email, name, options = {})
|
6
|
-
payload =
|
6
|
+
payload = Fog::JSON.encode({ :email => email, :name => name })
|
7
7
|
headers = { 'Content-Type' => 'application/json' }
|
8
8
|
|
9
9
|
if(options[:anonymous])
|
@@ -20,7 +20,7 @@ module Fog
|
|
20
20
|
if !response.body.empty?
|
21
21
|
case response.headers['Content-Type']
|
22
22
|
when 'application/json'
|
23
|
-
response.body =
|
23
|
+
response.body = Fog::JSON.decode(response.body)
|
24
24
|
end
|
25
25
|
end
|
26
26
|
response
|
@@ -7,7 +7,7 @@ module Fog
|
|
7
7
|
|
8
8
|
def get_user(key_id)
|
9
9
|
response = @s3_connection.get_object('riak-cs', "user/#{key_id}", { 'Accept' => 'application/json' })
|
10
|
-
response.body =
|
10
|
+
response.body = Fog::JSON.decode(response.body)
|
11
11
|
response
|
12
12
|
end
|
13
13
|
end
|
@@ -10,7 +10,7 @@ module Fog
|
|
10
10
|
|
11
11
|
boundary = extract_boundary(response.headers['Content-Type'])
|
12
12
|
parts = parse(response.body, boundary)
|
13
|
-
decoded = parts.map { |part|
|
13
|
+
decoded = parts.map { |part| Fog::JSON.decode(part[:body]) }
|
14
14
|
|
15
15
|
response.body = decoded.flatten
|
16
16
|
|
@@ -37,7 +37,7 @@ module Fog
|
|
37
37
|
response = @connection.get_object('riak-cs', ["usage", request_uri(access_key_id, options)].join("/"))
|
38
38
|
|
39
39
|
if !response.body.empty?
|
40
|
-
response.body =
|
40
|
+
response.body = Fog::JSON.decode(response.body)
|
41
41
|
end
|
42
42
|
response
|
43
43
|
end
|
data/lib/fog/riakcs/usage.rb
CHANGED
data/lib/fog/version.rb
CHANGED
data/lib/fog/vsphere/compute.rb
CHANGED
@@ -49,6 +49,8 @@ module Fog
|
|
49
49
|
request :get_network
|
50
50
|
request :list_datastores
|
51
51
|
request :get_datastore
|
52
|
+
request :list_templates
|
53
|
+
request :get_template
|
52
54
|
request :get_folder
|
53
55
|
request :list_folders
|
54
56
|
request :create_vm
|
@@ -74,6 +76,8 @@ module Fog
|
|
74
76
|
:id => 'config.instanceUuid',
|
75
77
|
:name => 'name',
|
76
78
|
:uuid => 'config.uuid',
|
79
|
+
:template => 'config.template',
|
80
|
+
:parent => 'parent',
|
77
81
|
:hostname => 'summary.guest.hostName',
|
78
82
|
:operatingsystem => 'summary.guest.guestFullName',
|
79
83
|
:ipaddress => 'guest.ipAddress',
|
@@ -88,6 +92,11 @@ module Fog
|
|
88
92
|
:guest_id => 'summary.guest.guestId',
|
89
93
|
}
|
90
94
|
|
95
|
+
def convert_vm_view_to_attr_hash(vms)
|
96
|
+
vms = @connection.serviceContent.propertyCollector.collectMultiple(vms,*ATTR_TO_PROP.values.uniq)
|
97
|
+
vms.map { |vm| props_to_attr_hash(*vm) }
|
98
|
+
end
|
99
|
+
|
91
100
|
# Utility method to convert a VMware managed object into an attribute hash.
|
92
101
|
# This should only really be necessary for the real class.
|
93
102
|
# This method is expected to be called by the request methods
|
@@ -96,6 +105,10 @@ module Fog
|
|
96
105
|
return nil unless vm_mob_ref
|
97
106
|
|
98
107
|
props = vm_mob_ref.collect!(*ATTR_TO_PROP.values.uniq)
|
108
|
+
props_to_attr_hash vm_mob_ref, props
|
109
|
+
end
|
110
|
+
|
111
|
+
def props_to_attr_hash vm_mob_ref, props
|
99
112
|
# NOTE: Object.tap is in 1.8.7 and later.
|
100
113
|
# Here we create the hash object that this method returns, but first we need
|
101
114
|
# to add a few more attributes that require additional calls to the vSphere
|
@@ -110,26 +123,20 @@ module Fog
|
|
110
123
|
# The name method "magically" appears after a VM is ready and
|
111
124
|
# finished cloning.
|
112
125
|
if attrs['hypervisor'].kind_of?(RbVmomi::VIM::HostSystem)
|
113
|
-
|
114
|
-
|
115
|
-
|
116
|
-
|
117
|
-
|
118
|
-
attrs['resource_pool'] = (vm_mob_ref.resourcePool || host.resourcePool).name rescue nil
|
119
|
-
rescue
|
120
|
-
# If it's not ready, set the hypervisor to nil
|
121
|
-
attrs['hypervisor'] = nil
|
122
|
-
end
|
126
|
+
host = attrs['hypervisor']
|
127
|
+
attrs['datacenter'] = Proc.new { parent_attribute(host.path, :datacenter)[1] rescue nil }
|
128
|
+
attrs['cluster'] = Proc.new { parent_attribute(host.path, :cluster)[1] rescue nil }
|
129
|
+
attrs['hypervisor'] = Proc.new { host.name rescue nil }
|
130
|
+
attrs['resource_pool'] = Proc.new {(vm_mob_ref.resourcePool || host.resourcePool).name rescue nil}
|
123
131
|
end
|
124
132
|
# This inline rescue catches any standard error. While a VM is
|
125
133
|
# cloning, a call to the macs method will throw and NoMethodError
|
126
|
-
attrs['mac_addresses'] = vm_mob_ref.macs rescue nil
|
127
|
-
# Rescue nil to catch testing while vm_mob_ref isn't reaL??
|
128
|
-
attrs['path'] = "/"+
|
134
|
+
attrs['mac_addresses'] = Proc.new {vm_mob_ref.macs rescue nil}
|
135
|
+
# Rescue nil to catch testing while vm_mob_ref isn't reaL??
|
136
|
+
attrs['path'] = "/"+attrs['parent'].path.map(&:last).join('/') rescue nil
|
129
137
|
attrs['relative_path'] = (attrs['path'].split('/').reject {|e| e.empty?} - ["Datacenters", attrs['datacenter'], "vm"]).join("/") rescue nil
|
130
138
|
end
|
131
139
|
end
|
132
|
-
|
133
140
|
# returns the parent object based on a type
|
134
141
|
# provides both real RbVmomi object and its name.
|
135
142
|
# e.g.
|
@@ -11,14 +11,14 @@ module Fog
|
|
11
11
|
attr_accessor :datacenter
|
12
12
|
|
13
13
|
def all(filters = {})
|
14
|
-
|
14
|
+
f = { :datacenter => datacenter }.merge(filters)
|
15
|
+
load service.list_networks(f)
|
15
16
|
end
|
16
17
|
|
17
18
|
def get(id)
|
18
19
|
requires :datacenter
|
19
20
|
new service.get_network(id, datacenter)
|
20
21
|
end
|
21
|
-
|
22
22
|
end
|
23
23
|
end
|
24
24
|
end
|
@@ -52,6 +52,16 @@ module Fog
|
|
52
52
|
initialize_volumes
|
53
53
|
end
|
54
54
|
|
55
|
+
# Lazy Loaded Attributes
|
56
|
+
[:datacenter, :cluster, :hypervisor, :resource_pool, :mac_addresses].each do |attr|
|
57
|
+
define_method attr do
|
58
|
+
attributes[attr] = attributes[attr].call if attributes[attr].is_a?(Proc)
|
59
|
+
attributes[attr]
|
60
|
+
end
|
61
|
+
end
|
62
|
+
# End Lazy Loaded Attributes
|
63
|
+
|
64
|
+
|
55
65
|
def vm_reconfig_memory(options = {})
|
56
66
|
requires :instance_uuid, :memory
|
57
67
|
service.vm_reconfig_memory('instance_uuid' => instance_uuid, 'memory' => memory)
|
@@ -11,7 +11,7 @@ module Fog
|
|
11
11
|
protected
|
12
12
|
|
13
13
|
def get_raw_resource_pool(name, cluster_name, datacenter_name)
|
14
|
-
dc =
|
14
|
+
dc = find_raw_datacenter(datacenter_name)
|
15
15
|
cluster = dc.find_compute_resource(cluster_name)
|
16
16
|
cluster.resourcePool.find name
|
17
17
|
end
|
@@ -0,0 +1,16 @@
|
|
1
|
+
module Fog
|
2
|
+
module Compute
|
3
|
+
class Vsphere
|
4
|
+
class Real
|
5
|
+
def get_template(id, datacenter_name = nil)
|
6
|
+
convert_vm_mob_ref_to_attr_hash(get_vm_ref(id, datacenter_name))
|
7
|
+
end
|
8
|
+
end
|
9
|
+
|
10
|
+
class Mock
|
11
|
+
def get_template(id, datacenter_name = nil)
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
@@ -0,0 +1,49 @@
|
|
1
|
+
module Fog
|
2
|
+
module Compute
|
3
|
+
class Vsphere
|
4
|
+
class Real
|
5
|
+
def list_templates(options = { })
|
6
|
+
options[:folder] ||= options['folder']
|
7
|
+
if options[:folder] then
|
8
|
+
list_all_templates_in_folder(options[:folder], options[:datacenter])
|
9
|
+
else
|
10
|
+
list_all_templates(options)
|
11
|
+
end
|
12
|
+
end
|
13
|
+
|
14
|
+
private
|
15
|
+
|
16
|
+
def list_all_templates_in_folder(path, datacenter_name)
|
17
|
+
folder = get_raw_vmfolder(path, datacenter_name)
|
18
|
+
|
19
|
+
vms = folder.children.grep(RbVmomi::VIM::VirtualMachine)
|
20
|
+
# remove all virtual machines that are not template
|
21
|
+
vms.delete_if { |v| v.config.nil? or not v.config.template }
|
22
|
+
|
23
|
+
vms.map(&method(:convert_vm_mob_ref_to_attr_hash))
|
24
|
+
end
|
25
|
+
|
26
|
+
def list_all_templates(options = {})
|
27
|
+
datacenters = find_datacenters(options[:datacenter])
|
28
|
+
|
29
|
+
vms = datacenters.map do |dc|
|
30
|
+
@connection.serviceContent.viewManager.CreateContainerView({
|
31
|
+
:container => dc.vmFolder,
|
32
|
+
:type => ["VirtualMachine"],
|
33
|
+
:recursive => true
|
34
|
+
}).view
|
35
|
+
end.flatten
|
36
|
+
# remove all virtual machines that are not templates
|
37
|
+
vms.delete_if { |v| v.config.nil? or not v.config.template }
|
38
|
+
|
39
|
+
vms.map(&method(:convert_vm_mob_ref_to_attr_hash))
|
40
|
+
end
|
41
|
+
|
42
|
+
end
|
43
|
+
class Mock
|
44
|
+
def list_templates(filters = { })
|
45
|
+
end
|
46
|
+
end
|
47
|
+
end
|
48
|
+
end
|
49
|
+
end
|