fog 1.38.0 → 1.39.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.travis.yml +13 -3
- data/CHANGELOG.md +66 -0
- data/Gemfile +1 -1
- data/LICENSE.md +1 -1
- data/README.md +13 -0
- data/fog.gemspec +27 -6
- data/gemfiles/Gemfile-1.9 +16 -0
- data/gemfiles/Gemfile-2.0 +11 -0
- data/gemfiles/Gemfile-edge +1 -1
- data/gemfiles/Gemfile-edge-1.9 +20 -0
- data/gemfiles/Gemfile-edge-2.0 +16 -0
- data/lib/fog.rb +0 -1
- data/lib/fog/bin.rb +0 -1
- data/lib/fog/cloudsigma/compute.rb +9 -0
- data/lib/fog/cloudsigma/models/server.rb +5 -0
- data/lib/fog/cloudsigma/models/snapshot.rb +77 -0
- data/lib/fog/cloudsigma/models/snapshots.rb +26 -0
- data/lib/fog/cloudsigma/models/volume.rb +15 -0
- data/lib/fog/cloudsigma/requests/clone_snapshot.rb +31 -0
- data/lib/fog/cloudsigma/requests/create_snapshot.rb +27 -0
- data/lib/fog/cloudsigma/requests/delete_snapshot.rb +17 -0
- data/lib/fog/cloudsigma/requests/get_snapshot.rb +17 -0
- data/lib/fog/cloudsigma/requests/list_snapshots.rb +17 -0
- data/lib/fog/cloudsigma/requests/stop_server.rb +5 -4
- data/lib/fog/cloudsigma/requests/update_snapshot.rb +17 -0
- data/lib/fog/cloudstack/core.rb +2 -0
- data/lib/fog/joyent/compute.rb +4 -16
- data/lib/fog/opennebula/README.md +0 -0
- data/lib/fog/opennebula/compute.rb +90 -19
- data/lib/fog/opennebula/models/compute/server.rb +9 -1
- data/lib/fog/opennebula/requests/compute/image_pool.rb +0 -1
- data/lib/fog/opennebula/requests/compute/list_vms.rb +8 -26
- data/lib/fog/opennebula/requests/compute/template_pool.rb +8 -29
- data/lib/fog/opennebula/requests/compute/vm_allocate.rb +24 -15
- data/lib/fog/opennebula/requests/compute/vm_destroy.rb +13 -4
- data/lib/fog/opennebula/requests/compute/vm_disk_snapshot.rb +8 -2
- data/lib/fog/opennebula/requests/compute/vm_resume.rb +13 -23
- data/lib/fog/opennebula/requests/compute/vm_shutdown.rb +1 -1
- data/lib/fog/opennebula/requests/compute/vm_stop.rb +3 -10
- data/lib/fog/opennebula/requests/compute/vm_suspend.rb +31 -0
- data/lib/fog/ovirt/compute.rb +4 -0
- data/lib/fog/ovirt/models/compute/instance_type.rb +39 -0
- data/lib/fog/ovirt/models/compute/instance_types.rb +20 -0
- data/lib/fog/ovirt/models/compute/server.rb +1 -0
- data/lib/fog/ovirt/requests/compute/get_instance_type.rb +17 -0
- data/lib/fog/ovirt/requests/compute/list_instance_types.rb +19 -0
- data/lib/fog/ovirt/requests/compute/mock_files/instance_type.xml +42 -0
- data/lib/fog/ovirt/requests/compute/mock_files/instance_types.xml +197 -0
- data/lib/fog/rage4/dns.rb +1 -0
- data/lib/fog/rage4/requests/dns/bulk_update_records.rb +38 -0
- data/lib/fog/vcloud_director/compute.rb +1 -0
- data/lib/fog/vcloud_director/generators/compute/compose_common.rb +17 -16
- data/lib/fog/vcloud_director/generators/compute/create_snapshot.rb +25 -0
- data/lib/fog/vcloud_director/requests/compute/post_create_snapshot.rb +21 -0
- data/lib/fog/version.rb +1 -1
- data/lib/tasks/changelog_task.rb +4 -4
- data/spec/fog/bin/dnsimple_spec.rb +2 -2
- data/spec/fog/bin_spec.rb +3 -6
- data/tests/cloudsigma/models/snapshot_tests.rb +23 -0
- data/tests/cloudsigma/models/snapshots_tests.rb +15 -0
- data/tests/cloudsigma/models/volume_tests.rb +3 -3
- data/tests/cloudsigma/requests/server_tests.rb +10 -10
- data/tests/cloudsigma/requests/snapshots_tests.rb +83 -0
- data/tests/cloudsigma/requests/volumes_tests.rb +12 -11
- data/tests/compute/helper.rb +0 -19
- data/tests/helpers/mock_helper.rb +0 -4
- data/tests/opennebula/models/compute/flavor_tests.rb +2 -2
- data/tests/opennebula/models/compute/network_tests.rb +1 -2
- data/tests/opennebula/requests/compute/vm_allocate_tests.rb +20 -3
- data/tests/opennebula/requests/compute/vm_suspend_resume_tests.rb +52 -0
- data/tests/rage4/requests/dns/dns_tests.rb +12 -0
- data/tests/storage/helper.rb +0 -6
- metadata +101 -389
- data/lib/fog/bin/digitalocean.rb +0 -29
- data/lib/fog/bin/dnsimple.rb +0 -29
- data/lib/fog/bin/ninefold.rb +0 -34
- data/lib/fog/digitalocean.rb +0 -1
- data/lib/fog/digitalocean/CHANGELOG.md +0 -6
- data/lib/fog/digitalocean/compute_v2.rb +0 -109
- data/lib/fog/digitalocean/core.rb +0 -9
- data/lib/fog/digitalocean/examples/getting_started.md +0 -124
- data/lib/fog/digitalocean/models/compute_v2/flavor.rb +0 -17
- data/lib/fog/digitalocean/models/compute_v2/flavors.rb +0 -21
- data/lib/fog/digitalocean/models/compute_v2/image.rb +0 -25
- data/lib/fog/digitalocean/models/compute_v2/images.rb +0 -42
- data/lib/fog/digitalocean/models/compute_v2/region.rb +0 -13
- data/lib/fog/digitalocean/models/compute_v2/regions.rb +0 -21
- data/lib/fog/digitalocean/models/compute_v2/server.rb +0 -170
- data/lib/fog/digitalocean/models/compute_v2/servers.rb +0 -43
- data/lib/fog/digitalocean/models/compute_v2/ssh_key.rb +0 -31
- data/lib/fog/digitalocean/models/compute_v2/ssh_keys.rb +0 -40
- data/lib/fog/digitalocean/models/paging_collection.rb +0 -41
- data/lib/fog/digitalocean/requests/compute_v2/change_kernel.rb +0 -44
- data/lib/fog/digitalocean/requests/compute_v2/convert_to_snapshot.rb +0 -44
- data/lib/fog/digitalocean/requests/compute_v2/create_server.rb +0 -93
- data/lib/fog/digitalocean/requests/compute_v2/create_ssh_key.rb +0 -49
- data/lib/fog/digitalocean/requests/compute_v2/delete_ssh_key.rb +0 -32
- data/lib/fog/digitalocean/requests/compute_v2/destroy_server.rb +0 -35
- data/lib/fog/digitalocean/requests/compute_v2/disable_backups.rb +0 -45
- data/lib/fog/digitalocean/requests/compute_v2/enable_ipv6.rb +0 -44
- data/lib/fog/digitalocean/requests/compute_v2/enable_private_networking.rb +0 -44
- data/lib/fog/digitalocean/requests/compute_v2/get_droplet_action.rb +0 -36
- data/lib/fog/digitalocean/requests/compute_v2/get_image_details.rb +0 -42
- data/lib/fog/digitalocean/requests/compute_v2/get_server_details.rb +0 -84
- data/lib/fog/digitalocean/requests/compute_v2/get_ssh_key.rb +0 -34
- data/lib/fog/digitalocean/requests/compute_v2/list_droplet_actions.rb +0 -38
- data/lib/fog/digitalocean/requests/compute_v2/list_flavors.rb +0 -131
- data/lib/fog/digitalocean/requests/compute_v2/list_images.rb +0 -50
- data/lib/fog/digitalocean/requests/compute_v2/list_regions.rb +0 -94
- data/lib/fog/digitalocean/requests/compute_v2/list_servers.rb +0 -28
- data/lib/fog/digitalocean/requests/compute_v2/list_ssh_keys.rb +0 -31
- data/lib/fog/digitalocean/requests/compute_v2/password_reset.rb +0 -44
- data/lib/fog/digitalocean/requests/compute_v2/power_cycle.rb +0 -44
- data/lib/fog/digitalocean/requests/compute_v2/power_off.rb +0 -44
- data/lib/fog/digitalocean/requests/compute_v2/power_on.rb +0 -44
- data/lib/fog/digitalocean/requests/compute_v2/reboot_server.rb +0 -44
- data/lib/fog/digitalocean/requests/compute_v2/rebuild.rb +0 -44
- data/lib/fog/digitalocean/requests/compute_v2/rename.rb +0 -44
- data/lib/fog/digitalocean/requests/compute_v2/resize.rb +0 -48
- data/lib/fog/digitalocean/requests/compute_v2/restore.rb +0 -44
- data/lib/fog/digitalocean/requests/compute_v2/shutdown.rb +0 -44
- data/lib/fog/digitalocean/requests/compute_v2/snapshot.rb +0 -44
- data/lib/fog/digitalocean/requests/compute_v2/transfer_image.rb +0 -44
- data/lib/fog/digitalocean/requests/compute_v2/update_ssh_key.rb +0 -46
- data/lib/fog/digitalocean/requests/compute_v2/upgrade.rb +0 -44
- data/lib/fog/digitalocean/service.rb +0 -51
- data/lib/fog/dnsimple.rb +0 -1
- data/lib/fog/dnsimple/core.rb +0 -10
- data/lib/fog/dnsimple/dns.rb +0 -112
- data/lib/fog/dnsimple/models/dns/record.rb +0 -63
- data/lib/fog/dnsimple/models/dns/records.rb +0 -34
- data/lib/fog/dnsimple/models/dns/zone.rb +0 -46
- data/lib/fog/dnsimple/models/dns/zones.rb +0 -25
- data/lib/fog/dnsimple/requests/dns/create_domain.rb +0 -62
- data/lib/fog/dnsimple/requests/dns/create_record.rb +0 -67
- data/lib/fog/dnsimple/requests/dns/delete_domain.rb +0 -35
- data/lib/fog/dnsimple/requests/dns/delete_record.rb +0 -30
- data/lib/fog/dnsimple/requests/dns/get_domain.rb +0 -39
- data/lib/fog/dnsimple/requests/dns/get_record.rb +0 -49
- data/lib/fog/dnsimple/requests/dns/list_domains.rb +0 -34
- data/lib/fog/dnsimple/requests/dns/list_records.rb +0 -34
- data/lib/fog/dnsimple/requests/dns/update_record.rb +0 -53
- data/lib/fog/ninefold.rb +0 -1
- data/lib/fog/ninefold/compute.rb +0 -144
- data/lib/fog/ninefold/core.rb +0 -11
- data/lib/fog/ninefold/models/compute/address.rb +0 -100
- data/lib/fog/ninefold/models/compute/addresses.rb +0 -27
- data/lib/fog/ninefold/models/compute/flavor.rb +0 -24
- data/lib/fog/ninefold/models/compute/flavors.rb +0 -26
- data/lib/fog/ninefold/models/compute/image.rb +0 -38
- data/lib/fog/ninefold/models/compute/images.rb +0 -26
- data/lib/fog/ninefold/models/compute/ip_forwarding_rule.rb +0 -76
- data/lib/fog/ninefold/models/compute/ip_forwarding_rules.rb +0 -27
- data/lib/fog/ninefold/models/compute/server.rb +0 -182
- data/lib/fog/ninefold/models/compute/servers.rb +0 -27
- data/lib/fog/ninefold/requests/compute/assign_to_load_balancer_rule.rb +0 -11
- data/lib/fog/ninefold/requests/compute/associate_ip_address.rb +0 -12
- data/lib/fog/ninefold/requests/compute/change_service_for_virtual_machine.rb +0 -12
- data/lib/fog/ninefold/requests/compute/create_ip_forwarding_rule.rb +0 -12
- data/lib/fog/ninefold/requests/compute/create_load_balancer_rule.rb +0 -11
- data/lib/fog/ninefold/requests/compute/delete_ip_forwarding_rule.rb +0 -12
- data/lib/fog/ninefold/requests/compute/delete_load_balancer_rule.rb +0 -11
- data/lib/fog/ninefold/requests/compute/deploy_virtual_machine.rb +0 -12
- data/lib/fog/ninefold/requests/compute/destroy_virtual_machine.rb +0 -12
- data/lib/fog/ninefold/requests/compute/disable_static_nat.rb +0 -12
- data/lib/fog/ninefold/requests/compute/disassociate_ip_address.rb +0 -12
- data/lib/fog/ninefold/requests/compute/enable_static_nat.rb +0 -12
- data/lib/fog/ninefold/requests/compute/list_accounts.rb +0 -12
- data/lib/fog/ninefold/requests/compute/list_async_jobs.rb +0 -12
- data/lib/fog/ninefold/requests/compute/list_capabilities.rb +0 -12
- data/lib/fog/ninefold/requests/compute/list_disk_offerings.rb +0 -12
- data/lib/fog/ninefold/requests/compute/list_events.rb +0 -12
- data/lib/fog/ninefold/requests/compute/list_hypervisors.rb +0 -12
- data/lib/fog/ninefold/requests/compute/list_ip_forwarding_rules.rb +0 -12
- data/lib/fog/ninefold/requests/compute/list_load_balancer_rule_instances.rb +0 -11
- data/lib/fog/ninefold/requests/compute/list_load_balancer_rules.rb +0 -11
- data/lib/fog/ninefold/requests/compute/list_network_offerings.rb +0 -12
- data/lib/fog/ninefold/requests/compute/list_networks.rb +0 -12
- data/lib/fog/ninefold/requests/compute/list_public_ip_addresses.rb +0 -12
- data/lib/fog/ninefold/requests/compute/list_resource_limits.rb +0 -12
- data/lib/fog/ninefold/requests/compute/list_service_offerings.rb +0 -12
- data/lib/fog/ninefold/requests/compute/list_templates.rb +0 -12
- data/lib/fog/ninefold/requests/compute/list_virtual_machines.rb +0 -12
- data/lib/fog/ninefold/requests/compute/list_zones.rb +0 -12
- data/lib/fog/ninefold/requests/compute/query_async_job_result.rb +0 -12
- data/lib/fog/ninefold/requests/compute/reboot_virtual_machine.rb +0 -12
- data/lib/fog/ninefold/requests/compute/remove_from_load_balancer_rule.rb +0 -11
- data/lib/fog/ninefold/requests/compute/reset_password_for_virtual_machine.rb +0 -12
- data/lib/fog/ninefold/requests/compute/start_virtual_machine.rb +0 -12
- data/lib/fog/ninefold/requests/compute/stop_virtual_machine.rb +0 -12
- data/lib/fog/ninefold/requests/compute/update_load_balancer_rule.rb +0 -11
- data/lib/fog/ninefold/requests/compute/update_virtual_machine.rb +0 -12
- data/lib/fog/ninefold/storage.rb +0 -53
- data/spec/fog/bin/digitalocean_spec.rb +0 -9
- data/spec/fog/bin/ninefold_spec.rb +0 -10
- data/tests/digitalocean/helper.rb +0 -56
- data/tests/digitalocean/requests/compute_v2/list_flavors_tests.rb +0 -25
- data/tests/digitalocean/requests/compute_v2/list_images_tests.rb +0 -25
- data/tests/digitalocean/requests/compute_v2/list_regions_tests.rb +0 -21
- data/tests/digitalocean/requests/compute_v2/server_tests.rb +0 -77
- data/tests/dnsimple/requests/dns/dns_tests.rb +0 -122
- data/tests/hp/block_storage_tests.rb +0 -47
- data/tests/hp/cdn_tests.rb +0 -23
- data/tests/hp/compute_tests.rb +0 -22
- data/tests/hp/models/block_storage/bootable_volume_tests.rb +0 -23
- data/tests/hp/models/block_storage/snapshot_tests.rb +0 -23
- data/tests/hp/models/block_storage/volume_tests.rb +0 -21
- data/tests/hp/models/block_storage_v2/snapshot_tests.rb +0 -22
- data/tests/hp/models/block_storage_v2/snapshots_tests.rb +0 -10
- data/tests/hp/models/block_storage_v2/volume_backup_tests.rb +0 -22
- data/tests/hp/models/block_storage_v2/volume_backups_tests.rb +0 -9
- data/tests/hp/models/block_storage_v2/volume_tests.rb +0 -22
- data/tests/hp/models/block_storage_v2/volumes_tests.rb +0 -5
- data/tests/hp/models/compute/address_tests.rb +0 -18
- data/tests/hp/models/compute/addresses_tests.rb +0 -5
- data/tests/hp/models/compute/key_pair_tests.rb +0 -26
- data/tests/hp/models/compute/key_pairs_tests.rb +0 -5
- data/tests/hp/models/compute/metadata_image_tests.rb +0 -60
- data/tests/hp/models/compute/metadata_server_tests.rb +0 -54
- data/tests/hp/models/compute/security_group_tests.rb +0 -38
- data/tests/hp/models/compute/security_groups_tests.rb +0 -5
- data/tests/hp/models/compute_v2/address_tests.rb +0 -23
- data/tests/hp/models/compute_v2/addresses_tests.rb +0 -7
- data/tests/hp/models/compute_v2/availability_zone_tests.rb +0 -11
- data/tests/hp/models/compute_v2/availability_zones_tests.rb +0 -13
- data/tests/hp/models/compute_v2/key_pair_tests.rb +0 -28
- data/tests/hp/models/compute_v2/key_pairs_tests.rb +0 -7
- data/tests/hp/models/compute_v2/metadata_image_tests.rb +0 -60
- data/tests/hp/models/compute_v2/metadata_server_tests.rb +0 -56
- data/tests/hp/models/compute_v2/server_tests.rb +0 -45
- data/tests/hp/models/compute_v2/servers_tests.rb +0 -9
- data/tests/hp/models/compute_v2/volume_attachment_tests.rb +0 -40
- data/tests/hp/models/compute_v2/volume_attachments_tests.rb +0 -17
- data/tests/hp/models/dns/domain_tests.rb +0 -25
- data/tests/hp/models/dns/domains_tests.rb +0 -14
- data/tests/hp/models/dns/record_tests.rb +0 -29
- data/tests/hp/models/dns/records_tests.rb +0 -9
- data/tests/hp/models/lb/algorithms_tests.rb +0 -15
- data/tests/hp/models/lb/load_balancer_node_tests.rb +0 -9
- data/tests/hp/models/lb/load_balancer_nodes_tests.rb +0 -27
- data/tests/hp/models/lb/load_balancer_tests.rb +0 -6
- data/tests/hp/models/lb/load_balancer_virtual_ips_tests.rb +0 -22
- data/tests/hp/models/lb/load_balancers_tests.rb +0 -22
- data/tests/hp/models/lb/protocols_tests.rb +0 -15
- data/tests/hp/models/network/floating_ip_tests.rb +0 -37
- data/tests/hp/models/network/floating_ips_tests.rb +0 -8
- data/tests/hp/models/network/network_tests.rb +0 -25
- data/tests/hp/models/network/networks_tests.rb +0 -15
- data/tests/hp/models/network/port_tests.rb +0 -30
- data/tests/hp/models/network/ports_tests.rb +0 -21
- data/tests/hp/models/network/router_tests.rb +0 -55
- data/tests/hp/models/network/routers_tests.rb +0 -19
- data/tests/hp/models/network/security_group_rule_tests.rb +0 -25
- data/tests/hp/models/network/security_group_rules_tests.rb +0 -23
- data/tests/hp/models/network/security_group_tests.rb +0 -20
- data/tests/hp/models/network/security_groups_tests.rb +0 -20
- data/tests/hp/models/network/subnet_tests.rb +0 -30
- data/tests/hp/models/network/subnets_tests.rb +0 -22
- data/tests/hp/models/storage/directories_tests.rb +0 -23
- data/tests/hp/models/storage/directory_tests.rb +0 -131
- data/tests/hp/models/storage/file_tests.rb +0 -44
- data/tests/hp/models/storage/files_tests.rb +0 -38
- data/tests/hp/requests/block_storage/bootable_volume_tests.rb +0 -78
- data/tests/hp/requests/block_storage/snapshot_tests.rb +0 -56
- data/tests/hp/requests/block_storage/volume_tests.rb +0 -94
- data/tests/hp/requests/block_storage_v2/snapshot_tests.rb +0 -69
- data/tests/hp/requests/block_storage_v2/volume_backup_tests.rb +0 -117
- data/tests/hp/requests/block_storage_v2/volume_tests.rb +0 -106
- data/tests/hp/requests/cdn/container_tests.rb +0 -56
- data/tests/hp/requests/compute/address_tests.rb +0 -72
- data/tests/hp/requests/compute/flavor_tests.rb +0 -45
- data/tests/hp/requests/compute/image_tests.rb +0 -79
- data/tests/hp/requests/compute/key_pair_tests.rb +0 -65
- data/tests/hp/requests/compute/metadata_tests.rb +0 -70
- data/tests/hp/requests/compute/persistent_server_tests.rb +0 -66
- data/tests/hp/requests/compute/security_group_rule_tests.rb +0 -54
- data/tests/hp/requests/compute/security_group_tests.rb +0 -63
- data/tests/hp/requests/compute/server_address_tests.rb +0 -45
- data/tests/hp/requests/compute/server_tests.rb +0 -126
- data/tests/hp/requests/compute/server_volume_tests.rb +0 -75
- data/tests/hp/requests/compute_v2/address_tests.rb +0 -80
- data/tests/hp/requests/compute_v2/availability_zone_tests.rb +0 -19
- data/tests/hp/requests/compute_v2/flavor_tests.rb +0 -45
- data/tests/hp/requests/compute_v2/image_tests.rb +0 -86
- data/tests/hp/requests/compute_v2/key_pair_tests.rb +0 -66
- data/tests/hp/requests/compute_v2/metadata_tests.rb +0 -101
- data/tests/hp/requests/compute_v2/persistent_server_tests.rb +0 -67
- data/tests/hp/requests/compute_v2/server_address_tests.rb +0 -46
- data/tests/hp/requests/compute_v2/server_security_group_tests.rb +0 -42
- data/tests/hp/requests/compute_v2/server_tests.rb +0 -113
- data/tests/hp/requests/compute_v2/server_volume_tests.rb +0 -84
- data/tests/hp/requests/dns/domain_tests.rb +0 -72
- data/tests/hp/requests/dns/records_tests.rb +0 -64
- data/tests/hp/requests/lb/algorithms_tests.rb +0 -14
- data/tests/hp/requests/lb/limits_tests.rb +0 -16
- data/tests/hp/requests/lb/load_balancer_nodes_tests.rb +0 -46
- data/tests/hp/requests/lb/load_balancer_tests.rb +0 -56
- data/tests/hp/requests/lb/protocols_tests.rb +0 -14
- data/tests/hp/requests/lb/versions_tests.rb +0 -16
- data/tests/hp/requests/lb/virtual_ips_tests.rb +0 -34
- data/tests/hp/requests/network/floating_ip_tests.rb +0 -70
- data/tests/hp/requests/network/network_tests.rb +0 -57
- data/tests/hp/requests/network/port_tests.rb +0 -71
- data/tests/hp/requests/network/router_tests.rb +0 -108
- data/tests/hp/requests/network/security_group_rule_tests.rb +0 -58
- data/tests/hp/requests/network/security_group_tests.rb +0 -48
- data/tests/hp/requests/network/subnet_tests.rb +0 -71
- data/tests/hp/requests/storage/container_tests.rb +0 -86
- data/tests/hp/requests/storage/object_tests.rb +0 -121
- data/tests/hp/storage_tests.rb +0 -28
- data/tests/hp/user_agent_tests.rb +0 -13
- data/tests/ninefold/models/storage/file_update_tests.rb +0 -19
- data/tests/ninefold/models/storage/nested_directories_tests.rb +0 -23
- data/tests/ninefold/requests/compute/address_tests.rb +0 -42
- data/tests/ninefold/requests/compute/async_job_tests.rb +0 -33
- data/tests/ninefold/requests/compute/helper.rb +0 -369
- data/tests/ninefold/requests/compute/list_tests.rb +0 -56
- data/tests/ninefold/requests/compute/load_balancer_tests.rb +0 -66
- data/tests/ninefold/requests/compute/nat_tests.rb +0 -91
- data/tests/ninefold/requests/compute/network_tests.rb +0 -21
- data/tests/ninefold/requests/compute/template_tests.rb +0 -21
- data/tests/ninefold/requests/compute/virtual_machine_tests.rb +0 -68
@@ -1,44 +0,0 @@
|
|
1
|
-
module Fog
|
2
|
-
module Compute
|
3
|
-
class DigitalOceanV2
|
4
|
-
class Real
|
5
|
-
def transfer_image(id, region)
|
6
|
-
body = { :type => 'transfer', :region => region }
|
7
|
-
|
8
|
-
encoded_body = Fog::JSON.encode(body)
|
9
|
-
|
10
|
-
request(
|
11
|
-
:expects => [201],
|
12
|
-
:headers => {
|
13
|
-
'Content-Type' => "application/json; charset=UTF-8",
|
14
|
-
},
|
15
|
-
:method => 'POST',
|
16
|
-
:path => "v2/images/#{id}/actions",
|
17
|
-
:body => encoded_body,
|
18
|
-
)
|
19
|
-
end
|
20
|
-
end
|
21
|
-
|
22
|
-
class Mock
|
23
|
-
def transfer_image(id, name)
|
24
|
-
response = Excon::Response.new
|
25
|
-
response.status = 201
|
26
|
-
response.body = {
|
27
|
-
'action' => {
|
28
|
-
'id' => 36805527,
|
29
|
-
'status' => 'in-progress',
|
30
|
-
'type' => 'transfer',
|
31
|
-
'started_at' => '2014-11-14T16:42:45Z',
|
32
|
-
'completed_at' => null,
|
33
|
-
'resource_id' => 7938269,
|
34
|
-
'resource_type' => 'image',
|
35
|
-
'region' => 'nyc3',
|
36
|
-
'region_slug' => 'nyc3'
|
37
|
-
}
|
38
|
-
}
|
39
|
-
response
|
40
|
-
end
|
41
|
-
end
|
42
|
-
end
|
43
|
-
end
|
44
|
-
end
|
@@ -1,46 +0,0 @@
|
|
1
|
-
module Fog
|
2
|
-
module Compute
|
3
|
-
class DigitalOceanV2
|
4
|
-
# noinspection RubyStringKeysInHashInspection
|
5
|
-
class Real
|
6
|
-
|
7
|
-
def update_ssh_key(key_id, name)
|
8
|
-
update_options = {
|
9
|
-
:name => name,
|
10
|
-
}
|
11
|
-
|
12
|
-
encoded_body = Fog::JSON.encode(update_options)
|
13
|
-
|
14
|
-
request(
|
15
|
-
:expects => [200],
|
16
|
-
:headers => {
|
17
|
-
'Content-Type' => "application/json; charset=UTF-8",
|
18
|
-
},
|
19
|
-
:method => 'PUT',
|
20
|
-
:path => "/v2/account/keys/#{key_id}",
|
21
|
-
:body => encoded_body,
|
22
|
-
)
|
23
|
-
end
|
24
|
-
end
|
25
|
-
|
26
|
-
# noinspection RubyStringKeysInHashInspection
|
27
|
-
class Mock
|
28
|
-
def update_ssh_key(key_id, name)
|
29
|
-
response = Excon::Response.new
|
30
|
-
response.status = 200
|
31
|
-
|
32
|
-
response.body ={
|
33
|
-
'ssh_key' => {
|
34
|
-
'id' => 512190,
|
35
|
-
'fingerprint' => "3b:16:bf:e4:8b:00:8b:b8:59:8c:a9:d3:f0:19:45:fa",
|
36
|
-
'public_key' => "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAAAQQDDHr/jh2Jy4yALcK4JyWbVkPRaWmhck3IgCoeOO3z1e2dBowLh64QAM+Qb72pxekALga2oi4GvT+TlWNhzPH4V example",
|
37
|
-
'name' => "My SSH Public Key"
|
38
|
-
}
|
39
|
-
}
|
40
|
-
|
41
|
-
response
|
42
|
-
end
|
43
|
-
end
|
44
|
-
end
|
45
|
-
end
|
46
|
-
end
|
@@ -1,44 +0,0 @@
|
|
1
|
-
module Fog
|
2
|
-
module Compute
|
3
|
-
class DigitalOceanV2
|
4
|
-
class Real
|
5
|
-
def upgrade(id)
|
6
|
-
body = { :type => "upgrade" }
|
7
|
-
|
8
|
-
encoded_body = Fog::JSON.encode(body)
|
9
|
-
|
10
|
-
request(
|
11
|
-
:expects => [201],
|
12
|
-
:headers => {
|
13
|
-
'Content-Type' => "application/json; charset=UTF-8",
|
14
|
-
},
|
15
|
-
:method => 'POST',
|
16
|
-
:path => "v2/droplets/#{id}/actions",
|
17
|
-
:body => encoded_body,
|
18
|
-
)
|
19
|
-
end
|
20
|
-
end
|
21
|
-
|
22
|
-
class Mock
|
23
|
-
def upgrade(id)
|
24
|
-
response = Excon::Response.new
|
25
|
-
response.status = 201
|
26
|
-
response.body = {
|
27
|
-
'action' => {
|
28
|
-
'id' => Fog::Mock.random_numbers(1).to_i,
|
29
|
-
'status' => "in-progress",
|
30
|
-
'type' => "upgrade",
|
31
|
-
'started_at' => "2014-11-14T16:31:00Z",
|
32
|
-
'completed_at' => null,
|
33
|
-
'resource_id' => id,
|
34
|
-
'resource_type' => "droplet",
|
35
|
-
'region' => "nyc3",
|
36
|
-
'region_slug' => "nyc3"
|
37
|
-
}
|
38
|
-
}
|
39
|
-
response
|
40
|
-
end
|
41
|
-
end
|
42
|
-
end
|
43
|
-
end
|
44
|
-
end
|
@@ -1,51 +0,0 @@
|
|
1
|
-
module Fog
|
2
|
-
module DigitalOcean
|
3
|
-
class Service
|
4
|
-
|
5
|
-
def request(params, parse_json = true)
|
6
|
-
first_attempt = true
|
7
|
-
begin
|
8
|
-
response = @connection.request(request_params(params))
|
9
|
-
rescue Excon::Errors::Unauthorized => error
|
10
|
-
raise error unless first_attempt
|
11
|
-
first_attempt = false
|
12
|
-
authenticate
|
13
|
-
retry
|
14
|
-
end
|
15
|
-
|
16
|
-
process_response(response) if parse_json
|
17
|
-
response
|
18
|
-
end
|
19
|
-
|
20
|
-
private
|
21
|
-
|
22
|
-
def process_response(response)
|
23
|
-
if response &&
|
24
|
-
response.body &&
|
25
|
-
response.body.is_a?(String) &&
|
26
|
-
!response.body.strip.empty?
|
27
|
-
begin
|
28
|
-
response.body = Fog::JSON.decode(response.body)
|
29
|
-
rescue Fog::JSON::DecodeError => e
|
30
|
-
Fog::Logger.warning("Error Parsing response json - #{e}")
|
31
|
-
response.body = {}
|
32
|
-
end
|
33
|
-
end
|
34
|
-
end
|
35
|
-
|
36
|
-
def headers(options={})
|
37
|
-
{'Content-Type' => 'application/json',
|
38
|
-
'Accept' => 'application/json',
|
39
|
-
}.merge(options[:headers] || {})
|
40
|
-
end
|
41
|
-
|
42
|
-
def request_params(params)
|
43
|
-
params.merge({
|
44
|
-
:headers => headers(params),
|
45
|
-
:path => "#{params[:path]}"
|
46
|
-
})
|
47
|
-
end
|
48
|
-
|
49
|
-
end
|
50
|
-
end
|
51
|
-
end
|
data/lib/fog/dnsimple.rb
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
require 'fog/dnsimple/dns'
|
data/lib/fog/dnsimple/core.rb
DELETED
data/lib/fog/dnsimple/dns.rb
DELETED
@@ -1,112 +0,0 @@
|
|
1
|
-
require 'fog/dnsimple/core'
|
2
|
-
|
3
|
-
module Fog
|
4
|
-
module DNS
|
5
|
-
class DNSimple < Fog::Service
|
6
|
-
recognizes :dnsimple_email, :dnsimple_password, :dnsimple_token, :dnsimple_domain, :dnsimple_url, :host, :path, :port, :scheme, :persistent
|
7
|
-
|
8
|
-
model_path 'fog/dnsimple/models/dns'
|
9
|
-
model :record
|
10
|
-
collection :records
|
11
|
-
model :zone
|
12
|
-
collection :zones
|
13
|
-
|
14
|
-
request_path 'fog/dnsimple/requests/dns'
|
15
|
-
request :list_domains
|
16
|
-
request :create_domain
|
17
|
-
request :get_domain
|
18
|
-
request :delete_domain
|
19
|
-
request :create_record
|
20
|
-
request :list_records
|
21
|
-
request :update_record
|
22
|
-
request :delete_record
|
23
|
-
request :get_record
|
24
|
-
|
25
|
-
class Mock
|
26
|
-
def self.data
|
27
|
-
@data ||= Hash.new do |hash, key|
|
28
|
-
hash[key] = {
|
29
|
-
:domains => [],
|
30
|
-
:records => {}
|
31
|
-
}
|
32
|
-
end
|
33
|
-
end
|
34
|
-
|
35
|
-
def self.reset
|
36
|
-
@data = nil
|
37
|
-
end
|
38
|
-
|
39
|
-
def initialize(options={})
|
40
|
-
@dnsimple_email = options[:dnsimple_email]
|
41
|
-
@dnsimple_password = options[:dnsimple_password]
|
42
|
-
@dnsimple_token = options[:dnsimple_token]
|
43
|
-
@dnsimple_domain = options[:dnsimple_domain]
|
44
|
-
end
|
45
|
-
|
46
|
-
def data
|
47
|
-
self.class.data[@dnsimple_email]
|
48
|
-
end
|
49
|
-
|
50
|
-
def reset_data
|
51
|
-
self.class.data.delete(@dnsimple_email)
|
52
|
-
end
|
53
|
-
end
|
54
|
-
|
55
|
-
class Real
|
56
|
-
def initialize(options={})
|
57
|
-
@dnsimple_email = options[:dnsimple_email]
|
58
|
-
@dnsimple_password = options[:dnsimple_password]
|
59
|
-
@dnsimple_token = options[:dnsimple_token]
|
60
|
-
@dnsimple_domain = options[:dnsimple_domain]
|
61
|
-
@connection_options = options[:connection_options] || {}
|
62
|
-
if options[:dnsimple_url]
|
63
|
-
uri = URI.parse(options[:dnsimple_url])
|
64
|
-
options[:host] = uri.host
|
65
|
-
options[:port] = uri.port
|
66
|
-
options[:scheme] = uri.scheme
|
67
|
-
end
|
68
|
-
@host = options[:host] || "api.dnsimple.com"
|
69
|
-
@persistent = options[:persistent] || false
|
70
|
-
@port = options[:port] || 443
|
71
|
-
@scheme = options[:scheme] || 'https'
|
72
|
-
@connection = Fog::XML::Connection.new("#{@scheme}://#{@host}:#{@port}", @persistent, @connection_options)
|
73
|
-
end
|
74
|
-
|
75
|
-
def reload
|
76
|
-
@connection.reset
|
77
|
-
end
|
78
|
-
|
79
|
-
def request(params)
|
80
|
-
params[:headers] ||= {}
|
81
|
-
|
82
|
-
if(@dnsimple_password)
|
83
|
-
key = "#{@dnsimple_email}:#{@dnsimple_password}"
|
84
|
-
params[:headers].merge!("Authorization" => "Basic " + Base64.encode64(key).gsub("\n",''))
|
85
|
-
elsif(@dnsimple_token)
|
86
|
-
if(@dnsimple_domain)
|
87
|
-
params[:headers].merge!("X-DNSimple-Domain-Token" => @dnsimple_token)
|
88
|
-
else
|
89
|
-
params[:headers].merge!("X-DNSimple-Token" => "#{@dnsimple_email}:#{@dnsimple_token}")
|
90
|
-
end
|
91
|
-
else
|
92
|
-
raise ArgumentError.new("Insufficient credentials to properly authenticate!")
|
93
|
-
end
|
94
|
-
params[:headers].merge!(
|
95
|
-
"Accept" => "application/json",
|
96
|
-
"Content-Type" => "application/json"
|
97
|
-
)
|
98
|
-
|
99
|
-
version = params.delete(:version) || 'v1'
|
100
|
-
params[:path] = File.join('/', version, params[:path])
|
101
|
-
|
102
|
-
response = @connection.request(params)
|
103
|
-
|
104
|
-
unless response.body.empty?
|
105
|
-
response.body = Fog::JSON.decode(response.body)
|
106
|
-
end
|
107
|
-
response
|
108
|
-
end
|
109
|
-
end
|
110
|
-
end
|
111
|
-
end
|
112
|
-
end
|
@@ -1,63 +0,0 @@
|
|
1
|
-
require 'fog/core/model'
|
2
|
-
|
3
|
-
module Fog
|
4
|
-
module DNS
|
5
|
-
class DNSimple
|
6
|
-
class Record < Fog::Model
|
7
|
-
extend Fog::Deprecation
|
8
|
-
deprecate :ip, :value
|
9
|
-
deprecate :ip=, :value=
|
10
|
-
|
11
|
-
identity :id
|
12
|
-
|
13
|
-
attribute :zone_id, :aliases => "domain_id"
|
14
|
-
attribute :name
|
15
|
-
attribute :value, :aliases => "content"
|
16
|
-
attribute :ttl
|
17
|
-
attribute :priority, :aliases => "prio"
|
18
|
-
attribute :type, :aliases => "record_type"
|
19
|
-
attribute :created_at
|
20
|
-
attribute :updated_at
|
21
|
-
|
22
|
-
def initialize(attributes={})
|
23
|
-
super
|
24
|
-
end
|
25
|
-
|
26
|
-
def destroy
|
27
|
-
service.delete_record(zone.id, identity)
|
28
|
-
true
|
29
|
-
end
|
30
|
-
|
31
|
-
def zone
|
32
|
-
@zone
|
33
|
-
end
|
34
|
-
|
35
|
-
def save
|
36
|
-
requires :name, :type, :value
|
37
|
-
options = {}
|
38
|
-
options[:prio] = priority if priority
|
39
|
-
options[:ttl] = ttl if ttl
|
40
|
-
|
41
|
-
# decide whether its a new record or update of an existing
|
42
|
-
if id.nil?
|
43
|
-
data = service.create_record(zone.id, name, type, value, options)
|
44
|
-
else
|
45
|
-
options[:name] = name if name
|
46
|
-
options[:content] = value if value
|
47
|
-
options[:type] = type if type
|
48
|
-
data = service.update_record(zone.id, id, options)
|
49
|
-
end
|
50
|
-
|
51
|
-
merge_attributes(data.body["record"])
|
52
|
-
true
|
53
|
-
end
|
54
|
-
|
55
|
-
private
|
56
|
-
|
57
|
-
def zone=(new_zone)
|
58
|
-
@zone = new_zone
|
59
|
-
end
|
60
|
-
end
|
61
|
-
end
|
62
|
-
end
|
63
|
-
end
|
@@ -1,34 +0,0 @@
|
|
1
|
-
require 'fog/core/collection'
|
2
|
-
require 'fog/dnsimple/models/dns/record'
|
3
|
-
|
4
|
-
module Fog
|
5
|
-
module DNS
|
6
|
-
class DNSimple
|
7
|
-
class Records < Fog::Collection
|
8
|
-
attribute :zone
|
9
|
-
|
10
|
-
model Fog::DNS::DNSimple::Record
|
11
|
-
|
12
|
-
def all
|
13
|
-
requires :zone
|
14
|
-
clear
|
15
|
-
data = service.list_records(zone.id).body.map {|record| record['record']}
|
16
|
-
load(data)
|
17
|
-
end
|
18
|
-
|
19
|
-
def get(record_id)
|
20
|
-
requires :zone
|
21
|
-
data = service.get_record(zone.id, record_id).body["record"]
|
22
|
-
new(data)
|
23
|
-
rescue Excon::Errors::NotFound
|
24
|
-
nil
|
25
|
-
end
|
26
|
-
|
27
|
-
def new(attributes = {})
|
28
|
-
requires :zone
|
29
|
-
super({ :zone => zone }.merge!(attributes))
|
30
|
-
end
|
31
|
-
end
|
32
|
-
end
|
33
|
-
end
|
34
|
-
end
|
@@ -1,46 +0,0 @@
|
|
1
|
-
require 'fog/core/model'
|
2
|
-
require 'fog/dnsimple/models/dns/records'
|
3
|
-
|
4
|
-
module Fog
|
5
|
-
module DNS
|
6
|
-
class DNSimple
|
7
|
-
class Zone < Fog::Model
|
8
|
-
identity :id
|
9
|
-
|
10
|
-
attribute :domain, :aliases => 'name'
|
11
|
-
attribute :created_at
|
12
|
-
attribute :updated_at
|
13
|
-
|
14
|
-
def destroy
|
15
|
-
service.delete_domain(identity)
|
16
|
-
true
|
17
|
-
end
|
18
|
-
|
19
|
-
def records
|
20
|
-
@records ||= begin
|
21
|
-
Fog::DNS::DNSimple::Records.new(
|
22
|
-
:zone => self,
|
23
|
-
:service => service
|
24
|
-
)
|
25
|
-
end
|
26
|
-
end
|
27
|
-
|
28
|
-
def nameservers
|
29
|
-
[
|
30
|
-
"ns1.dnsimple.com",
|
31
|
-
"ns2.dnsimple.com",
|
32
|
-
"ns3.dnsimple.com",
|
33
|
-
"ns4.dnsimple.com",
|
34
|
-
]
|
35
|
-
end
|
36
|
-
|
37
|
-
def save
|
38
|
-
requires :domain
|
39
|
-
data = service.create_domain(domain).body["domain"]
|
40
|
-
merge_attributes(data)
|
41
|
-
true
|
42
|
-
end
|
43
|
-
end
|
44
|
-
end
|
45
|
-
end
|
46
|
-
end
|