fog-maestrodev 1.7.0.20121114190951 → 1.8.0.20130109172219
Sign up to get free protection for your applications and to get access to all the features.
- data/.gitignore +2 -2
- data/README.md +48 -37
- data/RELEASE.md +39 -0
- data/Rakefile +48 -312
- data/bin/fog +4 -0
- data/changelog.txt +153 -0
- data/docs/storage/aws.markdown +21 -0
- data/fog.gemspec +3 -3
- data/lib/fog.rb +0 -5
- data/lib/fog/atmos/models/storage/directories.rb +2 -2
- data/lib/fog/atmos/models/storage/directory.rb +11 -11
- data/lib/fog/atmos/models/storage/file.rb +8 -8
- data/lib/fog/atmos/models/storage/files.rb +3 -3
- data/lib/fog/aws.rb +1 -0
- data/lib/fog/aws/auto_scaling.rb +1 -1
- data/lib/fog/aws/cloud_watch.rb +1 -1
- data/lib/fog/aws/compute.rb +4 -2
- data/lib/fog/aws/dynamodb.rb +30 -64
- data/lib/fog/aws/elb.rb +1 -1
- data/lib/fog/aws/glacier.rb +1 -1
- data/lib/fog/aws/iam.rb +1 -0
- data/lib/fog/aws/models/auto_scaling/activities.rb +2 -2
- data/lib/fog/aws/models/auto_scaling/activity.rb +1 -1
- data/lib/fog/aws/models/auto_scaling/configuration.rb +2 -2
- data/lib/fog/aws/models/auto_scaling/configurations.rb +2 -2
- data/lib/fog/aws/models/auto_scaling/group.rb +13 -13
- data/lib/fog/aws/models/auto_scaling/groups.rb +2 -2
- data/lib/fog/aws/models/auto_scaling/instance.rb +5 -5
- data/lib/fog/aws/models/auto_scaling/instances.rb +2 -2
- data/lib/fog/aws/models/auto_scaling/policies.rb +2 -2
- data/lib/fog/aws/models/auto_scaling/policy.rb +2 -2
- data/lib/fog/aws/models/beanstalk/application.rb +7 -7
- data/lib/fog/aws/models/beanstalk/applications.rb +2 -2
- data/lib/fog/aws/models/beanstalk/environment.rb +10 -10
- data/lib/fog/aws/models/beanstalk/environments.rb +2 -2
- data/lib/fog/aws/models/beanstalk/events.rb +1 -1
- data/lib/fog/aws/models/beanstalk/template.rb +5 -5
- data/lib/fog/aws/models/beanstalk/templates.rb +3 -3
- data/lib/fog/aws/models/beanstalk/version.rb +6 -6
- data/lib/fog/aws/models/beanstalk/versions.rb +2 -2
- data/lib/fog/aws/models/cdn/distribution.rb +4 -4
- data/lib/fog/aws/models/cdn/distributions.rb +2 -2
- data/lib/fog/aws/models/cdn/invalidation.rb +2 -2
- data/lib/fog/aws/models/cdn/invalidations.rb +2 -2
- data/lib/fog/aws/models/cdn/streaming_distribution.rb +3 -3
- data/lib/fog/aws/models/cdn/streaming_distributions.rb +2 -2
- data/lib/fog/aws/models/cloud_watch/alarm.rb +2 -2
- data/lib/fog/aws/models/cloud_watch/alarm_data.rb +9 -9
- data/lib/fog/aws/models/cloud_watch/alarm_datum.rb +3 -3
- data/lib/fog/aws/models/cloud_watch/alarm_histories.rb +1 -1
- data/lib/fog/aws/models/cloud_watch/alarms.rb +7 -7
- data/lib/fog/aws/models/cloud_watch/metric_statistic.rb +2 -2
- data/lib/fog/aws/models/cloud_watch/metric_statistics.rb +3 -3
- data/lib/fog/aws/models/cloud_watch/metrics.rb +27 -7
- data/lib/fog/aws/models/compute/address.rb +9 -9
- data/lib/fog/aws/models/compute/addresses.rb +2 -2
- data/lib/fog/aws/models/compute/dhcp_option.rb +3 -3
- data/lib/fog/aws/models/compute/dhcp_options.rb +2 -2
- data/lib/fog/aws/models/compute/flavors.rb +1 -1
- data/lib/fog/aws/models/compute/image.rb +2 -2
- data/lib/fog/aws/models/compute/images.rb +5 -5
- data/lib/fog/aws/models/compute/internet_gateway.rb +4 -4
- data/lib/fog/aws/models/compute/internet_gateways.rb +2 -2
- data/lib/fog/aws/models/compute/key_pair.rb +4 -4
- data/lib/fog/aws/models/compute/key_pairs.rb +2 -2
- data/lib/fog/aws/models/compute/network_interface.rb +3 -3
- data/lib/fog/aws/models/compute/network_interfaces.rb +2 -2
- data/lib/fog/aws/models/compute/security_group.rb +7 -7
- data/lib/fog/aws/models/compute/security_groups.rb +3 -3
- data/lib/fog/aws/models/compute/server.rb +22 -16
- data/lib/fog/aws/models/compute/servers.rb +6 -6
- data/lib/fog/aws/models/compute/snapshot.rb +4 -4
- data/lib/fog/aws/models/compute/snapshots.rb +3 -3
- data/lib/fog/aws/models/compute/spot_request.rb +18 -8
- data/lib/fog/aws/models/compute/spot_requests.rb +11 -11
- data/lib/fog/aws/models/compute/subnet.rb +3 -3
- data/lib/fog/aws/models/compute/subnets.rb +2 -2
- data/lib/fog/aws/models/compute/tag.rb +2 -2
- data/lib/fog/aws/models/compute/tags.rb +3 -3
- data/lib/fog/aws/models/compute/volume.rb +12 -13
- data/lib/fog/aws/models/compute/volumes.rb +2 -2
- data/lib/fog/aws/models/compute/vpc.rb +2 -2
- data/lib/fog/aws/models/compute/vpcs.rb +2 -2
- data/lib/fog/aws/models/dns/record.rb +4 -4
- data/lib/fog/aws/models/dns/records.rb +3 -3
- data/lib/fog/aws/models/dns/zone.rb +3 -3
- data/lib/fog/aws/models/dns/zones.rb +2 -2
- data/lib/fog/aws/models/elasticache/cluster.rb +2 -2
- data/lib/fog/aws/models/elasticache/clusters.rb +2 -2
- data/lib/fog/aws/models/elasticache/parameter_group.rb +2 -2
- data/lib/fog/aws/models/elasticache/parameter_groups.rb +2 -2
- data/lib/fog/aws/models/elasticache/security_group.rb +4 -4
- data/lib/fog/aws/models/elasticache/security_groups.rb +2 -2
- data/lib/fog/aws/models/elb/listener.rb +2 -2
- data/lib/fog/aws/models/elb/load_balancer.rb +19 -19
- data/lib/fog/aws/models/elb/load_balancers.rb +2 -2
- data/lib/fog/aws/models/elb/policy.rb +3 -3
- data/lib/fog/aws/models/glacier/archive.rb +7 -7
- data/lib/fog/aws/models/glacier/job.rb +2 -2
- data/lib/fog/aws/models/glacier/jobs.rb +3 -3
- data/lib/fog/aws/models/glacier/vault.rb +7 -7
- data/lib/fog/aws/models/glacier/vaults.rb +2 -2
- data/lib/fog/aws/models/iam/access_key.rb +8 -8
- data/lib/fog/aws/models/iam/access_keys.rb +7 -7
- data/lib/fog/aws/models/iam/policies.rb +10 -10
- data/lib/fog/aws/models/iam/policy.rb +8 -8
- data/lib/fog/aws/models/iam/user.rb +10 -10
- data/lib/fog/aws/models/iam/users.rb +2 -2
- data/lib/fog/aws/models/rds/parameter.rb +2 -2
- data/lib/fog/aws/models/rds/parameter_group.rb +10 -10
- data/lib/fog/aws/models/rds/parameter_groups.rb +3 -3
- data/lib/fog/aws/models/rds/parameters.rb +2 -2
- data/lib/fog/aws/models/rds/security_group.rb +4 -4
- data/lib/fog/aws/models/rds/security_groups.rb +2 -2
- data/lib/fog/aws/models/rds/server.rb +10 -10
- data/lib/fog/aws/models/rds/servers.rb +3 -3
- data/lib/fog/aws/models/rds/snapshot.rb +3 -3
- data/lib/fog/aws/models/rds/snapshots.rb +3 -3
- data/lib/fog/aws/models/rds/subnet_groups.rb +2 -2
- data/lib/fog/aws/models/storage/directories.rb +2 -2
- data/lib/fog/aws/models/storage/directory.rb +13 -13
- data/lib/fog/aws/models/storage/file.rb +106 -14
- data/lib/fog/aws/models/storage/files.rb +5 -5
- data/lib/fog/aws/models/storage/version.rb +2 -2
- data/lib/fog/aws/models/storage/versions.rb +3 -3
- data/lib/fog/aws/parsers/compute/copy_snapshot.rb +22 -0
- data/lib/fog/aws/parsers/compute/describe_instances.rb +3 -1
- data/lib/fog/aws/parsers/compute/describe_reserved_instances_offerings.rb +1 -1
- data/lib/fog/aws/parsers/compute/spot_instance_requests.rb +5 -3
- data/lib/fog/aws/parsers/storage/cors_configuration.rb +41 -0
- data/lib/fog/aws/parsers/storage/delete_multiple_objects.rb +50 -0
- data/lib/fog/aws/rds.rb +2 -2
- data/lib/fog/aws/requests/auto_scaling/resume_processes.rb +10 -1
- data/lib/fog/aws/requests/auto_scaling/suspend_processes.rb +7 -2
- data/lib/fog/aws/requests/cloud_watch/list_metrics.rb +27 -0
- data/lib/fog/aws/requests/compute/copy_snapshot.rb +58 -0
- data/lib/fog/aws/requests/compute/describe_availability_zones.rb +3 -0
- data/lib/fog/aws/requests/compute/describe_reserved_instances_offerings.rb +11 -8
- data/lib/fog/aws/requests/compute/modify_volume_attribute.rb +51 -0
- data/lib/fog/aws/requests/dns/change_resource_record_sets.rb +1 -0
- data/lib/fog/aws/requests/storage/abort_multipart_upload.rb +5 -7
- data/lib/fog/aws/requests/storage/complete_multipart_upload.rb +12 -16
- data/lib/fog/aws/requests/storage/copy_object.rb +19 -20
- data/lib/fog/aws/requests/storage/cors_utils.rb +41 -0
- data/lib/fog/aws/requests/storage/delete_bucket.rb +4 -7
- data/lib/fog/aws/requests/storage/delete_bucket_cors.rb +29 -0
- data/lib/fog/aws/requests/storage/delete_bucket_lifecycle.rb +4 -7
- data/lib/fog/aws/requests/storage/delete_bucket_policy.rb +5 -8
- data/lib/fog/aws/requests/storage/delete_bucket_website.rb +4 -7
- data/lib/fog/aws/requests/storage/delete_multiple_objects.rb +167 -0
- data/lib/fog/aws/requests/storage/delete_object.rb +5 -8
- data/lib/fog/aws/requests/storage/get_bucket.rb +25 -28
- data/lib/fog/aws/requests/storage/get_bucket_acl.rb +15 -18
- data/lib/fog/aws/requests/storage/get_bucket_cors.rb +65 -0
- data/lib/fog/aws/requests/storage/get_bucket_lifecycle.rb +9 -12
- data/lib/fog/aws/requests/storage/get_bucket_location.rb +5 -8
- data/lib/fog/aws/requests/storage/get_bucket_logging.rb +15 -18
- data/lib/fog/aws/requests/storage/get_bucket_object_versions.rb +37 -43
- data/lib/fog/aws/requests/storage/get_bucket_policy.rb +4 -7
- data/lib/fog/aws/requests/storage/get_bucket_versioning.rb +6 -9
- data/lib/fog/aws/requests/storage/get_bucket_website.rb +9 -11
- data/lib/fog/aws/requests/storage/get_object.rb +17 -20
- data/lib/fog/aws/requests/storage/get_object_acl.rb +18 -21
- data/lib/fog/aws/requests/storage/get_object_http_url.rb +6 -9
- data/lib/fog/aws/requests/storage/get_object_https_url.rb +6 -9
- data/lib/fog/aws/requests/storage/get_object_torrent.rb +15 -18
- data/lib/fog/aws/requests/storage/get_object_url.rb +7 -10
- data/lib/fog/aws/requests/storage/get_request_payment.rb +5 -8
- data/lib/fog/aws/requests/storage/get_service.rb +9 -11
- data/lib/fog/aws/requests/storage/head_object.rb +21 -21
- data/lib/fog/aws/requests/storage/initiate_multipart_upload.rb +18 -19
- data/lib/fog/aws/requests/storage/put_bucket_cors.rb +51 -0
- data/lib/fog/aws/signaturev4.rb +1 -1
- data/lib/fog/aws/sqs.rb +1 -1
- data/lib/fog/aws/storage.rb +10 -1
- data/lib/fog/bluebox/models/compute/flavors.rb +2 -2
- data/lib/fog/bluebox/models/compute/image.rb +8 -8
- data/lib/fog/bluebox/models/compute/images.rb +2 -2
- data/lib/fog/bluebox/models/compute/locations.rb +2 -2
- data/lib/fog/bluebox/models/compute/server.rb +10 -10
- data/lib/fog/bluebox/models/compute/servers.rb +2 -2
- data/lib/fog/bluebox/models/dns/record.rb +3 -3
- data/lib/fog/bluebox/models/dns/records.rb +2 -2
- data/lib/fog/bluebox/models/dns/zone.rb +3 -3
- data/lib/fog/bluebox/models/dns/zones.rb +2 -2
- data/lib/fog/bluebox/requests/compute/create_block.rb +3 -5
- data/lib/fog/brightbox/compute.rb +284 -82
- data/lib/fog/brightbox/models/compute/account.rb +9 -3
- data/lib/fog/brightbox/models/compute/accounts.rb +3 -3
- data/lib/fog/brightbox/models/compute/api_client.rb +4 -4
- data/lib/fog/brightbox/models/compute/api_clients.rb +2 -2
- data/lib/fog/brightbox/models/compute/application.rb +2 -2
- data/lib/fog/brightbox/models/compute/applications.rb +3 -3
- data/lib/fog/brightbox/models/compute/cloud_ip.rb +4 -3
- data/lib/fog/brightbox/models/compute/cloud_ips.rb +4 -4
- data/lib/fog/brightbox/models/compute/firewall_policies.rb +3 -3
- data/lib/fog/brightbox/models/compute/firewall_policy.rb +5 -5
- data/lib/fog/brightbox/models/compute/firewall_rule.rb +3 -3
- data/lib/fog/brightbox/models/compute/firewall_rules.rb +2 -2
- data/lib/fog/brightbox/models/compute/flavors.rb +3 -3
- data/lib/fog/brightbox/models/compute/image.rb +3 -3
- data/lib/fog/brightbox/models/compute/images.rb +2 -2
- data/lib/fog/brightbox/models/compute/load_balancer.rb +3 -3
- data/lib/fog/brightbox/models/compute/load_balancers.rb +2 -2
- data/lib/fog/brightbox/models/compute/server.rb +25 -18
- data/lib/fog/brightbox/models/compute/server_group.rb +6 -6
- data/lib/fog/brightbox/models/compute/server_groups.rb +3 -3
- data/lib/fog/brightbox/models/compute/servers.rb +35 -3
- data/lib/fog/brightbox/models/compute/user.rb +1 -1
- data/lib/fog/brightbox/models/compute/users.rb +3 -3
- data/lib/fog/brightbox/models/compute/zones.rb +3 -3
- data/lib/fog/brightbox/oauth2.rb +164 -0
- data/lib/fog/brightbox/requests/compute/activate_console_server.rb +10 -3
- data/lib/fog/brightbox/requests/compute/add_listeners_load_balancer.rb +12 -3
- data/lib/fog/brightbox/requests/compute/add_nodes_load_balancer.rb +12 -3
- data/lib/fog/brightbox/requests/compute/add_servers_server_group.rb +10 -12
- data/lib/fog/brightbox/requests/compute/apply_to_firewall_policy.rb +12 -3
- data/lib/fog/brightbox/requests/compute/create_api_client.rb +12 -3
- data/lib/fog/brightbox/requests/compute/create_application.rb +12 -3
- data/lib/fog/brightbox/requests/compute/create_cloud_ip.rb +12 -2
- data/lib/fog/brightbox/requests/compute/create_firewall_policy.rb +14 -3
- data/lib/fog/brightbox/requests/compute/create_firewall_rule.rb +18 -3
- data/lib/fog/brightbox/requests/compute/create_image.rb +19 -3
- data/lib/fog/brightbox/requests/compute/create_load_balancer.rb +15 -3
- data/lib/fog/brightbox/requests/compute/create_server.rb +18 -3
- data/lib/fog/brightbox/requests/compute/create_server_group.rb +12 -3
- data/lib/fog/brightbox/requests/compute/destroy_api_client.rb +10 -3
- data/lib/fog/brightbox/requests/compute/destroy_application.rb +10 -3
- data/lib/fog/brightbox/requests/compute/destroy_cloud_ip.rb +10 -3
- data/lib/fog/brightbox/requests/compute/destroy_firewall_policy.rb +10 -3
- data/lib/fog/brightbox/requests/compute/destroy_firewall_rule.rb +10 -3
- data/lib/fog/brightbox/requests/compute/destroy_image.rb +10 -3
- data/lib/fog/brightbox/requests/compute/destroy_load_balancer.rb +10 -3
- data/lib/fog/brightbox/requests/compute/destroy_server.rb +10 -3
- data/lib/fog/brightbox/requests/compute/destroy_server_group.rb +10 -3
- data/lib/fog/brightbox/requests/compute/get_account.rb +8 -16
- data/lib/fog/brightbox/requests/compute/get_api_client.rb +10 -3
- data/lib/fog/brightbox/requests/compute/get_application.rb +10 -3
- data/lib/fog/brightbox/requests/compute/get_authenticated_user.rb +2 -4
- data/lib/fog/brightbox/requests/compute/get_cloud_ip.rb +10 -3
- data/lib/fog/brightbox/requests/compute/get_firewall_policy.rb +10 -3
- data/lib/fog/brightbox/requests/compute/get_firewall_rule.rb +10 -3
- data/lib/fog/brightbox/requests/compute/get_image.rb +10 -3
- data/lib/fog/brightbox/requests/compute/get_interface.rb +10 -3
- data/lib/fog/brightbox/requests/compute/get_load_balancer.rb +10 -3
- data/lib/fog/brightbox/requests/compute/get_scoped_account.rb +2 -6
- data/lib/fog/brightbox/requests/compute/get_server.rb +10 -3
- data/lib/fog/brightbox/requests/compute/get_server_group.rb +10 -3
- data/lib/fog/brightbox/requests/compute/get_server_type.rb +10 -3
- data/lib/fog/brightbox/requests/compute/get_user.rb +8 -16
- data/lib/fog/brightbox/requests/compute/get_zone.rb +10 -3
- data/lib/fog/brightbox/requests/compute/list_accounts.rb +7 -3
- data/lib/fog/brightbox/requests/compute/list_api_clients.rb +9 -3
- data/lib/fog/brightbox/requests/compute/list_applications.rb +9 -3
- data/lib/fog/brightbox/requests/compute/list_cloud_ips.rb +9 -3
- data/lib/fog/brightbox/requests/compute/list_firewall_policies.rb +9 -3
- data/lib/fog/brightbox/requests/compute/list_images.rb +9 -3
- data/lib/fog/brightbox/requests/compute/list_load_balancers.rb +9 -3
- data/lib/fog/brightbox/requests/compute/list_server_groups.rb +9 -3
- data/lib/fog/brightbox/requests/compute/list_server_types.rb +9 -3
- data/lib/fog/brightbox/requests/compute/list_servers.rb +9 -3
- data/lib/fog/brightbox/requests/compute/list_users.rb +9 -3
- data/lib/fog/brightbox/requests/compute/list_zones.rb +9 -3
- data/lib/fog/brightbox/requests/compute/map_cloud_ip.rb +12 -3
- data/lib/fog/brightbox/requests/compute/move_servers_server_group.rb +11 -13
- data/lib/fog/brightbox/requests/compute/remove_firewall_policy.rb +12 -3
- data/lib/fog/brightbox/requests/compute/remove_listeners_load_balancer.rb +12 -3
- data/lib/fog/brightbox/requests/compute/remove_nodes_load_balancer.rb +12 -3
- data/lib/fog/brightbox/requests/compute/remove_servers_server_group.rb +10 -11
- data/lib/fog/brightbox/requests/compute/reset_ftp_password_account.rb +22 -3
- data/lib/fog/brightbox/requests/compute/reset_ftp_password_scoped_account.rb +18 -0
- data/lib/fog/brightbox/requests/compute/reset_secret_api_client.rb +14 -2
- data/lib/fog/brightbox/requests/compute/reset_secret_application.rb +10 -3
- data/lib/fog/brightbox/requests/compute/shutdown_server.rb +10 -3
- data/lib/fog/brightbox/requests/compute/snapshot_server.rb +10 -3
- data/lib/fog/brightbox/requests/compute/start_server.rb +10 -3
- data/lib/fog/brightbox/requests/compute/stop_server.rb +10 -3
- data/lib/fog/brightbox/requests/compute/unmap_cloud_ip.rb +10 -3
- data/lib/fog/brightbox/requests/compute/update_account.rb +33 -35
- data/lib/fog/brightbox/requests/compute/update_api_client.rb +13 -3
- data/lib/fog/brightbox/requests/compute/update_application.rb +13 -3
- data/lib/fog/brightbox/requests/compute/update_cloud_ip.rb +14 -3
- data/lib/fog/brightbox/requests/compute/update_firewall_rule.rb +17 -2
- data/lib/fog/brightbox/requests/compute/update_image.rb +18 -3
- data/lib/fog/brightbox/requests/compute/update_load_balancer.rb +16 -3
- data/lib/fog/brightbox/requests/compute/update_scoped_account.rb +13 -20
- data/lib/fog/brightbox/requests/compute/update_server.rb +13 -3
- data/lib/fog/brightbox/requests/compute/update_server_group.rb +13 -3
- data/lib/fog/brightbox/requests/compute/update_user.rb +16 -3
- data/lib/fog/clodo/models/compute/images.rb +2 -2
- data/lib/fog/clodo/models/compute/server.rb +7 -7
- data/lib/fog/clodo/models/compute/servers.rb +2 -2
- data/lib/fog/cloudstack/models/compute/flavors.rb +2 -2
- data/lib/fog/cloudstack/models/compute/image.rb +2 -2
- data/lib/fog/cloudstack/models/compute/images.rb +2 -2
- data/lib/fog/cloudstack/models/compute/job.rb +2 -2
- data/lib/fog/cloudstack/models/compute/jobs.rb +2 -2
- data/lib/fog/cloudstack/models/compute/security_group.rb +3 -3
- data/lib/fog/cloudstack/models/compute/security_group_rule.rb +5 -5
- data/lib/fog/cloudstack/models/compute/security_group_rules.rb +1 -1
- data/lib/fog/cloudstack/models/compute/security_groups.rb +2 -2
- data/lib/fog/cloudstack/models/compute/server.rb +14 -12
- data/lib/fog/cloudstack/models/compute/servers.rb +2 -2
- data/lib/fog/cloudstack/models/compute/volume.rb +8 -8
- data/lib/fog/cloudstack/models/compute/volumes.rb +2 -2
- data/lib/fog/cloudstack/models/compute/zone.rb +1 -1
- data/lib/fog/cloudstack/models/compute/zones.rb +2 -2
- data/lib/fog/compute.rb +2 -1
- data/lib/fog/core.rb +1 -0
- data/lib/fog/core/attributes.rb +19 -2
- data/lib/fog/core/collection.rb +17 -6
- data/lib/fog/core/connection.rb +1 -0
- data/lib/fog/core/deprecated_connection_accessors.rb +41 -0
- data/lib/fog/core/errors.rb +2 -0
- data/lib/fog/core/json.rb +4 -16
- data/lib/fog/core/model.rb +11 -1
- data/lib/fog/core/service.rb +1 -1
- data/lib/fog/core/wait_for.rb +1 -1
- data/lib/fog/dnsimple/models/dns/record.rb +4 -4
- data/lib/fog/dnsimple/models/dns/records.rb +2 -2
- data/lib/fog/dnsimple/models/dns/zone.rb +3 -3
- data/lib/fog/dnsimple/models/dns/zones.rb +2 -2
- data/lib/fog/dnsmadeeasy/models/dns/record.rb +5 -5
- data/lib/fog/dnsmadeeasy/models/dns/records.rb +2 -2
- data/lib/fog/dnsmadeeasy/models/dns/zone.rb +3 -3
- data/lib/fog/dnsmadeeasy/models/dns/zones.rb +2 -2
- data/lib/fog/dynect/models/dns/record.rb +3 -3
- data/lib/fog/dynect/models/dns/records.rb +2 -2
- data/lib/fog/dynect/models/dns/zone.rb +4 -4
- data/lib/fog/dynect/models/dns/zones.rb +2 -2
- data/lib/fog/ecloud.rb +19 -5
- data/lib/fog/ecloud/compute.rb +663 -351
- data/lib/fog/ecloud/generate_collection.rb +3 -3
- data/lib/fog/ecloud/models/compute/admin_organization.rb +14 -10
- data/lib/fog/ecloud/models/compute/admin_organizations.rb +1 -6
- data/lib/fog/ecloud/models/compute/api_keys.rb +2 -2
- data/lib/fog/ecloud/models/compute/association.rb +3 -3
- data/lib/fog/ecloud/models/compute/associations.rb +2 -2
- data/lib/fog/ecloud/models/compute/authentication_levels.rb +2 -2
- data/lib/fog/ecloud/models/compute/backup_internet_service.rb +7 -7
- data/lib/fog/ecloud/models/compute/backup_internet_services.rb +3 -3
- data/lib/fog/ecloud/models/compute/catalog.rb +2 -2
- data/lib/fog/ecloud/models/compute/catalog_configurations.rb +2 -2
- data/lib/fog/ecloud/models/compute/catalog_item.rb +1 -1
- data/lib/fog/ecloud/models/compute/compute_pool.rb +27 -15
- data/lib/fog/ecloud/models/compute/compute_pools.rb +2 -2
- data/lib/fog/ecloud/models/compute/cpu_usage_detail_summary.rb +2 -2
- data/lib/fog/ecloud/models/compute/detached_disk.rb +27 -0
- data/lib/fog/ecloud/models/compute/detached_disks.rb +31 -0
- data/lib/fog/ecloud/models/compute/environment.rb +27 -20
- data/lib/fog/ecloud/models/compute/environments.rb +2 -2
- data/lib/fog/ecloud/models/compute/firewall_acl.rb +1 -1
- data/lib/fog/ecloud/models/compute/firewall_acls.rb +2 -2
- data/lib/fog/ecloud/models/compute/group.rb +8 -6
- data/lib/fog/ecloud/models/compute/groups.rb +17 -6
- data/lib/fog/ecloud/models/compute/guest_processes.rb +2 -2
- data/lib/fog/ecloud/models/compute/hardware_configuration.rb +4 -4
- data/lib/fog/ecloud/models/compute/hardware_configurations.rb +2 -2
- data/lib/fog/ecloud/models/compute/internet_service.rb +35 -29
- data/lib/fog/ecloud/models/compute/internet_services.rb +11 -8
- data/lib/fog/ecloud/models/compute/ip_address.rb +17 -3
- data/lib/fog/ecloud/models/compute/ip_addresses.rb +7 -2
- data/lib/fog/ecloud/models/compute/layout.rb +1 -1
- data/lib/fog/ecloud/models/compute/layouts.rb +2 -2
- data/lib/fog/ecloud/models/compute/location.rb +1 -1
- data/lib/fog/ecloud/models/compute/locations.rb +2 -2
- data/lib/fog/ecloud/models/compute/login_banners.rb +2 -2
- data/lib/fog/ecloud/models/compute/memory_usage_detail_summary.rb +2 -2
- data/lib/fog/ecloud/models/compute/monitor.rb +4 -4
- data/lib/fog/ecloud/models/compute/monitors.rb +2 -2
- data/lib/fog/ecloud/models/compute/network.rb +22 -12
- data/lib/fog/ecloud/models/compute/networks.rb +9 -5
- data/lib/fog/ecloud/models/compute/node.rb +12 -6
- data/lib/fog/ecloud/models/compute/nodes.rb +7 -4
- data/lib/fog/ecloud/models/compute/operating_system_families.rb +2 -2
- data/lib/fog/ecloud/models/compute/operating_system_family.rb +1 -1
- data/lib/fog/ecloud/models/compute/operating_systems.rb +1 -1
- data/lib/fog/ecloud/models/compute/organization.rb +17 -17
- data/lib/fog/ecloud/models/compute/organizations.rb +3 -3
- data/lib/fog/ecloud/models/compute/password_complexity_rules.rb +2 -2
- data/lib/fog/ecloud/models/compute/physical_devices.rb +2 -2
- data/lib/fog/ecloud/models/compute/public_ip.rb +2 -2
- data/lib/fog/ecloud/models/compute/public_ips.rb +8 -5
- data/lib/fog/ecloud/models/compute/rnat.rb +2 -2
- data/lib/fog/ecloud/models/compute/rnats.rb +2 -2
- data/lib/fog/ecloud/models/compute/roles.rb +2 -2
- data/lib/fog/ecloud/models/compute/row.rb +10 -7
- data/lib/fog/ecloud/models/compute/rows.rb +9 -6
- data/lib/fog/ecloud/models/compute/server.rb +139 -93
- data/lib/fog/ecloud/models/compute/server_configuration_options.rb +2 -2
- data/lib/fog/ecloud/models/compute/servers.rb +18 -15
- data/lib/fog/ecloud/models/compute/ssh_key.rb +1 -1
- data/lib/fog/ecloud/models/compute/ssh_keys.rb +2 -2
- data/lib/fog/ecloud/models/compute/storage_usage_detail_summary.rb +2 -2
- data/lib/fog/ecloud/models/compute/support_tickets.rb +2 -2
- data/lib/fog/ecloud/models/compute/tags.rb +2 -2
- data/lib/fog/ecloud/models/compute/task.rb +3 -0
- data/lib/fog/ecloud/models/compute/tasks.rb +3 -3
- data/lib/fog/ecloud/models/compute/template.rb +8 -9
- data/lib/fog/ecloud/models/compute/templates.rb +2 -2
- data/lib/fog/ecloud/models/compute/trusted_network_group.rb +5 -5
- data/lib/fog/ecloud/models/compute/trusted_network_groups.rb +2 -2
- data/lib/fog/ecloud/models/compute/user.rb +2 -2
- data/lib/fog/ecloud/models/compute/users.rb +2 -2
- data/lib/fog/ecloud/models/compute/virtual_machine_assigned_ip.rb +32 -0
- data/lib/fog/ecloud/models/compute/virtual_machine_assigned_ips.rb +27 -0
- data/lib/fog/ecloud/requests/compute/admin_edit_authentication_levels.rb +1 -2
- data/lib/fog/ecloud/requests/compute/get_admin_organization.rb +14 -0
- data/lib/fog/ecloud/requests/compute/get_compute_pool.rb +11 -0
- data/lib/fog/ecloud/requests/compute/get_compute_pools.rb +21 -0
- data/lib/fog/ecloud/requests/compute/get_detached_disk.rb +21 -0
- data/lib/fog/ecloud/requests/compute/get_detached_disks.rb +33 -0
- data/lib/fog/ecloud/requests/compute/get_environment.rb +21 -0
- data/lib/fog/ecloud/requests/compute/get_group.rb +8 -1
- data/lib/fog/ecloud/requests/compute/get_groups.rb +8 -1
- data/lib/fog/ecloud/requests/compute/get_hardware_configuration.rb +19 -0
- data/lib/fog/ecloud/requests/compute/get_hardware_configurations.rb +4 -0
- data/lib/fog/ecloud/requests/compute/get_internet_service.rb +12 -0
- data/lib/fog/ecloud/requests/compute/get_internet_services.rb +8 -0
- data/lib/fog/ecloud/requests/compute/get_ip_address.rb +11 -0
- data/lib/fog/ecloud/requests/compute/get_layout.rb +8 -1
- data/lib/fog/ecloud/requests/compute/get_layouts.rb +8 -1
- data/lib/fog/ecloud/requests/compute/get_network.rb +11 -0
- data/lib/fog/ecloud/requests/compute/get_networks.rb +20 -0
- data/lib/fog/ecloud/requests/compute/get_node.rb +11 -0
- data/lib/fog/ecloud/requests/compute/get_nodes.rb +9 -0
- data/lib/fog/ecloud/requests/compute/get_operating_system.rb +14 -0
- data/lib/fog/ecloud/requests/compute/get_operating_system_families.rb +20 -0
- data/lib/fog/ecloud/requests/compute/get_organization.rb +14 -0
- data/lib/fog/ecloud/requests/compute/get_organizations.rb +14 -2
- data/lib/fog/ecloud/requests/compute/get_public_ip.rb +11 -1
- data/lib/fog/ecloud/requests/compute/get_public_ips.rb +22 -0
- data/lib/fog/ecloud/requests/compute/get_row.rb +8 -1
- data/lib/fog/ecloud/requests/compute/get_rows.rb +2 -1
- data/lib/fog/ecloud/requests/compute/get_server.rb +11 -0
- data/lib/fog/ecloud/requests/compute/get_servers.rb +32 -1
- data/lib/fog/ecloud/requests/compute/get_ssh_key.rb +11 -0
- data/lib/fog/ecloud/requests/compute/get_ssh_keys.rb +20 -0
- data/lib/fog/ecloud/requests/compute/get_task.rb +4 -2
- data/lib/fog/ecloud/requests/compute/get_template.rb +11 -0
- data/lib/fog/ecloud/requests/compute/get_templates.rb +38 -0
- data/lib/fog/ecloud/requests/compute/get_virtual_machine_assigned_ips.rb +44 -0
- data/lib/fog/ecloud/requests/compute/groups_delete.rb +16 -1
- data/lib/fog/ecloud/requests/compute/internet_service_create.rb +36 -1
- data/lib/fog/ecloud/requests/compute/internet_service_delete.rb +23 -0
- data/lib/fog/ecloud/requests/compute/node_service_create.rb +49 -1
- data/lib/fog/ecloud/requests/compute/node_service_delete.rb +24 -0
- data/lib/fog/ecloud/requests/compute/rows_delete.rb +11 -1
- data/lib/fog/ecloud/requests/compute/virtual_machine_attach_disk.rb +62 -0
- data/lib/fog/ecloud/requests/compute/virtual_machine_create_from_template.rb +136 -16
- data/lib/fog/ecloud/requests/compute/virtual_machine_delete.rb +36 -1
- data/lib/fog/ecloud/requests/compute/virtual_machine_detach_disk.rb +71 -0
- data/lib/fog/ecloud/requests/compute/virtual_machine_edit_assigned_ips.rb +82 -0
- data/lib/fog/ecloud/requests/compute/virtual_machine_edit_hardware_configuration.rb +27 -3
- data/lib/fog/ecloud/requests/compute/virtual_machine_import.rb +120 -6
- data/lib/fog/glesys/models/compute/ip.rb +7 -7
- data/lib/fog/glesys/models/compute/ips.rb +7 -7
- data/lib/fog/glesys/models/compute/server.rb +6 -6
- data/lib/fog/glesys/models/compute/servers.rb +4 -4
- data/lib/fog/glesys/models/compute/template.rb +1 -1
- data/lib/fog/glesys/models/compute/templates.rb +2 -2
- data/lib/fog/go_grid/models/compute/image.rb +3 -3
- data/lib/fog/go_grid/models/compute/images.rb +2 -2
- data/lib/fog/go_grid/models/compute/password.rb +5 -5
- data/lib/fog/go_grid/models/compute/passwords.rb +3 -3
- data/lib/fog/go_grid/models/compute/server.rb +4 -4
- data/lib/fog/go_grid/models/compute/servers.rb +2 -2
- data/lib/fog/google/models/storage/directories.rb +2 -2
- data/lib/fog/google/models/storage/directory.rb +4 -4
- data/lib/fog/google/models/storage/file.rb +5 -5
- data/lib/fog/google/models/storage/files.rb +4 -4
- data/lib/fog/google/storage.rb +13 -2
- data/lib/fog/hp.rb +6 -3
- data/lib/fog/hp/models/compute/address.rb +8 -8
- data/lib/fog/hp/models/compute/addresses.rb +2 -2
- data/lib/fog/hp/models/compute/flavors.rb +2 -2
- data/lib/fog/hp/models/compute/image.rb +2 -2
- data/lib/fog/hp/models/compute/images.rb +2 -2
- data/lib/fog/hp/models/compute/key_pair.rb +3 -3
- data/lib/fog/hp/models/compute/key_pairs.rb +2 -2
- data/lib/fog/hp/models/compute/security_group.rb +4 -4
- data/lib/fog/hp/models/compute/security_groups.rb +3 -3
- data/lib/fog/hp/models/compute/server.rb +15 -15
- data/lib/fog/hp/models/compute/servers.rb +2 -2
- data/lib/fog/hp/models/storage/directories.rb +3 -3
- data/lib/fog/hp/models/storage/directory.rb +18 -18
- data/lib/fog/hp/models/storage/file.rb +4 -4
- data/lib/fog/hp/models/storage/files.rb +2 -2
- data/lib/fog/ibm/models/compute/address.rb +2 -2
- data/lib/fog/ibm/models/compute/addresses.rb +2 -2
- data/lib/fog/ibm/models/compute/image.rb +3 -3
- data/lib/fog/ibm/models/compute/images.rb +2 -2
- data/lib/fog/ibm/models/compute/key.rb +2 -2
- data/lib/fog/ibm/models/compute/keys.rb +3 -3
- data/lib/fog/ibm/models/compute/locations.rb +2 -2
- data/lib/fog/ibm/models/compute/server.rb +12 -12
- data/lib/fog/ibm/models/compute/servers.rb +2 -2
- data/lib/fog/ibm/models/compute/vlans.rb +2 -2
- data/lib/fog/ibm/models/storage/offerings.rb +1 -1
- data/lib/fog/ibm/models/storage/volume.rb +5 -5
- data/lib/fog/ibm/models/storage/volumes.rb +2 -2
- data/lib/fog/joyent/models/compute/flavors.rb +2 -2
- data/lib/fog/joyent/models/compute/images.rb +2 -2
- data/lib/fog/joyent/models/compute/key.rb +1 -1
- data/lib/fog/joyent/models/compute/keys.rb +3 -3
- data/lib/fog/joyent/models/compute/server.rb +13 -13
- data/lib/fog/joyent/models/compute/servers.rb +3 -3
- data/lib/fog/joyent/models/compute/snapshot.rb +4 -4
- data/lib/fog/joyent/models/compute/snapshots.rb +3 -3
- data/lib/fog/libvirt/compute.rb +6 -1
- data/lib/fog/libvirt/models/compute/interface.rb +1 -1
- data/lib/fog/libvirt/models/compute/interfaces.rb +1 -1
- data/lib/fog/libvirt/models/compute/network.rb +1 -1
- data/lib/fog/libvirt/models/compute/networks.rb +1 -1
- data/lib/fog/libvirt/models/compute/nic.rb +2 -2
- data/lib/fog/libvirt/models/compute/nodes.rb +1 -1
- data/lib/fog/libvirt/models/compute/pool.rb +7 -7
- data/lib/fog/libvirt/models/compute/pools.rb +1 -1
- data/lib/fog/libvirt/models/compute/server.rb +29 -28
- data/lib/fog/libvirt/models/compute/servers.rb +2 -2
- data/lib/fog/libvirt/models/compute/volume.rb +5 -5
- data/lib/fog/libvirt/models/compute/volumes.rb +1 -1
- data/lib/fog/libvirt/requests/compute/list_domains.rb +2 -2
- data/lib/fog/linode/models/compute/data_centers.rb +2 -2
- data/lib/fog/linode/models/compute/disk.rb +7 -7
- data/lib/fog/linode/models/compute/disks.rb +2 -2
- data/lib/fog/linode/models/compute/flavors.rb +2 -2
- data/lib/fog/linode/models/compute/images.rb +2 -2
- data/lib/fog/linode/models/compute/ip.rb +3 -3
- data/lib/fog/linode/models/compute/ips.rb +2 -2
- data/lib/fog/linode/models/compute/kernels.rb +2 -2
- data/lib/fog/linode/models/compute/server.rb +13 -13
- data/lib/fog/linode/models/compute/servers.rb +2 -2
- data/lib/fog/linode/models/compute/stack_scripts.rb +3 -3
- data/lib/fog/linode/models/dns/record.rb +6 -6
- data/lib/fog/linode/models/dns/records.rb +2 -2
- data/lib/fog/linode/models/dns/zone.rb +6 -6
- data/lib/fog/linode/models/dns/zones.rb +2 -2
- data/lib/fog/local/models/storage/directories.rb +3 -3
- data/lib/fog/local/models/storage/directory.rb +2 -2
- data/lib/fog/local/models/storage/file.rb +6 -6
- data/lib/fog/local/models/storage/files.rb +2 -2
- data/lib/fog/ninefold/models/compute/address.rb +5 -5
- data/lib/fog/ninefold/models/compute/addresses.rb +2 -2
- data/lib/fog/ninefold/models/compute/flavors.rb +2 -2
- data/lib/fog/ninefold/models/compute/images.rb +2 -2
- data/lib/fog/ninefold/models/compute/ip_forwarding_rule.rb +3 -3
- data/lib/fog/ninefold/models/compute/ip_forwarding_rules.rb +2 -2
- data/lib/fog/ninefold/models/compute/server.rb +9 -9
- data/lib/fog/ninefold/models/compute/servers.rb +2 -2
- data/lib/fog/openstack.rb +89 -65
- data/lib/fog/openstack/README.identity.md +69 -0
- data/lib/fog/openstack/compute.rb +71 -41
- data/lib/fog/openstack/identity.rb +43 -22
- data/lib/fog/openstack/image.rb +11 -5
- data/lib/fog/openstack/models/compute/address.rb +8 -8
- data/lib/fog/openstack/models/compute/addresses.rb +3 -3
- data/lib/fog/openstack/models/compute/flavor.rb +9 -4
- data/lib/fog/openstack/models/compute/flavors.rb +2 -2
- data/lib/fog/openstack/models/compute/host.rb +3 -2
- data/lib/fog/openstack/models/compute/hosts.rb +2 -2
- data/lib/fog/openstack/models/compute/image.rb +4 -3
- data/lib/fog/openstack/models/compute/images.rb +2 -2
- data/lib/fog/openstack/models/compute/key_pair.rb +3 -3
- data/lib/fog/openstack/models/compute/key_pairs.rb +1 -1
- data/lib/fog/openstack/models/compute/metadata.rb +4 -4
- data/lib/fog/openstack/models/compute/metadatum.rb +2 -2
- data/lib/fog/openstack/models/compute/security_group.rb +5 -5
- data/lib/fog/openstack/models/compute/security_groups.rb +2 -2
- data/lib/fog/openstack/models/compute/server.rb +41 -27
- data/lib/fog/openstack/models/compute/servers.rb +2 -2
- data/lib/fog/openstack/models/compute/snapshot.rb +4 -3
- data/lib/fog/openstack/models/compute/snapshots.rb +2 -2
- data/lib/fog/openstack/models/compute/tenant.rb +1 -1
- data/lib/fog/openstack/models/compute/tenants.rb +7 -3
- data/lib/fog/openstack/models/compute/volume.rb +6 -5
- data/lib/fog/openstack/models/compute/volumes.rb +2 -2
- data/lib/fog/openstack/models/identity/ec2_credential.rb +44 -0
- data/lib/fog/openstack/models/identity/ec2_credentials.rb +53 -0
- data/lib/fog/openstack/models/identity/role.rb +4 -4
- data/lib/fog/openstack/models/identity/roles.rb +2 -2
- data/lib/fog/openstack/models/identity/tenant.rb +7 -7
- data/lib/fog/openstack/models/identity/tenants.rb +3 -3
- data/lib/fog/openstack/models/identity/user.rb +12 -6
- data/lib/fog/openstack/models/identity/users.rb +4 -5
- data/lib/fog/openstack/models/image/image.rb +10 -9
- data/lib/fog/openstack/models/image/images.rb +6 -6
- data/lib/fog/openstack/models/network/network.rb +6 -5
- data/lib/fog/openstack/models/network/networks.rb +3 -3
- data/lib/fog/openstack/models/network/port.rb +6 -5
- data/lib/fog/openstack/models/network/ports.rb +3 -3
- data/lib/fog/openstack/models/network/subnet.rb +6 -5
- data/lib/fog/openstack/models/network/subnets.rb +3 -3
- data/lib/fog/openstack/models/volume/volume.rb +4 -3
- data/lib/fog/openstack/models/volume/volumes.rb +2 -2
- data/lib/fog/openstack/network.rb +5 -3
- data/lib/fog/openstack/requests/compute/create_flavor.rb +4 -1
- data/lib/fog/openstack/requests/compute/create_security_group.rb +3 -2
- data/lib/fog/openstack/requests/compute/create_security_group_rule.rb +1 -0
- data/lib/fog/openstack/requests/compute/create_server.rb +54 -7
- data/lib/fog/openstack/requests/compute/delete_security_group.rb +2 -0
- data/lib/fog/openstack/requests/compute/get_limits.rb +93 -0
- data/lib/fog/openstack/requests/compute/list_security_groups.rb +17 -41
- data/lib/fog/openstack/requests/compute/list_tenants.rb +1 -0
- data/lib/fog/openstack/requests/compute/release_address.rb +13 -1
- data/lib/fog/openstack/requests/compute/reset_server_state.rb +24 -0
- data/lib/fog/openstack/requests/identity/add_user_to_tenant.rb +7 -2
- data/lib/fog/openstack/requests/identity/create_ec2_credential.rb +58 -0
- data/lib/fog/openstack/requests/identity/create_role.rb +1 -1
- data/lib/fog/openstack/requests/identity/create_tenant.rb +1 -3
- data/lib/fog/openstack/requests/identity/delete_ec2_credential.rb +44 -0
- data/lib/fog/openstack/requests/identity/get_ec2_credential.rb +49 -0
- data/lib/fog/openstack/requests/identity/get_user_by_name.rb +8 -0
- data/lib/fog/openstack/requests/identity/list_ec2_credentials.rb +44 -0
- data/lib/fog/openstack/requests/identity/list_roles_for_user_on_tenant.rb +7 -1
- data/lib/fog/openstack/requests/identity/list_users.rb +10 -1
- data/lib/fog/openstack/requests/identity/set_tenant.rb +21 -0
- data/lib/fog/openstack/requests/identity/update_tenant.rb +1 -3
- data/lib/fog/openstack/requests/image/create_image.rb +3 -1
- data/lib/fog/openstack/volume.rb +6 -3
- data/lib/fog/ovirt/models/compute/cluster.rb +1 -1
- data/lib/fog/ovirt/models/compute/clusters.rb +2 -2
- data/lib/fog/ovirt/models/compute/interfaces.rb +3 -3
- data/lib/fog/ovirt/models/compute/server.rb +15 -15
- data/lib/fog/ovirt/models/compute/servers.rb +2 -2
- data/lib/fog/ovirt/models/compute/template.rb +5 -5
- data/lib/fog/ovirt/models/compute/templates.rb +2 -2
- data/lib/fog/ovirt/models/compute/volumes.rb +3 -3
- data/lib/fog/rackspace.rb +20 -11
- data/lib/fog/rackspace/block_storage.rb +1 -0
- data/lib/fog/rackspace/compute_v2.rb +10 -0
- data/lib/fog/rackspace/load_balancers.rb +2 -0
- data/lib/fog/rackspace/models/block_storage/snapshot.rb +3 -2
- data/lib/fog/rackspace/models/block_storage/snapshots.rb +2 -2
- data/lib/fog/rackspace/models/block_storage/volume.rb +9 -3
- data/lib/fog/rackspace/models/block_storage/volume_types.rb +3 -3
- data/lib/fog/rackspace/models/block_storage/volumes.rb +2 -2
- data/lib/fog/rackspace/models/compute/flavors.rb +2 -2
- data/lib/fog/rackspace/models/compute/image.rb +3 -3
- data/lib/fog/rackspace/models/compute/images.rb +2 -2
- data/lib/fog/rackspace/models/compute/server.rb +7 -7
- data/lib/fog/rackspace/models/compute/servers.rb +2 -2
- data/lib/fog/rackspace/models/compute_v2/attachment.rb +2 -2
- data/lib/fog/rackspace/models/compute_v2/attachments.rb +2 -2
- data/lib/fog/rackspace/models/compute_v2/flavors.rb +2 -2
- data/lib/fog/rackspace/models/compute_v2/image.rb +9 -0
- data/lib/fog/rackspace/models/compute_v2/images.rb +2 -2
- data/lib/fog/rackspace/models/compute_v2/server.rb +47 -14
- data/lib/fog/rackspace/models/compute_v2/servers.rb +10 -2
- data/lib/fog/rackspace/models/databases/database.rb +2 -2
- data/lib/fog/rackspace/models/databases/databases.rb +1 -1
- data/lib/fog/rackspace/models/databases/flavors.rb +2 -2
- data/lib/fog/rackspace/models/databases/instance.rb +10 -10
- data/lib/fog/rackspace/models/databases/instances.rb +2 -2
- data/lib/fog/rackspace/models/databases/user.rb +2 -2
- data/lib/fog/rackspace/models/databases/users.rb +1 -1
- data/lib/fog/rackspace/models/dns/callback.rb +1 -1
- data/lib/fog/rackspace/models/dns/record.rb +23 -5
- data/lib/fog/rackspace/models/dns/records.rb +2 -2
- data/lib/fog/rackspace/models/dns/zone.rb +5 -5
- data/lib/fog/rackspace/models/dns/zones.rb +2 -2
- data/lib/fog/rackspace/models/identity/credentials.rb +1 -1
- data/lib/fog/rackspace/models/identity/roles.rb +1 -1
- data/lib/fog/rackspace/models/identity/tenants.rb +1 -1
- data/lib/fog/rackspace/models/identity/user.rb +6 -6
- data/lib/fog/rackspace/models/identity/users.rb +3 -3
- data/lib/fog/rackspace/models/load_balancers/access_rule.rb +4 -4
- data/lib/fog/rackspace/models/load_balancers/access_rules.rb +1 -1
- data/lib/fog/rackspace/models/load_balancers/load_balancer.rb +45 -27
- data/lib/fog/rackspace/models/load_balancers/load_balancers.rb +2 -2
- data/lib/fog/rackspace/models/load_balancers/node.rb +4 -4
- data/lib/fog/rackspace/models/load_balancers/nodes.rb +2 -2
- data/lib/fog/rackspace/models/load_balancers/virtual_ip.rb +3 -3
- data/lib/fog/rackspace/models/load_balancers/virtual_ips.rb +1 -1
- data/lib/fog/rackspace/models/storage/directories.rb +2 -2
- data/lib/fog/rackspace/models/storage/directory.rb +12 -12
- data/lib/fog/rackspace/models/storage/file.rb +71 -5
- data/lib/fog/rackspace/models/storage/files.rb +2 -2
- data/lib/fog/rackspace/requests/compute_v2/create_image.rb +41 -0
- data/lib/fog/rackspace/requests/compute_v2/create_server.rb +3 -0
- data/lib/fog/rackspace/requests/compute_v2/delete_image.rb +31 -0
- data/lib/fog/rackspace/requests/compute_v2/list_addresses.rb +34 -0
- data/lib/fog/rackspace/requests/compute_v2/list_addresses_by_network.rb +36 -0
- data/lib/fog/rackspace/requests/dns/add_records.rb +5 -1
- data/lib/fog/rackspace/requests/load_balancers/get_content_caching.rb +15 -0
- data/lib/fog/rackspace/requests/load_balancers/set_content_caching.rb +21 -0
- data/lib/fog/rackspace/requests/storage/post_set_meta_temp_url_key.rb +1 -1
- data/lib/fog/serverlove/models/compute/image.rb +11 -11
- data/lib/fog/serverlove/models/compute/images.rb +2 -2
- data/lib/fog/serverlove/models/compute/server.rb +10 -10
- data/lib/fog/serverlove/models/compute/servers.rb +2 -2
- data/lib/fog/storm_on_demand/models/compute/balancer.rb +7 -7
- data/lib/fog/storm_on_demand/models/compute/balancers.rb +1 -1
- data/lib/fog/storm_on_demand/models/compute/configs.rb +1 -1
- data/lib/fog/storm_on_demand/models/compute/images.rb +1 -1
- data/lib/fog/storm_on_demand/models/compute/private_ips.rb +2 -2
- data/lib/fog/storm_on_demand/models/compute/server.rb +5 -5
- data/lib/fog/storm_on_demand/models/compute/servers.rb +2 -2
- data/lib/fog/storm_on_demand/models/compute/stats.rb +1 -1
- data/lib/fog/storm_on_demand/models/compute/templates.rb +1 -1
- data/lib/fog/terremark/models/shared/address.rb +1 -1
- data/lib/fog/terremark/models/shared/addresses.rb +5 -5
- data/lib/fog/terremark/models/shared/images.rb +5 -5
- data/lib/fog/terremark/models/shared/internetservice.rb +6 -6
- data/lib/fog/terremark/models/shared/internetservices.rb +5 -5
- data/lib/fog/terremark/models/shared/network.rb +1 -1
- data/lib/fog/terremark/models/shared/networks.rb +6 -6
- data/lib/fog/terremark/models/shared/nodeservice.rb +3 -3
- data/lib/fog/terremark/models/shared/nodeservices.rb +4 -4
- data/lib/fog/terremark/models/shared/server.rb +17 -17
- data/lib/fog/terremark/models/shared/servers.rb +6 -6
- data/lib/fog/terremark/models/shared/task.rb +4 -4
- data/lib/fog/terremark/models/shared/tasks.rb +5 -5
- data/lib/fog/terremark/models/shared/vdc.rb +4 -4
- data/lib/fog/terremark/models/shared/vdcs.rb +5 -5
- data/lib/fog/terremark/parser.rb +1 -1
- data/lib/fog/terremark/shared.rb +1 -1
- data/lib/fog/vcloud/compute.rb +4 -4
- data/lib/fog/vcloud/models/compute/catalog.rb +1 -1
- data/lib/fog/vcloud/models/compute/catalog_item.rb +1 -1
- data/lib/fog/vcloud/models/compute/catalog_items.rb +4 -4
- data/lib/fog/vcloud/models/compute/catalogs.rb +3 -3
- data/lib/fog/vcloud/models/compute/ip.rb +1 -1
- data/lib/fog/vcloud/models/compute/ips.rb +3 -3
- data/lib/fog/vcloud/models/compute/network.rb +1 -1
- data/lib/fog/vcloud/models/compute/networks.rb +6 -6
- data/lib/fog/vcloud/models/compute/organization.rb +4 -4
- data/lib/fog/vcloud/models/compute/organizations.rb +4 -4
- data/lib/fog/vcloud/models/compute/server.rb +13 -13
- data/lib/fog/vcloud/models/compute/servers.rb +4 -4
- data/lib/fog/vcloud/models/compute/tasks.rb +3 -3
- data/lib/fog/vcloud/models/compute/vapp.rb +2 -2
- data/lib/fog/vcloud/models/compute/vapps.rb +2 -2
- data/lib/fog/vcloud/models/compute/vdc.rb +2 -2
- data/lib/fog/vcloud/models/compute/vdcs.rb +3 -3
- data/lib/fog/version.rb +3 -0
- data/lib/fog/virtual_box/compute.rb +11 -5
- data/lib/fog/virtual_box/models/compute/medium.rb +2 -2
- data/lib/fog/virtual_box/models/compute/mediums.rb +4 -4
- data/lib/fog/virtual_box/models/compute/nat_engine.rb +2 -2
- data/lib/fog/virtual_box/models/compute/network_adapter.rb +1 -1
- data/lib/fog/virtual_box/models/compute/network_adapters.rb +1 -1
- data/lib/fog/virtual_box/models/compute/server.rb +5 -5
- data/lib/fog/virtual_box/models/compute/servers.rb +2 -2
- data/lib/fog/vmfusion/compute.rb +6 -1
- data/lib/fog/vmfusion/models/compute/server.rb +1 -1
- data/lib/fog/voxel/models/compute/images.rb +2 -2
- data/lib/fog/voxel/models/compute/server.rb +6 -6
- data/lib/fog/voxel/models/compute/servers.rb +2 -2
- data/lib/fog/vsphere/compute.rb +78 -9
- data/lib/fog/vsphere/models/compute/cluster.rb +31 -0
- data/lib/fog/vsphere/models/compute/clusters.rb +26 -0
- data/lib/fog/vsphere/models/compute/datacenter.rb +39 -0
- data/lib/fog/vsphere/models/compute/datacenters.rb +23 -0
- data/lib/fog/vsphere/models/compute/datastore.rb +24 -0
- data/lib/fog/vsphere/models/compute/datastores.rb +25 -0
- data/lib/fog/vsphere/models/compute/folder.rb +28 -0
- data/lib/fog/vsphere/models/compute/folders.rb +27 -0
- data/lib/fog/vsphere/models/compute/interface.rb +39 -0
- data/lib/fog/vsphere/models/compute/interfaces.rb +33 -0
- data/lib/fog/vsphere/models/compute/network.rb +21 -0
- data/lib/fog/vsphere/models/compute/networks.rb +25 -0
- data/lib/fog/vsphere/models/compute/resource_pool.rb +23 -0
- data/lib/fog/vsphere/models/compute/resource_pools.rb +26 -0
- data/lib/fog/vsphere/models/compute/server.rb +106 -29
- data/lib/fog/vsphere/models/compute/servers.rb +16 -20
- data/lib/fog/vsphere/models/compute/template.rb +13 -0
- data/lib/fog/vsphere/models/compute/templates.rb +23 -0
- data/lib/fog/vsphere/models/compute/volume.rb +45 -0
- data/lib/fog/vsphere/models/compute/volumes.rb +33 -0
- data/lib/fog/vsphere/requests/compute/create_folder.rb +22 -0
- data/lib/fog/vsphere/requests/compute/create_vm.rb +114 -0
- data/lib/fog/vsphere/requests/compute/get_cluster.rb +25 -0
- data/lib/fog/vsphere/requests/compute/get_datacenter.rb +29 -0
- data/lib/fog/vsphere/requests/compute/get_datastore.rb +25 -0
- data/lib/fog/vsphere/requests/compute/get_folder.rb +73 -0
- data/lib/fog/vsphere/requests/compute/get_network.rb +25 -0
- data/lib/fog/vsphere/requests/compute/get_resource_pool.rb +26 -0
- data/lib/fog/vsphere/requests/compute/get_virtual_machine.rb +62 -0
- data/lib/fog/vsphere/requests/compute/list_clusters.rb +37 -0
- data/lib/fog/vsphere/requests/compute/list_datacenters.rb +34 -0
- data/lib/fog/vsphere/requests/compute/list_datastores.rb +40 -0
- data/lib/fog/vsphere/requests/compute/list_folders.rb +45 -0
- data/lib/fog/vsphere/requests/compute/list_networks.rb +38 -0
- data/lib/fog/vsphere/requests/compute/list_resource_pools.rb +39 -0
- data/lib/fog/vsphere/requests/compute/list_virtual_machines.rb +132 -166
- data/lib/fog/vsphere/requests/compute/list_vm_interfaces.rb +52 -0
- data/lib/fog/vsphere/requests/compute/list_vm_volumes.rb +51 -0
- data/lib/fog/vsphere/requests/compute/vm_clone.rb +134 -67
- data/lib/fog/vsphere/requests/compute/vm_destroy.rb +1 -8
- data/lib/fog/vsphere/requests/compute/vm_reconfig_hardware.rb +1 -2
- data/lib/fog/xenserver.rb +26 -2
- data/lib/fog/xenserver/compute.rb +8 -0
- data/lib/fog/xenserver/examples/README.md +11 -0
- data/lib/fog/xenserver/examples/chage_default_storage_repository.md +99 -0
- data/lib/fog/xenserver/examples/creating_servers.md +168 -0
- data/lib/fog/xenserver/examples/getting_started.md +163 -0
- data/lib/fog/xenserver/examples/storage_repositories.md +94 -0
- data/lib/fog/xenserver/models/compute/host.rb +75 -8
- data/lib/fog/xenserver/models/compute/host_metrics.rb +29 -0
- data/lib/fog/xenserver/models/compute/hosts.rb +8 -8
- data/lib/fog/xenserver/models/compute/network.rb +11 -11
- data/lib/fog/xenserver/models/compute/networks.rb +3 -3
- data/lib/fog/xenserver/models/compute/pbd.rb +11 -6
- data/lib/fog/xenserver/models/compute/pbds.rb +3 -3
- data/lib/fog/xenserver/models/compute/pif.rb +9 -9
- data/lib/fog/xenserver/models/compute/pifs.rb +3 -3
- data/lib/fog/xenserver/models/compute/pool.rb +30 -8
- data/lib/fog/xenserver/models/compute/pools.rb +3 -3
- data/lib/fog/xenserver/models/compute/server.rb +29 -29
- data/lib/fog/xenserver/models/compute/servers.rb +8 -8
- data/lib/fog/xenserver/models/compute/storage_repositories.rb +2 -2
- data/lib/fog/xenserver/models/compute/storage_repository.rb +52 -9
- data/lib/fog/xenserver/models/compute/vbd.rb +16 -16
- data/lib/fog/xenserver/models/compute/vbds.rb +3 -3
- data/lib/fog/xenserver/models/compute/vdi.rb +17 -17
- data/lib/fog/xenserver/models/compute/vdis.rb +3 -3
- data/lib/fog/xenserver/models/compute/vif.rb +10 -10
- data/lib/fog/xenserver/models/compute/vifs.rb +3 -3
- data/lib/fog/xenserver/requests/compute/create_sr.rb +72 -0
- data/lib/fog/xenserver/requests/compute/destroy_sr.rb +30 -0
- data/lib/fog/xenserver/requests/compute/disable_host.rb +29 -0
- data/lib/fog/xenserver/requests/compute/enable_host.rb +28 -0
- data/lib/fog/xenserver/requests/compute/reboot_host.rb +23 -0
- data/lib/fog/xenserver/requests/compute/shutdown_host.rb +23 -0
- data/lib/fog/xenserver/requests/compute/unplug_pbd.rb +25 -0
- data/lib/fog/zerigo/models/dns/record.rb +4 -4
- data/lib/fog/zerigo/models/dns/records.rb +2 -2
- data/lib/fog/zerigo/models/dns/zone.rb +6 -6
- data/lib/fog/zerigo/models/dns/zones.rb +2 -2
- data/lib/tasks/changelog_task.rb +98 -0
- data/lib/tasks/test_task.rb +46 -0
- data/tests/aws/models/cloud_watch/metrics_tests.rb +16 -1
- data/tests/aws/models/iam/users_tests.rb +16 -2
- data/tests/aws/requests/auto_scaling/model_tests.rb +1 -3
- data/tests/aws/requests/auto_scaling/notification_configuration_tests.rb +1 -0
- data/tests/aws/requests/auto_scaling/tag_tests.rb +1 -0
- data/tests/aws/requests/compute/instance_tests.rb +2 -0
- data/tests/aws/requests/compute/snapshot_tests.rb +19 -0
- data/tests/aws/requests/compute/spot_instance_tests.rb +4 -2
- data/tests/aws/requests/compute/volume_tests.rb +8 -0
- data/tests/aws/requests/storage/bucket_tests.rb +14 -0
- data/tests/aws/requests/storage/cors_utils_tests.rb +108 -0
- data/tests/aws/requests/storage/object_tests.rb +18 -1
- data/tests/aws/requests/storage/versioning_tests.rb +70 -0
- data/tests/brightbox/compute_tests.rb +96 -4
- data/tests/brightbox/models/compute/account_tests.rb +17 -0
- data/tests/brightbox/models/compute/server_tests.rb +21 -0
- data/tests/brightbox/oauth2_tests.rb +103 -0
- data/tests/brightbox/requests/compute/account_tests.rb +9 -2
- data/tests/brightbox/requests/compute/firewall_policy_tests.rb +33 -0
- data/tests/brightbox/requests/compute/firewall_rule_tests.rb +43 -0
- data/tests/brightbox/requests/compute/helper.rb +33 -30
- data/tests/brightbox/requests/compute/interface_tests.rb +18 -4
- data/tests/compute/helper.rb +28 -6
- data/tests/compute/models/flavors_tests.rb +4 -2
- data/tests/compute/models/server_tests.rb +5 -1
- data/tests/compute/models/servers_tests.rb +5 -2
- data/tests/core/wait_for_tests.rb +13 -0
- data/tests/dns/models/record_tests.rb +17 -3
- data/tests/ecloud/compute/models/admin_organization_tests.rb +16 -0
- data/tests/ecloud/compute/models/compute_pool_tests.rb +17 -0
- data/tests/ecloud/compute/models/detached_disk_tests.rb +26 -0
- data/tests/ecloud/compute/models/environment_tests.rb +23 -0
- data/tests/ecloud/compute/models/internet_service_tests.rb +28 -0
- data/tests/ecloud/compute/models/ip_address_tests.rb +19 -0
- data/tests/ecloud/compute/models/network_tests.rb +17 -0
- data/tests/ecloud/compute/models/operating_system_families_tests.rb +13 -0
- data/tests/ecloud/compute/models/operating_system_tests.rb +22 -0
- data/tests/ecloud/compute/models/organization_tests.rb +21 -0
- data/tests/ecloud/compute/models/public_ip_tests.rb +19 -0
- data/tests/ecloud/compute/models/server_tests.rb +143 -0
- data/tests/ecloud/compute/models/ssh_key_tests.rb +19 -0
- data/tests/ecloud/compute/models/template_tests.rb +20 -0
- data/tests/openstack/authenticate_tests.rb +142 -0
- data/tests/openstack/models/compute/server_tests.rb +45 -0
- data/tests/openstack/models/identity/ec2_credential_tests.rb +41 -0
- data/tests/openstack/models/identity/ec2_credentials_tests.rb +58 -0
- data/tests/openstack/models/identity/tenant_tests.rb +6 -0
- data/tests/openstack/requests/compute/address_tests.rb +20 -19
- data/tests/openstack/requests/compute/flavor_tests.rb +4 -2
- data/tests/openstack/requests/compute/helper.rb +20 -0
- data/tests/openstack/requests/compute/limit_tests.rb +60 -0
- data/tests/openstack/requests/compute/quota_tests.rb +18 -3
- data/tests/openstack/requests/compute/security_group_tests.rb +11 -3
- data/tests/openstack/requests/compute/server_tests.rb +29 -14
- data/tests/openstack/requests/identity/ec2_credentials_tests.rb +41 -0
- data/tests/openstack/requests/identity/role_tests.rb +0 -1
- data/tests/openstack/requests/identity/user_tests.rb +8 -0
- data/tests/rackspace/models/block_storage/snapshot_tests.rb +18 -11
- data/tests/rackspace/models/block_storage/volume_tests.rb +13 -7
- data/tests/rackspace/models/compute_v2/image_tests.rb +28 -0
- data/tests/rackspace/models/compute_v2/server_tests.rb +15 -0
- data/tests/rackspace/models/compute_v2/servers_tests.rb +6 -0
- data/tests/rackspace/models/load_balancers/load_balancer_tests.rb +17 -0
- data/tests/rackspace/models/storage/file_tests.rb +178 -0
- data/tests/rackspace/requests/compute/address_tests.rb +11 -9
- data/tests/rackspace/requests/compute/flavor_tests.rb +6 -5
- data/tests/rackspace/requests/compute/image_tests.rb +12 -10
- data/tests/rackspace/requests/compute/resize_tests.rb +8 -6
- data/tests/rackspace/requests/compute/server_tests.rb +19 -17
- data/tests/rackspace/requests/compute_v2/address_tests.rb +43 -0
- data/tests/rackspace/requests/compute_v2/image_tests.rb +38 -10
- data/tests/rackspace/requests/dns/helper.rb +12 -26
- data/tests/rackspace/requests/dns/records_tests.rb +2 -2
- data/tests/rackspace/requests/load_balancers/content_caching_tests.rb +25 -0
- data/tests/rackspace/requests/load_balancers/helper.rb +5 -1
- data/tests/vsphere/compute_tests.rb +3 -3
- data/tests/vsphere/models/compute/server_tests.rb +1 -2
- data/tests/vsphere/requests/compute/list_virtual_machines_tests.rb +5 -13
- data/tests/vsphere/requests/compute/vm_clone_tests.rb +6 -4
- data/tests/xenserver/models/compute/host_metrics_tests.rb +48 -0
- data/tests/xenserver/models/compute/host_tests.rb +20 -1
- data/tests/xenserver/models/compute/pbd_tests.rb +33 -1
- data/tests/xenserver/models/compute/pool_tests.rb +7 -1
- data/tests/xenserver/models/compute/storage_repository_tests.rb +52 -1
- data/tests/xenserver/requests/compute/create_sr_tests.rb +54 -0
- data/tests/xenserver/requests/compute/destroy_sr_tests.rb +46 -0
- data/tests/xenserver/requests/compute/disable_host_tests.rb +16 -0
- data/tests/xenserver/requests/compute/enable_host_tests.rb +16 -0
- data/tests/xenserver/requests/compute/unplug_pbd_tests.rb +48 -0
- metadata +312 -89
- data/docs/_config.yml +0 -39
- data/docs/_layouts/default.html +0 -111
- data/docs/about/contributing.markdown +0 -228
- data/docs/about/getting_started.markdown +0 -108
- data/docs/about/press.markdown +0 -52
- data/docs/about/structure.markdown +0 -78
- data/docs/about/users.markdown +0 -34
- data/docs/cdn/index.markdown +0 -148
- data/docs/compute/index.markdown +0 -122
- data/docs/dns/index.markdown +0 -79
- data/docs/index.markdown +0 -88
- data/docs/public/crossdomain.xml +0 -25
- data/docs/public/css/fog.css +0 -142
- data/docs/public/css/handheld.css +0 -8
- data/docs/public/css/style.css +0 -129
- data/docs/public/images/.gitignore +0 -3
- data/docs/public/images/engineyard.png +0 -0
- data/docs/public/images/fog.png +0 -0
- data/docs/public/js/libs/dd_belatedpng.js +0 -289
- data/docs/public/js/libs/dd_belatedpng.min.js +0 -13
- data/docs/public/js/libs/jquery-1.4.2.js +0 -6240
- data/docs/public/js/libs/jquery-1.4.2.min.js +0 -154
- data/docs/public/js/libs/modernizr-1.6.js +0 -892
- data/docs/public/js/libs/modernizr-1.6.min.js +0 -30
- data/docs/public/js/mylibs/.gitignore +0 -3
- data/docs/public/js/plugins.js +0 -34
- data/docs/public/js/profiling/config.js +0 -59
- data/docs/public/js/profiling/yahoo-profiling.css +0 -7
- data/docs/public/js/profiling/yahoo-profiling.js +0 -1028
- data/docs/public/js/profiling/yahoo-profiling.min.js +0 -39
- data/docs/public/js/script.js +0 -26
- data/docs/public/robots.txt +0 -5
- data/docs/storage/index.markdown +0 -204
- data/lib/fog/ecloud/requests/compute/get_admin_organizations.rb +0 -11
- data/lib/fog/ecloud/requests/compute/get_ip_addresses.rb +0 -11
- data/lib/fog/ecloud/requests/compute/get_operating_system_family.rb +0 -11
- data/lib/fog/ecloud/requests/compute/virtual_machine_add_ip.rb +0 -40
- data/lib/fog/vsphere/requests/compute/datacenters.rb +0 -34
- data/lib/fog/vsphere/requests/compute/find_vm_by_ref.rb +0 -41
- data/lib/fog/vsphere/requests/compute/vm_create.rb +0 -97
- data/tests/vsphere/requests/compute/find_vm_by_ref_tests.rb +0 -26
- data/tests/vsphere/requests/compute/vm_create_tests.rb +0 -20
data/.gitignore
CHANGED
@@ -6,17 +6,17 @@
|
|
6
6
|
.bundle
|
7
7
|
.DS_Store
|
8
8
|
.idea
|
9
|
+
.yardoc
|
9
10
|
/tests/.fog
|
10
11
|
bin/*
|
11
12
|
!bin/fog
|
12
|
-
!bin/rdoc
|
13
13
|
.fog
|
14
14
|
coverage
|
15
15
|
doc/*
|
16
16
|
docs/_site/*
|
17
17
|
docs/about/supported_services.markdown
|
18
18
|
Gemfile.lock
|
19
|
-
|
19
|
+
yardoc
|
20
20
|
pkg
|
21
21
|
spec/credentials.yml
|
22
22
|
vendor/*
|
data/README.md
CHANGED
@@ -1,12 +1,15 @@
|
|
1
1
|
![fog](http://geemus.s3.amazonaws.com/fog.png)
|
2
2
|
|
3
|
-
fog is the Ruby cloud
|
3
|
+
fog is the Ruby cloud services library, top to bottom:
|
4
4
|
|
5
5
|
* Collections provide a simplified interface, making clouds easier to work with and switch between.
|
6
6
|
* Requests allow power users to get the most out of the features of each individual cloud.
|
7
7
|
* Mocks make testing and integrating a breeze.
|
8
8
|
|
9
9
|
[![Build Status](https://secure.travis-ci.org/fog/fog.png?branch=master)](http://travis-ci.org/fog/fog)
|
10
|
+
[![Code Climate](https://codeclimate.com/badge.png)](https://codeclimate.com/github/fog/fog)
|
11
|
+
[![Gem Version](https://fury-badge.herokuapp.com/rb/fog.png)](http://badge.fury.io/rb/fog)
|
12
|
+
[![Dependency Status](https://gemnasium.com/fog/fog.png)](https://gemnasium.com/fog/fog)
|
10
13
|
|
11
14
|
## Getting Started
|
12
15
|
|
@@ -15,14 +18,16 @@ fog is the Ruby cloud computing library, top to bottom:
|
|
15
18
|
Now type `fog` to try stuff, confident that fog will let you know what to do.
|
16
19
|
Here is an example of wading through server creation for Amazon Elastic Compute Cloud:
|
17
20
|
|
18
|
-
|
19
|
-
|
21
|
+
```ruby
|
22
|
+
server = Compute[:aws].servers.create
|
23
|
+
# => ArgumentError: image_id is required for this operation
|
20
24
|
|
21
|
-
|
22
|
-
|
25
|
+
server = Compute[:aws].servers.create(:image_id => 'ami-5ee70037')
|
26
|
+
# => <Fog::AWS::EC2::Server [...]>
|
23
27
|
|
24
|
-
|
25
|
-
|
28
|
+
server.destroy # cleanup after yourself or regret it, trust me
|
29
|
+
# => true
|
30
|
+
```
|
26
31
|
|
27
32
|
## Collections
|
28
33
|
|
@@ -30,8 +35,10 @@ A high level interface to each cloud is provided through collections, such as `i
|
|
30
35
|
You can see a list of available collections by calling `collections` on the connection object.
|
31
36
|
You can try it out using the `fog` command:
|
32
37
|
|
33
|
-
|
34
|
-
|
38
|
+
```ruby
|
39
|
+
Compute[:aws].collections
|
40
|
+
# => [:addresses, :directories, ..., :volumes, :zones]
|
41
|
+
```
|
35
42
|
|
36
43
|
Some collections are available across multiple providers:
|
37
44
|
|
@@ -48,21 +55,23 @@ Collections share basic CRUD type operations, such as:
|
|
48
55
|
|
49
56
|
As an example, we'll try initializing and persisting a Rackspace Cloud server:
|
50
57
|
|
51
|
-
|
58
|
+
```ruby
|
59
|
+
require 'fog'
|
52
60
|
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
61
|
+
compute = Fog::Compute.new(
|
62
|
+
:provider => 'Rackspace',
|
63
|
+
:rackspace_api_key => key,
|
64
|
+
:rackspace_username => username
|
65
|
+
)
|
58
66
|
|
59
|
-
|
60
|
-
|
61
|
-
|
67
|
+
# boot a gentoo server (flavor 1 = 256, image 3 = gentoo 2008.0)
|
68
|
+
server = compute.servers.create(:flavor_id => 1, :image_id => 3, :name => 'my_server')
|
69
|
+
server.wait_for { ready? } # give server time to boot
|
62
70
|
|
63
|
-
|
71
|
+
# DO STUFF
|
64
72
|
|
65
|
-
|
73
|
+
server.destroy # cleanup after yourself or regret it, trust me
|
74
|
+
```
|
66
75
|
|
67
76
|
## Models
|
68
77
|
|
@@ -78,7 +87,9 @@ As you might imagine, testing code using Fog can be slow and expensive, constant
|
|
78
87
|
Mocking allows skipping this overhead by providing an in memory representation resources as you make requests.
|
79
88
|
Enabling mocking easy to use, before you run other commands, simply run:
|
80
89
|
|
81
|
-
|
90
|
+
```ruby
|
91
|
+
Fog.mock!
|
92
|
+
```
|
82
93
|
|
83
94
|
Then proceed as usual, if you run into unimplemented mocks, fog will raise an error and as always contributions are welcome!
|
84
95
|
|
@@ -100,40 +111,40 @@ It will return an [excon](http://github.com/geemus/excon) response, which has `b
|
|
100
111
|
Play around and use the console to explore or check out [fog.io](http://fog.io) for more details and examples.
|
101
112
|
Once you are ready to start scripting fog, here is a quick hint on how to make connections without the command line thing to help you.
|
102
113
|
|
103
|
-
|
104
|
-
|
105
|
-
|
114
|
+
```ruby
|
115
|
+
# create a compute connection
|
116
|
+
compute = Fog::Compute.new(:provider => 'AWS', :aws_access_key_id => ACCESS_KEY_ID, :aws_secret_access_key => SECRET_ACCESS_KEY)
|
117
|
+
# compute operations go here
|
106
118
|
|
107
|
-
|
108
|
-
|
109
|
-
|
119
|
+
# create a storage connection
|
120
|
+
storage = Fog::Storage.new(:provider => 'AWS', :aws_access_key_id => ACCESS_KEY_ID, :aws_secret_access_key => SECRET_ACCESS_KEY)
|
121
|
+
# storage operations go here
|
122
|
+
```
|
110
123
|
|
111
124
|
geemus says: "That should give you everything you need to get started, but let me know if there is anything I can do to help!"
|
112
125
|
|
113
126
|
## Contributing
|
114
127
|
|
115
|
-
* Find something you would like to work on.
|
128
|
+
* Find something you would like to work on.
|
129
|
+
* Look for anything you can help with in the [issue tracker](https://github.com/fog/fog/issues).
|
130
|
+
* Look at the [code quality metrics](https://codeclimate.com/github/fog/fog) for anything you can help clean up.
|
131
|
+
* Or anything else!
|
116
132
|
* Fork the project and do your work in a topic branch.
|
117
|
-
*
|
133
|
+
* Make sure your changes will work on both Ruby 1.8.7 and Ruby 1.9
|
134
|
+
* Add a config at `tests/.fog` for the component you want to test.
|
118
135
|
* Add shindo tests to prove your code works and run all the tests using `bundle exec rake`.
|
119
|
-
* Rebase your branch against fog/fog to make sure everything is up to date.
|
136
|
+
* Rebase your branch against `fog/fog` to make sure everything is up to date.
|
120
137
|
* Commit your changes and send a pull request.
|
121
138
|
|
122
139
|
## Additional Resources
|
123
140
|
|
124
141
|
[fog.io](http://fog.io)
|
125
142
|
|
126
|
-
## Sponsorship
|
127
|
-
|
128
|
-
![Engine Yard](http://www.engineyard.com/images/logo.png)
|
129
|
-
|
130
|
-
All new work on fog is sponsored by [Engine Yard](http://engineyard.com)
|
131
|
-
|
132
143
|
## Copyright
|
133
144
|
|
134
145
|
(The MIT License)
|
135
146
|
|
136
|
-
Copyright (c)
|
147
|
+
Copyright (c) 2013 [geemus (Wesley Beary)](http://github.com/geemus)
|
137
148
|
|
138
149
|
Permission is hereby granted, free of charge, to any person obtaining
|
139
150
|
a copy of this software and associated documentation files (the
|
data/RELEASE.md
ADDED
@@ -0,0 +1,39 @@
|
|
1
|
+
# Release process
|
2
|
+
|
3
|
+
This is fog's current release process, documented so people know what is
|
4
|
+
currently done.
|
5
|
+
|
6
|
+
## Versioning
|
7
|
+
|
8
|
+
fog uses semantic versioning (http://semver.org/)
|
9
|
+
|
10
|
+
## When we release
|
11
|
+
|
12
|
+
Releases occur monthly and are manually handled by fog's Benevolent
|
13
|
+
Dictator Wes (@geemus).
|
14
|
+
|
15
|
+
To request a new release please raise an issue.
|
16
|
+
|
17
|
+
## Prepare the release
|
18
|
+
|
19
|
+
* Ensure the code is passing on the CI server [![Build Status](https://secure.travis-ci.org/fog/fog.png?branch=master)](http://travis-ci.org/fog/fog)
|
20
|
+
* Ensure the code is passing for live tests (Requires Credentials for all
|
21
|
+
services)
|
22
|
+
* Ensure working on **master**
|
23
|
+
* Update the version number (`lib/fog/version.rb`)
|
24
|
+
* Run `rake changelog` to update `changelog.txt`
|
25
|
+
* Run `rake release` to prepare the release which does:
|
26
|
+
* Prepares the release (`rake release:prepare`)
|
27
|
+
* Builds the gem
|
28
|
+
* Tags the commit
|
29
|
+
* Creates commits for version
|
30
|
+
* Publishes the release (`rake release:publish`)
|
31
|
+
* Pushes commit and tag to Github (Requires Credentials)
|
32
|
+
* Pushes gem to Rubygems (Requires Credentials)
|
33
|
+
|
34
|
+
## Announce the release
|
35
|
+
|
36
|
+
Once the release is prepared and uploaded it needs to be announced.
|
37
|
+
|
38
|
+
* Send an email to https://groups.google.com/forum/?fromgroups#!forum/ruby-fog
|
39
|
+
* Tweet as @fog on Twitter (Requires Credentials)
|
data/Rakefile
CHANGED
@@ -1,8 +1,8 @@
|
|
1
1
|
require 'bundler/setup'
|
2
2
|
require 'date'
|
3
3
|
require 'rubygems'
|
4
|
-
require 'rdoc/task'
|
5
4
|
require 'rubygems/package_task'
|
5
|
+
require 'yard'
|
6
6
|
require File.dirname(__FILE__) + '/lib/fog'
|
7
7
|
|
8
8
|
#############################################################################
|
@@ -16,9 +16,7 @@ def name
|
|
16
16
|
end
|
17
17
|
|
18
18
|
def version
|
19
|
-
|
20
|
-
v = line.match(/.*VERSION\s*=\s*['"](.*)['"]/)[1]
|
21
|
-
"#{v}.#{Time.now.getutc.strftime "%Y%m%d%H%M%S"}"
|
19
|
+
"#{Fog::VERSION}.#{Time.now.getutc.strftime "%Y%m%d%H%M%S"}"
|
22
20
|
end
|
23
21
|
|
24
22
|
def date
|
@@ -51,46 +49,15 @@ end
|
|
51
49
|
GEM_NAME = "#{name}"
|
52
50
|
task :default => :test
|
53
51
|
|
54
|
-
|
55
|
-
|
56
|
-
[false].each do |mock|
|
57
|
-
sh("export FOG_MOCK=#{mock} && bundle exec shindont tests/dns/requests/dynect")
|
58
|
-
#sh("export FOG_MOCK=#{mock} && bundle exec shindont tests/dns/models/")
|
59
|
-
end
|
60
|
-
end
|
61
|
-
end
|
62
|
-
|
63
|
-
task :test do
|
64
|
-
Rake::Task[:mock_tests].invoke
|
65
|
-
end
|
52
|
+
require "tasks/test_task"
|
53
|
+
Fog::Rake::TestTask.new
|
66
54
|
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
Thread.main[:results] = []
|
72
|
-
Fog.providers.each do |key, value|
|
73
|
-
threads << Thread.new do
|
74
|
-
Thread.main[:results] << {
|
75
|
-
:provider => value,
|
76
|
-
:success => sh("export FOG_MOCK=#{mocked} && bundle exec shindont +#{key}")
|
77
|
-
}
|
55
|
+
namespace :test do
|
56
|
+
task :vsphere do
|
57
|
+
[true].each do |mock|
|
58
|
+
sh("export FOG_MOCK=#{mock} && bundle exec shindont tests/vsphere")
|
78
59
|
end
|
79
60
|
end
|
80
|
-
threads.each do |thread|
|
81
|
-
thread.join
|
82
|
-
end
|
83
|
-
Formatador.display_table(Thread.main[:results].sort {|x,y| x[:provider] <=> y[:provider]})
|
84
|
-
Formatador.display_line("[bold]FOG_MOCK=#{mocked}[/] tests completed in [bold]#{Time.now.to_i - start}[/] seconds")
|
85
|
-
Formatador.display_line
|
86
|
-
end
|
87
|
-
|
88
|
-
task :mock_tests do
|
89
|
-
tests(true)
|
90
|
-
end
|
91
|
-
|
92
|
-
task :real_tests do
|
93
|
-
tests(false)
|
94
61
|
end
|
95
62
|
|
96
63
|
task :nuke do
|
@@ -118,14 +85,6 @@ task :nuke do
|
|
118
85
|
end
|
119
86
|
end
|
120
87
|
|
121
|
-
require 'rdoc/task'
|
122
|
-
RDoc::Task.new do |rdoc|
|
123
|
-
rdoc.rdoc_dir = 'rdoc'
|
124
|
-
rdoc.title = "#{name} #{version}"
|
125
|
-
rdoc.rdoc_files.include('README*')
|
126
|
-
rdoc.rdoc_files.include('lib/**/*.rb')
|
127
|
-
end
|
128
|
-
|
129
88
|
desc "Open an irb session preloaded with this library"
|
130
89
|
task :console do
|
131
90
|
sh "irb -rubygems -r ./lib/#{name}.rb"
|
@@ -137,18 +96,44 @@ end
|
|
137
96
|
#
|
138
97
|
#############################################################################
|
139
98
|
|
140
|
-
task :release => :
|
141
|
-
|
142
|
-
|
143
|
-
|
99
|
+
task :release => ["release:prepare", "release:publish"]
|
100
|
+
|
101
|
+
namespace :release do
|
102
|
+
task :preflight do
|
103
|
+
unless `git branch` =~ /^\* master$/
|
104
|
+
puts "You must be on the master branch to release!"
|
105
|
+
exit!
|
106
|
+
end
|
107
|
+
if `git tag` =~ /^\* v#{version}$/
|
108
|
+
puts "Tag v#{version} already exists!"
|
109
|
+
exit!
|
110
|
+
end
|
111
|
+
end
|
112
|
+
|
113
|
+
task :prepare => :preflight do
|
114
|
+
Rake::Task[:build].invoke
|
115
|
+
sh "gem install pkg/#{name}-#{version}.gem"
|
116
|
+
Rake::Task[:git_mark_release].invoke
|
117
|
+
end
|
118
|
+
|
119
|
+
task :publish do
|
120
|
+
Rake::Task[:git_push_release].invoke
|
121
|
+
Rake::Task[:gem_push].invoke
|
144
122
|
end
|
145
|
-
|
123
|
+
end
|
124
|
+
|
125
|
+
task :git_mark_release do
|
146
126
|
sh "git commit --allow-empty -a -m 'Release #{version}'"
|
147
127
|
sh "git tag v#{version}"
|
128
|
+
end
|
129
|
+
|
130
|
+
task :git_push_release do
|
148
131
|
sh "git push origin master"
|
149
132
|
sh "git push origin v#{version}"
|
133
|
+
end
|
134
|
+
|
135
|
+
task :gem_push do
|
150
136
|
sh "gem push pkg/#{name}-#{version}.gem"
|
151
|
-
Rake::Task[:docs].invoke
|
152
137
|
end
|
153
138
|
|
154
139
|
task :build => :gemspec do
|
@@ -173,7 +158,7 @@ task :gemspec => :validate do
|
|
173
158
|
end
|
174
159
|
|
175
160
|
task :validate do
|
176
|
-
libfiles = Dir['lib/*'] - ["lib/#{name}.rb", "lib/#{name}"]
|
161
|
+
libfiles = Dir['lib/*'] - ["lib/#{name}.rb", "lib/#{name}", "lib/tasks"]
|
177
162
|
unless libfiles.empty?
|
178
163
|
puts "Directory `lib` should only contain a `#{name}.rb` file and `#{name}` dir."
|
179
164
|
exit!
|
@@ -184,261 +169,12 @@ task :validate do
|
|
184
169
|
end
|
185
170
|
end
|
186
171
|
|
187
|
-
|
188
|
-
|
189
|
-
|
190
|
-
|
191
|
-
|
192
|
-
changelog << ''
|
193
|
-
|
194
|
-
require 'multi_json'
|
195
|
-
github_repo_data = Fog::JSON.decode(Excon.get('https://api.github.com/repos/fog/fog').body)
|
196
|
-
data = github_repo_data.reject {|key, value| !['forks', 'open_issues', 'watchers'].include?(key)}
|
197
|
-
github_collaborator_data = Fog::JSON.decode(Excon.get('https://api.github.com/repos/fog/fog/collaborators').body)
|
198
|
-
data['collaborators'] = github_collaborator_data.length
|
199
|
-
rubygems_data = Fog::JSON.decode(Excon.get('https://rubygems.org/api/v1/gems/fog.json').body)
|
200
|
-
data['downloads'] = rubygems_data['downloads']
|
201
|
-
stats = []
|
202
|
-
for key in data.keys.sort
|
203
|
-
stats << "'#{key}' => #{data[key]}"
|
204
|
-
end
|
205
|
-
changelog << "Stats! { #{stats.join(', ')} }"
|
206
|
-
changelog << ''
|
207
|
-
|
208
|
-
last_sha = `cat changelog.txt | head -1`.split(' ').last
|
209
|
-
shortlog = `git shortlog #{last_sha}..HEAD`
|
210
|
-
changes = {}
|
211
|
-
committers = {}
|
212
|
-
for line in shortlog.split("\n")
|
213
|
-
if line =~ /^\S/
|
214
|
-
committer = line.split(' (', 2).first
|
215
|
-
committers[committer] = 0
|
216
|
-
elsif line =~ /^\s*((Merge.*)|(Release.*))?$/
|
217
|
-
# skip empty lines, Merge and Release commits
|
218
|
-
else
|
219
|
-
unless line[-1..-1] == '.'
|
220
|
-
line << '.'
|
221
|
-
end
|
222
|
-
line.lstrip!
|
223
|
-
line.gsub!(/^\[([^\]]*)\] /, '')
|
224
|
-
tag = $1 || 'misc'
|
225
|
-
changes[tag] ||= []
|
226
|
-
changes[tag] << (line << ' thanks ' << committer)
|
227
|
-
committers[committer] += 1
|
228
|
-
end
|
229
|
-
end
|
230
|
-
|
231
|
-
for committer, commits in committers.to_a.sort {|x,y| y[1] <=> x[1]}
|
232
|
-
if [
|
233
|
-
'Aaron Suggs',
|
234
|
-
'Brian Hartsock',
|
235
|
-
'Christopher Oliver',
|
236
|
-
'Decklin Foster',
|
237
|
-
'Dylan Egan',
|
238
|
-
'geemus',
|
239
|
-
'Henry Addison',
|
240
|
-
'Kevin Menard',
|
241
|
-
'Lincoln Stoll',
|
242
|
-
'Luqman Amjad',
|
243
|
-
'Michael Zeng',
|
244
|
-
'Nick Osborn',
|
245
|
-
'nightshade427',
|
246
|
-
'Patrick Debois',
|
247
|
-
'Stepan G. Fedorov',
|
248
|
-
'Wesley Beary'
|
249
|
-
].include?(committer)
|
250
|
-
next
|
251
|
-
end
|
252
|
-
changelog << "MVP! #{committer}"
|
253
|
-
changelog << ''
|
254
|
-
break
|
255
|
-
end
|
256
|
-
|
257
|
-
for tag in changes.keys.sort
|
258
|
-
changelog << ('[' << tag << ']')
|
259
|
-
for commit in changes[tag]
|
260
|
-
changelog << (' ' << commit)
|
261
|
-
end
|
262
|
-
changelog << ''
|
263
|
-
end
|
264
|
-
|
265
|
-
old_changelog = File.read('changelog.txt')
|
266
|
-
File.open('changelog.txt', 'w') do |file|
|
267
|
-
file.write(changelog.join("\n"))
|
268
|
-
file.write("\n\n")
|
269
|
-
file.write(old_changelog)
|
270
|
-
end
|
271
|
-
end
|
272
|
-
|
273
|
-
task :docs do
|
274
|
-
Rake::Task[:supported_services_docs].invoke
|
275
|
-
Rake::Task[:upload_fog_io].invoke
|
276
|
-
Rake::Task[:upload_rdoc].invoke
|
277
|
-
|
278
|
-
# connect to storage provider
|
279
|
-
Fog.credential = :geemus
|
280
|
-
storage = Fog::Storage.new(:provider => 'AWS')
|
281
|
-
directory = storage.directories.new(:key => 'fog.io')
|
282
|
-
# write base index with redirect to new version
|
283
|
-
directory.files.create(
|
284
|
-
:body => redirecter('latest'),
|
285
|
-
:content_type => 'text/html',
|
286
|
-
:key => 'index.html',
|
287
|
-
:public => true
|
288
|
-
)
|
289
|
-
|
290
|
-
Formatador.display_line
|
172
|
+
# Include Yard tasks for rake yard
|
173
|
+
YARDOC_LOCATION = "doc"
|
174
|
+
YARD::Rake::YardocTask.new do |t|
|
175
|
+
t.files = ['lib/**/*.rb', "README"]
|
176
|
+
t.options = ["--output-dir", YARDOC_LOCATION, "--title", "#{name} #{version}"]
|
291
177
|
end
|
292
178
|
|
293
|
-
|
294
|
-
|
295
|
-
for key, values in Fog.services
|
296
|
-
unless values.length == 1
|
297
|
-
shared |= [key]
|
298
|
-
values.each do |value|
|
299
|
-
support[value] ||= {}
|
300
|
-
support[value][key] = '+'
|
301
|
-
end
|
302
|
-
else
|
303
|
-
value = values.first
|
304
|
-
support[value] ||= {}
|
305
|
-
support[value][:other] ||= []
|
306
|
-
support[value][:other] << key
|
307
|
-
end
|
308
|
-
end
|
309
|
-
shared.sort! {|x,y| x.to_s <=> y.to_s}
|
310
|
-
columns = [:provider] + shared + [:other]
|
311
|
-
data = []
|
312
|
-
for key in support.keys.sort {|x,y| x.to_s <=> y.to_s}
|
313
|
-
data << { :provider => key }.merge!(support[key])
|
314
|
-
end
|
315
|
-
|
316
|
-
table = ''
|
317
|
-
table << "<table border='1'>\n"
|
318
|
-
|
319
|
-
table << " <tr>"
|
320
|
-
for column in columns
|
321
|
-
table << "<th>#{column}</th>"
|
322
|
-
end
|
323
|
-
table << "</tr>\n"
|
324
|
-
|
325
|
-
for datum in data
|
326
|
-
table << " <tr>"
|
327
|
-
for column in columns
|
328
|
-
if value = datum[column]
|
329
|
-
case value
|
330
|
-
when Array
|
331
|
-
table << "<td>#{value.join(', ')}</td>"
|
332
|
-
when '+'
|
333
|
-
table << "<td style='text-align: center;'>#{value}</td>"
|
334
|
-
else
|
335
|
-
table << "<th>#{value}</th>"
|
336
|
-
end
|
337
|
-
else
|
338
|
-
table << "<td></td>"
|
339
|
-
end
|
340
|
-
end
|
341
|
-
table << "</tr>\n"
|
342
|
-
end
|
343
|
-
|
344
|
-
table << "</table>\n"
|
345
|
-
|
346
|
-
File.open('docs/about/supported_services.markdown', 'w') do |file|
|
347
|
-
file.puts <<-METADATA
|
348
|
-
---
|
349
|
-
layout: default
|
350
|
-
title: Supported Services
|
351
|
-
---
|
352
|
-
|
353
|
-
METADATA
|
354
|
-
file.puts(table)
|
355
|
-
end
|
356
|
-
end
|
357
|
-
|
358
|
-
task :upload_fog_io do
|
359
|
-
# connect to storage provider
|
360
|
-
Fog.credential = :geemus
|
361
|
-
storage = Fog::Storage.new(:provider => 'AWS')
|
362
|
-
directory = storage.directories.new(:key => 'fog.io')
|
363
|
-
|
364
|
-
# build the docs locally
|
365
|
-
sh "jekyll docs docs/_site"
|
366
|
-
|
367
|
-
# write web page files to versioned 'folder'
|
368
|
-
for file_path in Dir.glob('docs/_site/**/*')
|
369
|
-
next if File.directory?(file_path)
|
370
|
-
file_name = file_path.gsub('docs/_site/', '')
|
371
|
-
key = '' << version << '/' << file_name
|
372
|
-
Formatador.redisplay(' ' * 128)
|
373
|
-
Formatador.redisplay("Uploading [bold]#{key}[/]")
|
374
|
-
if File.extname(file_name) == '.html'
|
375
|
-
# rewrite links with version
|
376
|
-
body = File.read(file_path)
|
377
|
-
body.gsub!(/vX.Y.Z/, 'v' << version)
|
378
|
-
body.gsub!(/='\//, %{='/} << version << '/')
|
379
|
-
body.gsub!(/="\//, %{="/} << version << '/')
|
380
|
-
content_type = 'text/html'
|
381
|
-
directory.files.create(
|
382
|
-
:body => redirecter(key),
|
383
|
-
:content_type => 'text/html',
|
384
|
-
:key => 'latest/' << file_name,
|
385
|
-
:public => true
|
386
|
-
)
|
387
|
-
else
|
388
|
-
body = File.open(file_path)
|
389
|
-
content_type = nil # leave it up to mime-types
|
390
|
-
end
|
391
|
-
directory.files.create(
|
392
|
-
:body => body,
|
393
|
-
:content_type => content_type,
|
394
|
-
:key => key,
|
395
|
-
:public => true
|
396
|
-
)
|
397
|
-
end
|
398
|
-
Formatador.redisplay(' ' * 128)
|
399
|
-
Formatador.redisplay("Uploaded docs/_site\n")
|
400
|
-
end
|
401
|
-
|
402
|
-
task :upload_rdoc do
|
403
|
-
# connect to storage provider
|
404
|
-
Fog.credential = :geemus
|
405
|
-
storage = Fog::Storage.new(:provider => 'AWS')
|
406
|
-
directory = storage.directories.new(:key => 'fog.io')
|
407
|
-
|
408
|
-
# write rdoc files to versioned 'folder'
|
409
|
-
Rake::Task[:rdoc].invoke
|
410
|
-
for file_path in Dir.glob('rdoc/**/*')
|
411
|
-
next if File.directory?(file_path)
|
412
|
-
file_name = file_path.gsub('rdoc/', '')
|
413
|
-
key = '' << version << '/rdoc/' << file_name
|
414
|
-
Formatador.redisplay(' ' * 128)
|
415
|
-
Formatador.redisplay("Uploading [bold]#{key}[/]")
|
416
|
-
directory.files.create(
|
417
|
-
:body => File.open(file_path),
|
418
|
-
:key => key,
|
419
|
-
:public => true
|
420
|
-
)
|
421
|
-
end
|
422
|
-
Formatador.redisplay(' ' * 128)
|
423
|
-
directory.files.create(
|
424
|
-
:body => redirecter("#{version}/rdoc/index.html"),
|
425
|
-
:content_type => 'text/html',
|
426
|
-
:key => 'latest/rdoc/index.html',
|
427
|
-
:public => true
|
428
|
-
)
|
429
|
-
Formatador.redisplay("Uploaded rdoc\n")
|
430
|
-
end
|
431
|
-
|
432
|
-
def redirecter(path)
|
433
|
-
redirecter = <<-HTML
|
434
|
-
<!doctype html>
|
435
|
-
<head>
|
436
|
-
<title>fog</title>
|
437
|
-
<meta http-equiv="REFRESH" content="0;url=http://fog.io/#{path}">
|
438
|
-
</head>
|
439
|
-
<body>
|
440
|
-
<a href="http://fog.io/#{path}">redirecting to lastest (#{path})</a>
|
441
|
-
</body>
|
442
|
-
</html>
|
443
|
-
HTML
|
444
|
-
end
|
179
|
+
require "tasks/changelog_task"
|
180
|
+
Fog::Rake::ChangelogTask.new
|