fog 1.9.0 → 1.10.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/Gemfile +1 -1
- data/README.md +1 -1
- data/changelog.txt +743 -0
- data/fog.gemspec +3 -5
- data/lib/fog/aws.rb +1 -0
- data/lib/fog/aws/credential_fetcher.rb +1 -1
- data/lib/fog/aws/data_pipeline.rb +114 -0
- data/lib/fog/aws/dynamodb.rb +1 -1
- data/lib/fog/aws/models/compute/flavors.rb +1 -1
- data/lib/fog/aws/models/compute/spot_request.rb +2 -0
- data/lib/fog/aws/models/data_pipeline/pipeline.rb +67 -0
- data/lib/fog/aws/models/data_pipeline/pipelines.rb +36 -0
- data/lib/fog/aws/parsers/cloud_watch/list_metrics.rb +1 -1
- data/lib/fog/aws/parsers/compute/describe_instances.rb +1 -1
- data/lib/fog/aws/parsers/compute/spot_instance_requests.rb +2 -0
- data/lib/fog/aws/requests/compute/request_spot_instances.rb +1 -0
- data/lib/fog/aws/requests/data_pipeline/activate_pipeline.rb +35 -0
- data/lib/fog/aws/requests/data_pipeline/create_pipeline.rb +41 -0
- data/lib/fog/aws/requests/data_pipeline/delete_pipeline.rb +35 -0
- data/lib/fog/aws/requests/data_pipeline/describe_pipelines.rb +36 -0
- data/lib/fog/aws/requests/data_pipeline/list_pipelines.rb +36 -0
- data/lib/fog/aws/requests/data_pipeline/put_pipeline_definition.rb +72 -0
- data/lib/fog/aws/requests/rds/describe_db_instances.rb +8 -9
- data/lib/fog/aws/requests/storage/get_service.rb +1 -2
- data/lib/fog/aws/requests/storage/list_multipart_uploads.rb +3 -3
- data/lib/fog/aws/requests/storage/put_bucket_policy.rb +2 -2
- data/lib/fog/aws/storage.rb +1 -1
- data/lib/fog/bin.rb +2 -1
- data/lib/fog/bin/aws.rb +4 -0
- data/lib/fog/bin/bluebox.rb +2 -0
- data/lib/fog/bin/dreamhost.rb +31 -0
- data/lib/fog/bin/hp.rb +7 -0
- data/lib/fog/bin/internet_archive.rb +34 -0
- data/lib/fog/bin/openstack.rb +17 -2
- data/lib/fog/bluebox.rb +1 -0
- data/lib/fog/bluebox/blb.rb +85 -0
- data/lib/fog/bluebox/models/blb/lb_application.rb +32 -0
- data/lib/fog/bluebox/models/blb/lb_applications.rb +26 -0
- data/lib/fog/bluebox/models/blb/lb_backend.rb +22 -0
- data/lib/fog/bluebox/models/blb/lb_backends.rb +30 -0
- data/lib/fog/bluebox/models/blb/lb_service.rb +35 -0
- data/lib/fog/bluebox/models/blb/lb_services.rb +29 -0
- data/lib/fog/bluebox/requests/blb/add_machine_to_lb_application.rb +33 -0
- data/lib/fog/bluebox/requests/blb/add_machine_to_lb_backend.rb +31 -0
- data/lib/fog/bluebox/requests/blb/get_lb_application.rb +33 -0
- data/lib/fog/bluebox/requests/blb/get_lb_applications.rb +31 -0
- data/lib/fog/bluebox/requests/blb/get_lb_backend.rb +36 -0
- data/lib/fog/bluebox/requests/blb/get_lb_backends.rb +36 -0
- data/lib/fog/bluebox/requests/blb/get_lb_machine.rb +35 -0
- data/lib/fog/bluebox/requests/blb/get_lb_machines.rb +35 -0
- data/lib/fog/bluebox/requests/blb/get_lb_service.rb +36 -0
- data/lib/fog/bluebox/requests/blb/get_lb_services.rb +36 -0
- data/lib/fog/bluebox/requests/blb/remove_machine_from_lb_backend.rb +28 -0
- data/lib/fog/bluebox/requests/blb/update_lb_backend_machine.rb +29 -0
- data/lib/fog/brightbox/compute.rb +1 -0
- data/lib/fog/brightbox/requests/compute/create_firewall_policy.rb +1 -0
- data/lib/fog/brightbox/requests/compute/update_firewall_policy.rb +25 -0
- data/lib/fog/brightbox/requests/compute/update_server.rb +1 -0
- data/lib/fog/cdn.rb +5 -12
- data/lib/fog/compute.rb +7 -68
- data/lib/fog/core/errors.rb +5 -1
- data/lib/fog/core/scp.rb +1 -0
- data/lib/fog/core/ssh.rb +1 -0
- data/lib/fog/dns.rb +7 -27
- data/lib/fog/dreamhost.rb +11 -0
- data/lib/fog/dreamhost/dns.rb +86 -0
- data/lib/fog/dreamhost/examples/dns/getting_started.md +105 -0
- data/lib/fog/dreamhost/models/dns/record.rb +35 -0
- data/lib/fog/dreamhost/models/dns/records.rb +38 -0
- data/lib/fog/dreamhost/models/dns/zone.rb +59 -0
- data/lib/fog/dreamhost/models/dns/zones.rb +41 -0
- data/lib/fog/dreamhost/requests/dns/create_record.rb +32 -0
- data/lib/fog/dreamhost/requests/dns/delete_record.rb +31 -0
- data/lib/fog/dreamhost/requests/dns/list_records.rb +25 -0
- data/lib/fog/ecloud/models/compute/detached_disks.rb +1 -5
- data/lib/fog/ecloud/models/compute/internet_services.rb +1 -5
- data/lib/fog/ecloud/models/compute/nodes.rb +1 -5
- data/lib/fog/ecloud/models/compute/public_ips.rb +1 -5
- data/lib/fog/ecloud/models/compute/servers.rb +2 -6
- data/lib/fog/ecloud/requests/compute/get_detached_disk.rb +1 -1
- data/lib/fog/ecloud/requests/compute/get_internet_service.rb +1 -1
- data/lib/fog/ecloud/requests/compute/get_node.rb +1 -1
- data/lib/fog/ecloud/requests/compute/get_public_ip.rb +1 -1
- data/lib/fog/ecloud/requests/compute/get_server.rb +1 -1
- data/lib/fog/ecloud/requests/compute/virtual_machine_create_from_template.rb +1 -1
- data/lib/fog/glesys/compute.rb +5 -1
- data/lib/fog/glesys/models/compute/ip.rb +47 -46
- data/lib/fog/glesys/models/compute/ips.rb +95 -12
- data/lib/fog/glesys/models/compute/server.rb +66 -5
- data/lib/fog/glesys/models/compute/servers.rb +7 -1
- data/lib/fog/glesys/models/compute/template.rb +8 -16
- data/lib/fog/glesys/models/compute/templates.rb +23 -5
- data/lib/fog/glesys/requests/compute/ip_details.rb +2 -2
- data/lib/fog/glesys/requests/compute/server_details.rb +2 -2
- data/lib/fog/glesys/requests/compute/template_list.rb +2 -2
- data/lib/fog/hp.rb +56 -26
- data/lib/fog/hp/CHANGELOG.hp +113 -0
- data/lib/fog/hp/README_HP.rdoc +7 -6
- data/lib/fog/hp/block_storage.rb +169 -0
- data/lib/fog/hp/cdn.rb +29 -7
- data/lib/fog/hp/compute.rb +88 -17
- data/lib/fog/hp/models/block_storage/bootable_volumes.rb +28 -0
- data/lib/fog/hp/models/block_storage/snapshot.rb +56 -0
- data/lib/fog/hp/models/block_storage/snapshots.rb +29 -0
- data/lib/fog/hp/models/block_storage/volume.rb +102 -0
- data/lib/fog/hp/models/block_storage/volumes.rb +28 -0
- data/lib/fog/hp/models/compute/address.rb +0 -1
- data/lib/fog/hp/models/compute/image.rb +43 -4
- data/lib/fog/hp/models/compute/images.rb +0 -5
- data/lib/fog/hp/models/compute/key_pair.rb +0 -5
- data/lib/fog/hp/models/compute/meta.rb +29 -0
- data/lib/fog/hp/models/compute/metadata.rb +79 -0
- data/lib/fog/hp/models/compute/server.rb +84 -20
- data/lib/fog/hp/models/meta_parent.rb +33 -0
- data/lib/fog/hp/models/storage/directories.rb +34 -9
- data/lib/fog/hp/models/storage/directory.rb +111 -26
- data/lib/fog/hp/models/storage/file.rb +10 -0
- data/lib/fog/hp/models/storage/files.rb +8 -0
- data/lib/fog/hp/models/storage/shared_directories.rb +55 -0
- data/lib/fog/hp/models/storage/shared_directory.rb +39 -0
- data/lib/fog/hp/models/storage/shared_file.rb +67 -0
- data/lib/fog/hp/models/storage/shared_files.rb +64 -0
- data/lib/fog/hp/requests/block_storage/create_snapshot.rb +76 -0
- data/lib/fog/hp/requests/block_storage/create_volume.rb +87 -0
- data/lib/fog/hp/requests/block_storage/delete_snapshot.rb +38 -0
- data/lib/fog/hp/requests/block_storage/delete_volume.rb +38 -0
- data/lib/fog/hp/requests/block_storage/get_bootable_volume_details.rb +59 -0
- data/lib/fog/hp/requests/block_storage/get_snapshot_details.rb +54 -0
- data/lib/fog/hp/requests/block_storage/get_volume_details.rb +58 -0
- data/lib/fog/hp/requests/block_storage/list_bootable_volumes.rb +53 -0
- data/lib/fog/hp/requests/block_storage/list_snapshots.rb +48 -0
- data/lib/fog/hp/requests/block_storage/list_volumes.rb +52 -0
- data/lib/fog/hp/requests/compute/attach_volume.rb +78 -0
- data/lib/fog/hp/requests/compute/create_image.rb +5 -8
- data/lib/fog/hp/requests/compute/create_persistent_server.rb +168 -0
- data/lib/fog/hp/requests/compute/create_server.rb +36 -20
- data/lib/fog/hp/requests/compute/delete_meta.rb +55 -0
- data/lib/fog/hp/requests/compute/delete_security_group_rule.rb +4 -4
- data/lib/fog/hp/requests/compute/detach_volume.rb +47 -0
- data/lib/fog/hp/requests/compute/get_console_output.rb +43 -0
- data/lib/fog/hp/requests/compute/get_meta.rb +57 -0
- data/lib/fog/hp/requests/compute/get_windows_password.rb +43 -0
- data/lib/fog/hp/requests/compute/list_metadata.rb +56 -0
- data/lib/fog/hp/requests/compute/list_server_volumes.rb +49 -0
- data/lib/fog/hp/requests/compute/set_metadata.rb +60 -0
- data/lib/fog/hp/requests/compute/update_meta.rb +61 -0
- data/lib/fog/hp/requests/compute/update_metadata.rb +60 -0
- data/lib/fog/hp/requests/storage/delete_shared_object.rb +38 -0
- data/lib/fog/hp/requests/storage/get_object.rb +12 -10
- data/lib/fog/hp/requests/storage/get_object_temp_url.rb +31 -0
- data/lib/fog/hp/requests/storage/get_shared_container.rb +75 -0
- data/lib/fog/hp/requests/storage/get_shared_object.rb +66 -0
- data/lib/fog/hp/requests/storage/head_container.rb +1 -0
- data/lib/fog/hp/requests/storage/head_object.rb +1 -0
- data/lib/fog/hp/requests/storage/head_shared_container.rb +45 -0
- data/lib/fog/hp/requests/storage/head_shared_object.rb +39 -0
- data/lib/fog/hp/requests/storage/put_container.rb +6 -6
- data/lib/fog/hp/requests/storage/put_object.rb +12 -1
- data/lib/fog/hp/requests/storage/put_shared_object.rb +85 -0
- data/lib/fog/hp/storage.rb +175 -33
- data/lib/fog/identity.rb +5 -4
- data/lib/fog/image.rb +5 -6
- data/lib/fog/internet_archive.rb +290 -0
- data/lib/fog/internet_archive/models/storage/directories.rb +43 -0
- data/lib/fog/internet_archive/models/storage/directory.rb +126 -0
- data/lib/fog/internet_archive/models/storage/file.rb +286 -0
- data/lib/fog/internet_archive/models/storage/files.rb +122 -0
- data/lib/fog/internet_archive/models/storage/version.rb +36 -0
- data/lib/fog/internet_archive/models/storage/versions.rb +38 -0
- data/lib/fog/internet_archive/parsers/storage/access_control_list.rb +46 -0
- data/lib/fog/internet_archive/parsers/storage/complete_multipart_upload.rb +24 -0
- data/lib/fog/internet_archive/parsers/storage/copy_object.rb +22 -0
- data/lib/fog/internet_archive/parsers/storage/cors_configuration.rb +41 -0
- data/lib/fog/internet_archive/parsers/storage/delete_multiple_objects.rb +50 -0
- data/lib/fog/internet_archive/parsers/storage/get_bucket.rb +62 -0
- data/lib/fog/internet_archive/parsers/storage/get_bucket_lifecycle.rb +66 -0
- data/lib/fog/internet_archive/parsers/storage/get_bucket_location.rb +20 -0
- data/lib/fog/internet_archive/parsers/storage/get_bucket_logging.rb +40 -0
- data/lib/fog/internet_archive/parsers/storage/get_bucket_object_versions.rb +88 -0
- data/lib/fog/internet_archive/parsers/storage/get_bucket_versioning.rb +24 -0
- data/lib/fog/internet_archive/parsers/storage/get_bucket_website.rb +26 -0
- data/lib/fog/internet_archive/parsers/storage/get_request_payment.rb +20 -0
- data/lib/fog/internet_archive/parsers/storage/get_service.rb +32 -0
- data/lib/fog/internet_archive/parsers/storage/initiate_multipart_upload.rb +24 -0
- data/lib/fog/internet_archive/parsers/storage/list_multipart_uploads.rb +56 -0
- data/lib/fog/internet_archive/parsers/storage/list_parts.rb +40 -0
- data/lib/fog/internet_archive/requests/storage/abort_multipart_upload.rb +28 -0
- data/lib/fog/internet_archive/requests/storage/acl_utils.rb +62 -0
- data/lib/fog/internet_archive/requests/storage/complete_multipart_upload.rb +48 -0
- data/lib/fog/internet_archive/requests/storage/copy_object.rb +81 -0
- data/lib/fog/internet_archive/requests/storage/cors_utils.rb +41 -0
- data/lib/fog/internet_archive/requests/storage/delete_bucket.rb +47 -0
- data/lib/fog/internet_archive/requests/storage/delete_bucket_cors.rb +29 -0
- data/lib/fog/internet_archive/requests/storage/delete_bucket_lifecycle.rb +27 -0
- data/lib/fog/internet_archive/requests/storage/delete_bucket_policy.rb +29 -0
- data/lib/fog/internet_archive/requests/storage/delete_bucket_website.rb +29 -0
- data/lib/fog/internet_archive/requests/storage/delete_multiple_objects.rb +167 -0
- data/lib/fog/internet_archive/requests/storage/delete_object.rb +118 -0
- data/lib/fog/internet_archive/requests/storage/get_bucket.rb +112 -0
- data/lib/fog/internet_archive/requests/storage/get_bucket_acl.rb +69 -0
- data/lib/fog/internet_archive/requests/storage/get_bucket_cors.rb +65 -0
- data/lib/fog/internet_archive/requests/storage/get_bucket_lifecycle.rb +38 -0
- data/lib/fog/internet_archive/requests/storage/get_bucket_location.rb +58 -0
- data/lib/fog/internet_archive/requests/storage/get_bucket_logging.rb +47 -0
- data/lib/fog/internet_archive/requests/storage/get_bucket_object_versions.rb +162 -0
- data/lib/fog/internet_archive/requests/storage/get_bucket_policy.rb +34 -0
- data/lib/fog/internet_archive/requests/storage/get_bucket_versioning.rb +69 -0
- data/lib/fog/internet_archive/requests/storage/get_bucket_website.rb +40 -0
- data/lib/fog/internet_archive/requests/storage/get_object.rb +188 -0
- data/lib/fog/internet_archive/requests/storage/get_object_acl.rb +80 -0
- data/lib/fog/internet_archive/requests/storage/get_object_http_url.rb +55 -0
- data/lib/fog/internet_archive/requests/storage/get_object_https_url.rb +37 -0
- data/lib/fog/internet_archive/requests/storage/get_object_torrent.rb +47 -0
- data/lib/fog/internet_archive/requests/storage/get_object_url.rb +55 -0
- data/lib/fog/internet_archive/requests/storage/get_request_payment.rb +49 -0
- data/lib/fog/internet_archive/requests/storage/get_service.rb +55 -0
- data/lib/fog/internet_archive/requests/storage/head_object.rb +66 -0
- data/lib/fog/internet_archive/requests/storage/initiate_multipart_upload.rb +44 -0
- data/lib/fog/internet_archive/requests/storage/list_multipart_uploads.rb +55 -0
- data/lib/fog/internet_archive/requests/storage/list_parts.rb +55 -0
- data/lib/fog/internet_archive/requests/storage/post_object_hidden_fields.rb +38 -0
- data/lib/fog/internet_archive/requests/storage/put_bucket.rb +74 -0
- data/lib/fog/internet_archive/requests/storage/put_bucket_acl.rb +71 -0
- data/lib/fog/internet_archive/requests/storage/put_bucket_cors.rb +49 -0
- data/lib/fog/internet_archive/requests/storage/put_bucket_lifecycle.rb +77 -0
- data/lib/fog/internet_archive/requests/storage/put_bucket_logging.rb +81 -0
- data/lib/fog/internet_archive/requests/storage/put_bucket_policy.rb +28 -0
- data/lib/fog/internet_archive/requests/storage/put_bucket_versioning.rb +75 -0
- data/lib/fog/internet_archive/requests/storage/put_bucket_website.rb +64 -0
- data/lib/fog/internet_archive/requests/storage/put_object.rb +113 -0
- data/lib/fog/internet_archive/requests/storage/put_object_acl.rb +80 -0
- data/lib/fog/internet_archive/requests/storage/put_object_url.rb +48 -0
- data/lib/fog/internet_archive/requests/storage/put_request_payment.rb +49 -0
- data/lib/fog/internet_archive/requests/storage/sync_clock.rb +28 -0
- data/lib/fog/internet_archive/requests/storage/upload_part.rb +41 -0
- data/lib/fog/internet_archive/signaturev4.rb +73 -0
- data/lib/fog/internet_archive/storage.rb +402 -0
- data/lib/fog/joyent/models/compute/server.rb +1 -1
- data/lib/fog/joyent/requests/compute/resize_machine.rb +2 -0
- data/lib/fog/libvirt/models/compute/volume.rb +1 -1
- data/lib/fog/network.rb +5 -6
- data/lib/fog/openstack.rb +10 -0
- data/lib/fog/openstack/compute.rb +11 -4
- data/lib/fog/openstack/identity.rb +5 -2
- data/lib/fog/openstack/models/compute/images.rb +2 -1
- data/lib/fog/openstack/models/compute/metadata.rb +4 -5
- data/lib/fog/openstack/models/compute/server.rb +36 -21
- data/lib/fog/openstack/models/identity/role.rb +1 -1
- data/lib/fog/openstack/models/network/floating_ip.rb +1 -1
- data/lib/fog/openstack/models/network/floating_ips.rb +2 -2
- data/lib/fog/openstack/models/network/network.rb +8 -0
- data/lib/fog/openstack/models/storage/directories.rb +39 -0
- data/lib/fog/openstack/models/storage/directory.rb +50 -0
- data/lib/fog/openstack/models/storage/file.rb +150 -0
- data/lib/fog/openstack/models/storage/files.rb +94 -0
- data/lib/fog/openstack/requests/compute/allocate_address.rb +1 -1
- data/lib/fog/openstack/requests/compute/delete_meta.rb +43 -0
- data/lib/fog/openstack/requests/compute/get_limits.rb +1 -1
- data/lib/fog/openstack/requests/compute/get_snapshot_details.rb +1 -1
- data/lib/fog/openstack/requests/compute/get_volume_details.rb +1 -1
- data/lib/fog/openstack/requests/compute/list_servers.rb +1 -1
- data/lib/fog/openstack/requests/compute/list_tenants.rb +1 -0
- data/lib/fog/openstack/requests/compute/remove_fixed_ip.rb +1 -1
- data/lib/fog/openstack/requests/compute/update_meta.rb +46 -0
- data/lib/fog/openstack/requests/compute/update_server.rb +1 -1
- data/lib/fog/openstack/requests/identity/delete_user_role.rb +2 -2
- data/lib/fog/openstack/requests/identity/get_user_by_name.rb +2 -2
- data/lib/fog/openstack/requests/image/create_image.rb +1 -1
- data/lib/fog/openstack/requests/network/associate_floating_ip.rb +3 -3
- data/lib/fog/openstack/requests/network/create_floating_ip.rb +3 -3
- data/lib/fog/openstack/requests/network/delete_floating_ip.rb +1 -1
- data/lib/fog/openstack/requests/network/disassociate_floating_ip.rb +3 -3
- data/lib/fog/openstack/requests/network/get_floating_ip.rb +1 -1
- data/lib/fog/openstack/requests/network/list_floating_ips.rb +1 -1
- data/lib/fog/openstack/requests/storage/copy_object.rb +27 -0
- data/lib/fog/openstack/requests/storage/delete_container.rb +22 -0
- data/lib/fog/openstack/requests/storage/delete_object.rb +23 -0
- data/lib/fog/openstack/requests/storage/get_container.rb +44 -0
- data/lib/fog/openstack/requests/storage/get_containers.rb +33 -0
- data/lib/fog/openstack/requests/storage/get_object.rb +29 -0
- data/lib/fog/openstack/requests/storage/get_object_https_url.rb +51 -0
- data/lib/fog/openstack/requests/storage/head_container.rb +28 -0
- data/lib/fog/openstack/requests/storage/head_containers.rb +25 -0
- data/lib/fog/openstack/requests/storage/head_object.rb +23 -0
- data/lib/fog/openstack/requests/storage/post_set_meta_temp_url_key.rb +37 -0
- data/lib/fog/openstack/requests/storage/put_container.rb +22 -0
- data/lib/fog/openstack/requests/storage/put_object.rb +30 -0
- data/lib/fog/openstack/requests/storage/put_object_manifest.rb +25 -0
- data/lib/fog/openstack/storage.rb +159 -0
- data/lib/fog/openstack/volume.rb +4 -2
- data/lib/fog/ovirt/compute.rb +1 -0
- data/lib/fog/ovirt/models/compute/server.rb +2 -2
- data/lib/fog/ovirt/models/compute/volume.rb +1 -0
- data/lib/fog/ovirt/requests/compute/get_api_version.rb +16 -0
- data/lib/fog/providers.rb +2 -1
- data/lib/fog/rackspace/block_storage.rb +1 -0
- data/lib/fog/rackspace/cdn.rb +61 -7
- data/lib/fog/rackspace/compute_v2.rb +16 -3
- data/lib/fog/rackspace/databases.rb +4 -3
- data/lib/fog/rackspace/docs/compute_v2.md +663 -0
- data/lib/fog/rackspace/docs/getting_started.md +9 -9
- data/lib/fog/rackspace/examples/README.md +47 -0
- data/lib/fog/rackspace/examples/compute_v2/README.md +47 -0
- data/lib/fog/rackspace/examples/compute_v2/create_image.rb +61 -0
- data/lib/fog/rackspace/examples/compute_v2/create_server.rb +89 -0
- data/lib/fog/rackspace/examples/compute_v2/delete_image.rb +61 -0
- data/lib/fog/rackspace/examples/compute_v2/delete_server.rb +56 -0
- data/lib/fog/rackspace/examples/compute_v2/detach_volume.rb +93 -0
- data/lib/fog/rackspace/examples/compute_v2/resize_server.rb +106 -0
- data/lib/fog/rackspace/examples/compute_v2/server_attachments.rb +69 -0
- data/lib/fog/rackspace/examples/compute_v2/server_metadata.rb +85 -0
- data/lib/fog/rackspace/identity.rb +1 -1
- data/lib/fog/rackspace/load_balancers.rb +2 -2
- data/lib/fog/rackspace/mock_data.rb +114 -96
- data/lib/fog/rackspace/models/compute_v2/attachment.rb +16 -0
- data/lib/fog/rackspace/models/compute_v2/attachments.rb +6 -0
- data/lib/fog/rackspace/models/compute_v2/flavor.rb +18 -0
- data/lib/fog/rackspace/models/compute_v2/flavors.rb +9 -1
- data/lib/fog/rackspace/models/compute_v2/image.rb +52 -7
- data/lib/fog/rackspace/models/compute_v2/images.rb +9 -0
- data/lib/fog/rackspace/models/compute_v2/meta_parent.rb +9 -0
- data/lib/fog/rackspace/models/compute_v2/metadata.rb +30 -7
- data/lib/fog/rackspace/models/compute_v2/metadatum.rb +4 -0
- data/lib/fog/rackspace/models/compute_v2/network.rb +27 -0
- data/lib/fog/rackspace/models/compute_v2/networks.rb +23 -0
- data/lib/fog/rackspace/models/compute_v2/server.rb +235 -24
- data/lib/fog/rackspace/models/compute_v2/servers.rb +19 -1
- data/lib/fog/rackspace/models/dns/zones.rb +35 -2
- data/lib/fog/rackspace/models/identity/credentials.rb +3 -2
- data/lib/fog/rackspace/models/storage/account.rb +24 -0
- data/lib/fog/rackspace/models/storage/directories.rb +3 -0
- data/lib/fog/rackspace/models/storage/directory.rb +68 -39
- data/lib/fog/rackspace/models/storage/file.rb +38 -67
- data/lib/fog/rackspace/models/storage/files.rb +11 -4
- data/lib/fog/rackspace/models/storage/metadata.rb +129 -0
- data/lib/fog/rackspace/requests/cdn/delete_object.rb +37 -0
- data/lib/fog/rackspace/requests/cdn/get_containers.rb +34 -0
- data/lib/fog/rackspace/requests/cdn/head_container.rb +24 -0
- data/lib/fog/rackspace/requests/cdn/post_container.rb +21 -0
- data/lib/fog/rackspace/requests/cdn/put_container.rb +21 -0
- data/lib/fog/rackspace/requests/compute_v2/attach_volume.rb +13 -0
- data/lib/fog/rackspace/requests/compute_v2/change_server_password.rb +7 -0
- data/lib/fog/rackspace/requests/compute_v2/confirm_resize_server.rb +9 -0
- data/lib/fog/rackspace/requests/compute_v2/create_image.rb +9 -5
- data/lib/fog/rackspace/requests/compute_v2/create_network.rb +36 -0
- data/lib/fog/rackspace/requests/compute_v2/create_server.rb +38 -0
- data/lib/fog/rackspace/requests/compute_v2/delete_attachment.rb +5 -0
- data/lib/fog/rackspace/requests/compute_v2/delete_image.rb +2 -4
- data/lib/fog/rackspace/requests/compute_v2/delete_metadata_item.rb +6 -0
- data/lib/fog/rackspace/requests/compute_v2/delete_network.rb +21 -0
- data/lib/fog/rackspace/requests/compute_v2/delete_server.rb +4 -0
- data/lib/fog/rackspace/requests/compute_v2/get_attachment.rb +12 -0
- data/lib/fog/rackspace/requests/compute_v2/get_flavor.rb +14 -0
- data/lib/fog/rackspace/requests/compute_v2/get_image.rb +18 -0
- data/lib/fog/rackspace/requests/compute_v2/get_metadata_item.rb +9 -0
- data/lib/fog/rackspace/requests/compute_v2/get_network.rb +21 -0
- data/lib/fog/rackspace/requests/compute_v2/get_server.rb +32 -0
- data/lib/fog/rackspace/requests/compute_v2/list_addresses.rb +5 -0
- data/lib/fog/rackspace/requests/compute_v2/list_addresses_by_network.rb +12 -0
- data/lib/fog/rackspace/requests/compute_v2/list_attachments.rb +12 -0
- data/lib/fog/rackspace/requests/compute_v2/list_flavors.rb +10 -0
- data/lib/fog/rackspace/requests/compute_v2/list_images.rb +10 -0
- data/lib/fog/rackspace/requests/compute_v2/list_metadata.rb +8 -0
- data/lib/fog/rackspace/requests/compute_v2/list_networks.rb +18 -0
- data/lib/fog/rackspace/requests/compute_v2/list_servers.rb +31 -0
- data/lib/fog/rackspace/requests/compute_v2/reboot_server.rb +5 -0
- data/lib/fog/rackspace/requests/compute_v2/rebuild_server.rb +37 -0
- data/lib/fog/rackspace/requests/compute_v2/resize_server.rb +10 -0
- data/lib/fog/rackspace/requests/compute_v2/revert_resize_server.rb +10 -0
- data/lib/fog/rackspace/requests/compute_v2/set_metadata.rb +9 -0
- data/lib/fog/rackspace/requests/compute_v2/set_metadata_item.rb +10 -0
- data/lib/fog/rackspace/requests/compute_v2/update_metadata.rb +9 -0
- data/lib/fog/rackspace/requests/compute_v2/update_server.rb +9 -0
- data/lib/fog/rackspace/requests/storage/get_object.rb +0 -1
- data/lib/fog/rackspace/requests/storage/put_container.rb +2 -1
- data/lib/fog/rackspace/storage.rb +14 -2
- data/lib/fog/schema/data_validator.rb +154 -0
- data/lib/fog/storage.rb +8 -24
- data/lib/fog/terremark/models/shared/server.rb +5 -3
- data/lib/fog/terremark/parser.rb +14 -13
- data/lib/fog/terremark/parsers/shared/get_catalog.rb +5 -19
- data/lib/fog/terremark/parsers/shared/get_catalog_item.rb +4 -14
- data/lib/fog/terremark/parsers/shared/get_internet_services.rb +1 -1
- data/lib/fog/terremark/parsers/shared/get_keys_list.rb +4 -18
- data/lib/fog/terremark/parsers/shared/get_network_ips.rb +1 -1
- data/lib/fog/terremark/parsers/shared/get_node_services.rb +1 -1
- data/lib/fog/terremark/parsers/shared/get_organization.rb +4 -3
- data/lib/fog/terremark/parsers/shared/get_organizations.rb +3 -2
- data/lib/fog/terremark/parsers/shared/get_public_ips.rb +1 -1
- data/lib/fog/terremark/parsers/shared/get_tasks_list.rb +4 -17
- data/lib/fog/terremark/parsers/shared/get_vapp_template.rb +3 -14
- data/lib/fog/terremark/parsers/shared/get_vdc.rb +6 -38
- data/lib/fog/terremark/parsers/shared/instantiate_vapp_template.rb +3 -14
- data/lib/fog/terremark/parsers/shared/internet_service.rb +2 -5
- data/lib/fog/terremark/parsers/shared/network.rb +3 -11
- data/lib/fog/terremark/parsers/shared/node_service.rb +1 -1
- data/lib/fog/terremark/parsers/shared/public_ip.rb +1 -1
- data/lib/fog/terremark/parsers/shared/task.rb +3 -14
- data/lib/fog/terremark/parsers/shared/vapp.rb +3 -14
- data/lib/fog/vcloud/compute.rb +1 -0
- data/lib/fog/vcloud/models/compute/server.rb +15 -2
- data/lib/fog/vcloud/models/compute/vapp.rb +11 -0
- data/lib/fog/vcloud/requests/compute/configure_vm_network.rb +37 -0
- data/lib/fog/vcloud/requests/compute/instantiate_vapp_template.rb +8 -4
- data/lib/fog/version.rb +1 -1
- data/lib/fog/volume.rb +6 -6
- data/lib/fog/vsphere/requests/compute/create_vm.rb +18 -3
- data/lib/fog/vsphere/requests/compute/list_vm_interfaces.rb +1 -1
- data/lib/fog/vsphere/requests/compute/vm_reconfig_hardware.rb +1 -1
- data/tests/aws/models/data_pipeline/pipeline_tests.rb +8 -0
- data/tests/aws/models/data_pipeline/pipelines_tests.rb +8 -0
- data/tests/aws/models/rds/server_tests.rb +10 -9
- data/tests/aws/requests/compute/image_tests.rb +2 -2
- data/tests/aws/requests/compute/security_group_tests.rb +1 -1
- data/tests/aws/requests/compute/spot_instance_tests.rb +3 -2
- data/tests/aws/requests/data_pipeline/helper.rb +44 -0
- data/tests/aws/requests/data_pipeline/pipeline_tests.rb +54 -0
- data/tests/aws/requests/rds/instance_tests.rb +8 -5
- data/tests/bluebox/requests/blb/helper.rb +64 -0
- data/tests/bluebox/requests/blb/lb_tests.rb +75 -0
- data/tests/brightbox/requests/compute/firewall_policy_tests.rb +7 -0
- data/tests/brightbox/requests/compute/helper.rb +4 -2
- data/tests/compute/helper.rb +8 -0
- data/tests/core/user_agent_tests.rb +6 -0
- data/tests/dreamhost/README.md +56 -0
- data/tests/dreamhost/dns_tests.rb +20 -0
- data/tests/dreamhost/helper.rb +19 -0
- data/tests/dreamhost/models/dns/record_tests.rb +73 -0
- data/tests/dreamhost/models/dns/records_tests.rb +29 -0
- data/tests/dreamhost/models/dns/zone_tests.rb +62 -0
- data/tests/dreamhost/models/dns/zones_tests.rb +29 -0
- data/tests/dreamhost/requests/dns/create_record_tests.rb +39 -0
- data/tests/dreamhost/requests/dns/delete_record_tests.rb +26 -0
- data/tests/dreamhost/requests/dns/list_records_tests.rb +31 -0
- data/tests/glesys/requests/compute/helper.rb +5 -5
- data/tests/helper.rb +1 -1
- data/tests/helpers/formats_helper.rb +63 -50
- data/tests/helpers/formats_helper_tests.rb +87 -36
- data/tests/helpers/mock_helper.rb +4 -1
- data/tests/helpers/schema_validator_tests.rb +107 -0
- data/tests/hp/models/block_storage/bootable_volume_tests.rb +23 -0
- data/tests/hp/models/block_storage/snapshot_tests.rb +23 -0
- data/tests/hp/models/block_storage/volume_tests.rb +21 -0
- 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/metadata_image_tests.rb +60 -0
- data/tests/hp/models/compute/metadata_server_tests.rb +54 -0
- data/tests/hp/models/compute/security_group_tests.rb +3 -1
- data/tests/hp/models/compute/security_groups_tests.rb +1 -1
- data/tests/hp/models/storage/directories_tests.rb +23 -0
- data/tests/hp/models/storage/directory_tests.rb +62 -0
- data/tests/hp/models/storage/file_tests.rb +44 -0
- data/tests/hp/models/storage/files_tests.rb +38 -0
- data/tests/hp/requests/block_storage/bootable_volume_tests.rb +78 -0
- data/tests/hp/requests/block_storage/snapshot_tests.rb +56 -0
- data/tests/hp/requests/block_storage/volume_tests.rb +94 -0
- data/tests/hp/requests/cdn/container_tests.rb +1 -1
- data/tests/hp/requests/compute/address_tests.rb +5 -6
- 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/metadata_tests.rb +70 -0
- data/tests/hp/requests/compute/persistent_server_tests.rb +66 -0
- 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 +5 -6
- data/tests/hp/requests/compute/server_volume_tests.rb +76 -0
- data/tests/hp/requests/storage/container_tests.rb +1 -1
- data/tests/hp/requests/storage/object_tests.rb +9 -1
- data/tests/hp/user_agent_tests.rb +13 -0
- data/tests/internet_archive/models/storage/directory_tests.rb +51 -0
- data/tests/internet_archive/models/storage/file_tests.rb +80 -0
- data/tests/internet_archive/models/storage/files_tests.rb +56 -0
- data/tests/internet_archive/models/storage/url_tests.rb +28 -0
- data/tests/internet_archive/models/storage/version_tests.rb +52 -0
- data/tests/internet_archive/models/storage/versions_tests.rb +56 -0
- data/tests/internet_archive/requests/storage/acl_utils_tests.rb +209 -0
- data/tests/internet_archive/requests/storage/bucket_tests.rb +328 -0
- data/tests/internet_archive/requests/storage/cors_utils_tests.rb +108 -0
- data/tests/internet_archive/requests/storage/multipart_upload_tests.rb +132 -0
- data/tests/internet_archive/requests/storage/object_tests.rb +166 -0
- data/tests/internet_archive/requests/storage/versioning_tests.rb +258 -0
- data/tests/internet_archive/signaturev4_tests.rb +41 -0
- data/tests/internet_archive/signed_params_tests.rb +5 -0
- data/tests/openstack/models/compute/images_tests.rb +14 -0
- data/tests/openstack/models/compute/server_tests.rb +42 -1
- data/tests/openstack/models/identity/roles_tests.rb +1 -0
- data/tests/openstack/models/identity/user_tests.rb +2 -2
- data/tests/openstack/models/network/network_tests.rb +21 -1
- data/tests/openstack/models/storage/file_tests.rb +178 -0
- data/tests/openstack/requests/compute/limit_tests.rb +1 -1
- data/tests/openstack/requests/compute/tenant_tests.rb +2 -2
- data/tests/openstack/requests/identity/ec2_credentials_tests.rb +7 -4
- data/tests/openstack/requests/identity/helper.rb +17 -0
- data/tests/openstack/requests/identity/role_tests.rb +6 -0
- data/tests/openstack/requests/identity/tenant_tests.rb +14 -12
- data/tests/openstack/requests/identity/user_tests.rb +9 -5
- data/tests/openstack/requests/storage/container_tests.rb +64 -0
- data/tests/openstack/requests/storage/large_object_tests.rb +47 -0
- data/tests/openstack/requests/storage/object_tests.rb +84 -0
- data/tests/openstack/volume_tests.rb +15 -0
- data/tests/rackspace/cdn_tests.rb +78 -0
- data/tests/rackspace/helper.rb +9 -0
- data/tests/rackspace/models/compute_v2/flavors_tests.rb +1 -1
- data/tests/rackspace/models/compute_v2/image_tests.rb +2 -4
- data/tests/rackspace/models/compute_v2/images_tests.rb +1 -1
- data/tests/rackspace/models/compute_v2/metadata_tests.rb +5 -3
- data/tests/rackspace/models/compute_v2/network_tests.rb +10 -0
- data/tests/rackspace/models/compute_v2/networks_tests.rb +10 -0
- data/tests/rackspace/models/compute_v2/server_tests.rb +8 -7
- data/tests/rackspace/models/compute_v2/servers_tests.rb +5 -7
- data/tests/rackspace/models/dns/zones_tests.rb +22 -0
- data/tests/rackspace/models/identity/credentials_tests.rb +14 -5
- data/tests/rackspace/models/storage/account_tests.rb +28 -0
- data/tests/rackspace/models/storage/directories_tests.rb +29 -0
- data/tests/rackspace/models/storage/directory_tests.rb +141 -0
- data/tests/rackspace/models/storage/file_tests.rb +86 -11
- data/tests/rackspace/models/storage/metadata_tests.rb +174 -0
- data/tests/rackspace/requests/cdn/cdn_tests.rb +76 -0
- data/tests/rackspace/requests/compute/image_tests.rb +2 -2
- data/tests/rackspace/requests/compute_v2/image_tests.rb +6 -6
- data/tests/rackspace/requests/compute_v2/network_tests.rb +49 -0
- data/tests/rackspace/requests/identity/user_tests.rb +0 -4
- data/tests/rackspace/requests/storage/container_tests.rb +8 -1
- data/tests/rackspace/storage_tests.rb +8 -0
- data/tests/storage/helper.rb +3 -0
- metadata +341 -40
- data/docs/storage/aws.markdown +0 -21
- data/lib/fog/bin/virtual_box.rb +0 -57
- data/lib/fog/rackspace/docs/cloud_servers.md +0 -65
- data/lib/fog/rackspace/requests/identity/get_credentials.rb +0 -15
- data/lib/fog/virtual_box.rb +0 -11
- data/lib/fog/virtual_box/compute.rb +0 -59
- data/lib/fog/virtual_box/models/compute/medium.rb +0 -87
- data/lib/fog/virtual_box/models/compute/medium_format.rb +0 -34
- data/lib/fog/virtual_box/models/compute/mediums.rb +0 -32
- data/lib/fog/virtual_box/models/compute/nat_engine.rb +0 -65
- data/lib/fog/virtual_box/models/compute/nat_redirect.rb +0 -91
- data/lib/fog/virtual_box/models/compute/nat_redirects.rb +0 -41
- data/lib/fog/virtual_box/models/compute/network_adapter.rb +0 -82
- data/lib/fog/virtual_box/models/compute/network_adapters.rb +0 -42
- data/lib/fog/virtual_box/models/compute/server.rb +0 -199
- data/lib/fog/virtual_box/models/compute/servers.rb +0 -41
- data/lib/fog/virtual_box/models/compute/storage_controller.rb +0 -83
- data/lib/fog/virtual_box/models/compute/storage_controllers.rb +0 -38
@@ -1,16 +1,16 @@
|
|
1
|
-
# Getting Started with Rackspace
|
1
|
+
# Getting Started with Fog and the Rackspace Cloud
|
2
2
|
|
3
|
-
This document
|
3
|
+
This document explains how to get started using Fog with the [Rackspace Cloud](http://www.rackspace.com/cloud/).
|
4
4
|
|
5
5
|
## Requirements
|
6
6
|
|
7
|
-
Fog
|
7
|
+
Fog officially supports Ruby 1.9.3, 1.9.2, and 1.8.7 (also known as Matz Ruby Interpreter or MRI). While not officially supported, fog has been known to work with Rubinus and JRuby.
|
8
8
|
|
9
9
|
Ruby 1.9.3 is suggested for new projects. For information on installing Ruby please refer to the [Ruby download page](http://www.ruby-lang.org/en/downloads/).
|
10
10
|
|
11
11
|
## Credentials
|
12
12
|
|
13
|
-
To obtain credentials for the US Rackspace
|
13
|
+
To obtain credentials for the US Rackspace Cloud, please sign up for an account at [US Rackspace Open Cloud](https://cart.rackspace.com/cloud/). Once an account is created, you can login to the [Cloud Control Panel (US)](https://mycloud.rackspace.com/) and find your credentials by clicking on your username in the top right corner and then selecting API keys.
|
14
14
|
|
15
15
|
Likewise, you can create an account on our UK Rackspace Open Cloud by going to [UK Rackspace Open Cloud](https://buyonline.rackspace.co.uk/cloud/userinfo?type=normal) and login into [Cloud Control Panel (UK)](https://mycloud.rackspace.co.uk/).
|
16
16
|
|
@@ -57,20 +57,20 @@ You should now be able to execute the following command to see a list of service
|
|
57
57
|
|
58
58
|
These services can be explored in further depth in the following documents:
|
59
59
|
|
60
|
-
* Next
|
60
|
+
* [Next Generation Cloud Servers™ (compute_v2)](/cloud_servers.md)
|
61
61
|
* Cloud Files™ (storage)
|
62
62
|
* Cloud Block Storage (block_storage)
|
63
63
|
|
64
|
-
|
64
|
+
**Note**: *The compute service provides an interface to the First Geneneration Cloud Servers™ (compute). This service is deprecated. Users are encouraged to use Next Geneneration Cloud Servers™ (compute_v2).*
|
65
65
|
|
66
66
|
## Additional Resources
|
67
67
|
* [fog.io](http://fog.io)
|
68
|
-
* [
|
69
|
-
* [
|
68
|
+
* [Fog rdoc](http://rubydoc.info/gems/fog)
|
69
|
+
* [Fog Github repo](https://github.com/fog/fog)
|
70
70
|
* [Release Notes](https://github.com/fog/fog/blob/master/changelog.txt)
|
71
71
|
* [developer.rackspace.com](http://developer.rackspace.com/)
|
72
72
|
|
73
73
|
## Support and Feedback
|
74
|
-
Your feedback is appreciated! If you have specific issues with the **fog** SDK,
|
74
|
+
Your feedback is appreciated! If you have specific issues with the **fog** SDK, you should file an [issue via Github](https://github.com/fog/fog/issues).
|
75
75
|
|
76
76
|
For general feedback and support requests, send an email to: <sdk-support@rackspace.com>.
|
@@ -0,0 +1,47 @@
|
|
1
|
+
# Getting Started Examples
|
2
|
+
|
3
|
+
## Download
|
4
|
+
|
5
|
+
Examples using the Rackspace Open Cloud and Fog can be found in the [fog repository](https://github.com/fog/fog) under the directory `fog/lib/fog/rackspace/examples`.
|
6
|
+
|
7
|
+
This repository can be downloaded via `git` by executing the following:
|
8
|
+
|
9
|
+
git clone git://github.com/fog/fog.git
|
10
|
+
|
11
|
+
Optionally you can download a zip by clicking on this [link](https://github.com/fog/fog/archive/master.zip).
|
12
|
+
|
13
|
+
## Requirements
|
14
|
+
|
15
|
+
Examples require the following:
|
16
|
+
|
17
|
+
* Rackspace Open Cloud account
|
18
|
+
* Ruby 1.8.x or 1.9.x
|
19
|
+
* `fog` gem
|
20
|
+
|
21
|
+
For more information please refer to the [Getting Started with Fog and the Rackspace Open Cloud](https://github.com/fog/fog/blob/master/lib/fog/rackspace/docs/getting_started.md) document.
|
22
|
+
|
23
|
+
## Credentials
|
24
|
+
|
25
|
+
Examples will prompt for Rackspace Open Cloud credentials. Prompts can be skipped by creating a `.fog` file in the user's home directory. This is an example of a `.fog` file for the Rackspace Open Cloud:
|
26
|
+
|
27
|
+
default:
|
28
|
+
rackspace_username: RACKSPACE_USERNAME
|
29
|
+
rackspace_api_key: RACKSPACE_API_KEY
|
30
|
+
|
31
|
+
***Note:* Replace capitalized values with the appropriate credential information.*
|
32
|
+
|
33
|
+
## Executing
|
34
|
+
|
35
|
+
To execute scripts using `bundler`:
|
36
|
+
|
37
|
+
bundle exec ruby <script>
|
38
|
+
|
39
|
+
To execute scripts without `bundler`:
|
40
|
+
|
41
|
+
ruby <script>
|
42
|
+
|
43
|
+
## Support and Feedback
|
44
|
+
|
45
|
+
Your feedback is appreciated! If you have specific issues with the **fog** SDK, developers should file an [issue via Github](https://github.com/fog/fog/issues).
|
46
|
+
|
47
|
+
For general feedback and support requests, send an email to: <sdk-support@rackspace.com>.
|
@@ -0,0 +1,47 @@
|
|
1
|
+
# Getting Started Examples
|
2
|
+
|
3
|
+
## Download
|
4
|
+
|
5
|
+
You can find examples using the Rackspace and Fog in the [fog repository](https://github.com/fog/fog) under the `fog/lib/fog/rackspace/examples` directory.
|
6
|
+
|
7
|
+
You can download this repository by executing the following command:
|
8
|
+
|
9
|
+
git clone git://github.com/fog/fog.git
|
10
|
+
|
11
|
+
Optionally you can download a zip by clicking on this [link](https://github.com/fog/fog/archive/master.zip).
|
12
|
+
|
13
|
+
## Requirements
|
14
|
+
|
15
|
+
Examples require the following:
|
16
|
+
|
17
|
+
* Rackspace Cloud account
|
18
|
+
* Ruby 1.8.x or 1.9.x
|
19
|
+
* `fog` gem
|
20
|
+
|
21
|
+
For more information please refer to the [Getting Started with Fog and the Rackspace Cloud](https://github.com/fog/fog/blob/master/lib/fog/rackspace/docs/getting_started.md) document.
|
22
|
+
|
23
|
+
## Credentials
|
24
|
+
|
25
|
+
Examples will prompt for Rackspace Cloud credentials. You can skip prompts by creating a `.fog` file in the user's home directory. This is an example of a `.fog` file for the Rackspace Cloud:
|
26
|
+
|
27
|
+
default:
|
28
|
+
rackspace_username: RACKSPACE_USERNAME
|
29
|
+
rackspace_api_key: RACKSPACE_API_KEY
|
30
|
+
|
31
|
+
**Note:** *Replace capitalized values with the appropriate credential information.*
|
32
|
+
|
33
|
+
## Executing
|
34
|
+
|
35
|
+
To execute scripts using `bundler`:
|
36
|
+
|
37
|
+
bundle exec ruby <script>
|
38
|
+
|
39
|
+
To execute scripts without `bundler`:
|
40
|
+
|
41
|
+
ruby <script>
|
42
|
+
|
43
|
+
## Support and Feedback
|
44
|
+
|
45
|
+
Your feedback is appreciated! If you have specific issues with the **fog** SDK, you should file an [issue via Github](https://github.com/fog/fog/issues).
|
46
|
+
|
47
|
+
For general feedback and support requests, send an email to: <sdk-support@rackspace.com>.
|
@@ -0,0 +1,61 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
|
3
|
+
# This example demonstrates creating a server image with the Rackpace Open Cloud
|
4
|
+
|
5
|
+
require 'rubygems' #required for Ruby 1.8.x
|
6
|
+
require 'fog'
|
7
|
+
|
8
|
+
def get_user_input(prompt)
|
9
|
+
print "#{prompt}: "
|
10
|
+
gets.chomp
|
11
|
+
end
|
12
|
+
|
13
|
+
def select_server(servers)
|
14
|
+
abort "\nThere are not any servers avaliable to image. Try running create_server.rb\n\n" if servers.empty?
|
15
|
+
|
16
|
+
puts "\nSelect Server To Image:\n\n"
|
17
|
+
servers.each_with_index do |server, i|
|
18
|
+
puts "\t #{i}. #{server.name} [#{server.public_ip_address}]"
|
19
|
+
end
|
20
|
+
|
21
|
+
selected_str = get_user_input "\nEnter Server Number"
|
22
|
+
servers[selected_str.to_i]
|
23
|
+
end
|
24
|
+
|
25
|
+
# Use username defined in ~/.fog file, if absent prompt for username.
|
26
|
+
# For more details on ~/.fog refer to http://fog.io/about/getting_started.html
|
27
|
+
def rackspace_username
|
28
|
+
Fog.credentials[:rackspace_username] || get_user_input("Enter Rackspace Username")
|
29
|
+
end
|
30
|
+
|
31
|
+
# Use api key defined in ~/.fog file, if absent prompt for api key
|
32
|
+
# For more details on ~/.fog refer to http://fog.io/about/getting_started.html
|
33
|
+
def rackspace_api_key
|
34
|
+
Fog.credentials[:rackspace_api_key] || get_user_input("Enter Rackspace API key")
|
35
|
+
end
|
36
|
+
|
37
|
+
# create Next Generation Cloud Server service
|
38
|
+
service = Fog::Compute.new({
|
39
|
+
:provider => 'rackspace',
|
40
|
+
:rackspace_username => rackspace_username,
|
41
|
+
:rackspace_api_key => rackspace_api_key,
|
42
|
+
:version => :v2, # Use Next Gen Cloud Servers
|
43
|
+
:rackspace_endpoint => Fog::Compute::RackspaceV2::ORD_ENDPOINT #Use Chicago Region
|
44
|
+
})
|
45
|
+
|
46
|
+
# retrieve list of servers
|
47
|
+
servers = service.servers
|
48
|
+
|
49
|
+
# prompt user for server
|
50
|
+
server = select_server(servers)
|
51
|
+
|
52
|
+
# prompt user for image name
|
53
|
+
image_name = get_user_input "Enter Image Name"
|
54
|
+
|
55
|
+
# creates image for server
|
56
|
+
server.create_image image_name
|
57
|
+
|
58
|
+
puts "\nImage #{image_name} is being created for server #{server.name}.\n\n"
|
59
|
+
puts "To delete the image please execute the delete_image.rb script\n\n"
|
60
|
+
|
61
|
+
|
@@ -0,0 +1,89 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
|
3
|
+
# This example demonstrates creating a server with the Rackpace Open Cloud
|
4
|
+
|
5
|
+
require 'rubygems' #required for Ruby 1.8.x
|
6
|
+
require 'fog'
|
7
|
+
require "base64" #required to encode files for personality functionality
|
8
|
+
|
9
|
+
def get_user_input(prompt)
|
10
|
+
print "#{prompt}: "
|
11
|
+
gets.chomp
|
12
|
+
end
|
13
|
+
|
14
|
+
# Use username defined in ~/.fog file, if absent prompt for username.
|
15
|
+
# For more details on ~/.fog refer to http://fog.io/about/getting_started.html
|
16
|
+
def rackspace_username
|
17
|
+
Fog.credentials[:rackspace_username] || get_user_input("Enter Rackspace Username")
|
18
|
+
end
|
19
|
+
|
20
|
+
# Use api key defined in ~/.fog file, if absent prompt for api key
|
21
|
+
# For more details on ~/.fog refer to http://fog.io/about/getting_started.html
|
22
|
+
def rackspace_api_key
|
23
|
+
Fog.credentials[:rackspace_api_key] || get_user_input("Enter Rackspace API key")
|
24
|
+
end
|
25
|
+
|
26
|
+
# create Next Generation Cloud Server service
|
27
|
+
service = Fog::Compute.new({
|
28
|
+
:provider => 'rackspace',
|
29
|
+
:rackspace_username => rackspace_username,
|
30
|
+
:rackspace_api_key => rackspace_api_key,
|
31
|
+
:version => :v2, # Use Next Gen Cloud Servers
|
32
|
+
:rackspace_endpoint => Fog::Compute::RackspaceV2::ORD_ENDPOINT #Use Chicago Region
|
33
|
+
})
|
34
|
+
|
35
|
+
# pick the first flavor
|
36
|
+
flavor = service.flavors.first
|
37
|
+
|
38
|
+
# pick the first Ubuntu image we can find
|
39
|
+
image = service.images.find {|image| image.name =~ /Ubuntu/}
|
40
|
+
|
41
|
+
# prompt for server name
|
42
|
+
server_name = get_user_input "\nEnter Server Name"
|
43
|
+
|
44
|
+
# create server
|
45
|
+
server = service.servers.create :name => server_name,
|
46
|
+
:flavor_id => flavor.id,
|
47
|
+
:image_id => image.id,
|
48
|
+
:metadata => { 'fog_sample' => 'true'},
|
49
|
+
:personality => [{
|
50
|
+
:path => '/root/fog.txt',
|
51
|
+
:contents => Base64.encode64('Fog was here!')
|
52
|
+
}]
|
53
|
+
|
54
|
+
# reload flavor in order to retrieve all of its attributes
|
55
|
+
flavor.reload
|
56
|
+
|
57
|
+
puts "\nNow creating server '#{server.name}' the following with specifications:\n"
|
58
|
+
puts "\t* #{flavor.ram} MB RAM"
|
59
|
+
puts "\t* #{flavor.disk} GB"
|
60
|
+
puts "\t* #{flavor.vcpus} CPU(s)"
|
61
|
+
puts "\t* #{image.name}"
|
62
|
+
|
63
|
+
puts "\n"
|
64
|
+
|
65
|
+
begin
|
66
|
+
# Check every 5 seconds to see if server is in the active state (ready?).
|
67
|
+
# If the server has not been built in 5 minutes (600 seconds) an exception will be raised.
|
68
|
+
server.wait_for(600, 5) do
|
69
|
+
print "."
|
70
|
+
STDOUT.flush
|
71
|
+
ready?
|
72
|
+
end
|
73
|
+
|
74
|
+
puts "[DONE]\n\n"
|
75
|
+
|
76
|
+
puts "The server has been successfully created, to login onto the server:\n\n"
|
77
|
+
puts "\t ssh #{server.username}@#{server.public_ip_address}\n\n"
|
78
|
+
|
79
|
+
rescue Fog::Errors::TimeoutError
|
80
|
+
puts "[TIMEOUT]\n\n"
|
81
|
+
|
82
|
+
puts "This server is currently #{server.progress}% into the build process and is taking longer to complete than expected."
|
83
|
+
puts "You can continute to monitor the build process through the web console at https://mycloud.rackspace.com/\n\n"
|
84
|
+
end
|
85
|
+
|
86
|
+
puts "The #{server.username} password is #{server.password}\n\n"
|
87
|
+
puts "To delete the server please execute the delete_server.rb script\n\n"
|
88
|
+
|
89
|
+
|
@@ -0,0 +1,61 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
|
3
|
+
# This example demonstrates deleting a server image with the Rackpace Open Cloud
|
4
|
+
|
5
|
+
require 'rubygems' #required for Ruby 1.8.x
|
6
|
+
require 'fog'
|
7
|
+
|
8
|
+
def get_user_input(prompt)
|
9
|
+
print "#{prompt}: "
|
10
|
+
gets.chomp
|
11
|
+
end
|
12
|
+
|
13
|
+
def select_image(snapshot_images)
|
14
|
+
abort "\nThere are not any images to delete. Try running create_image.rb\n\n" if snapshot_images.empty?
|
15
|
+
|
16
|
+
puts "\nSelect Image To Delete:\n\n"
|
17
|
+
snapshot_images.each_with_index do |image, i|
|
18
|
+
puts "\t #{i}. #{image.name}"
|
19
|
+
end
|
20
|
+
|
21
|
+
delete_str = get_user_input "\nEnter Image Number"
|
22
|
+
snapshot_images[delete_str.to_i]
|
23
|
+
end
|
24
|
+
|
25
|
+
# Use username defined in ~/.fog file, if absent prompt for username.
|
26
|
+
# For more details on ~/.fog refer to http://fog.io/about/getting_started.html
|
27
|
+
def rackspace_username
|
28
|
+
Fog.credentials[:rackspace_username] || get_user_input("Enter Rackspace Username")
|
29
|
+
end
|
30
|
+
|
31
|
+
# Use api key defined in ~/.fog file, if absent prompt for api key
|
32
|
+
# For more details on ~/.fog refer to http://fog.io/about/getting_started.html
|
33
|
+
def rackspace_api_key
|
34
|
+
Fog.credentials[:rackspace_api_key] || get_user_input("Enter Rackspace API key")
|
35
|
+
end
|
36
|
+
|
37
|
+
# create Next Generation Cloud Server service
|
38
|
+
service = Fog::Compute.new({
|
39
|
+
:provider => 'rackspace',
|
40
|
+
:rackspace_username => rackspace_username,
|
41
|
+
:rackspace_api_key => rackspace_api_key,
|
42
|
+
:version => :v2, # Use Next Gen Cloud Servers
|
43
|
+
:rackspace_endpoint => Fog::Compute::RackspaceV2::ORD_ENDPOINT #Use Chicago Region
|
44
|
+
})
|
45
|
+
|
46
|
+
# retrieve list of images
|
47
|
+
images = service.images
|
48
|
+
|
49
|
+
# select all of the snapshot type images. base images are not user deletable
|
50
|
+
snapshot_images = images.select do |image|
|
51
|
+
image.metadata["image_type"] == "snapshot"
|
52
|
+
end
|
53
|
+
|
54
|
+
# prompt user for image to delete
|
55
|
+
image = select_image(snapshot_images)
|
56
|
+
|
57
|
+
# delete image
|
58
|
+
image.destroy
|
59
|
+
|
60
|
+
puts "\n#{image.name} has been destroyed\n\n"
|
61
|
+
|
@@ -0,0 +1,56 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
|
3
|
+
# This example demonstrates how to delete servers with Fog and the Rackspace Open Cloud
|
4
|
+
|
5
|
+
require 'rubygems' #required for Ruby 1.8.x
|
6
|
+
require 'fog'
|
7
|
+
|
8
|
+
def get_user_input(prompt)
|
9
|
+
print "#{prompt}: "
|
10
|
+
gets.chomp
|
11
|
+
end
|
12
|
+
|
13
|
+
def select_server(servers)
|
14
|
+
abort "\nThere are not any servers to delete. Try running create_server.rb\n\n" if servers.empty?
|
15
|
+
|
16
|
+
puts "\nSelect Server To Delete:\n\n"
|
17
|
+
servers.each_with_index do |server, i|
|
18
|
+
puts "\t #{i}. #{server.name} [#{server.public_ip_address}]"
|
19
|
+
end
|
20
|
+
|
21
|
+
delete_str = get_user_input "\nEnter Server Number"
|
22
|
+
servers[delete_str.to_i]
|
23
|
+
end
|
24
|
+
|
25
|
+
# Use username defined in ~/.fog file, if absent prompt for username.
|
26
|
+
# For more details on ~/.fog refer to http://fog.io/about/getting_started.html
|
27
|
+
def rackspace_username
|
28
|
+
Fog.credentials[:rackspace_username] || get_user_input("Enter Rackspace Username")
|
29
|
+
end
|
30
|
+
|
31
|
+
# Use api key defined in ~/.fog file, if absent prompt for api key
|
32
|
+
# For more details on ~/.fog refer to http://fog.io/about/getting_started.html
|
33
|
+
def rackspace_api_key
|
34
|
+
Fog.credentials[:rackspace_api_key] || get_user_input("Enter Rackspace API key")
|
35
|
+
end
|
36
|
+
|
37
|
+
#create Next Generation Cloud Server service
|
38
|
+
service = Fog::Compute.new({
|
39
|
+
:provider => 'rackspace',
|
40
|
+
:rackspace_username => rackspace_username,
|
41
|
+
:rackspace_api_key => rackspace_api_key,
|
42
|
+
:version => :v2, # Use Next Gen Cloud Servers
|
43
|
+
:rackspace_endpoint => Fog::Compute::RackspaceV2::ORD_ENDPOINT #Use Chicago Region
|
44
|
+
})
|
45
|
+
|
46
|
+
#retrieve list of servers
|
47
|
+
servers = service.servers
|
48
|
+
|
49
|
+
#prompt user for server
|
50
|
+
server = select_server(servers)
|
51
|
+
|
52
|
+
#destroy server
|
53
|
+
server.destroy
|
54
|
+
|
55
|
+
puts "\nServer #{server.name} has been destroyed\n"
|
56
|
+
|
@@ -0,0 +1,93 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
|
3
|
+
# This example demonstrates working with server and volumes on the Rackpace Open Cloud
|
4
|
+
|
5
|
+
require 'rubygems' #required for Ruby 1.8.x
|
6
|
+
require 'fog'
|
7
|
+
|
8
|
+
def get_user_input(prompt)
|
9
|
+
print "#{prompt}: "
|
10
|
+
gets.chomp
|
11
|
+
end
|
12
|
+
|
13
|
+
def select_server(servers)
|
14
|
+
abort "\nThere are not any servers. Try running create_server.rb\n\n" if servers.empty?
|
15
|
+
|
16
|
+
puts "\nSelect Server For Volume Detachment:\n\n"
|
17
|
+
servers.each_with_index do |server, i|
|
18
|
+
puts "\t #{i}. #{server.name} [#{server.public_ip_address}]"
|
19
|
+
end
|
20
|
+
|
21
|
+
delete_str = get_user_input "\nEnter Server Number"
|
22
|
+
servers[delete_str.to_i]
|
23
|
+
end
|
24
|
+
|
25
|
+
def select_attachment(attachments)
|
26
|
+
abort "\nThis server does not contain any volumes. Try running server_attachments.rb\n\n" if attachments.empty?
|
27
|
+
|
28
|
+
puts "\nSelect Volume To Detach:\n\n"
|
29
|
+
attachments.each_with_index do |attachment, i|
|
30
|
+
puts "\t #{i}. #{attachment.device}"
|
31
|
+
end
|
32
|
+
|
33
|
+
delete_str = get_user_input "\nEnter Volume Number"
|
34
|
+
attachments[delete_str.to_i]
|
35
|
+
end
|
36
|
+
|
37
|
+
# Use username defined in ~/.fog file, if absent prompt for username.
|
38
|
+
# For more details on ~/.fog refer to http://fog.io/about/getting_started.html
|
39
|
+
def rackspace_username
|
40
|
+
Fog.credentials[:rackspace_username] || get_user_input("Enter Rackspace Username")
|
41
|
+
end
|
42
|
+
|
43
|
+
# Use api key defined in ~/.fog file, if absent prompt for api key
|
44
|
+
# For more details on ~/.fog refer to http://fog.io/about/getting_started.html
|
45
|
+
def rackspace_api_key
|
46
|
+
Fog.credentials[:rackspace_api_key] || get_user_input("Enter Rackspace API key")
|
47
|
+
end
|
48
|
+
|
49
|
+
#create Next Generation Cloud Server service
|
50
|
+
compute_service = Fog::Compute.new({
|
51
|
+
:provider => 'rackspace',
|
52
|
+
:rackspace_username => rackspace_username,
|
53
|
+
:rackspace_api_key => rackspace_api_key,
|
54
|
+
:version => :v2, # Use Next Gen Cloud Servers
|
55
|
+
:rackspace_endpoint => Fog::Compute::RackspaceV2::ORD_ENDPOINT #Use Chicago Region
|
56
|
+
})
|
57
|
+
|
58
|
+
cbs_service = Fog::Rackspace::BlockStorage.new({
|
59
|
+
:rackspace_username => rackspace_username,
|
60
|
+
:rackspace_api_key => rackspace_api_key,
|
61
|
+
:rackspace_endpoint => Fog::Rackspace::BlockStorage::ORD_ENDPOINT #Use Chicago Region
|
62
|
+
})
|
63
|
+
|
64
|
+
# retrieve list of servers
|
65
|
+
servers = compute_service.servers
|
66
|
+
|
67
|
+
# prompt user for server
|
68
|
+
server = select_server(servers)
|
69
|
+
|
70
|
+
# get attached volumes --also know as attachments
|
71
|
+
attachments = server.attachments
|
72
|
+
|
73
|
+
# prompt user for volume to detach
|
74
|
+
attachment = select_attachment(attachments)
|
75
|
+
|
76
|
+
volume = cbs_service.volumes.get attachment.volume_id
|
77
|
+
puts "Detaching Volume #{volume.display_name} From Server #{server.name}"
|
78
|
+
attachment.detach
|
79
|
+
|
80
|
+
puts "\n"
|
81
|
+
delete_confirm = get_user_input "Would You Like To Destroy Volume #{volume.display_name} (y/n)"
|
82
|
+
if delete_confirm.downcase == 'y'
|
83
|
+
# wait for server to finish detaching before attempting to delete
|
84
|
+
volume.wait_for(600) do
|
85
|
+
print "."
|
86
|
+
STDOUT.flush
|
87
|
+
ready? && attachments.empty?
|
88
|
+
end
|
89
|
+
|
90
|
+
volume.destroy
|
91
|
+
|
92
|
+
puts "\n\nThe Volume Has been Destroyed"
|
93
|
+
end
|