fog 1.5.0 → 1.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/.travis.yml +21 -0
- data/README.md +3 -1
- data/Rakefile +4 -1
- data/changelog.txt +462 -0
- data/docs/storage/index.markdown +4 -4
- data/fog.gemspec +2 -2
- data/lib/fog.rb +1 -1
- data/lib/fog/atmos.rb +11 -0
- data/lib/fog/atmos/models/storage/directories.rb +48 -0
- data/lib/fog/atmos/models/storage/directory.rb +53 -0
- data/lib/fog/atmos/models/storage/file.rb +107 -0
- data/lib/fog/atmos/models/storage/files.rb +73 -0
- data/lib/fog/atmos/requests/storage/delete_namespace.rb +19 -0
- data/lib/fog/atmos/requests/storage/get_namespace.rb +20 -0
- data/lib/fog/atmos/requests/storage/head_namespace.rb +20 -0
- data/lib/fog/atmos/requests/storage/post_namespace.rb +20 -0
- data/lib/fog/atmos/requests/storage/put_namespace.rb +20 -0
- data/lib/fog/atmos/storage.rb +186 -0
- data/lib/fog/aws.rb +2 -0
- data/lib/fog/aws/auto_scaling.rb +15 -1
- data/lib/fog/aws/compute.rb +26 -17
- data/lib/fog/aws/elb.rb +14 -2
- data/lib/fog/aws/glacier.rb +172 -0
- data/lib/fog/aws/iam.rb +35 -29
- data/lib/fog/aws/models/auto_scaling/group.rb +1 -1
- data/lib/fog/aws/models/compute/flavors.rb +11 -0
- data/lib/fog/aws/models/compute/security_group.rb +22 -6
- data/lib/fog/aws/models/compute/server.rb +5 -1
- data/lib/fog/aws/models/compute/spot_request.rb +12 -0
- data/lib/fog/aws/models/compute/spot_requests.rb +1 -2
- data/lib/fog/aws/models/compute/volume.rb +7 -1
- data/lib/fog/aws/models/glacier/archive.rb +70 -0
- data/lib/fog/aws/models/glacier/archives.rb +30 -0
- data/lib/fog/aws/models/glacier/job.rb +65 -0
- data/lib/fog/aws/models/glacier/jobs.rb +45 -0
- data/lib/fog/aws/models/glacier/vault.rb +53 -0
- data/lib/fog/aws/models/glacier/vaults.rb +28 -0
- data/lib/fog/aws/models/rds/server.rb +3 -1
- data/lib/fog/aws/models/rds/snapshot.rb +1 -0
- data/lib/fog/aws/models/rds/snapshots.rb +3 -0
- data/lib/fog/aws/models/storage/file.rb +4 -3
- data/lib/fog/aws/parsers/auto_scaling/describe_auto_scaling_groups.rb +8 -1
- data/lib/fog/aws/parsers/compute/create_volume.rb +2 -2
- data/lib/fog/aws/parsers/compute/describe_instance_status.rb +8 -1
- data/lib/fog/aws/parsers/compute/describe_instances.rb +2 -0
- data/lib/fog/aws/parsers/compute/describe_reserved_instances_offerings.rb +1 -1
- data/lib/fog/aws/parsers/compute/describe_volumes.rb +2 -2
- data/lib/fog/aws/parsers/compute/run_instances.rb +2 -0
- data/lib/fog/aws/parsers/compute/spot_instance_requests.rb +1 -1
- data/lib/fog/aws/parsers/dns/list_resource_record_sets.rb +3 -1
- data/lib/fog/aws/parsers/rds/db_parser.rb +3 -1
- data/lib/fog/aws/parsers/rds/snapshot_parser.rb +1 -0
- data/lib/fog/aws/rds.rb +9 -9
- data/lib/fog/aws/requests/auto_scaling/create_auto_scaling_group.rb +1 -0
- data/lib/fog/aws/requests/auto_scaling/delete_auto_scaling_group.rb +1 -1
- data/lib/fog/aws/requests/compute/create_volume.rb +53 -14
- data/lib/fog/aws/requests/compute/describe_instance_status.rb +2 -0
- data/lib/fog/aws/requests/compute/describe_instances.rb +3 -1
- data/lib/fog/aws/requests/compute/describe_internet_gateways.rb +13 -7
- data/lib/fog/aws/requests/compute/describe_spot_instance_requests.rb +1 -0
- data/lib/fog/aws/requests/compute/describe_subnets.rb +13 -7
- data/lib/fog/aws/requests/compute/describe_volumes.rb +2 -0
- data/lib/fog/aws/requests/compute/describe_vpcs.rb +12 -6
- data/lib/fog/aws/requests/compute/request_spot_instances.rb +2 -0
- data/lib/fog/aws/requests/compute/run_instances.rb +8 -2
- data/lib/fog/aws/requests/dns/change_resource_record_sets.rb +20 -1
- data/lib/fog/aws/requests/elb/create_load_balancer.rb +2 -2
- data/lib/fog/aws/requests/elb/describe_load_balancers.rb +1 -1
- data/lib/fog/aws/requests/glacier/abort_multipart_upload.rb +35 -0
- data/lib/fog/aws/requests/glacier/complete_multipart_upload.rb +42 -0
- data/lib/fog/aws/requests/glacier/create_archive.rb +43 -0
- data/lib/fog/aws/requests/glacier/create_vault.rb +34 -0
- data/lib/fog/aws/requests/glacier/delete_archive.rb +35 -0
- data/lib/fog/aws/requests/glacier/delete_vault.rb +34 -0
- data/lib/fog/aws/requests/glacier/delete_vault_notification_configuration.rb +33 -0
- data/lib/fog/aws/requests/glacier/describe_job.rb +35 -0
- data/lib/fog/aws/requests/glacier/describe_vault.rb +34 -0
- data/lib/fog/aws/requests/glacier/get_job_output.rb +41 -0
- data/lib/fog/aws/requests/glacier/get_vault_notification_configuration.rb +34 -0
- data/lib/fog/aws/requests/glacier/initiate_job.rb +41 -0
- data/lib/fog/aws/requests/glacier/initiate_multipart_upload.rb +38 -0
- data/lib/fog/aws/requests/glacier/list_jobs.rb +39 -0
- data/lib/fog/aws/requests/glacier/list_multipart_uploads.rb +37 -0
- data/lib/fog/aws/requests/glacier/list_parts.rb +37 -0
- data/lib/fog/aws/requests/glacier/list_vaults.rb +36 -0
- data/lib/fog/aws/requests/glacier/set_vault_notification_configuration.rb +37 -0
- data/lib/fog/aws/requests/glacier/upload_part.rb +46 -0
- data/lib/fog/aws/requests/rds/create_db_instance.rb +7 -5
- data/lib/fog/aws/requests/rds/create_db_instance_read_replica.rb +41 -1
- data/lib/fog/aws/requests/rds/create_db_snapshot.rb +1 -1
- data/lib/fog/aws/requests/rds/describe_db_instances.rb +8 -10
- data/lib/fog/aws/requests/rds/describe_db_security_groups.rb +1 -1
- data/lib/fog/aws/requests/rds/describe_db_snapshots.rb +2 -0
- data/lib/fog/aws/requests/rds/modify_db_instance.rb +7 -6
- data/lib/fog/aws/requests/rds/reboot_db_instance.rb +6 -5
- data/lib/fog/aws/requests/storage/get_object.rb +45 -2
- data/lib/fog/aws/requests/storage/upload_part.rb +1 -0
- data/lib/fog/aws/signaturev4.rb +73 -0
- data/lib/fog/aws/sqs.rb +2 -6
- data/lib/fog/bare_metal_cloud/compute.rb +3 -1
- data/lib/fog/bare_metal_cloud/requests/compute/add_server_by_configuration.rb +33 -0
- data/lib/fog/bare_metal_cloud/requests/compute/get_server.rb +17 -12
- data/lib/fog/bare_metal_cloud/requests/compute/list_configurations.rb +27 -0
- data/lib/fog/bare_metal_cloud/requests/compute/list_images.rb +4 -4
- data/lib/fog/bare_metal_cloud/requests/compute/list_plans.rb +7 -7
- data/lib/fog/bare_metal_cloud/requests/compute/list_servers.rb +2 -2
- data/lib/fog/bin.rb +7 -0
- data/lib/fog/bin/atmos.rb +31 -0
- data/lib/fog/bin/aws.rb +4 -0
- data/lib/fog/bin/ecloud.rb +4 -0
- data/lib/fog/bin/rackspace.rb +7 -0
- data/lib/fog/bin/serverlove.rb +31 -0
- data/lib/fog/bluebox/requests/compute/create_block.rb +18 -4
- data/lib/fog/brightbox/compute.rb +52 -0
- data/lib/fog/brightbox/models/compute/cloud_ip.rb +2 -0
- data/lib/fog/brightbox/models/compute/image.rb +1 -0
- data/lib/fog/brightbox/models/compute/server.rb +46 -3
- data/lib/fog/brightbox/requests/compute/create_cloud_ip.rb +3 -3
- data/lib/fog/cloudstack/compute.rb +4 -1
- data/lib/fog/cloudstack/models/compute/images.rb +15 -6
- data/lib/fog/cloudstack/models/compute/job.rb +1 -1
- data/lib/fog/cloudstack/requests/compute/attach_volume.rb +1 -1
- data/lib/fog/cloudstack/requests/compute/register_template.rb +35 -0
- data/lib/fog/compute.rb +15 -3
- data/lib/fog/core/errors.rb +1 -0
- data/lib/fog/core/time.rb +4 -0
- data/lib/fog/dynect/dns.rb +5 -5
- data/lib/fog/ecloud.rb +6 -0
- data/lib/fog/ecloud/compute.rb +3 -1
- data/lib/fog/ecloud/models/compute/ip_addresses.rb +1 -0
- data/lib/fog/ecloud/models/compute/networks.rb +1 -0
- data/lib/fog/ecloud/models/compute/server.rb +31 -1
- data/lib/fog/ecloud/requests/compute/virtual_machine_add_ip.rb +40 -0
- data/lib/fog/ecloud/requests/compute/virtual_machine_upload_file.rb +31 -0
- data/lib/fog/google/models/storage/directory.rb +2 -2
- data/lib/fog/google/models/storage/file.rb +2 -2
- data/lib/fog/google/requests/storage/get_bucket.rb +1 -2
- data/lib/fog/google/requests/storage/put_object.rb +1 -2
- data/lib/fog/google/storage.rb +1 -1
- data/lib/fog/hp/models/compute/image.rb +1 -1
- data/lib/fog/hp/models/compute/server.rb +4 -0
- data/lib/fog/hp/requests/compute/delete_security_group_rule.rb +4 -4
- data/lib/fog/hp/requests/storage/get_object.rb +8 -2
- data/lib/fog/hp/storage.rb +1 -0
- data/lib/fog/libvirt/models/compute/server.rb +1 -1
- data/lib/fog/libvirt/models/compute/templates/server.xml.erb +1 -1
- data/lib/fog/openstack.rb +7 -0
- data/lib/fog/openstack/compute.rb +4 -1
- data/lib/fog/openstack/models/compute/server.rb +1 -1
- data/lib/fog/openstack/requests/compute/create_server.rb +8 -2
- data/lib/fog/openstack/requests/identity/list_roles_for_user_on_tenant.rb +1 -1
- data/lib/fog/openstack/requests/identity/list_tenants.rb +1 -0
- data/lib/fog/providers.rb +2 -0
- data/lib/fog/rackspace.rb +9 -7
- data/lib/fog/rackspace/block_storage.rb +114 -0
- data/lib/fog/rackspace/compute_v2.rb +123 -0
- data/lib/fog/rackspace/models/block_storage/snapshot.rb +46 -0
- data/lib/fog/rackspace/models/block_storage/snapshots.rb +25 -0
- data/lib/fog/rackspace/models/block_storage/volume.rb +58 -0
- data/lib/fog/rackspace/models/block_storage/volume_type.rb +14 -0
- data/lib/fog/rackspace/models/block_storage/volume_types.rb +25 -0
- data/lib/fog/rackspace/models/block_storage/volumes.rb +25 -0
- data/lib/fog/rackspace/models/compute_v2/attachment.rb +34 -0
- data/lib/fog/rackspace/models/compute_v2/attachments.rb +25 -0
- data/lib/fog/rackspace/models/compute_v2/flavor.rb +17 -0
- data/lib/fog/rackspace/models/compute_v2/flavors.rb +25 -0
- data/lib/fog/rackspace/models/compute_v2/image.rb +30 -0
- data/lib/fog/rackspace/models/compute_v2/images.rb +25 -0
- data/lib/fog/rackspace/models/compute_v2/server.rb +147 -0
- data/lib/fog/rackspace/models/compute_v2/servers.rb +25 -0
- data/lib/fog/rackspace/models/storage/directory.rb +3 -3
- data/lib/fog/rackspace/requests/block_storage/create_snapshot.rb +26 -0
- data/lib/fog/rackspace/requests/block_storage/create_volume.rb +27 -0
- data/lib/fog/rackspace/requests/block_storage/delete_snapshot.rb +15 -0
- data/lib/fog/rackspace/requests/block_storage/delete_volume.rb +15 -0
- data/lib/fog/rackspace/requests/block_storage/get_snapshot.rb +15 -0
- data/lib/fog/rackspace/requests/block_storage/get_volume.rb +15 -0
- data/lib/fog/rackspace/requests/block_storage/get_volume_type.rb +15 -0
- data/lib/fog/rackspace/requests/block_storage/list_snapshots.rb +15 -0
- data/lib/fog/rackspace/requests/block_storage/list_volume_types.rb +15 -0
- data/lib/fog/rackspace/requests/block_storage/list_volumes.rb +15 -0
- data/lib/fog/rackspace/requests/compute_v2/attach_volume.rb +23 -0
- data/lib/fog/rackspace/requests/compute_v2/change_server_password.rb +22 -0
- data/lib/fog/rackspace/requests/compute_v2/confirm_resize_server.rb +20 -0
- data/lib/fog/rackspace/requests/compute_v2/create_server.rb +28 -0
- data/lib/fog/rackspace/requests/compute_v2/delete_attachment.rb +15 -0
- data/lib/fog/rackspace/requests/compute_v2/delete_server.rb +15 -0
- data/lib/fog/rackspace/requests/compute_v2/get_attachment.rb +15 -0
- data/lib/fog/rackspace/requests/compute_v2/get_flavor.rb +15 -0
- data/lib/fog/rackspace/requests/compute_v2/get_image.rb +15 -0
- data/lib/fog/rackspace/requests/compute_v2/get_server.rb +15 -0
- data/lib/fog/rackspace/requests/compute_v2/list_attachments.rb +15 -0
- data/lib/fog/rackspace/requests/compute_v2/list_flavors.rb +15 -0
- data/lib/fog/rackspace/requests/compute_v2/list_images.rb +15 -0
- data/lib/fog/rackspace/requests/compute_v2/list_servers.rb +15 -0
- data/lib/fog/rackspace/requests/compute_v2/reboot_server.rb +22 -0
- data/lib/fog/rackspace/requests/compute_v2/rebuild_server.rb +22 -0
- data/lib/fog/rackspace/requests/compute_v2/resize_server.rb +22 -0
- data/lib/fog/rackspace/requests/compute_v2/revert_resize_server.rb +20 -0
- data/lib/fog/rackspace/requests/compute_v2/update_server.rb +22 -0
- data/lib/fog/rackspace/requests/storage/delete_object.rb +1 -1
- data/lib/fog/rackspace/requests/storage/get_object_https_url.rb +51 -0
- data/lib/fog/rackspace/requests/storage/post_set_meta_temp_url_key.rb +37 -0
- data/lib/fog/rackspace/storage.rb +4 -0
- data/lib/fog/serverlove.rb +10 -0
- data/lib/fog/serverlove/compute.rb +97 -0
- data/lib/fog/serverlove/models/compute/image.rb +57 -0
- data/lib/fog/serverlove/models/compute/images.rb +26 -0
- data/lib/fog/serverlove/models/compute/server.rb +72 -0
- data/lib/fog/serverlove/models/compute/servers.rb +26 -0
- data/lib/fog/serverlove/requests/compute/create_image.rb +32 -0
- data/lib/fog/serverlove/requests/compute/create_server.rb +34 -0
- data/lib/fog/serverlove/requests/compute/destroy_image.rb +13 -0
- data/lib/fog/serverlove/requests/compute/destroy_server.rb +13 -0
- data/lib/fog/serverlove/requests/compute/get_image.rb +13 -0
- data/lib/fog/serverlove/requests/compute/get_images.rb +13 -0
- data/lib/fog/serverlove/requests/compute/get_server.rb +13 -0
- data/lib/fog/serverlove/requests/compute/get_servers.rb +13 -0
- data/lib/fog/serverlove/requests/compute/load_standard_image.rb +13 -0
- data/lib/fog/serverlove/requests/compute/reset_server.rb +13 -0
- data/lib/fog/serverlove/requests/compute/shutdown_server.rb +13 -0
- data/lib/fog/serverlove/requests/compute/start_server.rb +13 -0
- data/lib/fog/serverlove/requests/compute/stop_server.rb +13 -0
- data/lib/fog/serverlove/requests/compute/update_image.rb +15 -0
- data/lib/fog/serverlove/requests/compute/update_server.rb +15 -0
- data/lib/fog/serverlove/util/compute/password_generator.rb +11 -0
- data/lib/fog/storage.rb +3 -0
- data/lib/fog/terremark/models/shared/image.rb +22 -0
- data/lib/fog/terremark/models/shared/images.rb +48 -0
- data/lib/fog/terremark/models/shared/internetservice.rb +67 -0
- data/lib/fog/terremark/models/shared/internetservices.rb +42 -0
- data/lib/fog/terremark/models/shared/nodeservice.rb +52 -0
- data/lib/fog/terremark/models/shared/nodeservices.rb +32 -0
- data/lib/fog/terremark/models/shared/server.rb +114 -15
- data/lib/fog/terremark/models/shared/servers.rb +7 -8
- data/lib/fog/terremark/models/shared/vdc.rb +6 -1
- data/lib/fog/terremark/parsers/shared/get_catalog.rb +7 -2
- data/lib/fog/terremark/parsers/shared/get_keys_list.rb +56 -0
- data/lib/fog/terremark/requests/shared/add_internet_service.rb +10 -9
- data/lib/fog/terremark/requests/shared/add_node_service.rb +10 -12
- data/lib/fog/terremark/requests/shared/configure_vapp.rb +61 -0
- data/lib/fog/terremark/requests/shared/create_internet_service.rb +16 -11
- data/lib/fog/terremark/requests/shared/delete_internet_service.rb +2 -1
- data/lib/fog/terremark/requests/shared/delete_node_service.rb +2 -1
- data/lib/fog/terremark/requests/shared/delete_public_ip.rb +2 -1
- data/lib/fog/terremark/requests/shared/get_internet_services.rb +2 -1
- data/lib/fog/terremark/requests/shared/get_keys_list.rb +36 -0
- data/lib/fog/terremark/requests/shared/get_node_services.rb +2 -1
- data/lib/fog/terremark/requests/shared/instantiate_vapp_template.rb +11 -1
- data/lib/fog/terremark/shared.rb +19 -1
- data/lib/fog/terremark/vcloud.rb +10 -1
- data/lib/fog/vcloud/compute.rb +13 -13
- data/lib/fog/vcloud/models/compute/catalog_items.rb +6 -2
- data/lib/fog/vcloud/models/compute/organizations.rb +1 -2
- data/lib/fog/vcloud/models/compute/server.rb +37 -3
- data/lib/fog/vcloud/models/compute/vapps.rb +1 -1
- data/lib/fog/vcloud/requests/compute/configure_org_network.rb +141 -0
- data/lib/fog/vcloud/requests/compute/configure_vm_cpus.rb +38 -0
- data/lib/fog/vcloud/requests/compute/configure_vm_memory.rb +11 -12
- data/lib/fog/vcloud/requests/compute/configure_vm_password.rb +39 -0
- data/lib/fog/vcloud/requests/compute/undeploy.rb +9 -1
- data/lib/fog/vsphere/requests/compute/vm_reboot.rb +1 -1
- data/tests/atmos/models/storage/file_update_tests.rb +19 -0
- data/tests/atmos/models/storage/nested_directories_tests.rb +23 -0
- data/tests/aws/models/compute/security_group_tests.rb +21 -12
- data/tests/aws/models/dns/records_tests.rb +8 -2
- data/tests/aws/models/glacier/model_tests.rb +47 -0
- data/tests/aws/models/iam/policies_tests.rb +2 -2
- data/tests/aws/models/rds/server_tests.rb +5 -2
- data/tests/aws/models/storage/directory_tests.rb +1 -1
- data/tests/aws/models/storage/file_tests.rb +1 -1
- data/tests/aws/models/storage/files_tests.rb +1 -1
- data/tests/aws/models/storage/url_tests.rb +8 -8
- data/tests/aws/models/storage/version_tests.rb +1 -1
- data/tests/aws/models/storage/versions_tests.rb +1 -1
- data/tests/aws/requests/auto_scaling/auto_scaling_tests.rb +5 -0
- data/tests/aws/requests/auto_scaling/helper.rb +2 -1
- data/tests/aws/requests/compute/instance_tests.rb +17 -23
- data/tests/aws/requests/compute/spot_instance_tests.rb +2 -1
- data/tests/aws/requests/compute/tag_tests.rb +1 -0
- data/tests/aws/requests/compute/volume_tests.rb +45 -4
- data/tests/aws/requests/elb/helper.rb +2 -2
- data/tests/aws/requests/elb/listener_tests.rb +2 -2
- data/tests/aws/requests/elb/load_balancer_tests.rb +1 -1
- data/tests/aws/requests/glacier/archive_tests.rb +13 -0
- data/tests/aws/requests/glacier/multipart_upload_tests.rb +30 -0
- data/tests/aws/requests/glacier/tree_hash_tests.rb +63 -0
- data/tests/aws/requests/glacier/vault_tests.rb +35 -0
- data/tests/aws/requests/rds/helper.rb +11 -5
- data/tests/aws/requests/rds/instance_tests.rb +0 -2
- data/tests/aws/requests/storage/acl_utils_tests.rb +1 -1
- data/tests/aws/requests/storage/bucket_tests.rb +1 -1
- data/tests/aws/requests/storage/multipart_upload_tests.rb +1 -1
- data/tests/aws/requests/storage/object_tests.rb +8 -0
- data/tests/aws/requests/storage/versioning_tests.rb +1 -1
- data/tests/aws/signaturev4_tests.rb +41 -0
- data/tests/brightbox/compute_tests.rb +9 -0
- data/tests/brightbox/requests/compute/helper.rb +21 -6
- data/tests/cloudstack/compute/models/volume_tests.rb +1 -1
- data/tests/cloudstack/requests/volume_tests.rb +1 -1
- data/tests/compute/helper.rb +10 -4
- data/tests/dynect/requests/dns/dns_tests.rb +39 -0
- data/tests/google/requests/storage/bucket_tests.rb +2 -3
- data/tests/google/requests/storage/object_tests.rb +1 -1
- data/tests/helper.rb +10 -3
- data/tests/helpers/formats_helper.rb +4 -2
- data/tests/helpers/formats_helper_tests.rb +9 -0
- data/tests/helpers/mock_helper.rb +6 -1
- data/tests/helpers/model_helper.rb +0 -3
- data/tests/hp/models/compute/address_tests.rb +1 -1
- data/tests/hp/models/compute/addresses_tests.rb +1 -1
- data/tests/hp/models/compute/key_pair_tests.rb +1 -1
- data/tests/hp/models/compute/key_pairs_tests.rb +1 -1
- data/tests/hp/models/compute/security_group_tests.rb +1 -1
- data/tests/hp/models/compute/security_groups_tests.rb +1 -1
- data/tests/hp/requests/cdn/container_tests.rb +1 -1
- data/tests/hp/requests/compute/address_tests.rb +1 -1
- data/tests/hp/requests/compute/flavor_tests.rb +1 -1
- data/tests/hp/requests/compute/image_tests.rb +1 -1
- data/tests/hp/requests/compute/key_pair_tests.rb +1 -1
- data/tests/hp/requests/compute/security_group_rule_tests.rb +1 -1
- data/tests/hp/requests/compute/security_group_tests.rb +1 -1
- data/tests/hp/requests/compute/server_address_tests.rb +1 -1
- data/tests/hp/requests/compute/server_tests.rb +1 -1
- data/tests/hp/requests/storage/container_tests.rb +1 -1
- data/tests/hp/requests/storage/object_tests.rb +1 -1
- data/tests/local/models/file_tests.rb +1 -1
- data/tests/rackspace/models/block_storage/snapshot_tests.rb +20 -0
- data/tests/rackspace/models/block_storage/snapshots_tests.rb +20 -0
- data/tests/rackspace/models/block_storage/volume_tests.rb +27 -0
- data/tests/rackspace/models/block_storage/volume_types_tests.rb +20 -0
- data/tests/rackspace/models/block_storage/volumes_tests.rb +11 -0
- data/tests/rackspace/models/compute_v2/flavors_tests.rb +20 -0
- data/tests/rackspace/models/compute_v2/images_tests.rb +22 -0
- data/tests/rackspace/models/compute_v2/server_tests.rb +62 -0
- data/tests/rackspace/models/compute_v2/servers_tests.rb +14 -0
- data/tests/rackspace/requests/block_storage/snapshot_tests.rb +81 -0
- data/tests/rackspace/requests/block_storage/volume_tests.rb +61 -0
- data/tests/rackspace/requests/block_storage/volume_type_tests.rb +31 -0
- data/tests/rackspace/requests/compute_v2/attachment_tests.rb +68 -0
- data/tests/rackspace/requests/compute_v2/flavor_tests.rb +43 -0
- data/tests/rackspace/requests/compute_v2/image_tests.rb +47 -0
- data/tests/rackspace/requests/compute_v2/server_tests.rb +147 -0
- data/tests/rackspace/requests/storage/account_tests.rb +17 -0
- data/tests/rackspace/requests/storage/container_tests.rb +1 -1
- data/tests/rackspace/requests/storage/large_object_tests.rb +1 -1
- data/tests/rackspace/requests/storage/object_tests.rb +41 -2
- data/tests/serverlove/requests/compute/image_tests.rb +57 -0
- data/tests/serverlove/requests/compute/server_tests.rb +85 -0
- data/tests/serverlove/util/compute/password_generator_tests.rb +19 -0
- data/tests/storage/models/directories_tests.rb +1 -1
- data/tests/storage/models/directory_test.rb +1 -1
- data/tests/storage/models/file_tests.rb +1 -1
- data/tests/storage/models/files_tests.rb +1 -1
- metadata +188 -3
@@ -0,0 +1,34 @@
|
|
1
|
+
module Fog
|
2
|
+
module AWS
|
3
|
+
class Glacier
|
4
|
+
class Real
|
5
|
+
|
6
|
+
# Delete a vault. Amazon Glacier will delete a vault only if there are no archives in the vault as per the last inventory
|
7
|
+
# and there have been no writes to the vault since the last inventory
|
8
|
+
#
|
9
|
+
# ==== Parameters
|
10
|
+
# * name<~String> Name of the vault to delete
|
11
|
+
# * options<~Hash>
|
12
|
+
# * account_id<~String> - The AWS account id. Defaults to the account owning the credentials making the request
|
13
|
+
# ==== Returns
|
14
|
+
# * response<~Excon::Response>:
|
15
|
+
#
|
16
|
+
# ==== See Also
|
17
|
+
# http://docs.amazonwebservices.com/amazonglacier/latest/dev/api-vault-delete.html
|
18
|
+
#
|
19
|
+
def delete_vault(name,options={})
|
20
|
+
account_id = options['account_id'] || '-'
|
21
|
+
path = "/#{account_id}/vaults/#{Fog::AWS.escape(name)}"
|
22
|
+
request(
|
23
|
+
:expects => 204,
|
24
|
+
:idempotent => true,
|
25
|
+
:headers => {},
|
26
|
+
:method => :delete,
|
27
|
+
:path => path
|
28
|
+
)
|
29
|
+
end
|
30
|
+
end
|
31
|
+
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
@@ -0,0 +1,33 @@
|
|
1
|
+
module Fog
|
2
|
+
module AWS
|
3
|
+
class Glacier
|
4
|
+
class Real
|
5
|
+
|
6
|
+
# Delete vault's notification configuration
|
7
|
+
#
|
8
|
+
# ==== Parameters
|
9
|
+
# * name<~String> Name of the vault
|
10
|
+
# * options<~Hash>
|
11
|
+
# * account_id<~String> - The AWS account id. Defaults to the account owning the credentials making the request
|
12
|
+
# ==== Returns
|
13
|
+
# * response<~Excon::Response>:
|
14
|
+
#
|
15
|
+
# ==== See Also
|
16
|
+
# http://docs.amazonwebservices.com/amazonglacier/latest/dev/api-vault-notifications-delete.html
|
17
|
+
#
|
18
|
+
def delete_vault_notification_configuration(name,options={})
|
19
|
+
account_id = options['account_id'] || '-'
|
20
|
+
path = "/#{account_id}/vaults/#{Fog::AWS.escape(name)}/notification-configuration"
|
21
|
+
request(
|
22
|
+
:expects => 204,
|
23
|
+
:idempotent => true,
|
24
|
+
:headers => {},
|
25
|
+
:method => :delete,
|
26
|
+
:path => path
|
27
|
+
)
|
28
|
+
end
|
29
|
+
end
|
30
|
+
|
31
|
+
end
|
32
|
+
end
|
33
|
+
end
|
@@ -0,0 +1,35 @@
|
|
1
|
+
module Fog
|
2
|
+
module AWS
|
3
|
+
class Glacier
|
4
|
+
class Real
|
5
|
+
|
6
|
+
# Complete an upload
|
7
|
+
#
|
8
|
+
# ==== Parameters
|
9
|
+
# * name<~String> Name of the vault
|
10
|
+
# * job_id<~String> The id of the job
|
11
|
+
# * options<~Hash>
|
12
|
+
# * account_id<~String> - The AWS account id. Defaults to the account owning the credentials making the request
|
13
|
+
# ==== Returns
|
14
|
+
# * response<~Excon::Response>:
|
15
|
+
#
|
16
|
+
# ==== See Also
|
17
|
+
# http://docs.amazonwebservices.com/amazonglacier/latest/dev/api-describe-job-get.html
|
18
|
+
#
|
19
|
+
def describe_job(vault_name, job_id, options={})
|
20
|
+
account_id = options['account_id'] || '-'
|
21
|
+
path = "/#{account_id}/vaults/#{Fog::AWS.escape(vault_name)}/jobs/#{job_id}"
|
22
|
+
|
23
|
+
request(
|
24
|
+
:expects => 200,
|
25
|
+
:idempotent => true,
|
26
|
+
:headers => {},
|
27
|
+
:method => :get,
|
28
|
+
:path => path
|
29
|
+
)
|
30
|
+
end
|
31
|
+
end
|
32
|
+
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|
@@ -0,0 +1,34 @@
|
|
1
|
+
module Fog
|
2
|
+
module AWS
|
3
|
+
class Glacier
|
4
|
+
class Real
|
5
|
+
|
6
|
+
# This operation returns information about a vault
|
7
|
+
#
|
8
|
+
# ==== Parameters
|
9
|
+
# * name<~String> Vault name
|
10
|
+
# * options<~Hash>
|
11
|
+
# * account_id<~String> - The AWS account id. Defaults to the account owning the credentials making the request
|
12
|
+
# ==== Returns
|
13
|
+
# * response<~Excon::Response>:
|
14
|
+
# * body<~Hash>:
|
15
|
+
#
|
16
|
+
# ==== See Also
|
17
|
+
# http://docs.amazonwebservices.com/amazonglacier/latest/dev/api-vault-get.html
|
18
|
+
#
|
19
|
+
def describe_vault(name,options={})
|
20
|
+
account_id = options['account_id'] || '-'
|
21
|
+
path = "/#{account_id}/vaults/#{Fog::AWS.escape(name)}"
|
22
|
+
request(
|
23
|
+
:expects => 200,
|
24
|
+
:idempotent => true,
|
25
|
+
:headers => {},
|
26
|
+
:method => :get,
|
27
|
+
:path => path
|
28
|
+
)
|
29
|
+
end
|
30
|
+
end
|
31
|
+
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
@@ -0,0 +1,41 @@
|
|
1
|
+
module Fog
|
2
|
+
module AWS
|
3
|
+
class Glacier
|
4
|
+
class Real
|
5
|
+
|
6
|
+
# Get the output from a job
|
7
|
+
#
|
8
|
+
# ==== Parameters
|
9
|
+
# * name<~String> Name of the vault
|
10
|
+
# * job_id<~String> The id of the job
|
11
|
+
# * options<~Hash>
|
12
|
+
# * Range<~Range> The range to retrieve
|
13
|
+
# * account_id<~String> - The AWS account id. Defaults to the account owning the credentials making the request
|
14
|
+
# * response_block<~Proc> Proc to use for streaming the response
|
15
|
+
# ==== Returns
|
16
|
+
# * response<~Excon::Response>:
|
17
|
+
#
|
18
|
+
# ==== See Also
|
19
|
+
# http://docs.amazonwebservices.com/amazonglacier/latest/dev/api-job-output-get.html
|
20
|
+
#
|
21
|
+
def get_job_output(vault_name, job_id, options={})
|
22
|
+
account_id = options.delete('account_id') || '-'
|
23
|
+
path = "/#{account_id}/vaults/#{Fog::AWS.escape(vault_name)}/jobs/#{job_id}/output"
|
24
|
+
headers = {}
|
25
|
+
if range = options.delete('Range')
|
26
|
+
headers['Range'] = "bytes=#{range.begin}-#{range.end}"
|
27
|
+
end
|
28
|
+
request(
|
29
|
+
options.merge(
|
30
|
+
:expects => [200,206],
|
31
|
+
:idempotent => true,
|
32
|
+
:headers => headers,
|
33
|
+
:method => :get,
|
34
|
+
:path => path
|
35
|
+
))
|
36
|
+
end
|
37
|
+
end
|
38
|
+
|
39
|
+
end
|
40
|
+
end
|
41
|
+
end
|
@@ -0,0 +1,34 @@
|
|
1
|
+
module Fog
|
2
|
+
module AWS
|
3
|
+
class Glacier
|
4
|
+
class Real
|
5
|
+
|
6
|
+
# Get a vault's notification configuration
|
7
|
+
#
|
8
|
+
# ==== Parameters
|
9
|
+
# * name<~String> Name of the vault
|
10
|
+
# * options<~Hash>
|
11
|
+
# * account_id<~String> - The AWS account id. Defaults to the account owning the credentials making the request
|
12
|
+
# ==== Returns
|
13
|
+
# * response<~Excon::Response>:
|
14
|
+
# * body<~Hash>:
|
15
|
+
#
|
16
|
+
# ==== See Also
|
17
|
+
# http://docs.amazonwebservices.com/amazonglacier/latest/dev/api-vault-notifications-get.html
|
18
|
+
#
|
19
|
+
def get_vault_notification_configuration(name,options={})
|
20
|
+
account_id = options['account_id'] || '-'
|
21
|
+
path = "/#{account_id}/vaults/#{Fog::AWS.escape(name)}/notification-configuration"
|
22
|
+
request(
|
23
|
+
:expects => 200,
|
24
|
+
:idempotent => true,
|
25
|
+
:headers => {},
|
26
|
+
:method => :get,
|
27
|
+
:path => path
|
28
|
+
)
|
29
|
+
end
|
30
|
+
end
|
31
|
+
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
@@ -0,0 +1,41 @@
|
|
1
|
+
module Fog
|
2
|
+
module AWS
|
3
|
+
class Glacier
|
4
|
+
class Real
|
5
|
+
|
6
|
+
# This operation initates a multipart upload of an archive to a vault
|
7
|
+
#
|
8
|
+
# ==== Parameters
|
9
|
+
# * name<~String> The vault name
|
10
|
+
# * job_specification<~Hash> A specification of the job
|
11
|
+
# * Type<~String> The job type. Mandatory. Values: archive-retrieval, inventory-retrieval
|
12
|
+
# * Description<~String> The job description
|
13
|
+
# * ArchiveId<~String> The id of the archive to retrieve (only for Type==archive-retrieval)
|
14
|
+
# * Format<~String> The format to return (only for inventory retrieval). Values: CSV, JSON
|
15
|
+
# * SNSTopic<String> ARN of a topic to publish to when the job is complete
|
16
|
+
# * options<~Hash>
|
17
|
+
# * account_id<~String> - The AWS account id. Defaults to the account owning the credentials making the request
|
18
|
+
# ==== Returns
|
19
|
+
# * response<~Excon::Response>:
|
20
|
+
# * body<~Hash>:
|
21
|
+
#
|
22
|
+
# ==== See Also
|
23
|
+
# http://docs.amazonwebservices.com/amazonglacier/latest/dev/api-initiate-job-post.html
|
24
|
+
#
|
25
|
+
def initiate_job(name, job_specification, options={})
|
26
|
+
account_id = options['account_id'] || '-'
|
27
|
+
path = "/#{account_id}/vaults/#{Fog::AWS.escape(name)}/jobs"
|
28
|
+
|
29
|
+
request({
|
30
|
+
:expects => 202,
|
31
|
+
:headers => {},
|
32
|
+
:method => 'POST',
|
33
|
+
:path => path,
|
34
|
+
:body => Fog::JSON.encode(job_specification)
|
35
|
+
})
|
36
|
+
end
|
37
|
+
end
|
38
|
+
|
39
|
+
end
|
40
|
+
end
|
41
|
+
end
|
@@ -0,0 +1,38 @@
|
|
1
|
+
module Fog
|
2
|
+
module AWS
|
3
|
+
class Glacier
|
4
|
+
class Real
|
5
|
+
|
6
|
+
# This operation initates a multipart upload of an archive to a vault
|
7
|
+
#
|
8
|
+
# ==== Parameters
|
9
|
+
# * name<~String> The vault name
|
10
|
+
# * part_size<~Integer> The part size to use. Must be a power of 2 multiple of 1MB (1,2,4,8,16,...)
|
11
|
+
# * options<~Hash>
|
12
|
+
# * description<~String> - The archive description
|
13
|
+
# * account_id<~String> - The AWS account id. Defaults to the account owning the credentials making the request
|
14
|
+
# ==== Returns
|
15
|
+
# * response<~Excon::Response>:
|
16
|
+
# * body<~Hash>:
|
17
|
+
#
|
18
|
+
# ==== See Also
|
19
|
+
# http://docs.amazonwebservices.com/amazonglacier/latest/dev/api-multipart-initiate-upload.html
|
20
|
+
#
|
21
|
+
def initiate_multipart_upload(name, part_size, options={})
|
22
|
+
account_id = options['account_id'] || '-'
|
23
|
+
path = "/#{account_id}/vaults/#{Fog::AWS.escape(name)}/multipart-uploads"
|
24
|
+
|
25
|
+
headers = {'x-amz-part-size' => part_size.to_s}
|
26
|
+
headers['x-amz-archive-description'] = options['description'] if options['description']
|
27
|
+
request(
|
28
|
+
:expects => 201,
|
29
|
+
:headers => headers,
|
30
|
+
:method => 'POST',
|
31
|
+
:path => path
|
32
|
+
)
|
33
|
+
end
|
34
|
+
end
|
35
|
+
|
36
|
+
end
|
37
|
+
end
|
38
|
+
end
|
@@ -0,0 +1,39 @@
|
|
1
|
+
module Fog
|
2
|
+
module AWS
|
3
|
+
class Glacier
|
4
|
+
class Real
|
5
|
+
|
6
|
+
# lists in-progress and recently jobs for the specified vault
|
7
|
+
#
|
8
|
+
# ==== Parameters
|
9
|
+
# * name<~String> Name of the vault
|
10
|
+
# * options<~Hash>
|
11
|
+
# * completed<~Boolean>Specifies the state of the jobs to return. You can specify true or false
|
12
|
+
# * statuscode<~String> Filter returned jobs by status (InProgress, Succeeded, or Failed)
|
13
|
+
# * limit<~Integer> - The maximum number of items returned in the response. (default 1000)
|
14
|
+
# * marker<~String> - marker used for pagination
|
15
|
+
# * account_id<~String> - The AWS account id. Defaults to the account owning the credentials making the request
|
16
|
+
# ==== Returns
|
17
|
+
# * response<~Excon::Response>:
|
18
|
+
# ==== See Also
|
19
|
+
#http://docs.amazonwebservices.com/amazonglacier/latest/dev/api-jobs-get.html
|
20
|
+
#
|
21
|
+
def list_jobs(vault_name, options={})
|
22
|
+
account_id = options.delete('account_id') || '-'
|
23
|
+
path = "/#{account_id}/vaults/#{Fog::AWS.escape(vault_name)}/jobs"
|
24
|
+
|
25
|
+
|
26
|
+
request(
|
27
|
+
:expects => 200,
|
28
|
+
:idempotent => true,
|
29
|
+
:headers => {},
|
30
|
+
:method => :get,
|
31
|
+
:path => path,
|
32
|
+
:query => options
|
33
|
+
)
|
34
|
+
end
|
35
|
+
end
|
36
|
+
|
37
|
+
end
|
38
|
+
end
|
39
|
+
end
|
@@ -0,0 +1,37 @@
|
|
1
|
+
module Fog
|
2
|
+
module AWS
|
3
|
+
class Glacier
|
4
|
+
class Real
|
5
|
+
|
6
|
+
# lists in-progress multipart uploads for the specified vault
|
7
|
+
#
|
8
|
+
# ==== Parameters
|
9
|
+
# * name<~String> Name of the vault
|
10
|
+
# * options<~Hash>
|
11
|
+
# * limit<~Integer> - The maximum number of items returned in the response. (default 1000)
|
12
|
+
# * marker<~String> - marker used for pagination
|
13
|
+
# * account_id<~String> - The AWS account id. Defaults to the account owning the credentials making the request
|
14
|
+
# ==== Returns
|
15
|
+
# * response<~Excon::Response>:
|
16
|
+
# ==== See Also
|
17
|
+
# http://docs.amazonwebservices.com/amazonglacier/latest/dev/api-multipart-list-uploads.html
|
18
|
+
#
|
19
|
+
def list_multipart_uploads(vault_name, options={})
|
20
|
+
account_id = options.delete('account_id') || '-'
|
21
|
+
path = "/#{account_id}/vaults/#{Fog::AWS.escape(vault_name)}/multipart-uploads"
|
22
|
+
|
23
|
+
|
24
|
+
request(
|
25
|
+
:expects => 200,
|
26
|
+
:idempotent => true,
|
27
|
+
:headers => {},
|
28
|
+
:method => :get,
|
29
|
+
:path => path,
|
30
|
+
:query => options
|
31
|
+
)
|
32
|
+
end
|
33
|
+
end
|
34
|
+
|
35
|
+
end
|
36
|
+
end
|
37
|
+
end
|
@@ -0,0 +1,37 @@
|
|
1
|
+
module Fog
|
2
|
+
module AWS
|
3
|
+
class Glacier
|
4
|
+
class Real
|
5
|
+
|
6
|
+
# lists the parts of an archive that have been uploaded in a specific multipart upload
|
7
|
+
#
|
8
|
+
# ==== Parameters
|
9
|
+
# * name<~String> Name of the vault
|
10
|
+
# * upload_id<~String> The id of the upload
|
11
|
+
# * options<~Hash>
|
12
|
+
# * limit<~Integer> - The maximum number of items returned in the response. (default 1000)
|
13
|
+
# * marker<~String> - marker used for pagination
|
14
|
+
# * account_id<~String> - The AWS account id. Defaults to the account owning the credentials making the request
|
15
|
+
# ==== Returns
|
16
|
+
# * response<~Excon::Response>:
|
17
|
+
# ==== See Also
|
18
|
+
# http://docs.amazonwebservices.com/amazonglacier/latest/dev/api-multipart-list-parts.html
|
19
|
+
#
|
20
|
+
def list_parts(vault_name, upload_id, options={})
|
21
|
+
account_id = options.delete('account_id') || '-'
|
22
|
+
path = "/#{account_id}/vaults/#{Fog::AWS.escape(vault_name)}/multipart-uploads/#{Fog::AWS.escape(upload_id)}"
|
23
|
+
|
24
|
+
request(
|
25
|
+
:expects => 200,
|
26
|
+
:idempotent => true,
|
27
|
+
:headers => {},
|
28
|
+
:method => :get,
|
29
|
+
:path => path,
|
30
|
+
:query => options
|
31
|
+
)
|
32
|
+
end
|
33
|
+
end
|
34
|
+
|
35
|
+
end
|
36
|
+
end
|
37
|
+
end
|
@@ -0,0 +1,36 @@
|
|
1
|
+
module Fog
|
2
|
+
module AWS
|
3
|
+
class Glacier
|
4
|
+
class Real
|
5
|
+
|
6
|
+
# This operation lists all vaults owned by the calling user’s account.
|
7
|
+
#
|
8
|
+
# ==== Parameters
|
9
|
+
# * options<~Hash>
|
10
|
+
# * limit<~Integer> - The maximum number of items returned in the response. (default 1000)
|
11
|
+
# * marker<~String> - marker used for pagination
|
12
|
+
# * account_id<~String> - The AWS account id. Defaults to the account owning the credentials making the request
|
13
|
+
# ==== Returns
|
14
|
+
# * response<~Excon::Response>:
|
15
|
+
# * body<~Hash>:
|
16
|
+
#
|
17
|
+
# ==== See Also
|
18
|
+
# http://docs.amazonwebservices.com/amazonglacier/latest/dev/api-vaults-get.html
|
19
|
+
#
|
20
|
+
def list_vaults(options={})
|
21
|
+
account_id = options.delete('account_id') || '-'
|
22
|
+
path = "/#{account_id}/vaults"
|
23
|
+
request(
|
24
|
+
:expects => 200,
|
25
|
+
:idempotent => true,
|
26
|
+
:headers => {},
|
27
|
+
:method => 'GET',
|
28
|
+
:path => path,
|
29
|
+
:query => options
|
30
|
+
)
|
31
|
+
end
|
32
|
+
end
|
33
|
+
|
34
|
+
end
|
35
|
+
end
|
36
|
+
end
|