fog 1.11.1 → 1.12.0
Sign up to get free protection for your applications and to get access to all the features.
- data/Gemfile +0 -2
- data/Rakefile +5 -0
- data/changelog.txt +192 -0
- data/fog.gemspec +4 -4
- data/lib/fog.rb +3 -0
- data/lib/fog/account.rb +25 -0
- data/lib/fog/aws/cloud_formation.rb +5 -3
- data/lib/fog/aws/compute.rb +1 -0
- data/lib/fog/aws/iam.rb +2 -0
- data/lib/fog/aws/models/compute/server.rb +38 -32
- data/lib/fog/aws/models/dns/record.rb +1 -1
- data/lib/fog/aws/models/iam/role.rb +36 -0
- data/lib/fog/aws/models/iam/roles.rb +40 -0
- data/lib/fog/aws/models/rds/snapshots.rb +19 -3
- data/lib/fog/aws/models/storage/file.rb +1 -1
- data/lib/fog/aws/models/storage/files.rb +1 -1
- data/lib/fog/aws/parsers/cloud_formation/list_stack_resources.rb +32 -0
- data/lib/fog/aws/parsers/cloud_formation/list_stacks.rb +34 -0
- data/lib/fog/aws/parsers/compute/copy_image.rb +22 -0
- data/lib/fog/aws/parsers/compute/describe_instances.rb +11 -4
- data/lib/fog/aws/parsers/compute/run_instances.rb +5 -4
- data/lib/fog/aws/parsers/dns/get_hosted_zone.rb +2 -0
- data/lib/fog/aws/rds.rb +1 -1
- data/lib/fog/aws/requests/cloud_formation/list_stack_resources.rb +36 -0
- data/lib/fog/aws/requests/cloud_formation/list_stacks.rb +37 -0
- data/lib/fog/aws/requests/compute/copy_image.rb +63 -0
- data/lib/fog/aws/requests/compute/describe_instances.rb +1 -1
- data/lib/fog/aws/requests/compute/run_instances.rb +3 -1
- data/lib/fog/aws/requests/storage/post_object_restore.rb +54 -0
- data/lib/fog/aws/storage.rb +5 -5
- data/lib/fog/billing.rb +23 -0
- data/lib/fog/bin.rb +2 -0
- data/lib/fog/bin/cloudsigma.rb +29 -0
- data/lib/fog/bin/openvz.rb +31 -0
- data/lib/fog/bluebox/models/dns/zone.rb +1 -1
- data/lib/fog/brightbox/compute.rb +15 -9
- data/lib/fog/brightbox/oauth2.rb +5 -3
- data/lib/fog/brightbox/requests/compute/activate_console_server.rb +1 -1
- data/lib/fog/brightbox/requests/compute/add_listeners_load_balancer.rb +2 -1
- data/lib/fog/brightbox/requests/compute/add_nodes_load_balancer.rb +2 -1
- data/lib/fog/brightbox/requests/compute/add_servers_server_group.rb +11 -3
- data/lib/fog/brightbox/requests/compute/apply_to_firewall_policy.rb +2 -1
- data/lib/fog/brightbox/requests/compute/create_api_client.rb +2 -1
- data/lib/fog/brightbox/requests/compute/create_application.rb +2 -1
- data/lib/fog/brightbox/requests/compute/create_cloud_ip.rb +2 -1
- data/lib/fog/brightbox/requests/compute/create_firewall_policy.rb +2 -1
- data/lib/fog/brightbox/requests/compute/create_firewall_rule.rb +2 -1
- data/lib/fog/brightbox/requests/compute/create_image.rb +2 -1
- data/lib/fog/brightbox/requests/compute/create_load_balancer.rb +2 -1
- data/lib/fog/brightbox/requests/compute/create_server.rb +2 -1
- data/lib/fog/brightbox/requests/compute/create_server_group.rb +2 -1
- data/lib/fog/brightbox/requests/compute/{destroy_api_client.rb → delete_api_client.rb} +10 -3
- data/lib/fog/brightbox/requests/compute/{destroy_application.rb → delete_application.rb} +10 -3
- data/lib/fog/brightbox/requests/compute/{destroy_cloud_ip.rb → delete_cloud_ip.rb} +10 -3
- data/lib/fog/brightbox/requests/compute/{destroy_firewall_policy.rb → delete_firewall_policy.rb} +10 -3
- data/lib/fog/brightbox/requests/compute/{destroy_firewall_rule.rb → delete_firewall_rule.rb} +10 -3
- data/lib/fog/brightbox/requests/compute/{destroy_image.rb → delete_image.rb} +10 -3
- data/lib/fog/brightbox/requests/compute/{destroy_load_balancer.rb → delete_load_balancer.rb} +10 -3
- data/lib/fog/brightbox/requests/compute/{destroy_server.rb → delete_server.rb} +10 -3
- data/lib/fog/brightbox/requests/compute/{destroy_server_group.rb → delete_server_group.rb} +10 -3
- data/lib/fog/brightbox/requests/compute/get_account.rb +1 -1
- data/lib/fog/brightbox/requests/compute/get_api_client.rb +1 -1
- data/lib/fog/brightbox/requests/compute/get_application.rb +1 -1
- data/lib/fog/brightbox/requests/compute/get_cloud_ip.rb +1 -1
- data/lib/fog/brightbox/requests/compute/get_firewall_policy.rb +1 -1
- data/lib/fog/brightbox/requests/compute/get_firewall_rule.rb +1 -1
- data/lib/fog/brightbox/requests/compute/get_image.rb +1 -1
- data/lib/fog/brightbox/requests/compute/get_interface.rb +1 -1
- data/lib/fog/brightbox/requests/compute/get_load_balancer.rb +1 -1
- data/lib/fog/brightbox/requests/compute/get_server.rb +1 -1
- data/lib/fog/brightbox/requests/compute/get_server_group.rb +1 -1
- data/lib/fog/brightbox/requests/compute/get_server_type.rb +1 -1
- data/lib/fog/brightbox/requests/compute/get_user.rb +1 -1
- data/lib/fog/brightbox/requests/compute/get_zone.rb +1 -1
- data/lib/fog/brightbox/requests/compute/list_accounts.rb +1 -1
- data/lib/fog/brightbox/requests/compute/list_api_clients.rb +1 -1
- data/lib/fog/brightbox/requests/compute/list_applications.rb +1 -1
- data/lib/fog/brightbox/requests/compute/list_cloud_ips.rb +1 -1
- data/lib/fog/brightbox/requests/compute/list_firewall_policies.rb +1 -1
- data/lib/fog/brightbox/requests/compute/list_images.rb +1 -1
- data/lib/fog/brightbox/requests/compute/list_load_balancers.rb +1 -1
- data/lib/fog/brightbox/requests/compute/list_server_groups.rb +1 -1
- data/lib/fog/brightbox/requests/compute/list_server_types.rb +1 -1
- data/lib/fog/brightbox/requests/compute/list_servers.rb +1 -1
- data/lib/fog/brightbox/requests/compute/list_users.rb +1 -1
- data/lib/fog/brightbox/requests/compute/list_zones.rb +1 -1
- data/lib/fog/brightbox/requests/compute/map_cloud_ip.rb +2 -1
- data/lib/fog/brightbox/requests/compute/move_servers_server_group.rb +12 -3
- data/lib/fog/brightbox/requests/compute/remove_firewall_policy.rb +2 -1
- data/lib/fog/brightbox/requests/compute/remove_listeners_load_balancer.rb +2 -1
- data/lib/fog/brightbox/requests/compute/remove_nodes_load_balancer.rb +2 -1
- data/lib/fog/brightbox/requests/compute/remove_servers_server_group.rb +11 -3
- data/lib/fog/brightbox/requests/compute/reset_ftp_password_account.rb +2 -2
- data/lib/fog/brightbox/requests/compute/reset_secret_api_client.rb +1 -2
- data/lib/fog/brightbox/requests/compute/reset_secret_application.rb +1 -1
- data/lib/fog/brightbox/requests/compute/shutdown_server.rb +1 -1
- data/lib/fog/brightbox/requests/compute/snapshot_server.rb +1 -1
- data/lib/fog/brightbox/requests/compute/start_server.rb +1 -1
- data/lib/fog/brightbox/requests/compute/stop_server.rb +1 -1
- data/lib/fog/brightbox/requests/compute/unmap_cloud_ip.rb +1 -1
- data/lib/fog/brightbox/requests/compute/update_account.rb +2 -1
- data/lib/fog/brightbox/requests/compute/update_api_client.rb +2 -1
- data/lib/fog/brightbox/requests/compute/update_application.rb +2 -1
- data/lib/fog/brightbox/requests/compute/update_cloud_ip.rb +2 -1
- data/lib/fog/brightbox/requests/compute/update_firewall_policy.rb +2 -1
- data/lib/fog/brightbox/requests/compute/update_firewall_rule.rb +2 -1
- data/lib/fog/brightbox/requests/compute/update_image.rb +2 -1
- data/lib/fog/brightbox/requests/compute/update_load_balancer.rb +2 -1
- data/lib/fog/brightbox/requests/compute/update_scoped_account.rb +2 -1
- data/lib/fog/brightbox/requests/compute/update_server.rb +2 -1
- data/lib/fog/brightbox/requests/compute/update_server_group.rb +2 -1
- data/lib/fog/brightbox/requests/compute/update_user.rb +2 -1
- data/lib/fog/cloudsigma.rb +9 -0
- data/lib/fog/cloudsigma/compute.rb +221 -0
- data/lib/fog/cloudsigma/connection.rb +197 -0
- data/lib/fog/cloudsigma/error.rb +45 -0
- data/lib/fog/cloudsigma/mock_data.rb +46 -0
- data/lib/fog/cloudsigma/models/balance.rb +12 -0
- data/lib/fog/cloudsigma/models/current_usage.rb +19 -0
- data/lib/fog/cloudsigma/models/ip.rb +22 -0
- data/lib/fog/cloudsigma/models/ipconf.rb +12 -0
- data/lib/fog/cloudsigma/models/ips.rb +27 -0
- data/lib/fog/cloudsigma/models/lib_volume.rb +50 -0
- data/lib/fog/cloudsigma/models/lib_volumes.rb +27 -0
- data/lib/fog/cloudsigma/models/mountpoint.rb +25 -0
- data/lib/fog/cloudsigma/models/nic.rb +22 -0
- data/lib/fog/cloudsigma/models/obj_ref.rb +12 -0
- data/lib/fog/cloudsigma/models/price_calculation.rb +13 -0
- data/lib/fog/cloudsigma/models/price_record.rb +38 -0
- data/lib/fog/cloudsigma/models/pricing.rb +20 -0
- data/lib/fog/cloudsigma/models/profile.rb +50 -0
- data/lib/fog/cloudsigma/models/server.rb +208 -0
- data/lib/fog/cloudsigma/models/servers.rb +27 -0
- data/lib/fog/cloudsigma/models/subscription.rb +53 -0
- data/lib/fog/cloudsigma/models/subscriptions.rb +41 -0
- data/lib/fog/cloudsigma/models/usage_record.rb +13 -0
- data/lib/fog/cloudsigma/models/vlan.rb +29 -0
- data/lib/fog/cloudsigma/models/vlans.rb +27 -0
- data/lib/fog/cloudsigma/models/volume.rb +71 -0
- data/lib/fog/cloudsigma/models/volumes.rb +27 -0
- data/lib/fog/cloudsigma/nested_model.rb +60 -0
- data/lib/fog/cloudsigma/requests/calculate_subscription_price.rb +18 -0
- data/lib/fog/cloudsigma/requests/clone_libvolume.rb +32 -0
- data/lib/fog/cloudsigma/requests/clone_server.rb +32 -0
- data/lib/fog/cloudsigma/requests/clone_volume.rb +32 -0
- data/lib/fog/cloudsigma/requests/close_vnc.rb +30 -0
- data/lib/fog/cloudsigma/requests/create_server.rb +33 -0
- data/lib/fog/cloudsigma/requests/create_subscription.rb +40 -0
- data/lib/fog/cloudsigma/requests/create_volume.rb +30 -0
- data/lib/fog/cloudsigma/requests/delete_server.rb +18 -0
- data/lib/fog/cloudsigma/requests/delete_volume.rb +18 -0
- data/lib/fog/cloudsigma/requests/extend_subscription.rb +22 -0
- data/lib/fog/cloudsigma/requests/get_balance.rb +18 -0
- data/lib/fog/cloudsigma/requests/get_current_usage.rb +18 -0
- data/lib/fog/cloudsigma/requests/get_ip.rb +18 -0
- data/lib/fog/cloudsigma/requests/get_lib_volume.rb +18 -0
- data/lib/fog/cloudsigma/requests/get_pricing.rb +28 -0
- data/lib/fog/cloudsigma/requests/get_profile.rb +18 -0
- data/lib/fog/cloudsigma/requests/get_server.rb +18 -0
- data/lib/fog/cloudsigma/requests/get_subscription.rb +18 -0
- data/lib/fog/cloudsigma/requests/get_vlan.rb +18 -0
- data/lib/fog/cloudsigma/requests/get_volume.rb +18 -0
- data/lib/fog/cloudsigma/requests/list_ips.rb +18 -0
- data/lib/fog/cloudsigma/requests/list_lib_volumes.rb +18 -0
- data/lib/fog/cloudsigma/requests/list_servers.rb +18 -0
- data/lib/fog/cloudsigma/requests/list_subscriptions.rb +18 -0
- data/lib/fog/cloudsigma/requests/list_vlans.rb +18 -0
- data/lib/fog/cloudsigma/requests/list_volumes.rb +18 -0
- data/lib/fog/cloudsigma/requests/open_vnc.rb +34 -0
- data/lib/fog/cloudsigma/requests/start_server.rb +32 -0
- data/lib/fog/cloudsigma/requests/stop_server.rb +33 -0
- data/lib/fog/cloudsigma/requests/update_profile.rb +18 -0
- data/lib/fog/cloudsigma/requests/update_server.rb +40 -0
- data/lib/fog/cloudsigma/requests/update_vlan.rb +20 -0
- data/lib/fog/cloudsigma/requests/update_volume.rb +18 -0
- data/lib/fog/cloudstack/models/compute/servers.rb +3 -2
- data/lib/fog/core/json.rb +6 -48
- data/lib/fog/dns.rb +10 -6
- data/lib/fog/dnsimple/models/dns/record.rb +0 -1
- data/lib/fog/dnsmadeeasy/models/dns/record.rb +1 -1
- data/lib/fog/dreamhost/dns.rb +3 -1
- data/lib/fog/dynect/models/dns/zone.rb +1 -1
- data/lib/fog/hp.rb +1 -1
- data/lib/fog/internet_archive/models/storage/file.rb +1 -1
- data/lib/fog/internet_archive/models/storage/files.rb +1 -1
- data/lib/fog/joyent/compute.rb +59 -42
- data/lib/fog/joyent/errors.rb +2 -2
- data/lib/fog/joyent/models/compute/network.rb +13 -0
- data/lib/fog/joyent/models/compute/networks.rb +15 -0
- data/lib/fog/joyent/models/compute/server.rb +2 -1
- data/lib/fog/joyent/models/compute/servers.rb +3 -1
- data/lib/fog/joyent/requests/compute/delete_machine.rb +1 -1
- data/lib/fog/joyent/requests/compute/get_machine.rb +1 -1
- data/lib/fog/joyent/requests/compute/list_machines.rb +2 -1
- data/lib/fog/joyent/requests/compute/list_networks.rb +26 -0
- data/lib/fog/joyent/requests/compute/resize_machine.rb +2 -1
- data/lib/fog/libvirt/models/compute/nic.rb +1 -0
- data/lib/fog/linode/models/dns/record.rb +0 -1
- data/lib/fog/linode/models/dns/zone.rb +0 -1
- data/lib/fog/local/models/storage/files.rb +13 -13
- data/lib/fog/monitoring.rb +24 -0
- data/lib/fog/network.rb +4 -1
- data/lib/fog/openstack/compute.rb +5 -0
- data/lib/fog/openstack/identity.rb +2 -1
- data/lib/fog/openstack/image.rb +4 -1
- data/lib/fog/openstack/models/image/images.rb +1 -0
- data/lib/fog/openstack/models/network/lb_health_monitor.rb +68 -0
- data/lib/fog/openstack/models/network/lb_health_monitors.rb +34 -0
- data/lib/fog/openstack/models/network/lb_member.rb +53 -0
- data/lib/fog/openstack/models/network/lb_members.rb +34 -0
- data/lib/fog/openstack/models/network/lb_pool.rb +78 -0
- data/lib/fog/openstack/models/network/lb_pools.rb +34 -0
- data/lib/fog/openstack/models/network/lb_vip.rb +59 -0
- data/lib/fog/openstack/models/network/lb_vips.rb +34 -0
- data/lib/fog/openstack/network.rb +52 -4
- data/lib/fog/openstack/requests/compute/add_flavor_access.rb +31 -0
- data/lib/fog/openstack/requests/compute/allocate_address.rb +1 -1
- data/lib/fog/openstack/requests/compute/attach_volume.rb +1 -1
- data/lib/fog/openstack/requests/compute/boot_from_snapshot.rb +1 -1
- data/lib/fog/openstack/requests/compute/create_flavor.rb +1 -1
- data/lib/fog/openstack/requests/compute/create_key_pair.rb +1 -1
- data/lib/fog/openstack/requests/compute/create_security_group.rb +1 -1
- data/lib/fog/openstack/requests/compute/create_security_group_rule.rb +1 -1
- data/lib/fog/openstack/requests/compute/create_server.rb +4 -6
- data/lib/fog/openstack/requests/compute/create_volume.rb +1 -1
- data/lib/fog/openstack/requests/compute/create_volume_snapshot.rb +1 -1
- data/lib/fog/openstack/requests/compute/list_address_pools.rb +10 -0
- data/lib/fog/openstack/requests/compute/list_tenants.rb +1 -1
- data/lib/fog/openstack/requests/compute/list_tenants_with_flavor_access.rb +26 -0
- data/lib/fog/openstack/requests/compute/remove_flavor_access.rb +31 -0
- data/lib/fog/openstack/requests/compute/update_quota.rb +1 -1
- data/lib/fog/openstack/requests/identity/create_ec2_credential.rb +1 -1
- data/lib/fog/openstack/requests/identity/create_role.rb +1 -1
- data/lib/fog/openstack/requests/identity/create_user.rb +1 -1
- data/lib/fog/openstack/requests/identity/update_user.rb +1 -1
- data/lib/fog/openstack/requests/image/update_image_members.rb +1 -1
- data/lib/fog/openstack/requests/network/associate_lb_health_monitor.rb +39 -0
- data/lib/fog/openstack/requests/network/create_lb_health_monitor.rb +56 -0
- data/lib/fog/openstack/requests/network/create_lb_member.rb +53 -0
- data/lib/fog/openstack/requests/network/create_lb_pool.rb +60 -0
- data/lib/fog/openstack/requests/network/create_lb_vip.rb +60 -0
- data/lib/fog/openstack/requests/network/delete_lb_health_monitor.rb +30 -0
- data/lib/fog/openstack/requests/network/delete_lb_member.rb +30 -0
- data/lib/fog/openstack/requests/network/delete_lb_pool.rb +30 -0
- data/lib/fog/openstack/requests/network/delete_lb_vip.rb +30 -0
- data/lib/fog/openstack/requests/network/disassociate_lb_health_monitor.rb +31 -0
- data/lib/fog/openstack/requests/network/get_lb_health_monitor.rb +30 -0
- data/lib/fog/openstack/requests/network/get_lb_member.rb +30 -0
- data/lib/fog/openstack/requests/network/get_lb_pool.rb +30 -0
- data/lib/fog/openstack/requests/network/get_lb_pool_stats.rb +35 -0
- data/lib/fog/openstack/requests/network/get_lb_vip.rb +30 -0
- data/lib/fog/openstack/requests/network/list_lb_health_monitors.rb +27 -0
- data/lib/fog/openstack/requests/network/list_lb_members.rb +27 -0
- data/lib/fog/openstack/requests/network/list_lb_pools.rb +27 -0
- data/lib/fog/openstack/requests/network/list_lb_vips.rb +27 -0
- data/lib/fog/openstack/requests/network/update_lb_health_monitor.rb +45 -0
- data/lib/fog/openstack/requests/network/update_lb_member.rb +41 -0
- data/lib/fog/openstack/requests/network/update_lb_pool.rb +42 -0
- data/lib/fog/openstack/requests/network/update_lb_vip.rb +44 -0
- data/lib/fog/openstack/requests/storage/put_object_manifest.rb +19 -6
- data/lib/fog/openstack/requests/volume/create_volume.rb +1 -1
- data/lib/fog/openstack/requests/volume/create_volume_snapshot.rb +1 -1
- data/lib/fog/openstack/volume.rb +4 -1
- data/lib/fog/openvz.rb +9 -0
- data/lib/fog/openvz/README.md +188 -0
- data/lib/fog/openvz/compute.rb +176 -0
- data/lib/fog/openvz/models/compute/server.rb +194 -0
- data/lib/fog/openvz/models/compute/servers.rb +27 -0
- data/lib/fog/openvz/requests/compute/compact_server.rb +21 -0
- data/lib/fog/openvz/requests/compute/convert_server.rb +21 -0
- data/lib/fog/openvz/requests/compute/create_server.rb +23 -0
- data/lib/fog/openvz/requests/compute/destroy_server.rb +21 -0
- data/lib/fog/openvz/requests/compute/exec2_server.rb +21 -0
- data/lib/fog/openvz/requests/compute/exec_server.rb +21 -0
- data/lib/fog/openvz/requests/compute/get_server_details.rb +21 -0
- data/lib/fog/openvz/requests/compute/list_servers.rb +21 -0
- data/lib/fog/openvz/requests/compute/mount_server.rb +21 -0
- data/lib/fog/openvz/requests/compute/quotainit_server.rb +21 -0
- data/lib/fog/openvz/requests/compute/quotaoff_server.rb +21 -0
- data/lib/fog/openvz/requests/compute/quotaon_server.rb +21 -0
- data/lib/fog/openvz/requests/compute/restart_server.rb +24 -0
- data/lib/fog/openvz/requests/compute/resume_server.rb +21 -0
- data/lib/fog/openvz/requests/compute/runscript_server.rb +21 -0
- data/lib/fog/openvz/requests/compute/set_server.rb +27 -0
- data/lib/fog/openvz/requests/compute/snapshot_delete_server.rb +21 -0
- data/lib/fog/openvz/requests/compute/snapshot_list_server.rb +21 -0
- data/lib/fog/openvz/requests/compute/snapshot_mount_server.rb +21 -0
- data/lib/fog/openvz/requests/compute/snapshot_server.rb +21 -0
- data/lib/fog/openvz/requests/compute/snapshot_switch_server.rb +21 -0
- data/lib/fog/openvz/requests/compute/snapshot_umount_server.rb +21 -0
- data/lib/fog/openvz/requests/compute/start_server.rb +24 -0
- data/lib/fog/openvz/requests/compute/status_server.rb +21 -0
- data/lib/fog/openvz/requests/compute/stop_server.rb +24 -0
- data/lib/fog/openvz/requests/compute/suspend_server.rb +21 -0
- data/lib/fog/openvz/requests/compute/umount_server.rb +21 -0
- data/lib/fog/rackspace.rb +1 -1
- data/lib/fog/rackspace/block_storage.rb +2 -1
- data/lib/fog/rackspace/compute.rb +2 -1
- data/lib/fog/rackspace/compute_v2.rb +8 -7
- data/lib/fog/rackspace/databases.rb +2 -1
- data/lib/fog/rackspace/dns.rb +2 -1
- data/lib/fog/rackspace/docs/storage.md +35 -1
- data/lib/fog/rackspace/examples/storage/upload_large_files.rb +103 -0
- data/lib/fog/rackspace/load_balancers.rb +2 -1
- data/lib/fog/rackspace/models/compute_v2/server.rb +0 -1
- data/lib/fog/rackspace/models/load_balancers/load_balancer.rb +7 -7
- data/lib/fog/rackspace/models/storage/file.rb +18 -0
- data/lib/fog/rackspace/requests/load_balancers/create_load_balancer.rb +1 -1
- data/lib/fog/rackspace/requests/load_balancers/update_load_balancer.rb +2 -1
- data/lib/fog/rackspace/requests/storage/put_object.rb +7 -4
- data/lib/fog/rackspace/requests/storage/put_object_manifest.rb +24 -9
- data/lib/fog/rackspace/service.rb +2 -1
- data/lib/fog/rackspace/storage.rb +2 -1
- data/lib/fog/riakcs.rb +2 -2
- data/lib/fog/riakcs/provisioning.rb +3 -1
- data/lib/fog/riakcs/requests/provisioning/create_user.rb +2 -2
- data/lib/fog/riakcs/requests/provisioning/get_user.rb +1 -1
- data/lib/fog/riakcs/requests/provisioning/list_users.rb +1 -1
- data/lib/fog/riakcs/requests/usage/get_usage.rb +1 -1
- data/lib/fog/riakcs/usage.rb +1 -0
- data/lib/fog/serverlove/compute.rb +26 -23
- data/lib/fog/serverlove/models/compute/server.rb +1 -1
- data/lib/fog/storage.rb +3 -0
- data/lib/fog/storm_on_demand.rb +9 -1
- data/lib/fog/storm_on_demand/README.md +49 -0
- data/lib/fog/storm_on_demand/account.rb +58 -0
- data/lib/fog/storm_on_demand/billing.rb +61 -0
- data/lib/fog/storm_on_demand/compute.rb +33 -58
- data/lib/fog/storm_on_demand/dns.rb +85 -0
- data/lib/fog/storm_on_demand/models/account/token.rb +23 -0
- data/lib/fog/storm_on_demand/models/account/tokens.rb +20 -0
- data/lib/fog/storm_on_demand/models/billing/invoice.rb +28 -0
- data/lib/fog/storm_on_demand/models/billing/invoices.rb +30 -0
- data/lib/fog/storm_on_demand/models/billing/payment.rb +17 -0
- data/lib/fog/storm_on_demand/models/billing/payments.rb +19 -0
- data/lib/fog/storm_on_demand/models/compute/config.rb +18 -4
- data/lib/fog/storm_on_demand/models/compute/configs.rb +6 -2
- data/lib/fog/storm_on_demand/models/compute/image.rb +22 -1
- data/lib/fog/storm_on_demand/models/compute/images.rb +12 -2
- data/lib/fog/storm_on_demand/models/compute/notification.rb +34 -0
- data/lib/fog/storm_on_demand/models/compute/notifications.rb +30 -0
- data/lib/fog/storm_on_demand/models/compute/product.rb +40 -0
- data/lib/fog/storm_on_demand/models/compute/products.rb +28 -0
- data/lib/fog/storm_on_demand/models/compute/server.rb +33 -9
- data/lib/fog/storm_on_demand/models/compute/servers.rb +7 -2
- data/lib/fog/storm_on_demand/models/compute/template.rb +7 -1
- data/lib/fog/storm_on_demand/models/compute/templates.rb +7 -2
- data/lib/fog/storm_on_demand/models/dns/domain.rb +34 -0
- data/lib/fog/storm_on_demand/models/dns/domains.rb +20 -0
- data/lib/fog/storm_on_demand/models/dns/record.rb +64 -0
- data/lib/fog/storm_on_demand/models/dns/records.rb +30 -0
- data/lib/fog/storm_on_demand/models/dns/reverse.rb +15 -0
- data/lib/fog/storm_on_demand/models/dns/reverses.rb +23 -0
- data/lib/fog/storm_on_demand/models/dns/zone.rb +40 -0
- data/lib/fog/storm_on_demand/models/dns/zones.rb +30 -0
- data/lib/fog/storm_on_demand/models/monitoring/bandwidth.rb +23 -0
- data/lib/fog/storm_on_demand/models/monitoring/bandwidths.rb +23 -0
- data/lib/fog/storm_on_demand/models/{compute/stat.rb → monitoring/load.rb} +6 -6
- data/lib/fog/storm_on_demand/models/monitoring/loads.rb +24 -0
- data/lib/fog/storm_on_demand/models/monitoring/monitor_service.rb +22 -0
- data/lib/fog/storm_on_demand/models/monitoring/monitor_services.rb +32 -0
- data/lib/fog/storm_on_demand/models/{compute → network}/balancer.rb +27 -5
- data/lib/fog/storm_on_demand/models/network/balancers.rb +44 -0
- data/lib/fog/storm_on_demand/models/network/firewall.rb +20 -0
- data/lib/fog/storm_on_demand/models/network/firewalls.rb +32 -0
- data/lib/fog/storm_on_demand/models/network/network_ip.rb +23 -0
- data/lib/fog/storm_on_demand/models/network/network_ips.rb +48 -0
- data/lib/fog/storm_on_demand/models/network/pool.rb +32 -0
- data/lib/fog/storm_on_demand/models/network/pools.rb +28 -0
- data/lib/fog/storm_on_demand/models/{compute → network}/private_ip.rb +2 -3
- data/lib/fog/storm_on_demand/models/network/private_ips.rb +40 -0
- data/lib/fog/storm_on_demand/models/network/ruleset.rb +27 -0
- data/lib/fog/storm_on_demand/models/network/rulesets.rb +28 -0
- data/lib/fog/storm_on_demand/models/network/zone.rb +27 -0
- data/lib/fog/storm_on_demand/models/network/zones.rb +24 -0
- data/lib/fog/storm_on_demand/models/storage/cluster.rb +20 -0
- data/lib/fog/storm_on_demand/models/storage/clusters.rb +20 -0
- data/lib/fog/storm_on_demand/models/storage/volume.rb +54 -0
- data/lib/fog/storm_on_demand/models/storage/volumes.rb +30 -0
- data/lib/fog/storm_on_demand/models/support/alert.rb +19 -0
- data/lib/fog/storm_on_demand/models/support/alerts.rb +20 -0
- data/lib/fog/storm_on_demand/models/support/ticket.rb +74 -0
- data/lib/fog/storm_on_demand/models/support/tickets.rb +33 -0
- data/lib/fog/storm_on_demand/models/vpn/vpn.rb +30 -0
- data/lib/fog/storm_on_demand/models/vpn/vpns.rb +27 -0
- data/lib/fog/storm_on_demand/monitoring.rb +68 -0
- data/lib/fog/storm_on_demand/network.rb +113 -0
- data/lib/fog/storm_on_demand/requests/account/create_token.rb +16 -0
- data/lib/fog/storm_on_demand/requests/account/expire_token.rb +16 -0
- data/lib/fog/storm_on_demand/requests/billing/get_invoice.rb +16 -0
- data/lib/fog/storm_on_demand/requests/billing/list_invoices.rb +16 -0
- data/lib/fog/storm_on_demand/requests/billing/make_payment.rb +16 -0
- data/lib/fog/storm_on_demand/requests/billing/next_invoice.rb +16 -0
- data/lib/fog/storm_on_demand/requests/compute/clone_server.rb +1 -1
- data/lib/fog/storm_on_demand/requests/compute/create_image.rb +16 -0
- data/lib/fog/storm_on_demand/requests/compute/create_server.rb +1 -1
- data/lib/fog/storm_on_demand/requests/compute/current_notifications.rb +16 -0
- data/lib/fog/storm_on_demand/requests/compute/delete_image.rb +16 -0
- data/lib/fog/storm_on_demand/requests/compute/delete_server.rb +1 -1
- data/lib/fog/storm_on_demand/requests/compute/get_config_details.rb +16 -0
- data/lib/fog/storm_on_demand/requests/compute/get_image_details.rb +16 -0
- data/lib/fog/storm_on_demand/requests/compute/get_notification.rb +16 -0
- data/lib/fog/storm_on_demand/requests/compute/get_product.rb +16 -0
- data/lib/fog/storm_on_demand/requests/compute/get_product_code.rb +16 -0
- data/lib/fog/storm_on_demand/requests/compute/get_product_price.rb +16 -0
- data/lib/fog/storm_on_demand/requests/compute/get_product_starting_price.rb +16 -0
- data/lib/fog/storm_on_demand/requests/compute/get_server.rb +1 -1
- data/lib/fog/storm_on_demand/requests/compute/get_template_details.rb +16 -0
- data/lib/fog/storm_on_demand/requests/compute/list_configs.rb +1 -1
- data/lib/fog/storm_on_demand/requests/compute/list_images.rb +2 -2
- data/lib/fog/storm_on_demand/requests/compute/list_notifications.rb +16 -0
- data/lib/fog/storm_on_demand/requests/compute/list_products.rb +16 -0
- data/lib/fog/storm_on_demand/requests/compute/list_servers.rb +2 -2
- data/lib/fog/storm_on_demand/requests/compute/list_templates.rb +2 -2
- data/lib/fog/storm_on_demand/requests/compute/reboot_server.rb +1 -1
- data/lib/fog/storm_on_demand/requests/compute/resize_server.rb +1 -1
- data/lib/fog/storm_on_demand/requests/compute/resolve_notification.rb +16 -0
- data/lib/fog/storm_on_demand/requests/compute/restore_image.rb +16 -0
- data/lib/fog/storm_on_demand/requests/compute/restore_template.rb +16 -0
- data/lib/fog/storm_on_demand/requests/compute/server_history.rb +16 -0
- data/lib/fog/storm_on_demand/requests/compute/server_status.rb +16 -0
- data/lib/fog/storm_on_demand/requests/compute/shutdown_server.rb +16 -0
- data/lib/fog/storm_on_demand/requests/compute/start_server.rb +16 -0
- data/lib/fog/storm_on_demand/requests/compute/update_image.rb +16 -0
- data/lib/fog/storm_on_demand/requests/compute/update_server.rb +16 -0
- data/lib/fog/storm_on_demand/requests/dns/check_zone_delegation.rb +16 -0
- data/lib/fog/storm_on_demand/requests/dns/create_record.rb +16 -0
- data/lib/fog/storm_on_demand/requests/dns/create_record_region.rb +16 -0
- data/lib/fog/storm_on_demand/requests/dns/create_zone.rb +16 -0
- data/lib/fog/storm_on_demand/requests/dns/delete_record.rb +16 -0
- data/lib/fog/storm_on_demand/requests/dns/delete_record_region.rb +16 -0
- data/lib/fog/storm_on_demand/requests/dns/delete_reverse.rb +16 -0
- data/lib/fog/storm_on_demand/requests/dns/delete_zone.rb +16 -0
- data/lib/fog/storm_on_demand/requests/dns/get_record.rb +16 -0
- data/lib/fog/storm_on_demand/requests/dns/get_zone.rb +16 -0
- data/lib/fog/storm_on_demand/requests/dns/list_domains.rb +16 -0
- data/lib/fog/storm_on_demand/requests/dns/list_records.rb +16 -0
- data/lib/fog/storm_on_demand/requests/dns/list_zones.rb +16 -0
- data/lib/fog/storm_on_demand/requests/dns/renew_domain.rb +16 -0
- data/lib/fog/storm_on_demand/requests/dns/update_record.rb +16 -0
- data/lib/fog/storm_on_demand/requests/dns/update_record_region.rb +16 -0
- data/lib/fog/storm_on_demand/requests/dns/update_reverse.rb +16 -0
- data/lib/fog/storm_on_demand/requests/dns/update_zone.rb +16 -0
- data/lib/fog/storm_on_demand/requests/monitoring/get_bandwidth_graph.rb +16 -0
- data/lib/fog/storm_on_demand/requests/monitoring/get_bandwidth_stats.rb +16 -0
- data/lib/fog/storm_on_demand/requests/monitoring/get_load_graph.rb +16 -0
- data/lib/fog/storm_on_demand/requests/monitoring/get_load_stats.rb +16 -0
- data/lib/fog/storm_on_demand/requests/monitoring/get_service.rb +16 -0
- data/lib/fog/storm_on_demand/requests/monitoring/get_service_status.rb +16 -0
- data/lib/fog/storm_on_demand/requests/monitoring/monitoring_ips.rb +16 -0
- data/lib/fog/storm_on_demand/requests/monitoring/update_service.rb +16 -0
- data/lib/fog/storm_on_demand/requests/{compute → network}/add_balancer_node.rb +2 -2
- data/lib/fog/storm_on_demand/requests/network/add_balancer_service.rb +16 -0
- data/lib/fog/storm_on_demand/requests/network/add_ip_to_server.rb +16 -0
- data/lib/fog/storm_on_demand/requests/network/attach_server_to_private_ip.rb +16 -0
- data/lib/fog/storm_on_demand/requests/network/check_balancer_available.rb +16 -0
- data/lib/fog/storm_on_demand/requests/network/check_server_attached.rb +16 -0
- data/lib/fog/storm_on_demand/requests/network/create_balancer.rb +16 -0
- data/lib/fog/storm_on_demand/requests/network/create_pool.rb +16 -0
- data/lib/fog/storm_on_demand/requests/network/create_ruleset.rb +16 -0
- data/lib/fog/storm_on_demand/requests/network/delete_balancer.rb +16 -0
- data/lib/fog/storm_on_demand/requests/network/delete_pool.rb +16 -0
- data/lib/fog/storm_on_demand/requests/network/detach_server_from_private_ip.rb +16 -0
- data/lib/fog/storm_on_demand/requests/network/get_assignments.rb +16 -0
- data/lib/fog/storm_on_demand/requests/network/get_balancer_details.rb +16 -0
- data/lib/fog/storm_on_demand/requests/network/get_balancer_possible_nodes.rb +16 -0
- data/lib/fog/storm_on_demand/requests/network/get_balancer_strategies.rb +16 -0
- data/lib/fog/storm_on_demand/requests/network/get_firewall.rb +16 -0
- data/lib/fog/storm_on_demand/requests/network/get_firewall_basic_options.rb +16 -0
- data/lib/fog/storm_on_demand/requests/network/get_firewall_rules.rb +16 -0
- data/lib/fog/storm_on_demand/requests/network/get_ip_details.rb +16 -0
- data/lib/fog/storm_on_demand/requests/network/get_pool.rb +16 -0
- data/lib/fog/storm_on_demand/requests/network/get_private_ip.rb +16 -0
- data/lib/fog/storm_on_demand/requests/network/get_ruleset.rb +16 -0
- data/lib/fog/storm_on_demand/requests/network/get_zone.rb +16 -0
- data/lib/fog/storm_on_demand/requests/{compute → network}/list_balancers.rb +3 -3
- data/lib/fog/storm_on_demand/requests/network/list_ip_public_accounts.rb +16 -0
- data/lib/fog/storm_on_demand/requests/network/list_network_ips.rb +16 -0
- data/lib/fog/storm_on_demand/requests/network/list_network_public_ips.rb +16 -0
- data/lib/fog/storm_on_demand/requests/{compute → network}/list_private_ips.rb +3 -3
- data/lib/fog/storm_on_demand/requests/network/list_rulesets.rb +16 -0
- data/lib/fog/storm_on_demand/requests/network/list_zones.rb +16 -0
- data/lib/fog/storm_on_demand/requests/{compute → network}/remove_balancer_node.rb +2 -2
- data/lib/fog/storm_on_demand/requests/network/remove_balancer_service.rb +16 -0
- data/lib/fog/storm_on_demand/requests/network/remove_ip_from_server.rb +16 -0
- data/lib/fog/storm_on_demand/requests/network/request_new_ips.rb +16 -0
- data/lib/fog/storm_on_demand/requests/network/set_default_zone.rb +16 -0
- data/lib/fog/storm_on_demand/requests/network/update_balancer.rb +16 -0
- data/lib/fog/storm_on_demand/requests/network/update_firewall.rb +16 -0
- data/lib/fog/storm_on_demand/requests/network/update_pool.rb +16 -0
- data/lib/fog/storm_on_demand/requests/network/update_ruleset.rb +16 -0
- data/lib/fog/storm_on_demand/requests/storage/attach_volume_to_server.rb +16 -0
- data/lib/fog/storm_on_demand/requests/storage/create_volume.rb +16 -0
- data/lib/fog/storm_on_demand/requests/storage/delete_volume.rb +16 -0
- data/lib/fog/storm_on_demand/requests/storage/detach_volume_from_server.rb +16 -0
- data/lib/fog/storm_on_demand/requests/storage/get_volume.rb +16 -0
- data/lib/fog/storm_on_demand/requests/storage/list_clusters.rb +16 -0
- data/lib/fog/storm_on_demand/requests/storage/list_volumes.rb +16 -0
- data/lib/fog/storm_on_demand/requests/storage/resize_volume.rb +16 -0
- data/lib/fog/storm_on_demand/requests/storage/update_volume.rb +16 -0
- data/lib/fog/storm_on_demand/requests/support/add_feedback.rb +16 -0
- data/lib/fog/storm_on_demand/requests/support/add_transaction_feedback.rb +16 -0
- data/lib/fog/storm_on_demand/requests/support/authenticate.rb +16 -0
- data/lib/fog/storm_on_demand/requests/support/close_ticket.rb +16 -0
- data/lib/fog/storm_on_demand/requests/support/create_ticket.rb +16 -0
- data/lib/fog/storm_on_demand/requests/support/get_active_alert.rb +16 -0
- data/lib/fog/storm_on_demand/requests/support/get_ticket_details.rb +16 -0
- data/lib/fog/storm_on_demand/requests/support/list_ticket_types.rb +16 -0
- data/lib/fog/storm_on_demand/requests/support/list_tickets.rb +16 -0
- data/lib/fog/storm_on_demand/requests/support/reopen_ticket.rb +16 -0
- data/lib/fog/storm_on_demand/requests/support/reply_ticket.rb +16 -0
- data/lib/fog/storm_on_demand/requests/vpn/create_vpn.rb +16 -0
- data/lib/fog/storm_on_demand/requests/vpn/get_vpn.rb +16 -0
- data/lib/fog/storm_on_demand/requests/vpn/list_vpn_users.rb +16 -0
- data/lib/fog/storm_on_demand/requests/vpn/update_vpn.rb +16 -0
- data/lib/fog/storm_on_demand/shared.rb +55 -0
- data/lib/fog/storm_on_demand/storage.rb +69 -0
- data/lib/fog/storm_on_demand/support.rb +68 -0
- data/lib/fog/storm_on_demand/vpn.rb +58 -0
- data/lib/fog/support.rb +26 -0
- data/lib/fog/vcloud/compute.rb +6 -0
- data/lib/fog/vcloud/models/compute/server.rb +20 -0
- data/lib/fog/vcloud/models/compute/tag.rb +18 -0
- data/lib/fog/vcloud/models/compute/tags.rb +32 -0
- data/lib/fog/vcloud/requests/compute/configure_metadata.rb +36 -0
- data/lib/fog/vcloud/requests/compute/configure_vm_customization_script.rb +33 -0
- data/lib/fog/vcloud/requests/compute/delete_metadata.rb +10 -0
- data/lib/fog/vcloud/requests/compute/get_metadata.rb +10 -0
- data/lib/fog/version.rb +1 -1
- data/lib/fog/vpn.rb +25 -0
- data/lib/fog/vsphere/requests/compute/get_folder.rb +1 -1
- data/lib/fog/zerigo/models/dns/record.rb +0 -1
- data/lib/fog/zerigo/models/dns/zone.rb +1 -1
- data/lib/fog/zerigo/models/dns/zones.rb +2 -2
- data/lib/fog/zerigo/requests/dns/list_zones.rb +7 -1
- data/lib/tasks/changelog_task.rb +1 -0
- data/tests/aws/models/iam/roles_tests.rb +63 -0
- data/tests/aws/requests/cloud_formation/stack_tests.rb +10 -0
- data/tests/aws/requests/compute/image_tests.rb +20 -0
- data/tests/aws/requests/compute/instance_tests.rb +50 -54
- data/tests/aws/requests/storage/object_tests.rb +7 -0
- data/tests/brightbox/oauth2_tests.rb +8 -1
- data/tests/cloudsigma/models/server_tests.rb +72 -0
- data/tests/cloudsigma/models/servers_tests.rb +7 -0
- data/tests/cloudsigma/models/volume_tests.rb +21 -0
- data/tests/cloudsigma/models/volumes_tests.rb +9 -0
- data/tests/cloudsigma/requests/server_tests.rb +81 -0
- data/tests/cloudsigma/requests/volumes_tests.rb +55 -0
- data/tests/dynect/requests/dns/dns_tests.rb +4 -4
- data/tests/helper.rb +3 -1
- data/tests/helpers/mock_helper.rb +3 -1
- data/tests/joyent/requests/compute/networks_tests.rb +39 -0
- data/tests/openstack/models/image/images_tests.rb +5 -0
- data/tests/openstack/models/network/lb_health_monitor_tests.rb +52 -0
- data/tests/openstack/models/network/lb_health_monitors_tests.rb +21 -0
- data/tests/openstack/models/network/lb_member_tests.rb +28 -0
- data/tests/openstack/models/network/lb_members_tests.rb +21 -0
- data/tests/openstack/models/network/lb_pool_tests.rb +53 -0
- data/tests/openstack/models/network/lb_pools_tests.rb +20 -0
- data/tests/openstack/models/network/lb_vip_tests.rb +39 -0
- data/tests/openstack/models/network/lb_vips_tests.rb +21 -0
- data/tests/openstack/requests/compute/address_tests.rb +8 -0
- data/tests/openstack/requests/compute/flavor_tests.rb +12 -0
- data/tests/openstack/requests/network/lb_health_monitor_tests.rb +93 -0
- data/tests/openstack/requests/network/lb_member_tests.rb +60 -0
- data/tests/openstack/requests/network/lb_pool_tests.rb +80 -0
- data/tests/openstack/requests/network/lb_vip_tests.rb +71 -0
- data/tests/openstack/requests/storage/large_object_tests.rb +75 -11
- data/tests/openvz/helper.rb +41 -0
- data/tests/openvz/models/compute/server_tests.rb +56 -0
- data/tests/openvz/models/compute/servers_tests.rb +35 -0
- data/tests/rackspace/block_storage_tests.rb +6 -3
- data/tests/rackspace/cdn_tests.rb +5 -2
- data/tests/rackspace/compute_tests.rb +4 -2
- data/tests/rackspace/compute_v2_tests.rb +4 -2
- data/tests/rackspace/databases_tests.rb +5 -2
- data/tests/rackspace/dns_tests.rb +5 -2
- data/tests/rackspace/load_balancer_tests.rb +4 -2
- data/tests/rackspace/models/load_balancers/load_balancer_tests.rb +2 -0
- data/tests/rackspace/models/storage/file_tests.rb +30 -0
- data/tests/rackspace/requests/identity/token_tests.rb +9 -0
- data/tests/rackspace/requests/load_balancers/helper.rb +2 -0
- data/tests/rackspace/requests/load_balancers/load_balancer_tests.rb +2 -1
- data/tests/rackspace/requests/storage/large_object_tests.rb +75 -11
- data/tests/rackspace/requests/storage/object_tests.rb +32 -2
- data/tests/rackspace/storage_tests.rb +5 -2
- data/tests/vcloud/requests/compute/disk_configure_tests.rb +7 -2
- data/tests/zerigo/requests/dns/dns_tests.rb +59 -13
- metadata +394 -30
- data/lib/fog/storm_on_demand/models/compute/balancers.rb +0 -21
- data/lib/fog/storm_on_demand/models/compute/private_ips.rb +0 -31
- data/lib/fog/storm_on_demand/models/compute/stats.rb +0 -22
- data/lib/fog/storm_on_demand/requests/compute/get_stats.rb +0 -16
- data/tests/core/json_tests.rb +0 -62
@@ -0,0 +1,71 @@
|
|
1
|
+
Shindo.tests('Fog::Network[:openstack] | lb_vip requests', ['openstack']) do
|
2
|
+
|
3
|
+
@lb_vip_format = {
|
4
|
+
'id' => String,
|
5
|
+
'subnet_id' => String,
|
6
|
+
'pool_id' => String,
|
7
|
+
'protocol' => String,
|
8
|
+
'protocol_port' => Integer,
|
9
|
+
'name' => String,
|
10
|
+
'description' => String,
|
11
|
+
'address' => String,
|
12
|
+
'port_id' => String,
|
13
|
+
'session_persistence' => Hash,
|
14
|
+
'connection_limit' => Integer,
|
15
|
+
'status' => String,
|
16
|
+
'admin_state_up' => Fog::Boolean,
|
17
|
+
'tenant_id' => String,
|
18
|
+
}
|
19
|
+
|
20
|
+
tests('success') do
|
21
|
+
tests('#create_lb_vip').formats({'vip' => @lb_vip_format}) do
|
22
|
+
subnet_id = 'subnet_id'
|
23
|
+
pool_id = 'pool_id'
|
24
|
+
protocol = 'HTTP'
|
25
|
+
protocol_port = 80
|
26
|
+
attributes = {:name => 'test-vip', :description => 'Test VIP',
|
27
|
+
:address => '10.0.0.1', :connection_limit => 10,
|
28
|
+
:session_persistence => { "cookie_name" => "COOKIE_NAME", "type" => "APP_COOKIE" },
|
29
|
+
:admin_state_up => true, :tenant_id => 'tenant_id'}
|
30
|
+
Fog::Network[:openstack].create_lb_vip(subnet_id, pool_id, protocol, protocol_port, attributes).body
|
31
|
+
end
|
32
|
+
|
33
|
+
tests('#list_lb_vips').formats({'vips' => [@lb_vip_format]}) do
|
34
|
+
Fog::Network[:openstack].list_lb_vips.body
|
35
|
+
end
|
36
|
+
|
37
|
+
tests('#get_lb_vip').formats({'vip' => @lb_vip_format}) do
|
38
|
+
lb_vip_id = Fog::Network[:openstack].lb_vips.all.first.id
|
39
|
+
Fog::Network[:openstack].get_lb_vip(lb_vip_id).body
|
40
|
+
end
|
41
|
+
|
42
|
+
tests('#update_lb_vip').formats({'vip' => @lb_vip_format}) do
|
43
|
+
lb_vip_id = Fog::Network[:openstack].lb_vips.all.first.id
|
44
|
+
attributes = {:pool_id => 'new_pool_id', :name => 'new-test-vip',
|
45
|
+
:description => 'New Test VIP', :connection_limit => 5,
|
46
|
+
:session_persistence => { "type" => "HTTP_COOKIE" },
|
47
|
+
:admin_state_up => false}
|
48
|
+
Fog::Network[:openstack].update_lb_vip(lb_vip_id, attributes).body
|
49
|
+
end
|
50
|
+
|
51
|
+
tests('#delete_lb_vip').succeeds do
|
52
|
+
lb_vip_id = Fog::Network[:openstack].lb_vips.all.first.id
|
53
|
+
Fog::Network[:openstack].delete_lb_vip(lb_vip_id)
|
54
|
+
end
|
55
|
+
end
|
56
|
+
|
57
|
+
tests('failure') do
|
58
|
+
tests('#get_lb_vip').raises(Fog::Network::OpenStack::NotFound) do
|
59
|
+
Fog::Network[:openstack].get_lb_vip(0)
|
60
|
+
end
|
61
|
+
|
62
|
+
tests('#update_lb_vip').raises(Fog::Network::OpenStack::NotFound) do
|
63
|
+
Fog::Network[:openstack].update_lb_vip(0, {})
|
64
|
+
end
|
65
|
+
|
66
|
+
tests('#delete_lb_vip').raises(Fog::Network::OpenStack::NotFound) do
|
67
|
+
Fog::Network[:openstack].delete_lb_vip(0)
|
68
|
+
end
|
69
|
+
end
|
70
|
+
|
71
|
+
end
|
@@ -2,34 +2,98 @@ Shindo.tests('Fog::Storage[:openstack] | large object requests', ["openstack"])
|
|
2
2
|
|
3
3
|
unless Fog.mocking?
|
4
4
|
@directory = Fog::Storage[:openstack].directories.create(:key => 'foglargeobjecttests')
|
5
|
+
@directory2 = Fog::Storage[:openstack].directories.create(:key => 'foglargeobjecttests2')
|
5
6
|
end
|
6
7
|
|
7
8
|
tests('success') do
|
8
9
|
|
9
|
-
tests("#put_object('foglargeobjecttests', 'fog_large_object/1', ('x' *
|
10
|
+
tests("#put_object('foglargeobjecttests', 'fog_large_object/1', ('x' * 4 * 1024 * 1024))").succeeds do
|
10
11
|
pending if Fog.mocking?
|
11
|
-
Fog::Storage[:openstack].put_object(@directory.identity, 'fog_large_object/1', ('x' *
|
12
|
+
Fog::Storage[:openstack].put_object(@directory.identity, 'fog_large_object/1', ('x' * 4 * 1024 * 1024))
|
12
13
|
end
|
13
14
|
|
14
|
-
tests("#put_object('foglargeobjecttests', 'fog_large_object/2', ('x' *
|
15
|
+
tests("#put_object('foglargeobjecttests', 'fog_large_object/2', ('x' * 2 * 1024 * 1024))").succeeds do
|
15
16
|
pending if Fog.mocking?
|
16
|
-
Fog::Storage[:openstack].put_object(@directory.identity, 'fog_large_object/2', ('x' *
|
17
|
+
Fog::Storage[:openstack].put_object(@directory.identity, 'fog_large_object/2', ('x' * 2 * 1024 * 1024))
|
17
18
|
end
|
18
19
|
|
19
|
-
tests("#
|
20
|
+
tests("#put_object('foglargeobjecttests', 'fog_large_object2/1', ('x' * 1 * 1024 * 1024))").succeeds do
|
20
21
|
pending if Fog.mocking?
|
21
|
-
Fog::Storage[:openstack].
|
22
|
+
Fog::Storage[:openstack].put_object(@directory.identity, 'fog_large_object2/1', ('x' * 1 * 1024 * 1024))
|
22
23
|
end
|
23
24
|
|
24
|
-
tests("
|
25
|
-
|
26
|
-
|
25
|
+
tests("using default X-Object-Manifest header") do
|
26
|
+
|
27
|
+
tests("#put_object_manifest('foglargeobjecttests', 'fog_large_object')").succeeds do
|
28
|
+
pending if Fog.mocking?
|
29
|
+
Fog::Storage[:openstack].put_object_manifest(@directory.identity, 'fog_large_object')
|
30
|
+
end
|
31
|
+
|
32
|
+
tests("#get_object streams all segments matching the default prefix").succeeds do
|
33
|
+
pending if Fog.mocking?
|
34
|
+
Fog::Storage[:openstack].get_object(@directory.identity, 'fog_large_object').body == ('x' * 7 * 1024 * 1024)
|
35
|
+
end
|
36
|
+
|
37
|
+
tests("#head_object returns Etag that includes manifest object in calculation").succeeds do
|
38
|
+
pending if Fog.mocking?
|
39
|
+
|
40
|
+
etags = []
|
41
|
+
# When the manifest object name is equal to the prefix, OpenStack treats it as if it's the first segment.
|
42
|
+
etags << Digest::MD5.hexdigest('') # Etag for manifest object => "d41d8cd98f00b204e9800998ecf8427e"
|
43
|
+
etags << Digest::MD5.hexdigest('x' * 4 * 1024 * 1024) # => "44981362d3ba9b5bacaf017c2f29d355"
|
44
|
+
etags << Digest::MD5.hexdigest('x' * 2 * 1024 * 1024) # => "67b2f816a30e8956149b2d7beb479e51"
|
45
|
+
etags << Digest::MD5.hexdigest('x' * 1 * 1024 * 1024) # => "b561f87202d04959e37588ee05cf5b10"
|
46
|
+
expected = Digest::MD5.hexdigest(etags.join) # => "42e92048bd2c8085e7072b0b55fd76ab"
|
47
|
+
actual = Fog::Storage[:openstack].head_object(@directory.identity, 'fog_large_object').headers['Etag']
|
48
|
+
actual.gsub('"', '') == expected # actual is returned in quotes "\"42e92048bd2c8085e7072b0b55fd76abu"\"
|
49
|
+
end
|
50
|
+
|
51
|
+
end
|
52
|
+
|
53
|
+
tests("specifying X-Object-Manifest segment prefix") do
|
54
|
+
|
55
|
+
tests("#put_object_manifest('foglargeobjecttests', 'fog_large_object', {'X-Object-Manifest' => 'foglargeobjecttests/fog_large_object/')").succeeds do
|
56
|
+
pending if Fog.mocking?
|
57
|
+
Fog::Storage[:openstack].put_object_manifest(@directory.identity, 'fog_large_object', {'X-Object-Manifest' => "#{@directory.identity}/fog_large_object/"})
|
58
|
+
end
|
59
|
+
|
60
|
+
tests("#get_object streams segments only matching the specified prefix").succeeds do
|
61
|
+
pending if Fog.mocking?
|
62
|
+
Fog::Storage[:openstack].get_object(@directory.identity, 'fog_large_object').body == ('x' * 6 * 1024 * 1024)
|
63
|
+
end
|
64
|
+
|
65
|
+
tests("#head_object returns Etag that does not include manifest object in calculation").succeeds do
|
66
|
+
pending if Fog.mocking?
|
67
|
+
|
68
|
+
etags = []
|
69
|
+
etags << Digest::MD5.hexdigest('x' * 4 * 1024 * 1024) # => "44981362d3ba9b5bacaf017c2f29d355"
|
70
|
+
etags << Digest::MD5.hexdigest('x' * 2 * 1024 * 1024) # => "67b2f816a30e8956149b2d7beb479e51"
|
71
|
+
expected = Digest::MD5.hexdigest(etags.join) # => "0b348495a774eaa4d4c4bbf770820f84"
|
72
|
+
actual = Fog::Storage[:openstack].head_object(@directory.identity, 'fog_large_object').headers['Etag']
|
73
|
+
actual.gsub('"', '') == expected # actual is returned in quotes "\"0b348495a774eaa4d4c4bbf770820f84"\"
|
74
|
+
end
|
75
|
+
|
76
|
+
end
|
77
|
+
|
78
|
+
tests("storing manifest object in a different container than the segments") do
|
79
|
+
|
80
|
+
tests("#put_object_manifest('foglargeobjecttests2', 'fog_large_object', {'X-Object-Manifest' => 'foglargeobjecttests/fog_large_object/'})").succeeds do
|
81
|
+
pending if Fog.mocking?
|
82
|
+
Fog::Storage[:openstack].put_object_manifest(@directory2.identity, 'fog_large_object', {'X-Object-Manifest' => "#{@directory.identity}/fog_large_object/"})
|
83
|
+
end
|
84
|
+
|
85
|
+
tests("#get_object('foglargeobjecttests2', 'fog_large_object').body").succeeds do
|
86
|
+
pending if Fog.mocking?
|
87
|
+
Fog::Storage[:openstack].get_object(@directory2.identity, 'fog_large_object').body == ('x' * 6 * 1024 * 1024)
|
88
|
+
end
|
89
|
+
|
27
90
|
end
|
28
91
|
|
29
92
|
unless Fog.mocking?
|
30
|
-
['fog_large_object', 'fog_large_object/1', 'fog_large_object/2'].each do |key|
|
93
|
+
['fog_large_object', 'fog_large_object/1', 'fog_large_object/2', 'fog_large_object2/1'].each do |key|
|
31
94
|
@directory.files.new(:key => key).destroy
|
32
95
|
end
|
96
|
+
@directory2.files.new(:key => 'fog_large_object').destroy
|
33
97
|
end
|
34
98
|
|
35
99
|
end
|
@@ -42,6 +106,6 @@ Shindo.tests('Fog::Storage[:openstack] | large object requests', ["openstack"])
|
|
42
106
|
|
43
107
|
unless Fog.mocking?
|
44
108
|
@directory.destroy
|
109
|
+
@directory2.destroy
|
45
110
|
end
|
46
|
-
|
47
111
|
end
|
@@ -0,0 +1,41 @@
|
|
1
|
+
|
2
|
+
# Shortcut for Fog::Compute[:openvz]
|
3
|
+
def openvz_service
|
4
|
+
Fog::Compute[:openvz]
|
5
|
+
end
|
6
|
+
|
7
|
+
# Create a long lived server for the tests
|
8
|
+
def openvz_fog_test_server
|
9
|
+
server = openvz_service.servers.find { |s| s.ctid == '104' }
|
10
|
+
unless server
|
11
|
+
server = openvz_service.servers.create :ctid => '104'
|
12
|
+
server.start
|
13
|
+
server.reload
|
14
|
+
# Wait for the server to come up
|
15
|
+
begin
|
16
|
+
server.wait_for(120) { server.reload rescue nil; server.ready? }
|
17
|
+
rescue Fog::Errors::TimeoutError
|
18
|
+
# Server bootstrap took more than 120 secs!
|
19
|
+
end
|
20
|
+
end
|
21
|
+
server
|
22
|
+
end
|
23
|
+
|
24
|
+
# Destroy the long lived server
|
25
|
+
def openvz_fog_test_server_destroy
|
26
|
+
server = openvz_service.servers.find { |s| s.ctid == '104' }
|
27
|
+
server.destroy if server
|
28
|
+
end
|
29
|
+
|
30
|
+
at_exit do
|
31
|
+
unless Fog.mocking?
|
32
|
+
server = openvz_service.servers.find { |s| s.name == '104' }
|
33
|
+
if server
|
34
|
+
server.wait_for(120) do
|
35
|
+
reload rescue nil; ready?
|
36
|
+
end
|
37
|
+
end
|
38
|
+
server.stop
|
39
|
+
openvz_fog_test_server_destroy
|
40
|
+
end
|
41
|
+
end
|
@@ -0,0 +1,56 @@
|
|
1
|
+
Shindo.tests("Fog::Compute[:openvz] | server model", ['openvz', 'compute']) do
|
2
|
+
|
3
|
+
server = openvz_fog_test_server
|
4
|
+
|
5
|
+
tests('The server model should') do
|
6
|
+
|
7
|
+
tests('have the action') do
|
8
|
+
test('reload') { server.respond_to? 'reload' }
|
9
|
+
%w{
|
10
|
+
destroy
|
11
|
+
mount
|
12
|
+
umount
|
13
|
+
restart
|
14
|
+
stop
|
15
|
+
start
|
16
|
+
quotaon
|
17
|
+
quotaoff
|
18
|
+
quotainit
|
19
|
+
suspend
|
20
|
+
resume
|
21
|
+
}.each do |action|
|
22
|
+
test(action) { server.respond_to? action }
|
23
|
+
end
|
24
|
+
end
|
25
|
+
tests('have attributes') do
|
26
|
+
model_attribute_hash = server.attributes
|
27
|
+
attributes = [
|
28
|
+
:ctid,
|
29
|
+
:description
|
30
|
+
]
|
31
|
+
tests("The server model should respond to") do
|
32
|
+
attributes.each do |attribute|
|
33
|
+
test("#{attribute}") { server.respond_to? attribute }
|
34
|
+
end
|
35
|
+
end
|
36
|
+
end
|
37
|
+
test('#stop') do
|
38
|
+
pending if Fog.mocking?
|
39
|
+
server.stop
|
40
|
+
server.wait_for { server.status == 'stopped' }
|
41
|
+
server.status == 'stopped'
|
42
|
+
end
|
43
|
+
test('#start') do
|
44
|
+
pending if Fog.mocking?
|
45
|
+
server.start
|
46
|
+
server.wait_for { ready? }
|
47
|
+
server.ready?
|
48
|
+
end
|
49
|
+
|
50
|
+
end
|
51
|
+
|
52
|
+
# restore server status
|
53
|
+
server.start
|
54
|
+
|
55
|
+
end
|
56
|
+
|
@@ -0,0 +1,35 @@
|
|
1
|
+
Shindo.tests('Fog::Compute[:openvz] | servers collection', ['openvz']) do
|
2
|
+
|
3
|
+
openvz_service = Fog::Compute[:openvz]
|
4
|
+
|
5
|
+
tests('The servers collection') do
|
6
|
+
servers = openvz_service.servers.all
|
7
|
+
|
8
|
+
server = openvz_fog_test_server
|
9
|
+
|
10
|
+
test('should NOT be empty') do
|
11
|
+
servers.reload
|
12
|
+
!servers.empty?
|
13
|
+
end
|
14
|
+
|
15
|
+
test('should be a kind of Fog::Compute::Openvz::Servers') do
|
16
|
+
servers.kind_of? Fog::Compute::Openvz::Servers
|
17
|
+
end
|
18
|
+
|
19
|
+
tests('should have Fog::Compute::Openvz::Servers inside') do
|
20
|
+
servers.each do |s|
|
21
|
+
test { s.kind_of? Fog::Compute::Openvz::Server }
|
22
|
+
end
|
23
|
+
end
|
24
|
+
|
25
|
+
tests('should be able to reload itself').succeeds { servers.reload }
|
26
|
+
|
27
|
+
tests('should be able to get a model') do
|
28
|
+
test('by instance ctid') do
|
29
|
+
servers.get(server.ctid).kind_of? Fog::Compute::Openvz::Server
|
30
|
+
end
|
31
|
+
end
|
32
|
+
|
33
|
+
end
|
34
|
+
|
35
|
+
end
|
@@ -42,14 +42,17 @@ Shindo.tests('Fog::Rackspace::BlockStorage', ['rackspace']) do
|
|
42
42
|
end
|
43
43
|
end
|
44
44
|
|
45
|
-
tests('current
|
45
|
+
tests('current authentication') do
|
46
46
|
pending if Fog.mocking?
|
47
47
|
|
48
48
|
tests('variables populated').succeeds do
|
49
|
-
@service = Fog::Rackspace::BlockStorage.new :rackspace_auth_url => 'https://identity.api.rackspacecloud.com/v2.0'
|
49
|
+
@service = Fog::Rackspace::BlockStorage.new :rackspace_auth_url => 'https://identity.api.rackspacecloud.com/v2.0', :connection_options => {:ssl_verify_peer => true}
|
50
50
|
returns(true, "auth token populated") { !@service.send(:auth_token).nil? }
|
51
51
|
returns(false, "path populated") { @service.instance_variable_get("@uri").host.nil? }
|
52
|
-
|
52
|
+
|
53
|
+
identity_service = @service.instance_variable_get("@identity_service")
|
54
|
+
returns(false, "identity service was used") { identity_service.nil? }
|
55
|
+
returns(true, "connection_options are passed") { identity_service.instance_variable_get("@connection_options").has_key?(:ssl_verify_peer) }
|
53
56
|
@service.list_volumes
|
54
57
|
end
|
55
58
|
tests('dfw region').succeeds do
|
@@ -43,10 +43,13 @@ Shindo.tests('Fog::CDN::Rackspace', ['rackspace']) do
|
|
43
43
|
pending if Fog.mocking?
|
44
44
|
|
45
45
|
tests('variables populated').succeeds do
|
46
|
-
@service = Fog::CDN::Rackspace.new :rackspace_auth_url => 'https://identity.api.rackspacecloud.com/v2.0'
|
46
|
+
@service = Fog::CDN::Rackspace.new :rackspace_auth_url => 'https://identity.api.rackspacecloud.com/v2.0', :connection_options => { :ssl_verify_peer => true }
|
47
47
|
returns(true, "auth token populated") { !@service.send(:auth_token).nil? }
|
48
48
|
returns(false, "path populated") { @service.instance_variable_get("@uri").path.nil? }
|
49
|
-
|
49
|
+
identity_service = @service.instance_variable_get("@identity_service")
|
50
|
+
returns(false, "identity service was used") { identity_service.nil? }
|
51
|
+
returns(true, "connection_options are passed") { identity_service.instance_variable_get("@connection_options").has_key?(:ssl_verify_peer) }
|
52
|
+
|
50
53
|
@service.get_containers
|
51
54
|
end
|
52
55
|
tests('dfw region').succeeds do
|
@@ -43,11 +43,13 @@ Shindo.tests('Rackspace | Compute', ['rackspace']) do
|
|
43
43
|
pending if Fog.mocking?
|
44
44
|
|
45
45
|
tests('variables populated').succeeds do
|
46
|
-
@service = Fog::Compute::Rackspace.new :rackspace_auth_url => 'https://identity.api.rackspacecloud.com/v2.0'
|
46
|
+
@service = Fog::Compute::Rackspace.new :rackspace_auth_url => 'https://identity.api.rackspacecloud.com/v2.0', :connection_options => { :ssl_verify_peer => true }
|
47
47
|
returns(true, "auth token populated") { !@service.send(:auth_token).nil? }
|
48
48
|
returns(true) { (@service.instance_variable_get("@uri").host == 'servers.api.rackspacecloud.com') != nil }
|
49
49
|
|
50
|
-
|
50
|
+
identity_service = @service.instance_variable_get("@identity_service")
|
51
|
+
returns(false, "identity service was used") { identity_service.nil? }
|
52
|
+
returns(true, "connection_options are passed") { identity_service.instance_variable_get("@connection_options").has_key?(:ssl_verify_peer) }
|
51
53
|
@service.list_flavors
|
52
54
|
end
|
53
55
|
|
@@ -46,10 +46,12 @@ Shindo.tests('Fog::Compute::RackspaceV2', ['rackspace']) do
|
|
46
46
|
pending if Fog.mocking?
|
47
47
|
|
48
48
|
tests('variables populated').succeeds do
|
49
|
-
@service = Fog::Compute::RackspaceV2.new :rackspace_auth_url => 'https://identity.api.rackspacecloud.com/v2.0'
|
49
|
+
@service = Fog::Compute::RackspaceV2.new :rackspace_auth_url => 'https://identity.api.rackspacecloud.com/v2.0', :connection_options => {:ssl_verify_peer => true}
|
50
50
|
returns(true, "auth token populated") { !@service.send(:auth_token).nil? }
|
51
51
|
returns(false, "path populated") { @service.instance_variable_get("@uri").host.nil? }
|
52
|
-
|
52
|
+
identity_service = @service.instance_variable_get("@identity_service")
|
53
|
+
returns(false, "identity service was used") { identity_service.nil? }
|
54
|
+
returns(true, "connection_options are passed") { identity_service.instance_variable_get("@connection_options").has_key?(:ssl_verify_peer) }
|
53
55
|
@service.list_flavors
|
54
56
|
end
|
55
57
|
tests('dfw region').succeeds do
|
@@ -46,10 +46,13 @@ Shindo.tests('Fog::Rackspace::Databases', ['rackspace']) do |variable|
|
|
46
46
|
pending if Fog.mocking?
|
47
47
|
|
48
48
|
tests('variables populated').succeeds do
|
49
|
-
@service = Fog::Rackspace::Databases.new :rackspace_auth_url => 'https://identity.api.rackspacecloud.com/v2.0'
|
49
|
+
@service = Fog::Rackspace::Databases.new :rackspace_auth_url => 'https://identity.api.rackspacecloud.com/v2.0', :connection_options => { :ssl_verify_peer => true }
|
50
50
|
returns(true, "auth token populated") { !@service.send(:auth_token).nil? }
|
51
51
|
returns(false, "path populated") { @service.instance_variable_get("@uri").nil? }
|
52
|
-
|
52
|
+
|
53
|
+
identity_service = @service.instance_variable_get("@identity_service")
|
54
|
+
returns(false, "identity service was used") { identity_service.nil? }
|
55
|
+
returns(true, "connection_options are passed") { identity_service.instance_variable_get("@connection_options").has_key?(:ssl_verify_peer) }
|
53
56
|
@service.flavors
|
54
57
|
end
|
55
58
|
tests('dfw region').succeeds do
|
@@ -47,11 +47,14 @@ Shindo.tests('Fog::DNS::Rackspace', ['rackspace']) do
|
|
47
47
|
pending if Fog.mocking?
|
48
48
|
|
49
49
|
tests('variables populated').succeeds do
|
50
|
-
@service = Fog::DNS::Rackspace.new :rackspace_auth_url => 'https://identity.api.rackspacecloud.com/v2.0'
|
50
|
+
@service = Fog::DNS::Rackspace.new :rackspace_auth_url => 'https://identity.api.rackspacecloud.com/v2.0', :connection_options => { :ssl_verify_peer => true }
|
51
51
|
returns(true, "auth token populated") { !@service.send(:auth_token).nil? }
|
52
52
|
returns(false, "path populated") { @service.instance_variable_get("@uri").host.nil? }
|
53
53
|
returns(true, "contains tenant id") { (@service.instance_variable_get("@uri").path =~ /\/v1\.0\/\d+$/) != nil} #dns does not error if tenant id is missing
|
54
|
-
|
54
|
+
|
55
|
+
identity_service = @service.instance_variable_get("@identity_service")
|
56
|
+
returns(false, "identity service was used") { identity_service.nil? }
|
57
|
+
returns(true, "connection_options are passed") { identity_service.instance_variable_get("@connection_options").has_key?(:ssl_verify_peer) }
|
55
58
|
@service.list_domains
|
56
59
|
end
|
57
60
|
tests('custom endpoint') do
|
@@ -46,10 +46,12 @@ Shindo.tests('Fog::Rackspace::LoadBalancers', ['rackspace']) do
|
|
46
46
|
pending if Fog.mocking?
|
47
47
|
|
48
48
|
tests('variables populated').succeeds do
|
49
|
-
@service = Fog::Rackspace::LoadBalancers.new :rackspace_auth_url => 'https://identity.api.rackspacecloud.com/v2.0'
|
49
|
+
@service = Fog::Rackspace::LoadBalancers.new :rackspace_auth_url => 'https://identity.api.rackspacecloud.com/v2.0', :connection_options => { :ssl_verify_peer => true }
|
50
50
|
returns(true, "auth token populated") { !@service.send(:auth_token).nil? }
|
51
51
|
returns(false, "path populated") { @service.instance_variable_get("@uri").host.nil? }
|
52
|
-
|
52
|
+
identity_service = @service.instance_variable_get("@identity_service")
|
53
|
+
returns(false, "identity service was used") { identity_service.nil? }
|
54
|
+
returns(true, "connection_options are passed") { identity_service.instance_variable_get("@connection_options").has_key?(:ssl_verify_peer) }
|
53
55
|
@service.list_load_balancers
|
54
56
|
end
|
55
57
|
tests('dfw region').succeeds do
|
@@ -167,8 +167,10 @@ Shindo.tests('Fog::Rackspace::LoadBalancers | load_balancer', ['rackspace']) do
|
|
167
167
|
tests('create(...with algorithm...)') do
|
168
168
|
attributes = LOAD_BALANCER_ATTRIBUTES.clone
|
169
169
|
attributes[:algorithm] = 'LEAST_CONNECTIONS'
|
170
|
+
attributes[:timeout] = 60
|
170
171
|
@lb = @service.load_balancers.create attributes
|
171
172
|
returns('LEAST_CONNECTIONS') { @lb.algorithm }
|
173
|
+
returns(60) { @lb.timeout }
|
172
174
|
|
173
175
|
@lb.wait_for { ready? }
|
174
176
|
|