fog 1.3.1 → 1.4.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/.gitignore +1 -0
- data/.irbrc +87 -0
- data/Rakefile +3 -3
- data/bin/fog +1 -3
- data/docs/_layouts/default.html +2 -2
- data/docs/cdn/index.markdown +2 -2
- data/docs/compute/index.markdown +2 -2
- data/docs/dns/index.markdown +2 -2
- data/docs/public/js/libs/dd_belatedpng.js +289 -13
- data/docs/public/js/libs/dd_belatedpng.min.js +13 -0
- data/docs/public/js/libs/modernizr-1.6.js +892 -0
- data/docs/public/js/profiling/yahoo-profiling.js +1028 -0
- data/docs/storage/index.markdown +2 -2
- data/fog.gemspec +10 -4
- data/lib/fog.rb +4 -1
- data/lib/fog/aws.rb +46 -5
- data/lib/fog/aws/auto_scaling.rb +26 -11
- data/lib/fog/aws/beanstalk.rb +28 -16
- data/lib/fog/aws/cdn.rb +25 -9
- data/lib/fog/aws/cloud_formation.rb +18 -7
- data/lib/fog/aws/cloud_watch.rb +18 -8
- data/lib/fog/aws/compute.rb +52 -10
- data/lib/fog/aws/credential_fetcher.rb +64 -0
- data/lib/fog/aws/dns.rb +31 -11
- data/lib/fog/aws/dynamodb.rb +32 -18
- data/lib/fog/aws/elasticache.rb +18 -5
- data/lib/fog/aws/elb.rb +30 -10
- data/lib/fog/aws/elb/policy_types.rb +432 -1
- data/lib/fog/aws/emr.rb +20 -20
- data/lib/fog/aws/iam.rb +25 -2
- data/lib/fog/aws/models/beanstalk/environment.rb +16 -0
- data/lib/fog/aws/models/beanstalk/template.rb +16 -0
- data/lib/fog/aws/models/compute/address.rb +4 -0
- data/lib/fog/aws/models/compute/dhcp_option.rb +68 -0
- data/lib/fog/aws/models/compute/dhcp_options.rb +91 -0
- data/lib/fog/aws/models/compute/flavors.rb +10 -1
- data/lib/fog/aws/models/compute/internet_gateway.rb +81 -0
- data/lib/fog/aws/models/compute/internet_gateways.rb +91 -0
- data/lib/fog/aws/models/compute/network_interface.rb +70 -0
- data/lib/fog/aws/models/compute/network_interfaces.rb +136 -0
- data/lib/fog/aws/models/compute/security_group.rb +75 -17
- data/lib/fog/aws/models/compute/server.rb +16 -18
- data/lib/fog/aws/models/compute/servers.rb +1 -1
- data/lib/fog/aws/models/compute/spot_request.rb +20 -0
- data/lib/fog/aws/models/compute/spot_requests.rb +4 -4
- data/lib/fog/aws/models/compute/volume.rb +13 -0
- data/lib/fog/aws/models/dns/record.rb +12 -6
- data/lib/fog/aws/models/dns/records.rb +84 -12
- data/lib/fog/aws/models/dns/zones.rb +1 -1
- data/lib/fog/aws/models/elb/load_balancer.rb +36 -4
- data/lib/fog/aws/models/elb/load_balancers.rb +14 -4
- data/lib/fog/aws/models/iam/access_key.rb +38 -0
- data/lib/fog/aws/models/iam/access_keys.rb +36 -0
- data/lib/fog/aws/models/iam/policies.rb +44 -0
- data/lib/fog/aws/models/iam/policy.rb +39 -0
- data/lib/fog/aws/models/iam/user.rb +40 -0
- data/lib/fog/aws/models/iam/users.rb +27 -0
- data/lib/fog/aws/models/storage/directory.rb +34 -27
- data/lib/fog/aws/models/storage/file.rb +1 -1
- data/lib/fog/aws/models/storage/files.rb +5 -0
- data/lib/fog/aws/parsers/auto_scaling/put_notification_configuration.rb +27 -0
- data/lib/fog/aws/parsers/cloud_formation/describe_stacks.rb +12 -3
- data/lib/fog/aws/parsers/compute/associate_dhcp_options.rb +24 -0
- data/lib/fog/aws/parsers/compute/attach_internet_gateway.rb +24 -0
- data/lib/fog/aws/parsers/compute/attach_network_interface.rb +18 -0
- data/lib/fog/aws/parsers/compute/create_dhcp_options.rb +75 -0
- data/lib/fog/aws/parsers/compute/create_internet_gateway.rb +65 -0
- data/lib/fog/aws/parsers/compute/create_network_interface.rb +28 -0
- data/lib/fog/aws/parsers/compute/delete_dhcp_options.rb +24 -0
- data/lib/fog/aws/parsers/compute/delete_internet_gateway.rb +24 -0
- data/lib/fog/aws/parsers/compute/delete_network_interface.rb +24 -0
- data/lib/fog/aws/parsers/compute/describe_dhcp_options.rb +75 -0
- data/lib/fog/aws/parsers/compute/describe_instance_status.rb +32 -62
- data/lib/fog/aws/parsers/compute/describe_instances.rb +26 -8
- data/lib/fog/aws/parsers/compute/describe_internet_gateways.rb +65 -0
- data/lib/fog/aws/parsers/compute/describe_network_interface_attribute.rb +79 -0
- data/lib/fog/aws/parsers/compute/describe_network_interfaces.rb +43 -0
- data/lib/fog/aws/parsers/compute/describe_reserved_instances.rb +2 -2
- data/lib/fog/aws/parsers/compute/describe_volume_status.rb +62 -45
- data/lib/fog/aws/parsers/compute/describe_volumes.rb +0 -2
- data/lib/fog/aws/parsers/compute/detach_internet_gateway.rb +24 -0
- data/lib/fog/aws/parsers/compute/detach_network_interface.rb +24 -0
- data/lib/fog/aws/parsers/compute/network_interface_parser.rb +89 -0
- data/lib/fog/aws/parsers/dns/list_resource_record_sets.rb +2 -2
- data/lib/fog/aws/parsers/elb/apply_security_groups_to_load_balancer.rb +26 -0
- data/lib/fog/aws/parsers/elb/attach_load_balancer_to_subnets.rb +26 -0
- data/lib/fog/aws/parsers/elb/describe_load_balancers.rb +18 -2
- data/lib/fog/aws/parsers/elb/detach_load_balancer_from_subnets.rb +26 -0
- data/lib/fog/aws/parsers/iam/base_instance_profile.rb +79 -0
- data/lib/fog/aws/parsers/iam/get_role_policy.rb +32 -0
- data/lib/fog/aws/parsers/iam/get_user_policy.rb +9 -3
- data/lib/fog/aws/parsers/iam/instance_profile.rb +34 -0
- data/lib/fog/aws/parsers/iam/list_instance_profiles.rb +34 -0
- data/lib/fog/aws/parsers/iam/list_roles.rb +31 -0
- data/lib/fog/aws/parsers/iam/role_parser.rb +53 -0
- data/lib/fog/aws/parsers/iam/single_role.rb +29 -0
- data/lib/fog/aws/rds.rb +23 -11
- data/lib/fog/aws/requests/auto_scaling/create_launch_configuration.rb +4 -3
- data/lib/fog/aws/requests/auto_scaling/delete_notification_configuration.rb +47 -0
- data/lib/fog/aws/requests/auto_scaling/put_notification_configuration.rb +51 -0
- data/lib/fog/aws/requests/beanstalk/create_configuration_template.rb +3 -0
- data/lib/fog/aws/requests/compute/associate_dhcp_options.rb +57 -0
- data/lib/fog/aws/requests/compute/attach_internet_gateway.rb +56 -0
- data/lib/fog/aws/requests/compute/attach_network_interface.rb +57 -0
- data/lib/fog/aws/requests/compute/authorize_security_group_ingress.rb +2 -2
- data/lib/fog/aws/requests/compute/create_dhcp_options.rb +75 -0
- data/lib/fog/aws/requests/compute/create_internet_gateway.rb +51 -0
- data/lib/fog/aws/requests/compute/create_network_interface.rb +118 -0
- data/lib/fog/aws/requests/compute/delete_dhcp_options.rb +50 -0
- data/lib/fog/aws/requests/compute/delete_internet_gateway.rb +48 -0
- data/lib/fog/aws/requests/compute/delete_network_interface.rb +52 -0
- data/lib/fog/aws/requests/compute/describe_dhcp_options.rb +62 -0
- data/lib/fog/aws/requests/compute/describe_instance_status.rb +11 -1
- data/lib/fog/aws/requests/compute/describe_instances.rb +3 -0
- data/lib/fog/aws/requests/compute/describe_internet_gateways.rb +61 -0
- data/lib/fog/aws/requests/compute/describe_network_interface_attribute.rb +67 -0
- data/lib/fog/aws/requests/compute/describe_network_interfaces.rb +85 -0
- data/lib/fog/aws/requests/compute/describe_volume_status.rb +3 -8
- data/lib/fog/aws/requests/compute/detach_internet_gateway.rb +56 -0
- data/lib/fog/aws/requests/compute/detach_network_interface.rb +49 -0
- data/lib/fog/aws/requests/compute/modify_network_interface_attribute.rb +90 -0
- data/lib/fog/aws/requests/compute/register_image.rb +3 -3
- data/lib/fog/aws/requests/compute/release_address.rb +10 -2
- data/lib/fog/aws/requests/compute/reset_network_interface_attribute.rb +56 -0
- data/lib/fog/aws/requests/compute/run_instances.rb +1 -1
- data/lib/fog/aws/requests/compute/start_instances.rb +27 -0
- data/lib/fog/aws/requests/compute/stop_instances.rb +27 -0
- data/lib/fog/aws/requests/dns/change_resource_record_sets.rb +109 -15
- data/lib/fog/aws/requests/dns/create_hosted_zone.rb +46 -1
- data/lib/fog/aws/requests/dns/get_hosted_zone.rb +24 -1
- data/lib/fog/aws/requests/dns/list_hosted_zones.rb +45 -0
- data/lib/fog/aws/requests/dns/list_resource_record_sets.rb +4 -2
- data/lib/fog/aws/requests/dynamodb/batch_get_item.rb +1 -1
- data/lib/fog/aws/requests/dynamodb/batch_write_item.rb +35 -0
- data/lib/fog/aws/requests/dynamodb/create_table.rb +1 -1
- data/lib/fog/aws/requests/dynamodb/delete_item.rb +1 -1
- data/lib/fog/aws/requests/dynamodb/delete_table.rb +1 -1
- data/lib/fog/aws/requests/dynamodb/describe_table.rb +1 -1
- data/lib/fog/aws/requests/dynamodb/get_item.rb +1 -1
- data/lib/fog/aws/requests/dynamodb/list_tables.rb +1 -1
- data/lib/fog/aws/requests/dynamodb/put_item.rb +1 -1
- data/lib/fog/aws/requests/dynamodb/query.rb +1 -1
- data/lib/fog/aws/requests/dynamodb/scan.rb +1 -1
- data/lib/fog/aws/requests/dynamodb/update_item.rb +1 -1
- data/lib/fog/aws/requests/dynamodb/update_table.rb +1 -1
- data/lib/fog/aws/requests/elb/apply_security_groups_to_load_balancer.rb +61 -0
- data/lib/fog/aws/requests/elb/attach_load_balancer_to_subnets.rb +61 -0
- data/lib/fog/aws/requests/elb/create_load_balancer.rb +8 -3
- data/lib/fog/aws/requests/elb/describe_load_balancers.rb +35 -5
- data/lib/fog/aws/requests/elb/detach_load_balancer_from_subnets.rb +61 -0
- data/lib/fog/aws/requests/iam/add_role_to_instance_profile.rb +35 -0
- data/lib/fog/aws/requests/iam/create_instance_profile.rb +46 -0
- data/lib/fog/aws/requests/iam/create_role.rb +56 -0
- data/lib/fog/aws/requests/iam/delete_instance_profile.rb +32 -0
- data/lib/fog/aws/requests/iam/delete_role.rb +32 -0
- data/lib/fog/aws/requests/iam/delete_role_policy.rb +35 -0
- data/lib/fog/aws/requests/iam/get_group.rb +18 -0
- data/lib/fog/aws/requests/iam/get_instance_profile.rb +42 -0
- data/lib/fog/aws/requests/iam/get_role.rb +38 -0
- data/lib/fog/aws/requests/iam/get_role_policy.rb +36 -0
- data/lib/fog/aws/requests/iam/get_user.rb +23 -3
- data/lib/fog/aws/requests/iam/get_user_policy.rb +17 -0
- data/lib/fog/aws/requests/iam/list_instance_profiles.rb +50 -0
- data/lib/fog/aws/requests/iam/list_instance_profiles_for_role.rb +51 -0
- data/lib/fog/aws/requests/iam/list_role_policies.rb +39 -0
- data/lib/fog/aws/requests/iam/list_roles.rb +43 -0
- data/lib/fog/aws/requests/iam/put_group_policy.rb +1 -1
- data/lib/fog/aws/requests/iam/put_role_policy.rb +36 -0
- data/lib/fog/aws/requests/iam/put_user_policy.rb +1 -1
- data/lib/fog/aws/requests/iam/remove_role_from_instance_profile.rb +36 -0
- data/lib/fog/aws/requests/storage/get_bucket_policy.rb +1 -1
- data/lib/fog/aws/requests/storage/get_object_http_url.rb +2 -1
- data/lib/fog/aws/requests/storage/get_object_https_url.rb +1 -18
- data/lib/fog/aws/requests/storage/get_object_url.rb +29 -8
- data/lib/fog/aws/requests/storage/post_object_hidden_fields.rb +1 -1
- data/lib/fog/aws/requests/storage/put_bucket_policy.rb +1 -1
- data/lib/fog/aws/requests/storage/put_object_url.rb +22 -28
- data/lib/fog/aws/requests/sts/get_federation_token.rb +1 -1
- data/lib/fog/aws/ses.rb +21 -8
- data/lib/fog/aws/simpledb.rb +22 -9
- data/lib/fog/aws/sns.rb +18 -7
- data/lib/fog/aws/sqs.rb +20 -11
- data/lib/fog/aws/storage.rb +51 -18
- data/lib/fog/aws/sts.rb +1 -2
- data/lib/fog/bare_metal_cloud.rb +1 -1
- data/lib/fog/bare_metal_cloud/compute.rb +1 -1
- data/lib/fog/bin.rb +2 -1
- data/lib/fog/bin/aws.rb +2 -0
- data/lib/fog/bin/hp.rb +38 -0
- data/lib/fog/bin/openstack.rb +6 -1
- data/lib/fog/bin/xenserver.rb +31 -0
- data/lib/fog/bluebox.rb +1 -1
- data/lib/fog/bluebox/compute.rb +2 -3
- data/lib/fog/bluebox/dns.rb +2 -2
- data/lib/fog/bluebox/models/compute/server.rb +1 -1
- data/lib/fog/brightbox.rb +1 -1
- data/lib/fog/brightbox/compute.rb +6 -8
- data/lib/fog/brightbox/models/compute/server.rb +2 -1
- data/lib/fog/cdn.rb +3 -0
- data/lib/fog/clodo/compute.rb +1 -3
- data/lib/fog/clodo/models/compute/server.rb +1 -1
- data/lib/fog/clodo/requests/compute/create_server.rb +1 -1
- data/lib/fog/clodo/requests/compute/delete_ip_address.rb +1 -1
- data/lib/fog/clodo/requests/compute/move_ip_address.rb +1 -1
- data/lib/fog/clodo/requests/compute/server_action.rb +1 -1
- data/lib/fog/cloudstack.rb +13 -1
- data/lib/fog/cloudstack/compute.rb +238 -61
- data/lib/fog/cloudstack/models/compute/address.rb +17 -0
- data/lib/fog/cloudstack/models/compute/flavor.rb +33 -0
- data/lib/fog/cloudstack/models/compute/flavors.rb +28 -0
- data/lib/fog/cloudstack/models/compute/image.rb +72 -0
- data/lib/fog/cloudstack/models/compute/images.rb +32 -0
- data/lib/fog/cloudstack/models/compute/job.rb +29 -0
- data/lib/fog/cloudstack/models/compute/jobs.rb +28 -0
- data/lib/fog/cloudstack/models/compute/server.rb +92 -0
- data/lib/fog/cloudstack/models/compute/servers.rb +34 -0
- data/lib/fog/cloudstack/models/compute/volume.rb +119 -0
- data/lib/fog/cloudstack/models/compute/volumes.rb +28 -0
- data/lib/fog/cloudstack/models/compute/zone.rb +39 -0
- data/lib/fog/cloudstack/models/compute/zones.rb +33 -0
- data/lib/fog/cloudstack/requests/compute/attach_volume.rb +57 -10
- data/lib/fog/cloudstack/requests/compute/create_volume.rb +43 -0
- data/lib/fog/cloudstack/requests/compute/delete_template.rb +20 -0
- data/lib/fog/cloudstack/requests/compute/delete_volume.rb +24 -4
- data/lib/fog/cloudstack/requests/compute/deploy_virtual_machine.rb +110 -14
- data/lib/fog/cloudstack/requests/compute/destroy_virtual_machine.rb +12 -3
- data/lib/fog/cloudstack/requests/compute/detach_volume.rb +47 -6
- data/lib/fog/cloudstack/requests/compute/list_async_jobs.rb +17 -5
- data/lib/fog/cloudstack/requests/compute/list_capabilities.rb +1 -1
- data/lib/fog/cloudstack/requests/compute/list_service_offerings.rb +27 -5
- data/lib/fog/cloudstack/requests/compute/list_templates.rb +20 -5
- data/lib/fog/cloudstack/requests/compute/list_virtual_machines.rb +11 -5
- data/lib/fog/cloudstack/requests/compute/list_volumes.rb +23 -5
- data/lib/fog/cloudstack/requests/compute/list_zones.rb +18 -4
- data/lib/fog/cloudstack/requests/compute/reboot_virtual_machine.rb +11 -0
- data/lib/fog/compute.rb +6 -4
- data/lib/fog/compute/models/server.rb +19 -4
- data/lib/fog/core/collection.rb +4 -5
- data/lib/fog/core/credentials.rb +5 -3
- data/lib/fog/core/current_machine.rb +1 -5
- data/lib/fog/core/errors.rb +6 -3
- data/lib/fog/core/json.rb +27 -1
- data/lib/fog/core/model.rb +1 -2
- data/lib/fog/core/scp.rb +11 -3
- data/lib/fog/core/service.rb +29 -8
- data/lib/fog/core/ssh.rb +18 -5
- data/lib/fog/dns.rb +0 -4
- data/lib/fog/dnsimple.rb +1 -1
- data/lib/fog/dnsimple/dns.rb +2 -4
- data/lib/fog/dnsimple/requests/dns/create_domain.rb +1 -1
- data/lib/fog/dnsimple/requests/dns/create_record.rb +1 -1
- data/lib/fog/dnsimple/requests/dns/update_record.rb +1 -1
- data/lib/fog/dnsmadeeasy.rb +1 -1
- data/lib/fog/dnsmadeeasy/dns.rb +4 -5
- data/lib/fog/dnsmadeeasy/requests/dns/create_record.rb +1 -1
- data/lib/fog/dnsmadeeasy/requests/dns/create_secondary.rb +1 -1
- data/lib/fog/dnsmadeeasy/requests/dns/update_record.rb +1 -1
- data/lib/fog/dnsmadeeasy/requests/dns/update_secondary.rb +1 -1
- data/lib/fog/dynect.rb +1 -1
- data/lib/fog/dynect/dns.rb +3 -5
- data/lib/fog/dynect/requests/dns/delete_record.rb +1 -0
- data/lib/fog/dynect/requests/dns/get_node_list.rb +1 -0
- data/lib/fog/dynect/requests/dns/get_record.rb +1 -0
- data/lib/fog/dynect/requests/dns/get_zone.rb +1 -0
- data/lib/fog/dynect/requests/dns/post_record.rb +1 -1
- data/lib/fog/dynect/requests/dns/post_session.rb +2 -1
- data/lib/fog/dynect/requests/dns/post_zone.rb +1 -1
- data/lib/fog/dynect/requests/dns/put_zone.rb +1 -1
- data/lib/fog/ecloud/collection.rb +26 -0
- data/lib/fog/ecloud/compute.rb +341 -1135
- data/lib/fog/ecloud/generate_collection.rb +130 -0
- data/lib/fog/ecloud/ipaddr.rb +5 -0
- data/lib/fog/ecloud/mock_data_classes.rb +768 -0
- data/lib/fog/ecloud/model.rb +22 -0
- data/lib/fog/ecloud/models/compute/admin_organization.rb +39 -0
- data/lib/fog/ecloud/models/compute/admin_organizations.rb +27 -0
- data/lib/fog/ecloud/models/compute/api_key.rb +21 -0
- data/lib/fog/ecloud/models/compute/api_keys.rb +27 -0
- data/lib/fog/ecloud/models/compute/association.rb +23 -0
- data/lib/fog/ecloud/models/compute/associations.rb +35 -0
- data/lib/fog/ecloud/models/compute/authentication_level.rb +22 -0
- data/lib/fog/ecloud/models/compute/authentication_levels.rb +27 -0
- data/lib/fog/ecloud/models/compute/backup_internet_service.rb +22 -33
- data/lib/fog/ecloud/models/compute/backup_internet_services.rb +20 -11
- data/lib/fog/ecloud/models/compute/catalog.rb +17 -5
- data/lib/fog/ecloud/models/compute/catalog_configuration.rb +23 -0
- data/lib/fog/ecloud/models/compute/catalog_configurations.rb +27 -0
- data/lib/fog/ecloud/models/compute/catalog_item.rb +12 -17
- data/lib/fog/ecloud/models/compute/compute_pool.rb +59 -0
- data/lib/fog/ecloud/models/compute/compute_pools.rb +34 -0
- data/lib/fog/ecloud/models/compute/cpu_usage_detail.rb +17 -0
- data/lib/fog/ecloud/models/compute/cpu_usage_detail_summary.rb +27 -0
- data/lib/fog/ecloud/models/compute/environment.rb +105 -0
- data/lib/fog/ecloud/models/compute/environments.rb +40 -0
- data/lib/fog/ecloud/models/compute/firewall_acl.rb +14 -11
- data/lib/fog/ecloud/models/compute/firewall_acls.rb +7 -10
- data/lib/fog/ecloud/models/compute/group.rb +39 -0
- data/lib/fog/ecloud/models/compute/groups.rb +28 -0
- data/lib/fog/ecloud/models/compute/guest_process.rb +15 -0
- data/lib/fog/ecloud/models/compute/guest_processes.rb +27 -0
- data/lib/fog/ecloud/models/compute/hardware_configuration.rb +18 -0
- data/lib/fog/ecloud/models/compute/hardware_configurations.rb +27 -0
- data/lib/fog/ecloud/models/compute/internet_service.rb +47 -73
- data/lib/fog/ecloud/models/compute/internet_services.rb +23 -10
- data/lib/fog/ecloud/models/compute/ip_address.rb +25 -0
- data/lib/fog/ecloud/models/compute/ip_addresses.rb +27 -0
- data/lib/fog/ecloud/models/compute/layout.rb +20 -0
- data/lib/fog/ecloud/models/compute/layouts.rb +27 -0
- data/lib/fog/ecloud/models/compute/location.rb +23 -0
- data/lib/fog/ecloud/models/compute/locations.rb +31 -0
- data/lib/fog/ecloud/models/compute/login_banner.rb +16 -0
- data/lib/fog/ecloud/models/compute/login_banners.rb +27 -0
- data/lib/fog/ecloud/models/compute/memory_usage_detail.rb +16 -0
- data/lib/fog/ecloud/models/compute/memory_usage_detail_summary.rb +27 -0
- data/lib/fog/ecloud/models/compute/monitor.rb +46 -0
- data/lib/fog/ecloud/models/compute/monitors.rb +31 -0
- data/lib/fog/ecloud/models/compute/network.rb +16 -55
- data/lib/fog/ecloud/models/compute/networks.rb +5 -10
- data/lib/fog/ecloud/models/compute/node.rb +22 -26
- data/lib/fog/ecloud/models/compute/nodes.rb +19 -6
- data/lib/fog/ecloud/models/compute/operating_system.rb +17 -0
- data/lib/fog/ecloud/models/compute/operating_system_families.rb +27 -0
- data/lib/fog/ecloud/models/compute/operating_system_family.rb +21 -0
- data/lib/fog/ecloud/models/compute/operating_systems.rb +26 -0
- data/lib/fog/ecloud/models/compute/organization.rb +79 -0
- data/lib/fog/ecloud/models/compute/organizations.rb +39 -0
- data/lib/fog/ecloud/models/compute/password_complexity_rule.rb +49 -0
- data/lib/fog/ecloud/models/compute/password_complexity_rules.rb +27 -0
- data/lib/fog/ecloud/models/compute/physical_device.rb +22 -0
- data/lib/fog/ecloud/models/compute/physical_devices.rb +27 -0
- data/lib/fog/ecloud/models/compute/public_ip.rb +14 -10
- data/lib/fog/ecloud/models/compute/public_ips.rb +8 -11
- data/lib/fog/ecloud/models/compute/rnat.rb +27 -0
- data/lib/fog/ecloud/models/compute/rnats.rb +27 -0
- data/lib/fog/ecloud/models/compute/role.rb +24 -0
- data/lib/fog/ecloud/models/compute/roles.rb +37 -0
- data/lib/fog/ecloud/models/compute/row.rb +53 -0
- data/lib/fog/ecloud/models/compute/rows.rb +37 -0
- data/lib/fog/ecloud/models/compute/server.rb +170 -132
- data/lib/fog/ecloud/models/compute/server_configuration_option.rb +17 -0
- data/lib/fog/ecloud/models/compute/server_configuration_options.rb +27 -0
- data/lib/fog/ecloud/models/compute/servers.rb +38 -28
- data/lib/fog/ecloud/models/compute/ssh_key.rb +20 -0
- data/lib/fog/ecloud/models/compute/ssh_keys.rb +27 -0
- data/lib/fog/ecloud/models/compute/storage_usage_detail.rb +16 -0
- data/lib/fog/ecloud/models/compute/storage_usage_detail_summary.rb +27 -0
- data/lib/fog/ecloud/models/compute/support_ticket.rb +29 -0
- data/lib/fog/ecloud/models/compute/support_tickets.rb +27 -0
- data/lib/fog/ecloud/models/compute/tag.rb +13 -0
- data/lib/fog/ecloud/models/compute/tags.rb +27 -0
- data/lib/fog/ecloud/models/compute/task.rb +10 -11
- data/lib/fog/ecloud/models/compute/tasks.rb +8 -8
- data/lib/fog/ecloud/models/compute/template.rb +24 -0
- data/lib/fog/ecloud/models/compute/templates.rb +40 -0
- data/lib/fog/ecloud/models/compute/trusted_network_group.rb +33 -0
- data/lib/fog/ecloud/models/compute/trusted_network_groups.rb +28 -0
- data/lib/fog/ecloud/models/compute/user.rb +35 -0
- data/lib/fog/ecloud/models/compute/users.rb +27 -0
- data/lib/fog/ecloud/requests/compute/admin_disable_support_access.rb +9 -0
- data/lib/fog/ecloud/requests/compute/admin_edit_authentication_levels.rb +34 -0
- data/lib/fog/ecloud/requests/compute/admin_edit_login_banner.rb +32 -0
- data/lib/fog/ecloud/requests/compute/admin_edit_password_complexity_rules.rb +74 -0
- data/lib/fog/ecloud/requests/compute/admin_enable_support_access.rb +9 -0
- data/lib/fog/ecloud/requests/compute/backup_internet_service_create.rb +47 -0
- data/lib/fog/ecloud/requests/compute/backup_internet_service_delete.rb +11 -0
- data/lib/fog/ecloud/requests/compute/backup_internet_service_edit.rb +47 -0
- data/lib/fog/ecloud/requests/compute/compute_pool_edit.rb +37 -0
- data/lib/fog/ecloud/requests/compute/firewall_acls_create.rb +79 -0
- data/lib/fog/ecloud/requests/compute/firewall_acls_delete.rb +11 -0
- data/lib/fog/ecloud/requests/compute/get_admin_organization.rb +11 -0
- data/lib/fog/ecloud/requests/compute/get_admin_organizations.rb +11 -0
- data/lib/fog/ecloud/requests/compute/{get_task_list.rb → get_api_key.rb} +1 -1
- data/lib/fog/ecloud/requests/compute/{get_vapp_template.rb → get_api_keys.rb} +1 -1
- data/lib/fog/ecloud/requests/compute/get_association.rb +11 -0
- data/lib/fog/ecloud/requests/compute/get_associations.rb +11 -0
- data/lib/fog/ecloud/requests/compute/get_authentication_level.rb +11 -0
- data/lib/fog/ecloud/requests/compute/get_authentication_levels.rb +11 -0
- data/lib/fog/ecloud/requests/compute/get_backup_internet_service.rb +11 -0
- data/lib/fog/ecloud/requests/compute/get_backup_internet_services.rb +11 -0
- data/lib/fog/ecloud/requests/compute/get_catalog.rb +0 -33
- data/lib/fog/ecloud/requests/compute/get_catalog_configuration.rb +11 -0
- data/lib/fog/ecloud/requests/compute/get_catalog_configurations.rb +11 -0
- data/lib/fog/ecloud/requests/compute/get_catalog_item.rb +0 -36
- data/lib/fog/ecloud/requests/compute/get_compute_pool.rb +11 -0
- data/lib/fog/ecloud/requests/compute/get_compute_pools.rb +11 -0
- data/lib/fog/ecloud/requests/compute/get_cpu_usage_detail.rb +11 -0
- data/lib/fog/ecloud/requests/compute/get_cpu_usage_detail_summary.rb +11 -0
- data/lib/fog/ecloud/requests/compute/get_environment.rb +11 -0
- data/lib/fog/ecloud/requests/compute/get_environments.rb +0 -0
- data/lib/fog/ecloud/requests/compute/get_group.rb +11 -0
- data/lib/fog/ecloud/requests/compute/get_groups.rb +11 -0
- data/lib/fog/ecloud/requests/compute/get_guest_process.rb +11 -0
- data/lib/fog/ecloud/requests/compute/get_guest_processes.rb +11 -0
- data/lib/fog/ecloud/requests/compute/get_hardware_configuration.rb +11 -0
- data/lib/fog/ecloud/requests/compute/get_hardware_configurations.rb +11 -0
- data/lib/fog/ecloud/requests/compute/get_internet_service.rb +11 -0
- data/lib/fog/ecloud/requests/compute/get_internet_services.rb +0 -71
- data/lib/fog/ecloud/requests/compute/get_ip_address.rb +11 -0
- data/lib/fog/ecloud/requests/compute/get_ip_addresses.rb +11 -0
- data/lib/fog/ecloud/requests/compute/get_layout.rb +11 -0
- data/lib/fog/ecloud/requests/compute/get_layouts.rb +11 -0
- data/lib/fog/ecloud/requests/compute/get_location.rb +12 -0
- data/lib/fog/ecloud/requests/compute/get_locations.rb +12 -0
- data/lib/fog/ecloud/requests/compute/get_login_banner.rb +11 -0
- data/lib/fog/ecloud/requests/compute/get_login_banners.rb +11 -0
- data/lib/fog/ecloud/requests/compute/get_memory_usage_detail.rb +11 -0
- data/lib/fog/ecloud/requests/compute/get_memory_usage_detail_summary.rb +11 -0
- data/lib/fog/ecloud/requests/compute/get_monitor.rb +11 -0
- data/lib/fog/ecloud/requests/compute/get_monitors.rb +11 -0
- data/lib/fog/ecloud/requests/compute/get_network.rb +1 -34
- data/lib/fog/ecloud/requests/compute/get_network_summary.rb +11 -0
- data/lib/fog/ecloud/requests/compute/get_networks.rb +11 -0
- data/lib/fog/ecloud/requests/compute/get_node.rb +0 -29
- data/lib/fog/ecloud/requests/compute/get_nodes.rb +0 -30
- data/lib/fog/ecloud/requests/compute/get_operating_system.rb +11 -0
- data/lib/fog/ecloud/requests/compute/get_operating_system_families.rb +11 -0
- data/lib/fog/ecloud/requests/compute/get_operating_system_family.rb +11 -0
- data/lib/fog/ecloud/requests/compute/get_organization.rb +0 -38
- data/lib/fog/ecloud/requests/compute/get_organizations.rb +11 -0
- data/lib/fog/ecloud/requests/compute/get_password_complexity_rule.rb +11 -0
- data/lib/fog/ecloud/requests/compute/get_password_complexity_rules.rb +11 -0
- data/lib/fog/ecloud/requests/compute/get_physical_device.rb +11 -0
- data/lib/fog/ecloud/requests/compute/get_physical_devices.rb +11 -0
- data/lib/fog/ecloud/requests/compute/get_process.rb +11 -0
- data/lib/fog/ecloud/requests/compute/get_processes.rb +11 -0
- data/lib/fog/ecloud/requests/compute/get_public_ip.rb +0 -23
- data/lib/fog/ecloud/requests/compute/get_public_ips.rb +0 -27
- data/lib/fog/ecloud/requests/compute/get_rnat.rb +11 -0
- data/lib/fog/ecloud/requests/compute/get_rnats.rb +11 -0
- data/lib/fog/ecloud/requests/compute/get_role.rb +11 -0
- data/lib/fog/ecloud/requests/compute/get_roles.rb +11 -0
- data/lib/fog/ecloud/requests/compute/get_row.rb +11 -0
- data/lib/fog/ecloud/requests/compute/get_rows.rb +11 -0
- data/lib/fog/ecloud/requests/compute/get_server.rb +11 -0
- data/lib/fog/ecloud/requests/compute/get_server_configuration_option.rb +11 -0
- data/lib/fog/ecloud/requests/compute/get_server_configuration_options.rb +11 -0
- data/lib/fog/ecloud/requests/compute/get_servers.rb +11 -0
- data/lib/fog/ecloud/requests/compute/get_ssh_key.rb +11 -0
- data/lib/fog/ecloud/requests/compute/get_ssh_keys.rb +11 -0
- data/lib/fog/ecloud/requests/compute/get_storage_usage_detail.rb +11 -0
- data/lib/fog/ecloud/requests/compute/get_storage_usage_detail_summary.rb +11 -0
- data/lib/fog/ecloud/requests/compute/get_support_ticket.rb +11 -0
- data/lib/fog/ecloud/requests/compute/get_support_tickets.rb +11 -0
- data/lib/fog/ecloud/requests/compute/get_tag.rb +11 -0
- data/lib/fog/ecloud/requests/compute/get_tags.rb +11 -0
- data/lib/fog/ecloud/requests/compute/get_tasks.rb +11 -0
- data/lib/fog/ecloud/requests/compute/get_template.rb +11 -0
- data/lib/fog/ecloud/requests/compute/get_templates.rb +11 -0
- data/lib/fog/ecloud/requests/compute/get_trusted_network_group.rb +11 -0
- data/lib/fog/ecloud/requests/compute/get_trusted_network_groups.rb +11 -0
- data/lib/fog/ecloud/requests/compute/get_user.rb +11 -0
- data/lib/fog/ecloud/requests/compute/get_users.rb +11 -0
- data/lib/fog/ecloud/requests/compute/groups_create.rb +31 -0
- data/lib/fog/ecloud/requests/compute/groups_delete.rb +11 -0
- data/lib/fog/ecloud/requests/compute/groups_edit.rb +29 -0
- data/lib/fog/ecloud/requests/compute/groups_movedown.rb +11 -0
- data/lib/fog/ecloud/requests/compute/groups_moveup.rb +11 -0
- data/lib/fog/ecloud/requests/compute/internet_service_create.rb +67 -0
- data/lib/fog/ecloud/requests/compute/internet_service_delete.rb +11 -0
- data/lib/fog/ecloud/requests/compute/internet_service_edit.rb +60 -0
- data/lib/fog/ecloud/requests/compute/monitors_create_default.rb +11 -0
- data/lib/fog/ecloud/requests/compute/monitors_create_ecv.rb +40 -0
- data/lib/fog/ecloud/requests/compute/monitors_create_http.rb +44 -0
- data/lib/fog/ecloud/requests/compute/monitors_create_loopback.rb +11 -0
- data/lib/fog/ecloud/requests/compute/monitors_create_ping.rb +35 -0
- data/lib/fog/ecloud/requests/compute/monitors_disable.rb +11 -0
- data/lib/fog/ecloud/requests/compute/monitors_edit_ecv.rb +40 -0
- data/lib/fog/ecloud/requests/compute/monitors_edit_http.rb +44 -0
- data/lib/fog/ecloud/requests/compute/monitors_edit_ping.rb +35 -0
- data/lib/fog/ecloud/requests/compute/monitors_enable.rb +11 -0
- data/lib/fog/ecloud/requests/compute/node_service_create.rb +45 -0
- data/lib/fog/ecloud/requests/compute/node_service_delete.rb +11 -0
- data/lib/fog/ecloud/requests/compute/node_service_edit.rb +41 -0
- data/lib/fog/ecloud/requests/compute/power_off.rb +0 -12
- data/lib/fog/ecloud/requests/compute/power_on.rb +0 -12
- data/lib/fog/ecloud/requests/compute/power_shutdown.rb +1 -1
- data/lib/fog/ecloud/requests/compute/public_ip_activate.rb +11 -0
- data/lib/fog/ecloud/requests/compute/rnat_associations_create_device.rb +32 -0
- data/lib/fog/ecloud/requests/compute/rnat_associations_delete.rb +9 -0
- data/lib/fog/ecloud/requests/compute/rnat_associations_edit_network.rb +31 -0
- data/lib/fog/ecloud/requests/compute/rows_create.rb +29 -0
- data/lib/fog/ecloud/requests/compute/rows_delete.rb +11 -0
- data/lib/fog/ecloud/requests/compute/rows_edit.rb +29 -0
- data/lib/fog/ecloud/requests/compute/rows_movedown.rb +11 -0
- data/lib/fog/ecloud/requests/compute/rows_moveup.rb +11 -0
- data/lib/fog/ecloud/requests/compute/trusted_network_groups_create.rb +53 -0
- data/lib/fog/ecloud/requests/compute/trusted_network_groups_delete.rb +11 -0
- data/lib/fog/ecloud/requests/compute/trusted_network_groups_edit.rb +53 -0
- data/lib/fog/ecloud/requests/compute/virtual_machine_copy.rb +118 -0
- data/lib/fog/ecloud/requests/compute/virtual_machine_copy_identical.rb +45 -0
- data/lib/fog/ecloud/requests/compute/virtual_machine_create_from_template.rb +125 -0
- data/lib/fog/ecloud/requests/compute/virtual_machine_delete.rb +11 -0
- data/lib/fog/ecloud/requests/compute/virtual_machine_edit.rb +47 -0
- data/lib/fog/ecloud/requests/compute/virtual_machine_edit_hardware_configuration.rb +53 -0
- data/lib/fog/ecloud/requests/compute/virtual_machine_import.rb +67 -0
- data/lib/fog/glesys/compute.rb +2 -2
- data/lib/fog/glesys/models/compute/server.rb +5 -0
- data/lib/fog/glesys/models/compute/servers.rb +14 -8
- data/lib/fog/glesys/requests/compute/reboot.rb +14 -0
- data/lib/fog/go_grid.rb +1 -1
- data/lib/fog/go_grid/compute.rb +2 -3
- data/lib/fog/go_grid/models/compute/server.rb +2 -2
- data/lib/fog/google.rb +1 -1
- data/lib/fog/google/storage.rb +3 -3
- data/lib/fog/hp.rb +234 -0
- data/lib/fog/hp/README_HP.rdoc +60 -0
- data/lib/fog/hp/cdn.rb +131 -0
- data/lib/fog/hp/compute.rb +182 -0
- data/lib/fog/hp/models/compute/address.rb +71 -0
- data/lib/fog/hp/models/compute/addresses.rb +29 -0
- data/lib/fog/hp/models/compute/flavor.rb +24 -0
- data/lib/fog/hp/models/compute/flavors.rb +28 -0
- data/lib/fog/hp/models/compute/image.rb +37 -0
- data/lib/fog/hp/models/compute/images.rb +34 -0
- data/lib/fog/hp/models/compute/key_pair.rb +59 -0
- data/lib/fog/hp/models/compute/key_pairs.rb +31 -0
- data/lib/fog/hp/models/compute/security_group.rb +50 -0
- data/lib/fog/hp/models/compute/security_groups.rb +29 -0
- data/lib/fog/hp/models/compute/server.rb +225 -0
- data/lib/fog/{slicehost → hp}/models/compute/servers.rb +6 -8
- data/lib/fog/hp/models/storage/directories.rb +50 -0
- data/lib/fog/hp/models/storage/directory.rb +160 -0
- data/lib/fog/hp/models/storage/file.rb +87 -0
- data/lib/fog/hp/models/storage/files.rb +103 -0
- data/lib/fog/hp/requests/cdn/delete_container.rb +38 -0
- data/lib/fog/hp/requests/cdn/get_containers.rb +44 -0
- data/lib/fog/hp/requests/cdn/head_container.rb +50 -0
- data/lib/fog/hp/requests/cdn/post_container.rb +52 -0
- data/lib/fog/hp/requests/cdn/put_container.rb +53 -0
- data/lib/fog/hp/requests/compute/allocate_address.rb +49 -0
- data/lib/fog/hp/requests/compute/associate_address.rb +42 -0
- data/lib/fog/hp/requests/compute/change_password_server.rb +33 -0
- data/lib/fog/hp/requests/compute/confirm_resized_server.rb +34 -0
- data/lib/fog/hp/requests/compute/create_image.rb +63 -0
- data/lib/fog/hp/requests/compute/create_key_pair.rb +81 -0
- data/lib/fog/hp/requests/compute/create_security_group.rb +83 -0
- data/lib/fog/hp/requests/compute/create_security_group_rule.rb +75 -0
- data/lib/fog/hp/requests/compute/create_server.rb +140 -0
- data/lib/fog/hp/requests/compute/delete_image.rb +45 -0
- data/lib/fog/hp/requests/compute/delete_key_pair.rb +39 -0
- data/lib/fog/hp/requests/compute/delete_security_group.rb +41 -0
- data/lib/fog/hp/requests/compute/delete_security_group_rule.rb +49 -0
- data/lib/fog/hp/requests/compute/delete_server.rb +43 -0
- data/lib/fog/hp/requests/compute/disassociate_address.rb +39 -0
- data/lib/fog/hp/requests/compute/get_address.rb +45 -0
- data/lib/fog/hp/requests/compute/get_flavor_details.rb +51 -0
- data/lib/fog/hp/requests/compute/get_image_details.rb +43 -0
- data/lib/fog/hp/requests/compute/get_security_group.rb +57 -0
- data/lib/fog/hp/requests/compute/get_server_details.rb +52 -0
- data/lib/fog/hp/requests/compute/list_addresses.rb +41 -0
- data/lib/fog/hp/requests/compute/list_flavors.rb +44 -0
- data/lib/fog/hp/requests/compute/list_flavors_detail.rb +46 -0
- data/lib/fog/hp/requests/compute/list_images.rb +40 -0
- data/lib/fog/hp/requests/compute/list_images_detail.rb +49 -0
- data/lib/fog/hp/requests/compute/list_key_pairs.rb +44 -0
- data/lib/fog/hp/requests/compute/list_security_groups.rb +54 -0
- data/lib/fog/hp/requests/compute/list_server_addresses.rb +42 -0
- data/lib/fog/hp/requests/compute/list_server_private_addresses.rb +58 -0
- data/lib/fog/hp/requests/compute/list_server_public_addresses.rb +58 -0
- data/lib/fog/hp/requests/compute/list_servers.rb +41 -0
- data/lib/fog/hp/requests/compute/list_servers_detail.rb +56 -0
- data/lib/fog/hp/requests/compute/reboot_server.rb +34 -0
- data/lib/fog/hp/requests/compute/rebuild_server.rb +32 -0
- data/lib/fog/hp/requests/compute/release_address.rb +39 -0
- data/lib/fog/hp/requests/compute/resize_server.rb +39 -0
- data/lib/fog/hp/requests/compute/revert_resized_server.rb +35 -0
- data/lib/fog/hp/requests/compute/server_action.rb +25 -0
- data/lib/fog/hp/requests/compute/update_server.rb +42 -0
- data/lib/fog/hp/requests/storage/delete_container.rb +43 -0
- data/lib/fog/hp/requests/storage/delete_object.rb +44 -0
- data/lib/fog/hp/requests/storage/get_container.rb +92 -0
- data/lib/fog/hp/requests/storage/get_containers.rb +71 -0
- data/lib/fog/hp/requests/storage/get_object.rb +77 -0
- data/lib/fog/hp/requests/storage/head_container.rb +40 -0
- data/lib/fog/hp/requests/storage/head_containers.rb +37 -0
- data/lib/fog/hp/requests/storage/head_object.rb +35 -0
- data/lib/fog/hp/requests/storage/put_container.rb +48 -0
- data/lib/fog/hp/requests/storage/put_object.rb +94 -0
- data/lib/fog/hp/storage.rb +201 -0
- data/lib/fog/ibm.rb +2 -3
- data/lib/fog/ibm/compute.rb +1 -1
- data/lib/fog/ibm/models/compute/server.rb +2 -2
- data/lib/fog/ibm/storage.rb +1 -1
- data/lib/fog/identity.rb +24 -0
- data/lib/fog/image.rb +24 -0
- data/lib/fog/joyent/compute.rb +23 -8
- data/lib/fog/joyent/models/compute/keys.rb +2 -2
- data/lib/fog/joyent/models/compute/server.rb +1 -2
- data/lib/fog/joyent/requests/compute/list_datacenters.rb +17 -0
- data/lib/fog/libvirt.rb +1 -1
- data/lib/fog/libvirt/compute.rb +56 -28
- data/lib/fog/libvirt/models/compute/interface.rb +5 -25
- data/lib/fog/libvirt/models/compute/interfaces.rb +7 -45
- data/lib/fog/libvirt/models/compute/network.rb +3 -34
- data/lib/fog/libvirt/models/compute/networks.rb +6 -43
- data/lib/fog/libvirt/models/compute/nic.rb +54 -0
- data/lib/fog/libvirt/models/compute/nics.rb +16 -0
- data/lib/fog/libvirt/models/compute/node.rb +5 -16
- data/lib/fog/libvirt/models/compute/nodes.rb +9 -24
- data/lib/fog/libvirt/models/compute/pool.rb +26 -138
- data/lib/fog/libvirt/models/compute/pools.rb +6 -42
- data/lib/fog/libvirt/models/compute/server.rb +206 -308
- data/lib/fog/libvirt/models/compute/servers.rb +8 -63
- data/lib/fog/libvirt/models/compute/templates/server.xml.erb +17 -21
- data/lib/fog/libvirt/models/compute/templates/volume.xml.erb +2 -2
- data/lib/fog/libvirt/models/compute/{uri.rb → util/uri.rb} +1 -2
- data/lib/fog/libvirt/models/compute/util/util.rb +33 -0
- data/lib/fog/libvirt/models/compute/volume.rb +54 -122
- data/lib/fog/libvirt/models/compute/volumes.rb +2 -65
- data/lib/fog/libvirt/requests/compute/create_domain.rb +17 -0
- data/lib/fog/libvirt/requests/compute/create_volume.rb +17 -0
- data/lib/fog/libvirt/requests/compute/define_domain.rb +17 -0
- data/lib/fog/libvirt/requests/compute/define_pool.rb +17 -0
- data/lib/fog/libvirt/requests/compute/destroy_interface.rb +18 -0
- data/lib/fog/libvirt/requests/compute/destroy_network.rb +17 -0
- data/lib/fog/libvirt/requests/compute/get_node_info.rb +39 -0
- data/lib/fog/libvirt/requests/compute/list_domains.rb +106 -0
- data/lib/fog/libvirt/requests/compute/list_interfaces.rb +59 -0
- data/lib/fog/libvirt/requests/compute/list_networks.rb +58 -0
- data/lib/fog/libvirt/requests/compute/list_pool_volumes.rb +21 -0
- data/lib/fog/libvirt/requests/compute/list_pools.rb +72 -0
- data/lib/fog/libvirt/requests/compute/list_volumes.rb +89 -0
- data/lib/fog/libvirt/requests/compute/mock_files/domain.xml +40 -0
- data/lib/fog/libvirt/requests/compute/pool_action.rb +19 -0
- data/lib/fog/libvirt/requests/compute/update_display.rb +31 -0
- data/lib/fog/libvirt/requests/compute/vm_action.rb +19 -0
- data/lib/fog/libvirt/requests/compute/volume_action.rb +18 -0
- data/lib/fog/linode.rb +1 -1
- data/lib/fog/linode/compute.rb +2 -3
- data/lib/fog/linode/dns.rb +2 -3
- data/lib/fog/linode/requests/compute/avail_datacenters.rb +20 -0
- data/lib/fog/linode/requests/compute/avail_distributions.rb +38 -1
- data/lib/fog/linode/requests/compute/avail_kernels.rb +36 -1
- data/lib/fog/linode/requests/compute/avail_linodeplans.rb +37 -2
- data/lib/fog/linode/requests/compute/avail_stackscripts.rb +44 -0
- data/lib/fog/linode/requests/compute/linode_boot.rb +13 -0
- data/lib/fog/linode/requests/compute/linode_config_create.rb +13 -0
- data/lib/fog/linode/requests/compute/linode_config_list.rb +51 -0
- data/lib/fog/linode/requests/compute/linode_create.rb +15 -2
- data/lib/fog/linode/requests/compute/linode_delete.rb +13 -0
- data/lib/fog/linode/requests/compute/linode_disk_create.rb +14 -0
- data/lib/fog/linode/requests/compute/linode_disk_createfromdistribution.rb +14 -0
- data/lib/fog/linode/requests/compute/linode_disk_createfromstackscript.rb +1 -1
- data/lib/fog/linode/requests/compute/linode_disk_delete.rb +14 -0
- data/lib/fog/linode/requests/compute/linode_disk_list.rb +40 -1
- data/lib/fog/linode/requests/compute/linode_ip_list.rb +38 -0
- data/lib/fog/linode/requests/compute/linode_list.rb +53 -0
- data/lib/fog/linode/requests/compute/linode_reboot.rb +14 -1
- data/lib/fog/linode/requests/compute/linode_shutdown.rb +13 -0
- data/lib/fog/linode/requests/compute/linode_update.rb +13 -0
- data/lib/fog/local.rb +1 -1
- data/lib/fog/local/storage.rb +1 -1
- data/lib/fog/ninefold.rb +1 -1
- data/lib/fog/ninefold/compute.rb +4 -8
- data/lib/fog/ninefold/storage.rb +3 -3
- data/lib/fog/openstack.rb +90 -38
- data/lib/fog/openstack/compute.rb +223 -64
- data/lib/fog/openstack/identity.rb +226 -0
- data/lib/fog/openstack/image.rb +203 -0
- data/lib/fog/openstack/models/compute/address.rb +71 -0
- data/lib/fog/openstack/models/compute/addresses.rb +33 -0
- data/lib/fog/openstack/models/compute/flavor.rb +24 -4
- data/lib/fog/openstack/models/compute/host.rb +28 -0
- data/lib/fog/openstack/models/compute/hosts.rb +32 -0
- data/lib/fog/openstack/models/compute/key_pair.rb +60 -0
- data/lib/fog/openstack/models/compute/key_pairs.rb +31 -0
- data/lib/fog/openstack/models/compute/metadata.rb +5 -5
- data/lib/fog/openstack/models/compute/{meta.rb → metadatum.rb} +1 -1
- data/lib/fog/openstack/models/compute/network.rb +13 -0
- data/lib/fog/openstack/models/compute/networks.rb +29 -0
- data/lib/fog/openstack/models/compute/security_group.rb +44 -0
- data/lib/fog/openstack/models/compute/security_groups.rb +27 -0
- data/lib/fog/openstack/models/compute/server.rb +82 -5
- data/lib/fog/openstack/models/compute/snapshot.rb +43 -0
- data/lib/fog/openstack/models/compute/snapshots.rb +26 -0
- data/lib/fog/openstack/models/compute/tenant.rb +24 -0
- data/lib/fog/openstack/models/compute/tenants.rb +20 -0
- data/lib/fog/openstack/models/compute/volume.rb +58 -0
- data/lib/fog/openstack/models/compute/volumes.rb +26 -0
- data/lib/fog/openstack/models/identity/role.rb +50 -0
- data/lib/fog/openstack/models/identity/roles.rb +21 -0
- data/lib/fog/openstack/models/identity/tenant.rb +62 -0
- data/lib/fog/openstack/models/identity/tenants.rb +27 -0
- data/lib/fog/openstack/models/identity/user.rb +64 -0
- data/lib/fog/openstack/models/identity/users.rb +30 -0
- data/lib/fog/openstack/models/image/image.rb +85 -0
- data/lib/fog/openstack/models/image/images.rb +60 -0
- data/lib/fog/openstack/models/volume/volume.rb +46 -0
- data/lib/fog/openstack/models/volume/volumes.rb +27 -0
- data/lib/fog/openstack/requests/compute/add_fixed_ip.rb +29 -0
- data/lib/fog/openstack/requests/compute/allocate_address.rb +42 -0
- data/lib/fog/openstack/requests/compute/associate_address.rb +27 -0
- data/lib/fog/openstack/requests/compute/attach_volume.rb +28 -0
- data/lib/fog/openstack/requests/compute/boot_from_snapshot.rb +41 -0
- data/lib/fog/openstack/requests/compute/{change_password_server.rb → change_server_password.rb} +2 -2
- data/lib/fog/openstack/requests/compute/{confirm_resized_server.rb → confirm_resize_server.rb} +2 -2
- data/lib/fog/openstack/requests/compute/create_flavor.rb +82 -0
- data/lib/fog/openstack/requests/compute/create_image.rb +1 -1
- data/lib/fog/openstack/requests/compute/create_key_pair.rb +49 -0
- data/lib/fog/openstack/requests/compute/create_security_group.rb +47 -0
- data/lib/fog/openstack/requests/compute/create_security_group_rule.rb +56 -0
- data/lib/fog/openstack/requests/compute/create_server.rb +16 -14
- data/lib/fog/openstack/requests/compute/create_volume.rb +54 -0
- data/lib/fog/openstack/requests/compute/create_volume_snapshot.rb +32 -0
- data/lib/fog/openstack/requests/compute/delete_flavor.rb +28 -0
- data/lib/fog/openstack/requests/compute/delete_key_pair.rb +31 -0
- data/lib/fog/openstack/requests/compute/{delete_meta.rb → delete_metadata.rb} +2 -2
- data/lib/fog/openstack/requests/compute/delete_security_group.rb +31 -0
- data/lib/fog/openstack/requests/compute/delete_security_group_rule.rb +31 -0
- data/lib/fog/openstack/requests/compute/delete_snapshot.rb +26 -0
- data/lib/fog/openstack/requests/compute/delete_volume.rb +26 -0
- data/lib/fog/openstack/requests/compute/detach_volume.rb +21 -0
- data/lib/fog/openstack/requests/compute/disassociate_address.rb +27 -0
- data/lib/fog/openstack/requests/compute/get_address.rb +41 -0
- data/lib/fog/openstack/requests/compute/get_console_output.rb +28 -0
- data/lib/fog/openstack/requests/compute/get_host_details.rb +74 -0
- data/lib/fog/openstack/requests/compute/{get_meta.rb → get_metadata.rb} +2 -2
- data/lib/fog/openstack/requests/compute/get_quota.rb +42 -0
- data/lib/fog/openstack/requests/compute/get_quota_defaults.rb +42 -0
- data/lib/fog/openstack/requests/compute/get_security_group.rb +49 -0
- data/lib/fog/openstack/requests/compute/get_server_volumes.rb +23 -0
- data/lib/fog/openstack/requests/compute/get_snapshot_details.rb +39 -0
- data/lib/fog/openstack/requests/compute/get_usage.rb +53 -0
- data/lib/fog/openstack/requests/compute/get_vnc_console.rb +40 -0
- data/lib/fog/openstack/requests/compute/get_volume_details.rb +42 -0
- data/lib/fog/openstack/requests/compute/list_address_pools.rb +23 -0
- data/lib/fog/openstack/requests/compute/list_all_addresses.rb +64 -0
- data/lib/fog/openstack/requests/compute/list_hosts.rb +32 -0
- data/lib/fog/openstack/requests/compute/list_key_pairs.rb +39 -0
- data/lib/fog/openstack/requests/compute/list_private_addresses.rb +1 -1
- data/lib/fog/openstack/requests/compute/list_public_addresses.rb +1 -1
- data/lib/fog/openstack/requests/compute/list_security_groups.rb +74 -0
- data/lib/fog/openstack/requests/compute/list_servers.rb +6 -2
- data/lib/fog/openstack/requests/compute/list_servers_detail.rb +6 -2
- data/lib/fog/openstack/requests/compute/list_snapshots.rb +32 -0
- data/lib/fog/openstack/requests/compute/list_tenants.rb +43 -0
- data/lib/fog/openstack/requests/compute/list_usages.rb +43 -0
- data/lib/fog/openstack/requests/compute/list_volumes.rb +53 -0
- data/lib/fog/openstack/requests/compute/live_migrate_server.rb +31 -0
- data/lib/fog/openstack/requests/compute/migrate_server.rb +24 -0
- data/lib/fog/openstack/requests/compute/pause_server.rb +24 -0
- data/lib/fog/openstack/requests/compute/release_address.rb +22 -0
- data/lib/fog/openstack/requests/compute/remove_fixed_ip.rb +29 -0
- data/lib/fog/openstack/requests/compute/rescue_server.rb +24 -0
- data/lib/fog/openstack/requests/compute/resume_server.rb +24 -0
- data/lib/fog/openstack/requests/compute/{revert_resized_server.rb → revert_resize_server.rb} +0 -0
- data/lib/fog/openstack/requests/compute/server_action.rb +2 -2
- data/lib/fog/openstack/requests/compute/server_actions.rb +27 -0
- data/lib/fog/openstack/requests/compute/server_diagnostics.rb +25 -0
- data/lib/fog/openstack/requests/compute/set_metadata.rb +1 -1
- data/lib/fog/openstack/requests/compute/set_tenant.rb +21 -0
- data/lib/fog/openstack/requests/compute/suspend_server.rb +24 -0
- data/lib/fog/openstack/requests/compute/unpause_server.rb +24 -0
- data/lib/fog/openstack/requests/compute/update_metadata.rb +1 -1
- data/lib/fog/openstack/requests/compute/update_quota.rb +45 -0
- data/lib/fog/openstack/requests/compute/update_server.rb +1 -1
- data/lib/fog/openstack/requests/identity/add_user_to_tenant.rb +29 -0
- data/lib/fog/openstack/requests/identity/check_token.rb +23 -0
- data/lib/fog/openstack/requests/identity/create_role.rb +37 -0
- data/lib/fog/openstack/requests/identity/create_tenant.rb +34 -0
- data/lib/fog/openstack/requests/identity/create_user.rb +47 -0
- data/lib/fog/openstack/requests/identity/create_user_role.rb +26 -0
- data/lib/fog/openstack/requests/identity/delete_role.rb +32 -0
- data/lib/fog/openstack/requests/identity/delete_tenant.rb +31 -0
- data/lib/fog/openstack/requests/identity/delete_user.rb +32 -0
- data/lib/fog/openstack/requests/identity/delete_user_role.rb +26 -0
- data/lib/fog/openstack/requests/identity/get_role.rb +28 -0
- data/lib/fog/openstack/requests/identity/get_tenant.rb +31 -0
- data/lib/fog/openstack/requests/identity/get_tenants_by_id.rb +23 -0
- data/lib/fog/openstack/requests/identity/get_tenants_by_name.rb +23 -0
- data/lib/fog/openstack/requests/identity/get_user_by_id.rb +34 -0
- data/lib/fog/openstack/requests/identity/get_user_by_name.rb +23 -0
- data/lib/fog/openstack/requests/identity/list_endpoints_for_token.rb +23 -0
- data/lib/fog/openstack/requests/identity/list_roles.rb +29 -0
- data/lib/fog/openstack/requests/identity/list_roles_for_user_on_tenant.rb +24 -0
- data/lib/fog/openstack/requests/identity/list_tenants.rb +44 -0
- data/lib/fog/openstack/requests/identity/list_user_global_roles.rb +22 -0
- data/lib/fog/openstack/requests/identity/list_users.rb +25 -0
- data/lib/fog/openstack/requests/identity/remove_user_from_tenant.rb +20 -0
- data/lib/fog/openstack/requests/identity/update_tenant.rb +30 -0
- data/lib/fog/openstack/requests/identity/update_user.rb +36 -0
- data/lib/fog/openstack/requests/identity/validate_token.rb +23 -0
- data/lib/fog/openstack/requests/image/add_member_to_image.rb +23 -0
- data/lib/fog/openstack/requests/image/create_image.rb +77 -0
- data/lib/fog/openstack/requests/image/delete_image.rb +27 -0
- data/lib/fog/openstack/requests/image/get_image.rb +45 -0
- data/lib/fog/openstack/requests/image/get_image_by_id.rb +32 -0
- data/lib/fog/openstack/requests/image/get_image_members.rb +29 -0
- data/lib/fog/openstack/requests/image/get_shared_images.rb +29 -0
- data/lib/fog/openstack/requests/image/list_public_images.rb +32 -0
- data/lib/fog/openstack/requests/image/list_public_images_detailed.rb +52 -0
- data/lib/fog/openstack/requests/image/remove_member_from_image.rb +23 -0
- data/lib/fog/openstack/requests/image/set_tenant.rb +21 -0
- data/lib/fog/openstack/requests/image/update_image.rb +65 -0
- data/lib/fog/openstack/requests/volume/create_volume.rb +54 -0
- data/lib/fog/openstack/requests/volume/create_volume_snapshot.rb +32 -0
- data/lib/fog/openstack/requests/volume/delete_snapshot.rb +26 -0
- data/lib/fog/openstack/requests/volume/delete_volume.rb +26 -0
- data/lib/fog/openstack/requests/volume/get_snapshot_details.rb +39 -0
- data/lib/fog/openstack/requests/volume/get_volume_details.rb +42 -0
- data/lib/fog/openstack/requests/volume/list_snapshots.rb +32 -0
- data/lib/fog/openstack/requests/volume/list_volumes.rb +55 -0
- data/lib/fog/openstack/requests/volume/set_tenant.rb +21 -0
- data/lib/fog/openstack/volume.rb +204 -0
- data/lib/fog/ovirt/compute.rb +15 -6
- data/lib/fog/ovirt/models/compute/server.rb +18 -0
- data/lib/fog/ovirt/models/compute/template.rb +8 -1
- data/lib/fog/ovirt/models/compute/volume.rb +35 -0
- data/lib/fog/ovirt/models/compute/volumes.rb +32 -0
- data/lib/fog/ovirt/requests/compute/add_volume.rb +23 -0
- data/lib/fog/ovirt/requests/compute/destroy_volume.rb +25 -0
- data/lib/fog/ovirt/requests/compute/list_template_volumes.rb +20 -0
- data/lib/fog/ovirt/requests/compute/list_vm_volumes.rb +20 -0
- data/lib/fog/ovirt/requests/compute/mock_files/vm.xml +0 -2
- data/lib/fog/ovirt/requests/compute/mock_files/volumes.xml +40 -0
- data/lib/fog/ovirt/requests/compute/storage_domains.rb +2 -2
- data/lib/fog/providers.rb +2 -1
- data/lib/fog/rackspace.rb +2 -2
- data/lib/fog/rackspace/cdn.rb +2 -3
- data/lib/fog/rackspace/compute.rb +111 -7
- data/lib/fog/rackspace/dns.rb +2 -3
- data/lib/fog/rackspace/load_balancers.rb +2 -3
- data/lib/fog/rackspace/models/compute/images.rb +3 -1
- data/lib/fog/rackspace/models/compute/server.rb +2 -2
- data/lib/fog/rackspace/models/load_balancers/load_balancer.rb +8 -1
- data/lib/fog/rackspace/models/storage/file.rb +2 -1
- data/lib/fog/rackspace/models/storage/files.rb +1 -1
- data/lib/fog/rackspace/requests/compute/create_image.rb +1 -1
- data/lib/fog/rackspace/requests/compute/create_server.rb +1 -1
- data/lib/fog/rackspace/requests/compute/get_server_details.rb +1 -1
- data/lib/fog/rackspace/requests/compute/server_action.rb +1 -1
- data/lib/fog/rackspace/requests/compute/update_server.rb +1 -1
- data/lib/fog/rackspace/requests/dns/add_records.rb +1 -1
- data/lib/fog/rackspace/requests/dns/create_domains.rb +1 -1
- data/lib/fog/rackspace/requests/dns/modify_domain.rb +1 -1
- data/lib/fog/rackspace/requests/dns/modify_record.rb +1 -1
- data/lib/fog/rackspace/requests/load_balancers/create_access_rule.rb +1 -1
- data/lib/fog/rackspace/requests/load_balancers/create_load_balancer.rb +5 -2
- data/lib/fog/rackspace/requests/load_balancers/create_node.rb +1 -1
- data/lib/fog/rackspace/requests/load_balancers/create_virtual_ip.rb +1 -1
- data/lib/fog/rackspace/requests/load_balancers/set_connection_logging.rb +1 -1
- data/lib/fog/rackspace/requests/load_balancers/set_connection_throttling.rb +1 -1
- data/lib/fog/rackspace/requests/load_balancers/set_error_page.rb +1 -1
- data/lib/fog/rackspace/requests/load_balancers/set_monitor.rb +1 -1
- data/lib/fog/rackspace/requests/load_balancers/set_session_persistence.rb +1 -1
- data/lib/fog/rackspace/requests/load_balancers/update_load_balancer.rb +1 -1
- data/lib/fog/rackspace/requests/load_balancers/update_node.rb +1 -1
- data/lib/fog/rackspace/storage.rb +37 -11
- data/lib/fog/storage.rb +3 -0
- data/lib/fog/storm_on_demand.rb +1 -1
- data/lib/fog/storm_on_demand/compute.rb +2 -3
- data/lib/fog/storm_on_demand/requests/compute/add_balancer_node.rb +1 -1
- data/lib/fog/storm_on_demand/requests/compute/clone_server.rb +1 -1
- data/lib/fog/storm_on_demand/requests/compute/create_server.rb +1 -1
- data/lib/fog/storm_on_demand/requests/compute/delete_server.rb +1 -1
- data/lib/fog/storm_on_demand/requests/compute/get_server.rb +1 -1
- data/lib/fog/storm_on_demand/requests/compute/get_stats.rb +1 -1
- data/lib/fog/storm_on_demand/requests/compute/list_balancers.rb +1 -1
- data/lib/fog/storm_on_demand/requests/compute/list_configs.rb +1 -1
- data/lib/fog/storm_on_demand/requests/compute/list_images.rb +1 -1
- data/lib/fog/storm_on_demand/requests/compute/list_private_ips.rb +1 -1
- data/lib/fog/storm_on_demand/requests/compute/list_servers.rb +1 -1
- data/lib/fog/storm_on_demand/requests/compute/list_templates.rb +1 -1
- data/lib/fog/storm_on_demand/requests/compute/reboot_server.rb +1 -1
- data/lib/fog/storm_on_demand/requests/compute/remove_balancer_node.rb +1 -1
- data/lib/fog/storm_on_demand/requests/compute/resize_server.rb +1 -1
- data/lib/fog/terremark.rb +1 -1
- data/lib/fog/terremark/shared.rb +1 -1
- data/lib/fog/vcloud.rb +1 -1
- data/lib/fog/vcloud/compute.rb +2 -2
- data/lib/fog/vcloud/requests/compute/configure_vm.rb +1 -139
- data/lib/fog/virtual_box.rb +1 -1
- data/lib/fog/virtual_box/compute.rb +1 -1
- data/lib/fog/virtual_box/models/compute/server.rb +2 -2
- data/lib/fog/vmfusion.rb +1 -1
- data/lib/fog/vmfusion/compute.rb +1 -1
- data/lib/fog/volume.rb +25 -0
- data/lib/fog/voxel.rb +1 -1
- data/lib/fog/voxel/compute.rb +1 -1
- data/lib/fog/vsphere/compute.rb +6 -3
- data/lib/fog/vsphere/models/compute/server.rb +31 -1
- data/lib/fog/vsphere/requests/compute/vm_clone.rb +16 -5
- data/lib/fog/vsphere/requests/compute/vm_config_vnc.rb +47 -0
- data/lib/fog/xenserver.rb +56 -0
- data/lib/fog/xenserver/compute.rb +122 -0
- data/lib/fog/xenserver/models/compute/guest_metrics.rb +28 -0
- data/lib/fog/xenserver/models/compute/host.rb +46 -0
- data/lib/fog/xenserver/models/compute/hosts.rb +29 -0
- data/lib/fog/xenserver/models/compute/network.rb +58 -0
- data/lib/fog/xenserver/models/compute/networks.rb +33 -0
- data/lib/fog/xenserver/models/compute/pbd.rb +33 -0
- data/lib/fog/xenserver/models/compute/pbds.rb +33 -0
- data/lib/fog/xenserver/models/compute/pif.rb +46 -0
- data/lib/fog/xenserver/models/compute/pifs.rb +33 -0
- data/lib/fog/xenserver/models/compute/pool.rb +40 -0
- data/lib/fog/xenserver/models/compute/pools.rb +33 -0
- data/lib/fog/xenserver/models/compute/server.rb +211 -0
- data/lib/fog/xenserver/models/compute/servers.rb +63 -0
- data/lib/fog/xenserver/models/compute/storage_repositories.rb +31 -0
- data/lib/fog/xenserver/models/compute/storage_repository.rb +47 -0
- data/lib/fog/xenserver/models/compute/vbd.rb +90 -0
- data/lib/fog/xenserver/models/compute/vbd_metrics.rb +27 -0
- data/lib/fog/xenserver/models/compute/vbds.rb +33 -0
- data/lib/fog/xenserver/models/compute/vdi.rb +102 -0
- data/lib/fog/xenserver/models/compute/vdis.rb +29 -0
- data/lib/fog/xenserver/models/compute/vif.rb +51 -0
- data/lib/fog/xenserver/models/compute/vifs.rb +29 -0
- data/lib/fog/xenserver/parser.rb +36 -0
- data/lib/fog/xenserver/parsers/get_hosts.rb +19 -0
- data/lib/fog/xenserver/parsers/get_networks.rb +19 -0
- data/lib/fog/xenserver/parsers/get_pools.rb +19 -0
- data/lib/fog/xenserver/parsers/get_records.rb +19 -0
- data/lib/fog/xenserver/parsers/get_storage_repositories.rb +19 -0
- data/lib/fog/xenserver/parsers/get_vbds.rb +19 -0
- data/lib/fog/xenserver/parsers/get_vifs.rb +19 -0
- data/lib/fog/xenserver/parsers/get_vms.rb +20 -0
- data/lib/fog/xenserver/requests/compute/clone_server.rb +31 -0
- data/lib/fog/xenserver/requests/compute/create_server.rb +126 -0
- data/lib/fog/xenserver/requests/compute/create_vbd.rb +40 -0
- data/lib/fog/xenserver/requests/compute/create_vdi.rb +33 -0
- data/lib/fog/xenserver/requests/compute/create_vif.rb +57 -0
- data/lib/fog/xenserver/requests/compute/destroy_server.rb +22 -0
- data/lib/fog/xenserver/requests/compute/destroy_vdi.rb +22 -0
- data/lib/fog/xenserver/requests/compute/destroy_vif.rb +22 -0
- data/lib/fog/xenserver/requests/compute/eject_vbd.rb +22 -0
- data/lib/fog/xenserver/requests/compute/get_record.rb +29 -0
- data/lib/fog/xenserver/requests/compute/get_records.rb +30 -0
- data/lib/fog/xenserver/requests/compute/insert_vbd.rb +22 -0
- data/lib/fog/xenserver/requests/compute/provision_server.rb +21 -0
- data/lib/fog/xenserver/requests/compute/reboot_server.rb +23 -0
- data/lib/fog/xenserver/requests/compute/scan_sr.rb +22 -0
- data/lib/fog/xenserver/requests/compute/set_affinity.rb +25 -0
- data/lib/fog/xenserver/requests/compute/set_attribute.rb +25 -0
- data/lib/fog/xenserver/requests/compute/shutdown_server.rb +23 -0
- data/lib/fog/xenserver/requests/compute/start_server.rb +23 -0
- data/lib/fog/xenserver/requests/compute/start_vm.rb +25 -0
- data/lib/fog/xenserver/requests/compute/unplug_vbd.rb +30 -0
- data/lib/fog/xenserver/utilities.rb +8 -0
- data/lib/fog/zerigo.rb +1 -1
- data/lib/fog/zerigo/dns.rb +1 -1
- data/spec/core/current_machine_spec.rb +14 -4
- data/spec/spec_helper.rb +1 -1
- data/tests/aws/credentials_tests.rb +57 -0
- data/tests/aws/models/compute/address_tests.rb +7 -0
- data/tests/aws/models/compute/dhcp_option_tests.rb +4 -0
- data/tests/aws/models/compute/dhcp_options_tests.rb +4 -0
- data/tests/aws/models/compute/internet_gateway_tests.rb +3 -0
- data/tests/aws/models/compute/internet_gateways_tests.rb +4 -0
- data/tests/aws/models/compute/network_interfaces_test.rb +12 -0
- data/tests/aws/models/compute/security_group_tests.rb +14 -0
- data/tests/aws/models/compute/volume_tests.rb +5 -1
- data/tests/aws/models/elb/model_tests.rb +36 -2
- data/tests/aws/models/iam/access_keys_tests.rb +53 -0
- data/tests/aws/models/iam/policies_tests.rb +56 -0
- data/tests/aws/models/iam/users_tests.rb +54 -0
- data/tests/aws/models/storage/url_tests.rb +22 -0
- data/tests/aws/requests/compute/dhcp_options_tests.rb +40 -0
- data/tests/aws/requests/compute/internet_gateway_tests.rb +44 -0
- data/tests/aws/requests/compute/network_interface_tests.rb +175 -0
- data/tests/aws/requests/compute/security_group_tests.rb +5 -4
- data/tests/aws/requests/compute/volume_tests.rb +34 -5
- data/tests/aws/requests/dns/dns_tests.rb +1 -1
- data/tests/aws/requests/dynamodb/item_tests.rb +20 -0
- data/tests/aws/requests/elb/helper.rb +1 -0
- data/tests/aws/requests/elb/load_balancer_tests.rb +2 -2
- data/tests/aws/requests/iam/role_tests.rb +168 -0
- data/tests/aws/requests/iam/user_policy_tests.rb +10 -0
- data/tests/aws/requests/iam/user_tests.rb +4 -0
- data/tests/aws/requests/sns/subscription_tests.rb +2 -2
- data/tests/aws/requests/storage/object_tests.rb +5 -0
- data/tests/brightbox/requests/compute/helper.rb +23 -3
- data/tests/cloudstack/requests/virtual_machine_tests.rb +10 -10
- data/tests/compute/helper.rb +37 -8
- data/tests/compute/models/flavors_tests.rb +1 -1
- data/tests/compute/models/server_tests.rb +1 -1
- data/tests/compute/models/servers_tests.rb +2 -1
- data/tests/dns/helper.rb +0 -3
- data/tests/glesys/requests/compute/helper.rb +7 -2
- data/tests/helper.rb +9 -1
- data/tests/helpers/mock_helper.rb +11 -4
- data/tests/helpers/succeeds_helper.rb +2 -3
- data/tests/hp/models/compute/address_tests.rb +18 -0
- data/tests/hp/models/compute/addresses_tests.rb +5 -0
- data/tests/hp/models/compute/key_pair_tests.rb +27 -0
- data/tests/hp/models/compute/key_pairs_tests.rb +5 -0
- data/tests/hp/models/compute/security_group_tests.rb +36 -0
- data/tests/hp/models/compute/security_groups_tests.rb +5 -0
- data/tests/hp/requests/cdn/container_tests.rb +56 -0
- data/tests/hp/requests/compute/address_tests.rb +72 -0
- data/tests/hp/requests/compute/flavor_tests.rb +45 -0
- data/tests/hp/requests/compute/image_tests.rb +79 -0
- data/tests/hp/requests/compute/key_pair_tests.rb +65 -0
- data/tests/hp/requests/compute/security_group_rule_tests.rb +54 -0
- data/tests/hp/requests/compute/security_group_tests.rb +64 -0
- data/tests/hp/requests/compute/server_address_tests.rb +45 -0
- data/tests/hp/requests/compute/server_tests.rb +127 -0
- data/tests/hp/requests/storage/container_tests.rb +78 -0
- data/tests/hp/requests/storage/object_tests.rb +81 -0
- data/tests/libvirt/compute_tests.rb +17 -0
- data/tests/libvirt/models/compute/interface_tests.rb +27 -0
- data/tests/libvirt/models/compute/interfaces_tests.rb +14 -0
- data/tests/libvirt/models/compute/network_tests.rb +27 -0
- data/tests/libvirt/models/compute/networks_tests.rb +13 -0
- data/tests/libvirt/models/compute/nic_tests.rb +31 -0
- data/tests/libvirt/models/compute/nics_tests.rb +10 -0
- data/tests/libvirt/models/compute/pool_tests.rb +27 -0
- data/tests/libvirt/models/compute/pools_tests.rb +13 -0
- data/tests/libvirt/models/compute/server_tests.rb +58 -0
- data/tests/libvirt/models/compute/servers_tests.rb +14 -0
- data/tests/libvirt/models/compute/volume_tests.rb +30 -0
- data/tests/libvirt/models/compute/volumes_tests.rb +14 -0
- data/tests/libvirt/requests/compute/create_domain_tests.rb +21 -0
- data/tests/libvirt/requests/compute/define_domain_tests.rb +11 -0
- data/tests/libvirt/requests/compute/update_display.rb +13 -0
- data/tests/openstack/models/identity/role_tests.rb +27 -0
- data/tests/openstack/models/identity/roles_tests.rb +19 -0
- data/tests/openstack/models/identity/tenant_tests.rb +24 -0
- data/tests/openstack/models/identity/tenants_tests.rb +26 -0
- data/tests/openstack/models/identity/user_tests.rb +46 -0
- data/tests/openstack/models/identity/users_tests.rb +33 -0
- data/tests/openstack/models/image/image_tests.rb +35 -0
- data/tests/openstack/models/image/images_tests.rb +14 -0
- data/tests/openstack/requests/compute/address_tests.rb +49 -0
- data/tests/openstack/requests/compute/flavor_tests.rb +18 -5
- data/tests/openstack/requests/compute/keypair_tests.rb +30 -0
- data/tests/openstack/requests/compute/quota_tests.rb +44 -0
- data/tests/openstack/requests/compute/security_group_tests.rb +51 -0
- data/tests/openstack/requests/compute/tenant_tests.rb +19 -0
- data/tests/openstack/requests/compute/volume_tests.rb +39 -0
- data/tests/openstack/requests/identity/role_tests.rb +41 -0
- data/tests/openstack/requests/identity/tenant_tests.rb +53 -0
- data/tests/openstack/requests/identity/user_tests.rb +29 -0
- data/tests/openstack/requests/image/image_tests.rb +98 -0
- data/tests/ovirt/requests/compute/list_storage_domains_tests.rb +1 -1
- data/tests/rackspace/helper.rb +1 -1
- data/tests/rackspace/models/load_balancers/access_list_tests.rb +1 -1
- data/tests/rackspace/models/load_balancers/access_lists_tests.rb +1 -1
- data/tests/rackspace/models/load_balancers/load_balancer_tests.rb +13 -1
- data/tests/rackspace/models/load_balancers/load_balancers_tests.rb +1 -1
- data/tests/rackspace/models/load_balancers/node_tests.rb +1 -1
- data/tests/rackspace/models/load_balancers/nodes_tests.rb +1 -1
- data/tests/rackspace/requests/load_balancers/helper.rb +10 -2
- data/tests/rackspace/requests/load_balancers/load_balancer_tests.rb +13 -4
- data/tests/rackspace/requests/load_balancers/node_tests.rb +5 -5
- data/tests/storage/helper.rb +3 -0
- data/tests/vsphere/requests/compute/vm_config_vnc_tests.rb +19 -0
- data/tests/xenserver/README +21 -0
- data/tests/xenserver/compute_tests.rb +52 -0
- data/tests/xenserver/helper.rb +36 -0
- data/tests/xenserver/models/compute/host_tests.rb +68 -0
- data/tests/xenserver/models/compute/hosts_tests.rb +22 -0
- data/tests/xenserver/models/compute/network_tests.rb +67 -0
- data/tests/xenserver/models/compute/networks_tests.rb +22 -0
- data/tests/xenserver/models/compute/pbd_tests.rb +44 -0
- data/tests/xenserver/models/compute/pbds_tests.rb +22 -0
- data/tests/xenserver/models/compute/pif_tests.rb +58 -0
- data/tests/xenserver/models/compute/pifs_tests.rb +22 -0
- data/tests/xenserver/models/compute/pool_tests.rb +50 -0
- data/tests/xenserver/models/compute/pools_tests.rb +30 -0
- data/tests/xenserver/models/compute/server_tests.rb +167 -0
- data/tests/xenserver/models/compute/servers_tests.rb +88 -0
- data/tests/xenserver/models/compute/storage_repositories_tests.rb +30 -0
- data/tests/xenserver/models/compute/storage_repository_tests.rb +63 -0
- data/tests/xenserver/models/compute/vbd_tests.rb +115 -0
- data/tests/xenserver/models/compute/vbds_tests.rb +22 -0
- data/tests/xenserver/models/compute/vif_tests.rb +53 -0
- data/tests/xenserver/models/compute/vifs_tests.rb +22 -0
- data/tests/xenserver/requests/compute/clone_server_tests.rb +32 -0
- data/tests/xenserver/requests/compute/create_server_tests.rb +129 -0
- data/tests/xenserver/requests/compute/create_vdi_tests.rb +80 -0
- data/tests/xenserver/requests/compute/create_vif_tests.rb +88 -0
- data/tests/xenserver/requests/compute/destroy_vdi_tests.rb +25 -0
- data/tests/xenserver/requests/compute/get_record_tests.rb +15 -0
- data/tests/xenserver/requests/compute/set_attribute_tests.rb +66 -0
- data/tests/xenserver/xenserver_tests.rb +34 -0
- metadata +938 -232
- data/lib/fog/bin/slicehost.rb +0 -36
- data/lib/fog/brightbox/requests/compute/resize_server.rb +0 -19
- data/lib/fog/ecloud/models/compute/ip.rb +0 -49
- data/lib/fog/ecloud/models/compute/ips.rb +0 -32
- data/lib/fog/ecloud/models/compute/vdc.rb +0 -81
- data/lib/fog/ecloud/models/compute/vdcs.rb +0 -40
- data/lib/fog/ecloud/requests/compute/add_backup_internet_service.rb +0 -109
- data/lib/fog/ecloud/requests/compute/add_internet_service.rb +0 -149
- data/lib/fog/ecloud/requests/compute/add_node.rb +0 -62
- data/lib/fog/ecloud/requests/compute/clone_vapp.rb +0 -40
- data/lib/fog/ecloud/requests/compute/configure_internet_service.rb +0 -112
- data/lib/fog/ecloud/requests/compute/configure_network.rb +0 -44
- data/lib/fog/ecloud/requests/compute/configure_network_ip.rb +0 -66
- data/lib/fog/ecloud/requests/compute/configure_node.rb +0 -56
- data/lib/fog/ecloud/requests/compute/configure_vapp.rb +0 -144
- data/lib/fog/ecloud/requests/compute/delete_internet_service.rb +0 -22
- data/lib/fog/ecloud/requests/compute/delete_node.rb +0 -22
- data/lib/fog/ecloud/requests/compute/delete_vapp.rb +0 -29
- data/lib/fog/ecloud/requests/compute/get_customization_options.rb +0 -22
- data/lib/fog/ecloud/requests/compute/get_network_extensions.rb +0 -33
- data/lib/fog/ecloud/requests/compute/get_network_ip.rb +0 -43
- data/lib/fog/ecloud/requests/compute/get_network_ips.rb +0 -35
- data/lib/fog/ecloud/requests/compute/get_vapp.rb +0 -99
- data/lib/fog/ecloud/requests/compute/get_vdc.rb +0 -84
- data/lib/fog/ecloud/requests/compute/get_versions.rb +0 -37
- data/lib/fog/ecloud/requests/compute/instantiate_vapp_template.rb +0 -142
- data/lib/fog/ecloud/requests/compute/login.rb +0 -48
- data/lib/fog/libvirt/models/compute/util.rb +0 -24
- data/lib/fog/openstack/requests/compute/update_meta.rb +0 -45
- data/lib/fog/slicehost.rb +0 -12
- data/lib/fog/slicehost/compute.rb +0 -104
- data/lib/fog/slicehost/dns.rb +0 -101
- data/lib/fog/slicehost/models/compute/flavor.rb +0 -45
- data/lib/fog/slicehost/models/compute/flavors.rb +0 -28
- data/lib/fog/slicehost/models/compute/image.rb +0 -17
- data/lib/fog/slicehost/models/compute/images.rb +0 -27
- data/lib/fog/slicehost/models/compute/server.rb +0 -113
- data/lib/fog/slicehost/models/dns/record.rb +0 -73
- data/lib/fog/slicehost/models/dns/records.rb +0 -36
- data/lib/fog/slicehost/models/dns/zone.rb +0 -69
- data/lib/fog/slicehost/models/dns/zones.rb +0 -28
- data/lib/fog/slicehost/parsers/compute/create_slice.rb +0 -31
- data/lib/fog/slicehost/parsers/compute/get_backups.rb +0 -32
- data/lib/fog/slicehost/parsers/compute/get_flavor.rb +0 -26
- data/lib/fog/slicehost/parsers/compute/get_flavors.rb +0 -30
- data/lib/fog/slicehost/parsers/compute/get_image.rb +0 -26
- data/lib/fog/slicehost/parsers/compute/get_images.rb +0 -30
- data/lib/fog/slicehost/parsers/compute/get_slice.rb +0 -31
- data/lib/fog/slicehost/parsers/compute/get_slices.rb +0 -35
- data/lib/fog/slicehost/parsers/dns/create_record.rb +0 -32
- data/lib/fog/slicehost/parsers/dns/create_zone.rb +0 -26
- data/lib/fog/slicehost/parsers/dns/get_record.rb +0 -38
- data/lib/fog/slicehost/parsers/dns/get_records.rb +0 -38
- data/lib/fog/slicehost/parsers/dns/get_zone.rb +0 -26
- data/lib/fog/slicehost/parsers/dns/get_zones.rb +0 -30
- data/lib/fog/slicehost/requests/compute/create_slice.rb +0 -41
- data/lib/fog/slicehost/requests/compute/delete_slice.rb +0 -23
- data/lib/fog/slicehost/requests/compute/get_backups.rb +0 -29
- data/lib/fog/slicehost/requests/compute/get_flavor.rb +0 -32
- data/lib/fog/slicehost/requests/compute/get_flavors.rb +0 -29
- data/lib/fog/slicehost/requests/compute/get_image.rb +0 -30
- data/lib/fog/slicehost/requests/compute/get_images.rb +0 -27
- data/lib/fog/slicehost/requests/compute/get_slice.rb +0 -38
- data/lib/fog/slicehost/requests/compute/get_slices.rb +0 -35
- data/lib/fog/slicehost/requests/compute/reboot_slice.rb +0 -36
- data/lib/fog/slicehost/requests/dns/create_record.rb +0 -52
- data/lib/fog/slicehost/requests/dns/create_zone.rb +0 -46
- data/lib/fog/slicehost/requests/dns/delete_record.rb +0 -23
- data/lib/fog/slicehost/requests/dns/delete_zone.rb +0 -23
- data/lib/fog/slicehost/requests/dns/get_record.rb +0 -32
- data/lib/fog/slicehost/requests/dns/get_records.rb +0 -32
- data/lib/fog/slicehost/requests/dns/get_zone.rb +0 -32
- data/lib/fog/slicehost/requests/dns/get_zones.rb +0 -30
- data/lib/fog/slicehost/requests/dns/update_record.rb +0 -43
- data/spec/ecloud/bin_spec.rb +0 -28
- data/spec/ecloud/models/backup_internet_service_spec.rb +0 -48
- data/spec/ecloud/models/backup_internet_services_spec.rb +0 -28
- data/spec/ecloud/models/internet_service_spec.rb +0 -104
- data/spec/ecloud/models/internet_services_spec.rb +0 -29
- data/spec/ecloud/models/ip_spec.rb +0 -33
- data/spec/ecloud/models/ips_spec.rb +0 -28
- data/spec/ecloud/models/network_spec.rb +0 -71
- data/spec/ecloud/models/networks_spec.rb +0 -27
- data/spec/ecloud/models/node_spec.rb +0 -38
- data/spec/ecloud/models/nodes_spec.rb +0 -28
- data/spec/ecloud/models/public_ip_spec.rb +0 -36
- data/spec/ecloud/models/public_ips_spec.rb +0 -27
- data/spec/ecloud/models/server_spec.rb +0 -62
- data/spec/ecloud/models/vdc_spec.rb +0 -63
- data/spec/ecloud/models/vdcs_spec.rb +0 -28
- data/spec/ecloud/requests/add_backup_internet_service_spec.rb +0 -60
- data/spec/ecloud/requests/add_internet_service_spec.rb +0 -65
- data/spec/ecloud/requests/add_node_spec.rb +0 -56
- data/spec/ecloud/requests/configure_internet_service_spec.rb +0 -61
- data/spec/ecloud/requests/configure_network_ip_spec.rb +0 -55
- data/spec/ecloud/requests/configure_node_spec.rb +0 -52
- data/spec/ecloud/requests/configure_vapp_spec.rb +0 -71
- data/spec/ecloud/requests/delete_internet_service_spec.rb +0 -34
- data/spec/ecloud/requests/delete_node_spec.rb +0 -30
- data/spec/ecloud/requests/delete_vapp_spec.rb +0 -92
- data/spec/ecloud/requests/get_catalog_item_spec.rb +0 -62
- data/spec/ecloud/requests/get_catalog_spec.rb +0 -44
- data/spec/ecloud/requests/get_customization_options_spec.rb +0 -39
- data/spec/ecloud/requests/get_internet_services_spec.rb +0 -150
- data/spec/ecloud/requests/get_network_ip_spec.rb +0 -40
- data/spec/ecloud/requests/get_network_ips_spec.rb +0 -58
- data/spec/ecloud/requests/get_network_spec.rb +0 -49
- data/spec/ecloud/requests/get_node_spec.rb +0 -41
- data/spec/ecloud/requests/get_nodes_spec.rb +0 -58
- data/spec/ecloud/requests/get_organization_spec.rb +0 -52
- data/spec/ecloud/requests/get_public_ip_spec.rb +0 -38
- data/spec/ecloud/requests/get_public_ips_spec.rb +0 -52
- data/spec/ecloud/requests/get_vapp_spec.rb +0 -125
- data/spec/ecloud/requests/get_vdc_spec.rb +0 -112
- data/spec/ecloud/requests/get_versions_spec.rb +0 -57
- data/spec/ecloud/requests/instantiate_vapp_template_spec.rb +0 -95
- data/spec/ecloud/requests/login_spec.rb +0 -10
- data/spec/ecloud/requests/power_off_spec.rb +0 -34
- data/spec/ecloud/requests/power_on_spec.rb +0 -34
- data/spec/ecloud/spec_helper.rb +0 -387
- data/spec/ecloud/vcloud_spec.rb +0 -18
- data/tests/slicehost/requests/compute/backup_tests.rb +0 -18
- data/tests/slicehost/requests/compute/flavor_tests.rb +0 -33
- data/tests/slicehost/requests/compute/image_tests.rb +0 -31
- data/tests/slicehost/requests/compute/slice_tests.rb +0 -75
- data/tests/slicehost/requests/dns/dns_tests.rb +0 -314
data/lib/fog/glesys/compute.rb
CHANGED
|
@@ -21,6 +21,7 @@ module Fog
|
|
|
21
21
|
request :server_details
|
|
22
22
|
request :server_status
|
|
23
23
|
request :start
|
|
24
|
+
request :reboot
|
|
24
25
|
request :stop
|
|
25
26
|
# Templates
|
|
26
27
|
request :template_list
|
|
@@ -65,7 +66,6 @@ module Fog
|
|
|
65
66
|
class Real
|
|
66
67
|
|
|
67
68
|
def initialize(options)
|
|
68
|
-
require 'multi_json'
|
|
69
69
|
require 'base64'
|
|
70
70
|
|
|
71
71
|
@api_url = options[:glesys_api_url] || Fog.credentials[:glesys_api_url] || API_URL
|
|
@@ -94,7 +94,7 @@ module Fog
|
|
|
94
94
|
}
|
|
95
95
|
)
|
|
96
96
|
|
|
97
|
-
data.body =
|
|
97
|
+
data.body = Fog::JSON.decode(data.body)
|
|
98
98
|
|
|
99
99
|
response_code = data.body['response']['status']['code']
|
|
100
100
|
|
|
@@ -40,6 +40,11 @@ module Fog
|
|
|
40
40
|
connection.stop(:serverid => identity)
|
|
41
41
|
end
|
|
42
42
|
|
|
43
|
+
def reboot
|
|
44
|
+
requires :identity
|
|
45
|
+
connection.reboot(:serverid => identity)
|
|
46
|
+
end
|
|
47
|
+
|
|
43
48
|
def destroy
|
|
44
49
|
requires :identity
|
|
45
50
|
connection.destroy(:serverid => identity, :keepip => keepip)
|
|
@@ -16,14 +16,20 @@ module Fog
|
|
|
16
16
|
|
|
17
17
|
def get(identifier)
|
|
18
18
|
return nil if identifier.nil? || identifier == ""
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
19
|
+
|
|
20
|
+
begin
|
|
21
|
+
details = connection.server_details(identifier).body['response']
|
|
22
|
+
status = connection.server_status(identifier).body['response']
|
|
23
|
+
|
|
24
|
+
if details.empty? || status.empty?
|
|
25
|
+
nil
|
|
26
|
+
else
|
|
27
|
+
status['server'].merge!({ :serverid => identifier})
|
|
28
|
+
details['server'].merge!(status['server'])
|
|
29
|
+
new(details['server'])
|
|
30
|
+
end
|
|
31
|
+
rescue
|
|
32
|
+
return nil
|
|
27
33
|
end
|
|
28
34
|
end
|
|
29
35
|
|
data/lib/fog/go_grid.rb
CHANGED
data/lib/fog/go_grid/compute.rb
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
require
|
|
1
|
+
require 'fog/go_grid'
|
|
2
2
|
require 'fog/compute'
|
|
3
3
|
|
|
4
4
|
module Fog
|
|
@@ -61,7 +61,6 @@ module Fog
|
|
|
61
61
|
|
|
62
62
|
def initialize(options={})
|
|
63
63
|
require 'digest/md5'
|
|
64
|
-
require 'multi_json'
|
|
65
64
|
@go_grid_api_key = options[:go_grid_api_key]
|
|
66
65
|
@go_grid_shared_secret = options[:go_grid_shared_secret]
|
|
67
66
|
@connection_options = options[:connection_options] || {}
|
|
@@ -105,7 +104,7 @@ module Fog
|
|
|
105
104
|
end
|
|
106
105
|
|
|
107
106
|
unless response.body.empty?
|
|
108
|
-
response.body =
|
|
107
|
+
response.body = Fog::JSON.decode(response.body)
|
|
109
108
|
end
|
|
110
109
|
|
|
111
110
|
response
|
|
@@ -76,8 +76,8 @@ module Fog
|
|
|
76
76
|
%{mkdir .ssh},
|
|
77
77
|
%{echo "#{public_key}" >> ~/.ssh/authorized_keys},
|
|
78
78
|
%{passwd -l root},
|
|
79
|
-
%{echo "#{
|
|
80
|
-
%{echo "#{
|
|
79
|
+
%{echo "#{Fog::JSON.encode(attributes)}" >> ~/attributes.json},
|
|
80
|
+
%{echo "#{Fog::JSON.encode(metadata)}" >> ~/metadata.json}
|
|
81
81
|
])
|
|
82
82
|
rescue Errno::ECONNREFUSED
|
|
83
83
|
sleep(1)
|
data/lib/fog/google.rb
CHANGED
data/lib/fog/google/storage.rb
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
require
|
|
1
|
+
require 'fog/google'
|
|
2
2
|
require 'fog/storage'
|
|
3
3
|
|
|
4
4
|
module Fog
|
|
@@ -192,7 +192,7 @@ module Fog
|
|
|
192
192
|
@connection_options = options[:connection_options] || {}
|
|
193
193
|
@hmac = Fog::HMAC.new('sha1', @google_storage_secret_access_key)
|
|
194
194
|
@host = options[:host] || 'commondatastorage.googleapis.com'
|
|
195
|
-
@persistent = options
|
|
195
|
+
@persistent = options.fetch(:persistent, true)
|
|
196
196
|
@port = options[:port] || 443
|
|
197
197
|
@scheme = options[:scheme] || 'https'
|
|
198
198
|
@connection = Fog::Connection.new("#{@scheme}://#{@host}:#{@port}", @persistent, @connection_options)
|
|
@@ -251,7 +251,7 @@ DATA
|
|
|
251
251
|
string_to_sign << "#{canonical_resource}"
|
|
252
252
|
|
|
253
253
|
signed_string = @hmac.sign(string_to_sign)
|
|
254
|
-
|
|
254
|
+
Base64.encode64(signed_string).chomp!
|
|
255
255
|
end
|
|
256
256
|
|
|
257
257
|
|
data/lib/fog/hp.rb
ADDED
|
@@ -0,0 +1,234 @@
|
|
|
1
|
+
require 'fog/core'
|
|
2
|
+
|
|
3
|
+
module Fog
|
|
4
|
+
module HP
|
|
5
|
+
extend Fog::Provider
|
|
6
|
+
|
|
7
|
+
module Errors
|
|
8
|
+
class ServiceError < Fog::Errors::Error
|
|
9
|
+
attr_reader :response_data
|
|
10
|
+
|
|
11
|
+
def self.slurp(error)
|
|
12
|
+
if error.response.body.empty?
|
|
13
|
+
data = nil
|
|
14
|
+
message = nil
|
|
15
|
+
else
|
|
16
|
+
data = Fog::JSON.decode(error.response.body)
|
|
17
|
+
message = data['message']
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
new_error = super(error, message)
|
|
21
|
+
new_error.instance_variable_set(:@response_data, data)
|
|
22
|
+
new_error
|
|
23
|
+
end
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
class InternalServerError < ServiceError; end
|
|
27
|
+
class Conflict < ServiceError; end
|
|
28
|
+
class NotFound < ServiceError; end
|
|
29
|
+
class ServiceUnavailable < ServiceError; end
|
|
30
|
+
|
|
31
|
+
class BadRequest < ServiceError
|
|
32
|
+
attr_reader :validation_errors
|
|
33
|
+
|
|
34
|
+
def self.slurp(error)
|
|
35
|
+
new_error = super(error)
|
|
36
|
+
unless new_error.response_data.nil?
|
|
37
|
+
new_error.instance_variable_set(:@validation_errors, new_error.response_data['validationErrors'])
|
|
38
|
+
end
|
|
39
|
+
new_error
|
|
40
|
+
end
|
|
41
|
+
end
|
|
42
|
+
end
|
|
43
|
+
|
|
44
|
+
service(:cdn, 'hp/cdn', 'CDN')
|
|
45
|
+
service(:compute, 'hp/compute', 'Compute')
|
|
46
|
+
service(:storage, 'hp/storage', 'Storage')
|
|
47
|
+
|
|
48
|
+
# legacy swauth 1.0/1.1 style authentication
|
|
49
|
+
def self.authenticate_v1(options, connection_options = {})
|
|
50
|
+
hp_auth_uri = options[:hp_auth_uri] || "https://region-a.geo-1.objects.hpcloudsvc.com/auth/v1.0/"
|
|
51
|
+
endpoint = URI.parse(hp_auth_uri)
|
|
52
|
+
@scheme = endpoint.scheme || "http"
|
|
53
|
+
@host = endpoint.host || "region-a.geo-1.objects.hpcloudsvc.com"
|
|
54
|
+
@port = endpoint.port.to_s || "80"
|
|
55
|
+
if (endpoint.path)
|
|
56
|
+
@auth_path = endpoint.path.slice(1, endpoint.path.length) # remove the leading slash
|
|
57
|
+
else
|
|
58
|
+
@auth_path = "auth/v1.0"
|
|
59
|
+
end
|
|
60
|
+
service_url = "#{@scheme}://#{@host}:#{@port}"
|
|
61
|
+
connection = Fog::Connection.new(service_url, false, connection_options)
|
|
62
|
+
@hp_account_id = options[:hp_account_id]
|
|
63
|
+
@hp_secret_key = options[:hp_secret_key]
|
|
64
|
+
response = connection.request({
|
|
65
|
+
:expects => [200, 204],
|
|
66
|
+
:headers => {
|
|
67
|
+
'X-Auth-Key' => @hp_secret_key,
|
|
68
|
+
'X-Auth-User' => @hp_account_id
|
|
69
|
+
},
|
|
70
|
+
:host => @host,
|
|
71
|
+
:port => @port,
|
|
72
|
+
:method => 'GET',
|
|
73
|
+
:path => @auth_path
|
|
74
|
+
})
|
|
75
|
+
response.headers.reject do |key, value|
|
|
76
|
+
!['X-Server-Management-Url', 'X-Storage-Url', 'X-CDN-Management-Url', 'X-Auth-Token'].include?(key)
|
|
77
|
+
end
|
|
78
|
+
|
|
79
|
+
return {
|
|
80
|
+
:auth_token => response.headers['X-Auth-Token'],
|
|
81
|
+
:endpoint_url => nil,
|
|
82
|
+
:cdn_endpoint_url => response.headers['X-Storage-Url']
|
|
83
|
+
}
|
|
84
|
+
end
|
|
85
|
+
|
|
86
|
+
# keystone based control services style authentication
|
|
87
|
+
def self.authenticate_v2(options, connection_options = {})
|
|
88
|
+
hp_auth_uri = options[:hp_auth_uri] || "https://region-a.geo-1.identity.hpcloudsvc.com:35357/v2.0/tokens"
|
|
89
|
+
# append /tokens if missing from auth uri
|
|
90
|
+
@hp_auth_uri = hp_auth_uri.include?('tokens')? hp_auth_uri : hp_auth_uri + "tokens"
|
|
91
|
+
endpoint = URI.parse(@hp_auth_uri)
|
|
92
|
+
@scheme = endpoint.scheme || "https"
|
|
93
|
+
@host = endpoint.host || "region-a.geo-1.identity.hpcloudsvc.com"
|
|
94
|
+
@port = endpoint.port.to_s || "35357"
|
|
95
|
+
if (endpoint.path)
|
|
96
|
+
@auth_path = endpoint.path.slice(1, endpoint.path.length) # remove the leading slash
|
|
97
|
+
else
|
|
98
|
+
@auth_path = "v2.0/tokens"
|
|
99
|
+
end
|
|
100
|
+
service_url = "#{@scheme}://#{@host}:#{@port}"
|
|
101
|
+
connection = Fog::Connection.new(service_url, false, connection_options)
|
|
102
|
+
|
|
103
|
+
### Implement HP Control Services Authentication services ###
|
|
104
|
+
# Get the style of auth credentials passed, defaults to access/secret key style
|
|
105
|
+
@hp_use_upass_auth_style = options[:hp_use_upass_auth_style] || false
|
|
106
|
+
@hp_account_id = options[:hp_account_id]
|
|
107
|
+
@hp_secret_key = options[:hp_secret_key]
|
|
108
|
+
@hp_tenant_id = options[:hp_tenant_id]
|
|
109
|
+
@hp_service_type = options[:hp_service_type]
|
|
110
|
+
@hp_avl_zone = options[:hp_avl_zone] || :az1
|
|
111
|
+
|
|
112
|
+
### Decide which auth style to use
|
|
113
|
+
unless (@hp_use_upass_auth_style)
|
|
114
|
+
# If Access Key style credentials are provided, use that
|
|
115
|
+
request_body = {
|
|
116
|
+
'auth' => {
|
|
117
|
+
'apiAccessKeyCredentials' => {
|
|
118
|
+
'accessKey' => "#{@hp_account_id}",
|
|
119
|
+
'secretKey' => "#{@hp_secret_key}"
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
else
|
|
124
|
+
# Otherwise use the Username/Password style
|
|
125
|
+
request_body = {
|
|
126
|
+
'auth' => {
|
|
127
|
+
'passwordCredentials' => {
|
|
128
|
+
'username' => "#{@hp_account_id}",
|
|
129
|
+
'password' => "#{@hp_secret_key}"
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
end
|
|
134
|
+
# add tenant_id if specified
|
|
135
|
+
request_body['auth']['tenantId'] = "#{@hp_tenant_id}" if @hp_tenant_id
|
|
136
|
+
|
|
137
|
+
### Make the call to CS to get auth token and service catalog
|
|
138
|
+
response = connection.request(
|
|
139
|
+
{
|
|
140
|
+
:expects => 200,
|
|
141
|
+
:headers => {
|
|
142
|
+
'Content-Type' => 'application/json'
|
|
143
|
+
},
|
|
144
|
+
:host => @host,
|
|
145
|
+
:port => @port,
|
|
146
|
+
:method => 'POST',
|
|
147
|
+
:body => Fog::JSON.encode(request_body),
|
|
148
|
+
:path => @auth_path
|
|
149
|
+
}
|
|
150
|
+
)
|
|
151
|
+
|
|
152
|
+
body = Fog::JSON.decode(response.body)
|
|
153
|
+
|
|
154
|
+
### fish out auth_token and endpoint for the service
|
|
155
|
+
auth_token = body['access']['token']['id']
|
|
156
|
+
endpoint_url = get_endpoint_from_catalog(body['access']['serviceCatalog'], @hp_service_type, @hp_avl_zone)
|
|
157
|
+
# If service is Storage, then get the CDN endpoint as well
|
|
158
|
+
if @hp_service_type == "object-store"
|
|
159
|
+
cdn_endpoint_url = get_endpoint_from_catalog(body['access']['serviceCatalog'], "hpext:cdn", @hp_avl_zone)
|
|
160
|
+
end
|
|
161
|
+
|
|
162
|
+
return {
|
|
163
|
+
:auth_token => auth_token,
|
|
164
|
+
:endpoint_url => endpoint_url,
|
|
165
|
+
:cdn_endpoint_url => cdn_endpoint_url
|
|
166
|
+
}
|
|
167
|
+
|
|
168
|
+
end
|
|
169
|
+
|
|
170
|
+
# CGI.escape, but without special treatment on spaces
|
|
171
|
+
def self.escape(str,extra_exclude_chars = '')
|
|
172
|
+
str.gsub(/([^a-zA-Z0-9_.-#{extra_exclude_chars}]+)/) do
|
|
173
|
+
'%' + $1.unpack('H2' * $1.bytesize).join('%').upcase
|
|
174
|
+
end
|
|
175
|
+
end
|
|
176
|
+
|
|
177
|
+
private
|
|
178
|
+
|
|
179
|
+
def self.get_endpoint_from_catalog(service_catalog, service_type, avl_zone)
|
|
180
|
+
if service_catalog
|
|
181
|
+
service_item = service_catalog.select {|s| s["type"] == service_type}.first
|
|
182
|
+
if service_item and service_item['endpoints'] and
|
|
183
|
+
if avl_zone == :az1
|
|
184
|
+
endpoint_url = service_item['endpoints'][0]['publicURL'] if service_item['endpoints'][0]
|
|
185
|
+
elsif avl_zone == :az2
|
|
186
|
+
endpoint_url = service_item['endpoints'][1]['publicURL'] if service_item['endpoints'][1]
|
|
187
|
+
end
|
|
188
|
+
raise "Unable to retrieve endpoint service url from service catalog." if endpoint_url.nil?
|
|
189
|
+
return endpoint_url
|
|
190
|
+
end
|
|
191
|
+
else
|
|
192
|
+
raise "Unable to parse service catalog."
|
|
193
|
+
end
|
|
194
|
+
end
|
|
195
|
+
|
|
196
|
+
class Mock
|
|
197
|
+
def self.etag
|
|
198
|
+
Fog::Mock.random_hex(32)
|
|
199
|
+
end
|
|
200
|
+
|
|
201
|
+
def self.key_fingerprint
|
|
202
|
+
fingerprint = []
|
|
203
|
+
20.times do
|
|
204
|
+
fingerprint << Fog::Mock.random_hex(2)
|
|
205
|
+
end
|
|
206
|
+
fingerprint.join(':')
|
|
207
|
+
end
|
|
208
|
+
|
|
209
|
+
def self.key_material
|
|
210
|
+
private_key = OpenSSL::PKey::RSA.generate(1024)
|
|
211
|
+
public_key = private_key.public_key
|
|
212
|
+
return private_key.to_s, public_key.to_s
|
|
213
|
+
end
|
|
214
|
+
|
|
215
|
+
def self.user_id
|
|
216
|
+
"dev_" + Fog::Mock.random_numbers(14)
|
|
217
|
+
end
|
|
218
|
+
|
|
219
|
+
def self.instance_id
|
|
220
|
+
Fog::Mock.random_numbers(6)
|
|
221
|
+
end
|
|
222
|
+
|
|
223
|
+
def self.ip_address
|
|
224
|
+
ip = []
|
|
225
|
+
4.times do
|
|
226
|
+
ip << Fog::Mock.random_numbers(rand(3) + 1).to_i.to_s # remove leading 0
|
|
227
|
+
end
|
|
228
|
+
ip.join('.')
|
|
229
|
+
end
|
|
230
|
+
|
|
231
|
+
end
|
|
232
|
+
|
|
233
|
+
end
|
|
234
|
+
end
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
= HP Cloud Extensions to Ruby Fog Library
|
|
2
|
+
|
|
3
|
+
HP contributed to the native Ruby library Fog, through an HP Cloud developed extension to Fog via
|
|
4
|
+
the Object Storage, Compute and CDN providers. By using the HP Cloud Extensions to Fog, developers
|
|
5
|
+
can write applications using Ruby that interacts with the HP Cloud Services without having to deal
|
|
6
|
+
with the underlying REST API or JSON/XML document formats.
|
|
7
|
+
|
|
8
|
+
== Background
|
|
9
|
+
|
|
10
|
+
This library is an extension of Fog[https://github.com/fog/fog], a Ruby open-source cloud
|
|
11
|
+
computing library. The code in this library, contains all HP-specific support and is being
|
|
12
|
+
contributed back to the primary open-source library.
|
|
13
|
+
|
|
14
|
+
The HP Cloud Ruby library currently supports HP Cloud Object Storage, Compute, CDN, and
|
|
15
|
+
support for other services will be added as available.
|
|
16
|
+
|
|
17
|
+
== Installation
|
|
18
|
+
|
|
19
|
+
sudo gem install fog
|
|
20
|
+
|
|
21
|
+
That's it! Try out the usage examples explained below to confirm your installation.
|
|
22
|
+
|
|
23
|
+
If you should ever need to remove the library:
|
|
24
|
+
|
|
25
|
+
sudo gem uninstall fog
|
|
26
|
+
|
|
27
|
+
== Usage
|
|
28
|
+
|
|
29
|
+
The Ruby Fog library is well documented on the community web site at {fog.io}[http://fog.io], but for specific examples
|
|
30
|
+
using HP's extensions, see:
|
|
31
|
+
|
|
32
|
+
* {HP Cloud Fog library - Object Storage Examples}[https://build.hpcloud.com/bindings/fog/object-storage]
|
|
33
|
+
* {HP Cloud Fog library - Compute Examples}[https://build.hpcloud.com/bindings/fog/compute]
|
|
34
|
+
* {HP Cloud Fog library - CDN Examples}[https://build.hpcloud.com/bindings/fog/cdn]
|
|
35
|
+
|
|
36
|
+
Having trouble? {Get help over at the Forums}[https://connect.hpcloud.com]
|
|
37
|
+
|
|
38
|
+
== Notice
|
|
39
|
+
|
|
40
|
+
The following notice applies to files included in the /lib/fog/hp directory and its sub-directories.
|
|
41
|
+
|
|
42
|
+
Copyright (c) 2011 Hewlett-Packard Development Company, L.P.
|
|
43
|
+
|
|
44
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy of this software
|
|
45
|
+
and associated documentation files (the "Software"), to deal in the Software without restriction,
|
|
46
|
+
including without limitation the rights to use, copy, modify, merge, publish, distribute,
|
|
47
|
+
sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is
|
|
48
|
+
furnished to do so, subject to the following conditions:
|
|
49
|
+
|
|
50
|
+
The above copyright notice and this permission notice shall be included in all copies or
|
|
51
|
+
substantial portions of the Software.
|
|
52
|
+
|
|
53
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
|
|
54
|
+
INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
|
|
55
|
+
PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE
|
|
56
|
+
FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
|
|
57
|
+
OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
|
|
58
|
+
DEALINGS IN THE SOFTWARE.
|
|
59
|
+
|
|
60
|
+
|