fog 1.36.0 → 1.37.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +61 -0
- data/Rakefile +0 -3
- data/fog.gemspec +4 -3
- data/lib/fog/digitalocean/compute_v2.rb +2 -1
- data/lib/fog/digitalocean/examples/getting_started.md +24 -48
- data/lib/fog/digitalocean/models/compute_v2/server.rb +4 -0
- data/lib/fog/digitalocean/models/compute_v2/ssh_key.rb +17 -16
- data/lib/fog/digitalocean/requests/compute_v2/delete_ssh_key.rb +1 -1
- data/lib/fog/digitalocean/requests/compute_v2/get_image_details.rb +1 -2
- data/lib/fog/openstack.rb +2 -0
- data/lib/fog/openstack/common.rb +46 -0
- data/lib/fog/openstack/compute.rb +3 -1
- data/lib/fog/openstack/core.rb +15 -3
- data/lib/fog/openstack/docs/compute.md +1 -1
- data/lib/fog/openstack/identity.rb +0 -37
- data/lib/fog/openstack/identity_v2.rb +9 -3
- data/lib/fog/openstack/identity_v3.rb +8 -3
- data/lib/fog/openstack/image.rb +1 -41
- data/lib/fog/openstack/image_v1.rb +9 -3
- data/lib/fog/openstack/image_v2.rb +7 -2
- data/lib/fog/openstack/metering.rb +2 -1
- data/lib/fog/openstack/models/compute/server.rb +5 -0
- data/lib/fog/openstack/models/identity_v2/user.rb +6 -2
- data/lib/fog/openstack/models/volume/availability_zone.rb +1 -4
- data/lib/fog/openstack/models/volume/availability_zones.rb +1 -4
- data/lib/fog/openstack/models/volume/transfer.rb +1 -9
- data/lib/fog/openstack/models/volume/transfers.rb +1 -4
- data/lib/fog/openstack/models/volume/volume.rb +6 -18
- data/lib/fog/openstack/models/volume/volume_type.rb +0 -3
- data/lib/fog/openstack/models/volume/volume_types.rb +1 -4
- data/lib/fog/openstack/models/volume/volumes.rb +1 -4
- data/lib/fog/openstack/models/volume_v1/availability_zone.rb +15 -0
- data/lib/fog/openstack/models/volume_v1/availability_zones.rb +16 -0
- data/lib/fog/openstack/models/volume_v1/transfer.rb +18 -0
- data/lib/fog/openstack/models/volume_v1/transfers.rb +16 -0
- data/lib/fog/openstack/models/volume_v1/volume.rb +26 -0
- data/lib/fog/openstack/models/volume_v1/volume_type.rb +16 -0
- data/lib/fog/openstack/models/volume_v1/volume_types.rb +16 -0
- data/lib/fog/openstack/models/volume_v1/volumes.rb +16 -0
- data/lib/fog/openstack/models/volume_v2/availability_zone.rb +15 -0
- data/lib/fog/openstack/models/volume_v2/availability_zones.rb +16 -0
- data/lib/fog/openstack/models/volume_v2/transfer.rb +19 -0
- data/lib/fog/openstack/models/volume_v2/transfers.rb +16 -0
- data/lib/fog/openstack/models/volume_v2/volume.rb +27 -0
- data/lib/fog/openstack/models/volume_v2/volume_type.rb +16 -0
- data/lib/fog/openstack/models/volume_v2/volume_types.rb +16 -0
- data/lib/fog/openstack/models/volume_v2/volumes.rb +16 -0
- data/lib/fog/openstack/network.rb +2 -1
- data/lib/fog/openstack/orchestration.rb +2 -1
- data/lib/fog/openstack/planning.rb +2 -1
- data/lib/fog/openstack/requests/compute/evacuate_server.rb +26 -0
- data/lib/fog/openstack/requests/volume/accept_transfer.rb +8 -10
- data/lib/fog/openstack/requests/volume/create_transfer.rb +8 -10
- data/lib/fog/openstack/requests/volume/create_volume.rb +9 -40
- data/lib/fog/openstack/requests/volume/create_volume_snapshot.rb +13 -31
- data/lib/fog/openstack/requests/volume/create_volume_type.rb +2 -2
- data/lib/fog/openstack/requests/volume/delete_snapshot.rb +2 -2
- data/lib/fog/openstack/requests/volume/delete_transfer.rb +1 -3
- data/lib/fog/openstack/requests/volume/delete_volume.rb +2 -2
- data/lib/fog/openstack/requests/volume/delete_volume_type.rb +2 -2
- data/lib/fog/openstack/requests/volume/extend_volume.rb +2 -2
- data/lib/fog/openstack/requests/volume/get_quota.rb +2 -2
- data/lib/fog/openstack/requests/volume/get_quota_defaults.rb +7 -7
- data/lib/fog/openstack/requests/volume/get_quota_usage.rb +2 -2
- data/lib/fog/openstack/requests/volume/get_snapshot_details.rb +1 -20
- data/lib/fog/openstack/requests/volume/get_transfer_details.rb +1 -1
- data/lib/fog/openstack/requests/volume/get_volume_details.rb +1 -22
- data/lib/fog/openstack/requests/volume/get_volume_type_details.rb +2 -2
- data/lib/fog/openstack/requests/volume/list_snapshots.rb +2 -2
- data/lib/fog/openstack/requests/volume/list_snapshots_detailed.rb +2 -2
- data/lib/fog/openstack/requests/volume/list_transfers.rb +1 -1
- data/lib/fog/openstack/requests/volume/list_transfers_detailed.rb +1 -1
- data/lib/fog/openstack/requests/volume/list_volume_types.rb +2 -2
- data/lib/fog/openstack/requests/volume/list_volumes.rb +1 -34
- data/lib/fog/openstack/requests/volume/list_volumes_detailed.rb +1 -34
- data/lib/fog/openstack/requests/volume/list_zones.rb +2 -2
- data/lib/fog/openstack/requests/volume/set_tenant.rb +2 -2
- data/lib/fog/openstack/requests/volume/update_quota.rb +2 -2
- data/lib/fog/openstack/requests/volume/update_volume_type.rb +2 -2
- data/lib/fog/openstack/requests/volume_v1/accept_transfer.rb +2 -0
- data/lib/fog/openstack/requests/volume_v1/create_transfer.rb +2 -0
- data/lib/fog/openstack/requests/volume_v1/create_volume.rb +49 -0
- data/lib/fog/openstack/requests/volume_v1/create_volume_snapshot.rb +44 -0
- data/lib/fog/openstack/requests/volume_v1/create_volume_type.rb +2 -0
- data/lib/fog/openstack/requests/volume_v1/delete_snapshot.rb +2 -0
- data/lib/fog/openstack/requests/volume_v1/delete_transfer.rb +2 -0
- data/lib/fog/openstack/requests/volume_v1/delete_volume.rb +2 -0
- data/lib/fog/openstack/requests/volume_v1/delete_volume_type.rb +2 -0
- data/lib/fog/openstack/requests/volume_v1/extend_volume.rb +2 -0
- data/lib/fog/openstack/requests/volume_v1/get_quota.rb +2 -0
- data/lib/fog/openstack/requests/volume_v1/get_quota_defaults.rb +2 -0
- data/lib/fog/openstack/requests/volume_v1/get_quota_usage.rb +2 -0
- data/lib/fog/openstack/requests/volume_v1/get_snapshot_details.rb +32 -0
- data/lib/fog/openstack/requests/volume_v1/get_transfer_details.rb +2 -0
- data/lib/fog/openstack/requests/volume_v1/get_volume_details.rb +35 -0
- data/lib/fog/openstack/requests/volume_v1/get_volume_type_details.rb +2 -0
- data/lib/fog/openstack/requests/volume_v1/list_snapshots.rb +2 -0
- data/lib/fog/openstack/requests/volume_v1/list_snapshots_detailed.rb +2 -0
- data/lib/fog/openstack/requests/volume_v1/list_transfers.rb +2 -0
- data/lib/fog/openstack/requests/volume_v1/list_transfers_detailed.rb +2 -0
- data/lib/fog/openstack/requests/volume_v1/list_volume_types.rb +2 -0
- data/lib/fog/openstack/requests/volume_v1/list_volumes.rb +46 -0
- data/lib/fog/openstack/requests/volume_v1/list_volumes_detailed.rb +46 -0
- data/lib/fog/openstack/requests/volume_v1/list_zones.rb +2 -0
- data/lib/fog/openstack/requests/volume_v1/real.rb +11 -0
- data/lib/fog/openstack/requests/volume_v1/real_mock.rb +14 -0
- data/lib/fog/openstack/requests/volume_v1/set_tenant.rb +2 -0
- data/lib/fog/openstack/requests/volume_v1/update_quota.rb +2 -0
- data/lib/fog/openstack/requests/volume_v2/accept_transfer.rb +2 -0
- data/lib/fog/openstack/requests/volume_v2/create_transfer.rb +2 -0
- data/lib/fog/openstack/requests/volume_v2/create_volume.rb +49 -0
- data/lib/fog/openstack/requests/volume_v2/create_volume_snapshot.rb +43 -0
- data/lib/fog/openstack/requests/volume_v2/create_volume_type.rb +2 -0
- data/lib/fog/openstack/requests/volume_v2/delete_snapshot.rb +2 -0
- data/lib/fog/openstack/requests/volume_v2/delete_transfer.rb +2 -0
- data/lib/fog/openstack/requests/volume_v2/delete_volume.rb +2 -0
- data/lib/fog/openstack/requests/volume_v2/delete_volume_type.rb +2 -0
- data/lib/fog/openstack/requests/volume_v2/extend_volume.rb +2 -0
- data/lib/fog/openstack/requests/volume_v2/get_quota.rb +2 -0
- data/lib/fog/openstack/requests/volume_v2/get_quota_defaults.rb +2 -0
- data/lib/fog/openstack/requests/volume_v2/get_quota_usage.rb +2 -0
- data/lib/fog/openstack/requests/volume_v2/get_snapshot_details.rb +32 -0
- data/lib/fog/openstack/requests/volume_v2/get_transfer_details.rb +2 -0
- data/lib/fog/openstack/requests/volume_v2/get_volume_details.rb +35 -0
- data/lib/fog/openstack/requests/volume_v2/get_volume_type_details.rb +2 -0
- data/lib/fog/openstack/requests/volume_v2/list_snapshots.rb +2 -0
- data/lib/fog/openstack/requests/volume_v2/list_snapshots_detailed.rb +2 -0
- data/lib/fog/openstack/requests/volume_v2/list_transfers.rb +2 -0
- data/lib/fog/openstack/requests/volume_v2/list_transfers_detailed.rb +2 -0
- data/lib/fog/openstack/requests/volume_v2/list_volume_types.rb +2 -0
- data/lib/fog/openstack/requests/volume_v2/list_volumes.rb +46 -0
- data/lib/fog/openstack/requests/volume_v2/list_volumes_detailed.rb +46 -0
- data/lib/fog/openstack/requests/volume_v2/list_zones.rb +2 -0
- data/lib/fog/openstack/requests/volume_v2/real.rb +11 -0
- data/lib/fog/openstack/requests/volume_v2/real_mock.rb +14 -0
- data/lib/fog/openstack/requests/volume_v2/set_tenant.rb +2 -0
- data/lib/fog/openstack/requests/volume_v2/update_quota.rb +2 -0
- data/lib/fog/openstack/requests/volume_v2/update_volume_type.rb +2 -0
- data/lib/fog/openstack/storage.rb +2 -1
- data/lib/fog/openstack/volume.rb +21 -176
- data/lib/fog/openstack/volume_v1.rb +163 -0
- data/lib/fog/openstack/volume_v2.rb +164 -0
- data/lib/fog/rackspace/compute_v2.rb +1 -0
- data/lib/fog/rackspace/docs/compute_v2.md +1 -1
- data/lib/fog/rackspace/models/compute_v2/server.rb +14 -0
- data/lib/fog/rackspace/requests/compute_v2/get_vnc_console.rb +45 -0
- data/lib/fog/rackspace/requests/storage/put_container.rb +10 -6
- data/lib/fog/vcloud_director/compute.rb +18 -2
- data/lib/fog/vcloud_director/models/compute/disks.rb +6 -0
- data/lib/fog/vcloud_director/models/compute/networks.rb +7 -2
- data/lib/fog/vcloud_director/models/compute/vdc.rb +5 -0
- data/lib/fog/vcloud_director/models/compute/vm.rb +15 -1
- data/lib/fog/vcloud_director/parsers/compute/vm.rb +4 -0
- data/lib/fog/vcloud_director/parsers/compute/vms.rb +4 -0
- data/lib/fog/vcloud_director/requests/compute/delete_vapp.rb +30 -0
- data/lib/fog/vcloud_director/requests/compute/get_catalog.rb +24 -3
- data/lib/fog/vcloud_director/requests/compute/get_catalog_item.rb +23 -0
- data/lib/fog/vcloud_director/requests/compute/get_metadata.rb +11 -0
- data/lib/fog/vcloud_director/requests/compute/get_vapp.rb +1 -0
- data/lib/fog/vcloud_director/requests/compute/get_vm.rb +46 -0
- data/lib/fog/vcloud_director/requests/compute/get_vm_disks.rb +20 -0
- data/lib/fog/vcloud_director/requests/compute/get_vm_network.rb +25 -0
- data/lib/fog/vcloud_director/requests/compute/get_vms.rb +13 -0
- data/lib/fog/vcloud_director/requests/compute/instantiate_vapp_template.rb +70 -0
- data/lib/fog/vcloud_director/requests/compute/post_power_on_vapp.rb +35 -0
- data/lib/fog/vcloud_director/requests/compute/post_reconfigure_vm.rb +118 -0
- data/lib/fog/vcloud_director/requests/compute/post_update_vapp_metadata.rb +34 -0
- data/lib/fog/vcloud_director/requests/compute/put_guest_customization_section_vapp.rb +2 -1
- data/lib/fog/vcloud_director/requests/compute/put_network_connection_system_section_vapp.rb +31 -0
- data/lib/fog/version.rb +1 -1
- data/lib/tasks/changelog_task.rb +1 -0
- data/spec/fog/openstack/shared_context.rb +11 -2
- data/spec/fog/openstack/volume/common_setup.yml +74 -50
- data/spec/fog/openstack/volume/volume_crud.yml +286 -236
- data/spec/fog/openstack/volume/volume_extend.yml +270 -363
- data/spec/fog/openstack/volume/volume_transfer_and_accept.yml +418 -424
- data/spec/fog/openstack/volume/volume_transfer_and_delete.yml +292 -321
- data/spec/fog/openstack/volume/volume_type_read.yml +30 -36
- data/spec/fog/openstack/volume_spec.rb +251 -224
- data/spec/fog/openstack/volume_v1/common_setup.yml +100 -0
- data/spec/fog/openstack/volume_v1/volume_crud.yml +535 -0
- data/spec/fog/openstack/volume_v1/volume_extend.yml +596 -0
- data/spec/fog/openstack/volume_v1/volume_transfer_and_accept.yml +1010 -0
- data/spec/fog/openstack/volume_v1/volume_transfer_and_delete.yml +645 -0
- data/spec/fog/openstack/volume_v1/volume_type_read.yml +114 -0
- data/spec/fog/openstack/volume_v2/common_setup.yml +100 -0
- data/spec/fog/openstack/volume_v2/volume_crud.yml +611 -0
- data/spec/fog/openstack/volume_v2/volume_extend.yml +669 -0
- data/spec/fog/openstack/volume_v2/volume_transfer_and_accept.yml +1072 -0
- data/spec/fog/openstack/volume_v2/volume_transfer_and_delete.yml +666 -0
- data/spec/fog/openstack/volume_v2/volume_type_read.yml +114 -0
- data/tests/helpers/mock_helper.rb +0 -4
- data/tests/openstack/authenticate_tests.rb +4 -0
- data/tests/openstack/volume_tests.rb +4 -0
- data/tests/rackspace/requests/compute_v2/server_tests.rb +4 -0
- metadata +135 -152
- data/lib/fog/bin/vsphere.rb +0 -28
- data/lib/fog/vsphere.rb +0 -1
- data/lib/fog/vsphere/compute.rb +0 -474
- data/lib/fog/vsphere/core.rb +0 -39
- data/lib/fog/vsphere/models/compute/cluster.rb +0 -28
- data/lib/fog/vsphere/models/compute/clusters.rb +0 -23
- data/lib/fog/vsphere/models/compute/customfield.rb +0 -16
- data/lib/fog/vsphere/models/compute/customfields.rb +0 -24
- data/lib/fog/vsphere/models/compute/customvalue.rb +0 -14
- data/lib/fog/vsphere/models/compute/customvalues.rb +0 -34
- data/lib/fog/vsphere/models/compute/datacenter.rb +0 -44
- data/lib/fog/vsphere/models/compute/datacenters.rb +0 -20
- data/lib/fog/vsphere/models/compute/datastore.rb +0 -21
- data/lib/fog/vsphere/models/compute/datastores.rb +0 -22
- data/lib/fog/vsphere/models/compute/folder.rb +0 -24
- data/lib/fog/vsphere/models/compute/folders.rb +0 -24
- data/lib/fog/vsphere/models/compute/interface.rb +0 -91
- data/lib/fog/vsphere/models/compute/interfaces.rb +0 -67
- data/lib/fog/vsphere/models/compute/interfacetype.rb +0 -22
- data/lib/fog/vsphere/models/compute/interfacetypes.rb +0 -35
- data/lib/fog/vsphere/models/compute/network.rb +0 -18
- data/lib/fog/vsphere/models/compute/networks.rb +0 -23
- data/lib/fog/vsphere/models/compute/process.rb +0 -18
- data/lib/fog/vsphere/models/compute/resource_pool.rb +0 -19
- data/lib/fog/vsphere/models/compute/resource_pools.rb +0 -23
- data/lib/fog/vsphere/models/compute/scsicontroller.rb +0 -16
- data/lib/fog/vsphere/models/compute/server.rb +0 -325
- data/lib/fog/vsphere/models/compute/servers.rb +0 -37
- data/lib/fog/vsphere/models/compute/servertype.rb +0 -36
- data/lib/fog/vsphere/models/compute/servertypes.rb +0 -24
- data/lib/fog/vsphere/models/compute/snapshot.rb +0 -35
- data/lib/fog/vsphere/models/compute/snapshots.rb +0 -27
- data/lib/fog/vsphere/models/compute/template.rb +0 -11
- data/lib/fog/vsphere/models/compute/templates.rb +0 -20
- data/lib/fog/vsphere/models/compute/volume.rb +0 -99
- data/lib/fog/vsphere/models/compute/volumes.rb +0 -54
- data/lib/fog/vsphere/requests/compute/cloudinit_to_customspec.rb +0 -65
- data/lib/fog/vsphere/requests/compute/create_folder.rb +0 -22
- data/lib/fog/vsphere/requests/compute/create_vm.rb +0 -227
- data/lib/fog/vsphere/requests/compute/current_time.rb +0 -18
- data/lib/fog/vsphere/requests/compute/get_cluster.rb +0 -25
- data/lib/fog/vsphere/requests/compute/get_compute_resource.rb +0 -41
- data/lib/fog/vsphere/requests/compute/get_datacenter.rb +0 -31
- data/lib/fog/vsphere/requests/compute/get_datastore.rb +0 -30
- data/lib/fog/vsphere/requests/compute/get_folder.rb +0 -74
- data/lib/fog/vsphere/requests/compute/get_interface_type.rb +0 -15
- data/lib/fog/vsphere/requests/compute/get_network.rb +0 -59
- data/lib/fog/vsphere/requests/compute/get_resource_pool.rb +0 -26
- data/lib/fog/vsphere/requests/compute/get_server_type.rb +0 -32
- data/lib/fog/vsphere/requests/compute/get_template.rb +0 -16
- data/lib/fog/vsphere/requests/compute/get_virtual_machine.rb +0 -57
- data/lib/fog/vsphere/requests/compute/get_vm_first_scsi_controller.rb +0 -26
- data/lib/fog/vsphere/requests/compute/list_child_snapshots.rb +0 -71
- data/lib/fog/vsphere/requests/compute/list_clusters.rb +0 -72
- data/lib/fog/vsphere/requests/compute/list_compute_resources.rb +0 -92
- data/lib/fog/vsphere/requests/compute/list_customfields.rb +0 -21
- data/lib/fog/vsphere/requests/compute/list_datacenters.rb +0 -53
- data/lib/fog/vsphere/requests/compute/list_datastores.rb +0 -40
- data/lib/fog/vsphere/requests/compute/list_folders.rb +0 -44
- data/lib/fog/vsphere/requests/compute/list_interface_types.rb +0 -25
- data/lib/fog/vsphere/requests/compute/list_networks.rb +0 -38
- data/lib/fog/vsphere/requests/compute/list_processes.rb +0 -41
- data/lib/fog/vsphere/requests/compute/list_resource_pools.rb +0 -38
- data/lib/fog/vsphere/requests/compute/list_server_types.rb +0 -54
- data/lib/fog/vsphere/requests/compute/list_templates.rb +0 -48
- data/lib/fog/vsphere/requests/compute/list_virtual_machines.rb +0 -80
- data/lib/fog/vsphere/requests/compute/list_vm_customvalues.rb +0 -20
- data/lib/fog/vsphere/requests/compute/list_vm_interfaces.rb +0 -63
- data/lib/fog/vsphere/requests/compute/list_vm_snapshots.rb +0 -66
- data/lib/fog/vsphere/requests/compute/list_vm_volumes.rb +0 -52
- data/lib/fog/vsphere/requests/compute/modify_vm_interface.rb +0 -59
- data/lib/fog/vsphere/requests/compute/modify_vm_volume.rb +0 -25
- data/lib/fog/vsphere/requests/compute/revert_to_snapshot.rb +0 -30
- data/lib/fog/vsphere/requests/compute/set_vm_customvalue.rb +0 -17
- data/lib/fog/vsphere/requests/compute/vm_clone.rb +0 -727
- data/lib/fog/vsphere/requests/compute/vm_config_vnc.rb +0 -45
- data/lib/fog/vsphere/requests/compute/vm_destroy.rb +0 -23
- data/lib/fog/vsphere/requests/compute/vm_execute.rb +0 -47
- data/lib/fog/vsphere/requests/compute/vm_migrate.rb +0 -33
- data/lib/fog/vsphere/requests/compute/vm_power_off.rb +0 -39
- data/lib/fog/vsphere/requests/compute/vm_power_on.rb +0 -26
- data/lib/fog/vsphere/requests/compute/vm_reboot.rb +0 -31
- data/lib/fog/vsphere/requests/compute/vm_reconfig_cpus.rb +0 -23
- data/lib/fog/vsphere/requests/compute/vm_reconfig_hardware.rb +0 -24
- data/lib/fog/vsphere/requests/compute/vm_reconfig_memory.rb +0 -23
- data/lib/fog/vsphere/requests/compute/vm_take_snapshot.rb +0 -37
- data/tests/vsphere/compute_tests.rb +0 -53
- data/tests/vsphere/models/compute/server_tests.rb +0 -70
- data/tests/vsphere/models/compute/servers_tests.rb +0 -15
- data/tests/vsphere/requests/compute/current_time_tests.rb +0 -12
- data/tests/vsphere/requests/compute/get_network_tests.rb +0 -48
- data/tests/vsphere/requests/compute/list_child_snapshots_tests.rb +0 -10
- data/tests/vsphere/requests/compute/list_clusters_tests.rb +0 -11
- data/tests/vsphere/requests/compute/list_virtual_machines_tests.rb +0 -38
- data/tests/vsphere/requests/compute/list_vm_snapshots_tests.rb +0 -10
- data/tests/vsphere/requests/compute/revert_to_snapshot_tests.rb +0 -15
- data/tests/vsphere/requests/compute/set_vm_customvalue_tests.rb +0 -20
- data/tests/vsphere/requests/compute/vm_clone_tests.rb +0 -50
- data/tests/vsphere/requests/compute/vm_config_vnc_tests.rb +0 -19
- data/tests/vsphere/requests/compute/vm_destroy_tests.rb +0 -17
- data/tests/vsphere/requests/compute/vm_migrate_tests.rb +0 -16
- data/tests/vsphere/requests/compute/vm_power_off_tests.rb +0 -26
- data/tests/vsphere/requests/compute/vm_power_on_tests.rb +0 -17
- data/tests/vsphere/requests/compute/vm_reboot_tests.rb +0 -26
- data/tests/vsphere/requests/compute/vm_reconfig_cpus_tests.rb +0 -19
- data/tests/vsphere/requests/compute/vm_reconfig_hardware_tests.rb +0 -19
- data/tests/vsphere/requests/compute/vm_reconfig_memory_tests.rb +0 -19
- data/tests/vsphere/requests/compute/vm_take_snapshot_tests.rb +0 -19
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 738eb34cd16f667cbcace3db1cd5b9ecf43b2523
|
4
|
+
data.tar.gz: d59b0584e317418f4ac05f407742325d58023791
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 87d75d2c9fe6bf483461cf2e675ef78a607b9755ab0135cea41afddb043923eec526dd9412641d34d6b4fff7b20e66f0a6000c354f85d473bd17d2e3741d490a
|
7
|
+
data.tar.gz: 78b931fa6b3fd7cb5f839c3b33001f8d98dfc5f7c50dda0bf05d06298e0cc3e5afd33400baf7e965ae98aa145b7f3fda12b78c0a48678f4fb998228a15a2bc86
|
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,64 @@
|
|
1
|
+
## 1.37.0 12/22/2015
|
2
|
+
*Hash* f7cf6b7c6499ab2a58bb7fe6848363d7cc459d3a
|
3
|
+
|
4
|
+
Statistic | Value
|
5
|
+
------------- | --------:
|
6
|
+
Collaborators | 2
|
7
|
+
Downloads | 13380838
|
8
|
+
Forks | 1530
|
9
|
+
Open Issues | 89
|
10
|
+
Watchers | 3729
|
11
|
+
|
12
|
+
**MVP!** Rich Daley
|
13
|
+
|
14
|
+
#### [misc]
|
15
|
+
* Remove vSphere provider. thanks Garcia
|
16
|
+
* Remove lib/fog/bin/vsphere. thanks Garcia
|
17
|
+
* Use fog-vsphere ~> 0.2. thanks Garcia
|
18
|
+
* OpenStack fix Cinder v2 typo. thanks Ladislav Smola
|
19
|
+
* OpenStack add server evacuate action. thanks Ladislav Smola
|
20
|
+
* Fix DigitalOceanV2::SshKey misplaced #save, #destroy and #update methods. thanks Manuel Franco
|
21
|
+
* Enforce no slash in container name. thanks Matt Darby
|
22
|
+
* Update API path for deleting SSH keys. thanks Michael Borohovski
|
23
|
+
* Upgrade version of fog-vsphere to 0.4. Fixes #3784. thanks Michael Borohovski
|
24
|
+
* Updates Getting Started for DigitalOcean. thanks Peter Souter
|
25
|
+
* Add some mocks for VM (partial) and Network. thanks Rich Daley
|
26
|
+
* Add loads more mocks to the vcloud_director backend. thanks Rich Daley
|
27
|
+
* Add mocks for disks. thanks Rich Daley
|
28
|
+
* Add mock support for tags. thanks Rich Daley
|
29
|
+
* Don't pass AdminPassword if AdminPasswordAuto is true (causes an exception). thanks Rich Daley
|
30
|
+
* Remove erroneous file. thanks Rich Daley
|
31
|
+
* Add a barebones :post_reconfigure_vm and a Vm#reconfigure that uses it. thanks Rich Daley
|
32
|
+
* Add a mock and fix infinite loop issue. thanks Rich Daley
|
33
|
+
* Set description in the mocks ahead of separate PR. thanks Rich Daley
|
34
|
+
* Add support for VM descriptions. thanks Rich Daley
|
35
|
+
* Add a #storage_only to disks to return only those disks that are actually disks. thanks Rich Daley
|
36
|
+
* Remove description if it hasn't changed. thanks Rich Daley
|
37
|
+
* Make comment more explicit about OVF. thanks Rich Daley
|
38
|
+
* Add vdc.networks. thanks Rich Daley
|
39
|
+
* Fix bogus requires. thanks Rich Daley
|
40
|
+
* Add a mock for put_network_connection_system_section_vapp and fix the mock for get_vm_network to get the VM ID the same way the parser does. thanks Rich Daley
|
41
|
+
* Add mock for post_power_on_vapp. thanks Rich Daley
|
42
|
+
* Add mock for delete_vapp. thanks Rich Daley
|
43
|
+
* According to doc, only the username is mandatory. thanks Sean Handley
|
44
|
+
* If the management URL has no path, use the one in the auth URI. thanks Sean Handley
|
45
|
+
* Revert "If the management URL has no path, use the one in the auth URI.". thanks Sean Handley
|
46
|
+
* Workaround for installs using both v2 and v3. thanks Sean Handley
|
47
|
+
* Fix #3785 Missing image details for digitalocean version 2 api. thanks Suraj Shirvankar
|
48
|
+
* Added method locked? to check if the machine is currently locked with another operation. thanks Suraj Shirvankar
|
49
|
+
* Add openstack_temp_url_key to the list of recognized options. thanks Yauheni Kryudziuk
|
50
|
+
* rely on fog-xml nokogiri dep. thanks geemus
|
51
|
+
* add mime-types as dev dependency. thanks geemus
|
52
|
+
* Update compute.md. thanks losingle
|
53
|
+
|
54
|
+
#### [openstack]
|
55
|
+
* volume API v2 implementation. thanks Darren Hague
|
56
|
+
* Revert over-eager optimisation in v2 authentication case. thanks Darren Hague
|
57
|
+
|
58
|
+
#### [rackspace]
|
59
|
+
* Add support for get_vnc_console request to compute_v2. thanks Dusty Jones
|
60
|
+
|
61
|
+
|
1
62
|
## 1.36.0 11/16/2015
|
2
63
|
*Hash* e7cd19696284633d4363993e2e3fda41384b7d58
|
3
64
|
|
data/Rakefile
CHANGED
@@ -69,9 +69,6 @@ namespace :test do
|
|
69
69
|
task :travis => [:openstack_specs] do
|
70
70
|
sh("export FOG_MOCK=#{mock} && bundle exec shindont")
|
71
71
|
end
|
72
|
-
task :vsphere do
|
73
|
-
sh("export FOG_MOCK=#{mock} && bundle exec shindont tests/vsphere")
|
74
|
-
end
|
75
72
|
task :openvz do
|
76
73
|
sh("export FOG_MOCK=#{mock} && bundle exec shindont tests/openvz")
|
77
74
|
end
|
data/fog.gemspec
CHANGED
@@ -11,8 +11,8 @@ Gem::Specification.new do |s|
|
|
11
11
|
## If your rubyforge_project name is different, then edit it and comment out
|
12
12
|
## the sub! line in the Rakefile
|
13
13
|
s.name = "fog"
|
14
|
-
s.version = "1.
|
15
|
-
s.date = "2015-
|
14
|
+
s.version = "1.37.0"
|
15
|
+
s.date = "2015-12-22"
|
16
16
|
s.rubyforge_project = "fog"
|
17
17
|
|
18
18
|
## Make sure your summary is short. The description may be as long
|
@@ -49,7 +49,6 @@ Gem::Specification.new do |s|
|
|
49
49
|
s.add_dependency("fog-xml", "~> 0.1.1")
|
50
50
|
|
51
51
|
s.add_dependency("ipaddress", "~> 0.5")
|
52
|
-
s.add_dependency("nokogiri", "~> 1.5", ">= 1.5.11")
|
53
52
|
|
54
53
|
# Modular providers (please keep sorted)
|
55
54
|
s.add_dependency("fog-atmos")
|
@@ -70,11 +69,13 @@ Gem::Specification.new do |s|
|
|
70
69
|
s.add_dependency("fog-terremark")
|
71
70
|
s.add_dependency("fog-vmfusion")
|
72
71
|
s.add_dependency("fog-voxel")
|
72
|
+
s.add_dependency("fog-vsphere", ">= 0.4.0")
|
73
73
|
s.add_dependency("fog-xenserver")
|
74
74
|
s.add_dependency("fog-aliyun",">= 0.1.0")
|
75
75
|
|
76
76
|
s.add_development_dependency("docker-api", ">= 1.13.6")
|
77
77
|
s.add_development_dependency("fission")
|
78
|
+
s.add_development_dependency("mime-types")
|
78
79
|
s.add_development_dependency("minitest")
|
79
80
|
s.add_development_dependency("minitest-stub-const")
|
80
81
|
s.add_development_dependency("opennebula")
|
@@ -27,6 +27,7 @@ module Fog
|
|
27
27
|
request :enable_ipv6
|
28
28
|
request :enable_private_networking
|
29
29
|
request :get_droplet_action
|
30
|
+
request :get_image_details
|
30
31
|
request :get_server_details
|
31
32
|
request :get_ssh_key
|
32
33
|
request :list_droplet_actions
|
@@ -105,4 +106,4 @@ module Fog
|
|
105
106
|
end
|
106
107
|
end
|
107
108
|
end
|
108
|
-
end
|
109
|
+
end
|
@@ -1,11 +1,10 @@
|
|
1
1
|
# Getting started: the compute service
|
2
2
|
|
3
|
-
You'll need a DigitalOcean account and API
|
3
|
+
You'll need a DigitalOcean account and an API token to use this provider.
|
4
4
|
|
5
|
-
Get one from https://cloud.digitalocean.com/
|
6
|
-
|
7
|
-
Write down the Client Key and API Key, you'll need both to use the service.
|
5
|
+
Get one from https://cloud.digitalocean.com/settings/tokens/new
|
8
6
|
|
7
|
+
Write down the Access Token.
|
9
8
|
|
10
9
|
## Connecting, retrieving and managing server objects
|
11
10
|
|
@@ -21,8 +20,8 @@ require 'fog'
|
|
21
20
|
|
22
21
|
docean = Fog::Compute.new({
|
23
22
|
:provider => 'DigitalOcean',
|
24
|
-
:
|
25
|
-
:
|
23
|
+
:version => 'V2',
|
24
|
+
:digitalocean_token => 'poiuweoruwoeiuroiwuer', # your Access Token here
|
26
25
|
})
|
27
26
|
```
|
28
27
|
|
@@ -43,8 +42,9 @@ Listing all keys:
|
|
43
42
|
|
44
43
|
```ruby
|
45
44
|
docean.ssh_keys.each do | key |
|
46
|
-
|
47
|
-
|
45
|
+
puts key.name
|
46
|
+
puts key.public_key
|
47
|
+
puts key.id
|
48
48
|
end
|
49
49
|
```
|
50
50
|
|
@@ -53,24 +53,6 @@ Destroying a key:
|
|
53
53
|
```ruby
|
54
54
|
docean.ssh_keys.destroy(:id => '27100')
|
55
55
|
```
|
56
|
-
|
57
|
-
## Boostrapping a server
|
58
|
-
|
59
|
-
Fog can be used to bootstrap a server, which will create an SSH key to be assigned to a server at boot.
|
60
|
-
|
61
|
-
```ruby
|
62
|
-
server = connection.servers.bootstrap({
|
63
|
-
:name => 'test',
|
64
|
-
:image_id => 1505447,
|
65
|
-
:size_id => 33,
|
66
|
-
:region_id => 4,
|
67
|
-
:flavor_id => 66,
|
68
|
-
:public_key_path => File.expand_path('~/.ssh/id_rsa.pub'),
|
69
|
-
:private_key_path => File.expand_path('~/.ssh/id_rsa'),
|
70
|
-
})
|
71
|
-
server.wait_for { ready? }
|
72
|
-
```
|
73
|
-
|
74
56
|
## Listing servers
|
75
57
|
|
76
58
|
Listing servers and attributes:
|
@@ -78,13 +60,12 @@ Listing servers and attributes:
|
|
78
60
|
```ruby
|
79
61
|
docean.servers.each do |server|
|
80
62
|
# remember, servers are droplets
|
81
|
-
server.id
|
82
|
-
server.name
|
83
|
-
server.
|
84
|
-
server.
|
85
|
-
server.
|
86
|
-
server.
|
87
|
-
server.region_id
|
63
|
+
puts server.id
|
64
|
+
puts server.name
|
65
|
+
puts server.status
|
66
|
+
puts (server.image['slug'] || server.image['name']) # slug is only for public images, private images use name
|
67
|
+
puts server.size['slug']
|
68
|
+
puts server.region['slug']
|
88
69
|
end
|
89
70
|
```
|
90
71
|
|
@@ -94,12 +75,12 @@ Creating a new server (droplet):
|
|
94
75
|
|
95
76
|
```ruby
|
96
77
|
server = docean.servers.create :name => 'foobar',
|
97
|
-
# use the
|
98
|
-
:
|
99
|
-
# use the first flavor listed
|
100
|
-
:
|
78
|
+
# use the last image listed
|
79
|
+
:image => docean.images.last.id,
|
80
|
+
# use the first flavor (aka size) listed
|
81
|
+
:size => docean.flavors.first.slug,
|
101
82
|
# use the first region listed
|
102
|
-
:
|
83
|
+
:region => docean.regions.first.slug
|
103
84
|
```
|
104
85
|
|
105
86
|
The server is automatically started after that.
|
@@ -109,21 +90,18 @@ but you can easily list them too, and then decide:
|
|
109
90
|
|
110
91
|
```ruby
|
111
92
|
docean.images.each do |image|
|
112
|
-
image.id
|
113
|
-
image.name
|
114
|
-
image.distribution
|
93
|
+
puts image.id
|
94
|
+
puts image.name
|
95
|
+
puts image.distribution
|
115
96
|
end
|
116
97
|
|
117
98
|
docean.flavors.each do |flavor|
|
118
|
-
flavor.
|
119
|
-
flavor.name
|
99
|
+
puts flavor.slug
|
120
100
|
end
|
121
101
|
|
122
102
|
docean.regions.each do |region|
|
123
|
-
region.
|
124
|
-
region.name
|
103
|
+
puts region.slug
|
125
104
|
end
|
126
|
-
|
127
105
|
```
|
128
106
|
|
129
107
|
Rebooting a server:
|
@@ -144,5 +122,3 @@ Destroying the server:
|
|
144
122
|
```ruby
|
145
123
|
server.destroy
|
146
124
|
```
|
147
|
-
|
148
|
-
|
@@ -6,25 +6,26 @@ module Fog
|
|
6
6
|
attribute :fingerprint
|
7
7
|
attribute :public_key
|
8
8
|
attribute :name
|
9
|
-
end
|
10
9
|
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
10
|
+
def save
|
11
|
+
requires :name, :public_key
|
12
|
+
merge_attributes(service.create_ssh_key(name, public_key).body['ssh_key'])
|
13
|
+
true
|
14
|
+
end
|
16
15
|
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
16
|
+
def destroy
|
17
|
+
requires :id
|
18
|
+
service.delete_ssh_key id
|
19
|
+
end
|
20
|
+
|
21
|
+
def update
|
22
|
+
requires :id, :name
|
23
|
+
data = service.update_server(id, name)
|
24
|
+
merge_attributes(data.body['ssh_key'])
|
25
|
+
true
|
26
|
+
end
|
21
27
|
|
22
|
-
def update
|
23
|
-
requires :id, :name
|
24
|
-
data = service.update_server(id, name)
|
25
|
-
merge_attributes(data.body['ssh_key'])
|
26
|
-
true
|
27
28
|
end
|
28
29
|
end
|
29
30
|
end
|
30
|
-
end
|
31
|
+
end
|
@@ -6,7 +6,7 @@ module Fog
|
|
6
6
|
request(
|
7
7
|
:expects => [200],
|
8
8
|
:method => 'GET',
|
9
|
-
:path => "/v2/images/#{
|
9
|
+
:path => "/v2/images/#{image_id}"
|
10
10
|
)
|
11
11
|
end
|
12
12
|
end
|
@@ -33,7 +33,6 @@ module Fog
|
|
33
33
|
'min_disk_size' => 20
|
34
34
|
}
|
35
35
|
}
|
36
|
-
}
|
37
36
|
|
38
37
|
response
|
39
38
|
end
|
data/lib/fog/openstack.rb
CHANGED
@@ -9,5 +9,7 @@ require 'fog/openstack/network'
|
|
9
9
|
require 'fog/openstack/orchestration'
|
10
10
|
require 'fog/openstack/storage'
|
11
11
|
require 'fog/openstack/volume'
|
12
|
+
require 'fog/openstack/volume_v1'
|
13
|
+
require 'fog/openstack/volume_v2'
|
12
14
|
require 'fog/openstack/baremetal'
|
13
15
|
require 'fog/openstack/planning'
|
@@ -0,0 +1,46 @@
|
|
1
|
+
require 'fog/openstack/core'
|
2
|
+
|
3
|
+
module Fog
|
4
|
+
module OpenStack
|
5
|
+
module Common
|
6
|
+
attr_reader :unscoped_token
|
7
|
+
|
8
|
+
include Fog::OpenStack::Core
|
9
|
+
|
10
|
+
def request(params)
|
11
|
+
retried = false
|
12
|
+
begin
|
13
|
+
std_headers = {
|
14
|
+
'Content-Type' => 'application/json',
|
15
|
+
'Accept' => 'application/json',
|
16
|
+
'X-Auth-Token' => @auth_token
|
17
|
+
}
|
18
|
+
param_headers = params.fetch(:headers, {})
|
19
|
+
|
20
|
+
response = @connection.request(params.merge({
|
21
|
+
:headers => std_headers.merge(param_headers),
|
22
|
+
:path => "#{@path}/#{params[:path]}"
|
23
|
+
}))
|
24
|
+
rescue Excon::Errors::Unauthorized => error
|
25
|
+
raise if retried
|
26
|
+
retried = true
|
27
|
+
|
28
|
+
@openstack_must_reauthenticate = true
|
29
|
+
authenticate
|
30
|
+
retry
|
31
|
+
rescue Excon::Errors::HTTPStatusError => error
|
32
|
+
raise case error
|
33
|
+
when Excon::Errors::NotFound
|
34
|
+
self.class.not_found_class.slurp(error)
|
35
|
+
else
|
36
|
+
error
|
37
|
+
end
|
38
|
+
end
|
39
|
+
unless response.body.empty?
|
40
|
+
response.body = Fog::JSON.decode(response.body) unless params[:raw_body]
|
41
|
+
end
|
42
|
+
response
|
43
|
+
end
|
44
|
+
end
|
45
|
+
end
|
46
|
+
end
|
@@ -12,7 +12,8 @@ module Fog
|
|
12
12
|
:openstack_endpoint_type,
|
13
13
|
:openstack_project_name, :openstack_project_id,
|
14
14
|
:openstack_project_domain, :openstack_user_domain, :openstack_domain_name,
|
15
|
-
:openstack_project_domain_id, :openstack_user_domain_id, :openstack_domain_id
|
15
|
+
:openstack_project_domain_id, :openstack_user_domain_id, :openstack_domain_id,
|
16
|
+
:openstack_identity_prefix
|
16
17
|
|
17
18
|
## MODELS
|
18
19
|
#
|
@@ -105,6 +106,7 @@ module Fog
|
|
105
106
|
request :get_vnc_console
|
106
107
|
request :live_migrate_server
|
107
108
|
request :migrate_server
|
109
|
+
request :evacuate_server
|
108
110
|
|
109
111
|
# Service CRUD
|
110
112
|
request :list_services
|
data/lib/fog/openstack/core.rb
CHANGED
@@ -67,6 +67,7 @@ module Fog
|
|
67
67
|
attr_reader :openstack_domain_id
|
68
68
|
attr_reader :openstack_user_domain_id
|
69
69
|
attr_reader :openstack_project_domain_id
|
70
|
+
attr_reader :openstack_identity_prefix
|
70
71
|
|
71
72
|
def initialize_identity options
|
72
73
|
# Create @openstack_* instance variables from all :openstack_* options
|
@@ -154,6 +155,13 @@ module Fog
|
|
154
155
|
@port = @openstack_management_uri.port
|
155
156
|
@scheme = @openstack_management_uri.scheme
|
156
157
|
|
158
|
+
# Not all implementations have identity service in the catalog
|
159
|
+
if @openstack_identity_public_endpoint || @openstack_management_url
|
160
|
+
@identity_connection = Fog::Core::Connection.new(
|
161
|
+
@openstack_identity_public_endpoint || @openstack_management_url,
|
162
|
+
false, @connection_options)
|
163
|
+
end
|
164
|
+
|
157
165
|
true
|
158
166
|
end
|
159
167
|
end
|
@@ -409,7 +417,7 @@ module Fog
|
|
409
417
|
auth_token = options[:openstack_auth_token] || options[:unscoped_token]
|
410
418
|
uri = options[:openstack_auth_uri]
|
411
419
|
|
412
|
-
|
420
|
+
identity_v2_connection = Fog::Core::Connection.new(uri.to_s, false, connection_options)
|
413
421
|
request_body = {:auth => Hash.new}
|
414
422
|
|
415
423
|
if auth_token
|
@@ -424,7 +432,7 @@ module Fog
|
|
424
432
|
end
|
425
433
|
request_body[:auth][:tenantName] = tenant_name if tenant_name
|
426
434
|
|
427
|
-
response =
|
435
|
+
response = identity_v2_connection.request({
|
428
436
|
:expects => [200, 204],
|
429
437
|
:headers => {'Content-Type' => 'application/json'},
|
430
438
|
:body => Fog::JSON.encode(request_body),
|
@@ -574,7 +582,11 @@ module Fog
|
|
574
582
|
end
|
575
583
|
|
576
584
|
def self.get_supported_version_path(supported_versions, uri, auth_token, connection_options = {})
|
577
|
-
|
585
|
+
# Find a version in the path (e.g. the v1 in /xyz/v1/tenantid/abc) and get the path up until that version (e.g. /xyz))
|
586
|
+
path_components = uri.path.split '/'
|
587
|
+
version_component_index = path_components.index{|comp| comp.match(/v[0-9].?[0-9]?/) }
|
588
|
+
versionless_path = (path_components.take(version_component_index).join '/' if version_component_index) || ''
|
589
|
+
connection = Fog::Core::Connection.new("#{uri.scheme}://#{uri.host}:#{uri.port}#{versionless_path}", false, connection_options)
|
578
590
|
response = connection.request({
|
579
591
|
:expects => [200, 204, 300],
|
580
592
|
:headers => {'Content-Type' => 'application/json',
|