aviator 0.0.7 → 0.0.8
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +5 -13
- data/.travis.yml +1 -8
- data/Gemfile +1 -0
- data/LICENSE.txt +2 -2
- data/README.md +2 -3
- data/aviator.gemspec +1 -8
- data/lib/aviator/core/cli/describer.rb +1 -1
- data/lib/aviator/core/request_builder.rb +19 -6
- data/lib/aviator/core/response.rb +6 -1
- data/lib/aviator/core/service.rb +15 -68
- data/lib/aviator/core/session.rb +31 -22
- data/lib/aviator/{compatibility.rb → core/utils/compatibility.rb} +0 -0
- data/lib/aviator/{hashish.rb → core/utils/hashish.rb} +19 -3
- data/lib/aviator/core/utils/string.rb +24 -0
- data/lib/aviator/core.rb +4 -3
- data/lib/aviator/openstack/common/requests/v0/public/base.rb +119 -0
- data/lib/aviator/openstack/common/{v2 → requests/v2}/admin/base.rb +0 -0
- data/lib/aviator/openstack/common/requests/v2/public/base.rb +9 -0
- data/lib/aviator/openstack/common/requests/v3/public/base.rb +9 -0
- data/lib/aviator/openstack/compute/{v2 → requests/v2}/admin/confirm_server_resize.rb +0 -0
- data/lib/aviator/openstack/compute/{v2 → requests/v2}/admin/create_network.rb +0 -0
- data/lib/aviator/openstack/compute/{v2 → requests/v2}/admin/get_host_details.rb +0 -0
- data/lib/aviator/openstack/compute/{v2 → requests/v2}/admin/list_hosts.rb +0 -0
- data/lib/aviator/openstack/compute/{v2 → requests/v2}/admin/lock_server.rb +0 -0
- data/lib/aviator/openstack/compute/{v2 → requests/v2}/admin/migrate_server.rb +0 -0
- data/lib/aviator/openstack/compute/{v2 → requests/v2}/admin/reset_server.rb +0 -0
- data/lib/aviator/openstack/compute/{v2 → requests/v2}/admin/resize_server.rb +0 -0
- data/lib/aviator/openstack/compute/{v2 → requests/v2}/admin/revert_server_resize.rb +2 -2
- data/lib/aviator/openstack/compute/{v2 → requests/v2}/admin/unlock_server.rb +0 -0
- data/lib/aviator/openstack/compute/{v2 → requests/v2}/public/change_admin_password.rb +0 -0
- data/lib/aviator/openstack/compute/{v2 → requests/v2}/public/create_image.rb +0 -0
- data/lib/aviator/openstack/compute/{v2 → requests/v2}/public/create_server.rb +0 -0
- data/lib/aviator/openstack/compute/{v2 → requests/v2}/public/delete_image.rb +0 -0
- data/lib/aviator/openstack/compute/{v2 → requests/v2}/public/delete_image_metadata_item.rb +0 -0
- data/lib/aviator/openstack/compute/{v2 → requests/v2}/public/delete_server.rb +0 -0
- data/lib/aviator/openstack/compute/{v2 → requests/v2}/public/delete_server_metadata_item.rb +0 -0
- data/lib/aviator/openstack/compute/{v2 → requests/v2}/public/get_flavor_details.rb +0 -0
- data/lib/aviator/openstack/compute/{v2 → requests/v2}/public/get_image_details.rb +0 -0
- data/lib/aviator/openstack/compute/{v2 → requests/v2}/public/get_image_metadata_item.rb +0 -0
- data/lib/aviator/openstack/compute/{v2 → requests/v2}/public/get_network_details.rb +0 -0
- data/lib/aviator/openstack/compute/{v2 → requests/v2}/public/get_server.rb +0 -0
- data/lib/aviator/openstack/compute/{v2 → requests/v2}/public/get_server_metadata_item.rb +0 -0
- data/lib/aviator/openstack/compute/{v2 → requests/v2}/public/list_addresses.rb +0 -0
- data/lib/aviator/openstack/compute/{v2 → requests/v2}/public/list_flavors.rb +0 -0
- data/lib/aviator/openstack/compute/{v2 → requests/v2}/public/list_image_metadata.rb +0 -0
- data/lib/aviator/openstack/compute/{v2 → requests/v2}/public/list_images.rb +0 -0
- data/lib/aviator/openstack/compute/{v2 → requests/v2}/public/list_networks.rb +0 -0
- data/lib/aviator/openstack/compute/{v2 → requests/v2}/public/list_server_metadata.rb +0 -0
- data/lib/aviator/openstack/compute/{v2 → requests/v2}/public/list_servers.rb +0 -0
- data/lib/aviator/openstack/compute/{v2 → requests/v2}/public/pause_server.rb +0 -0
- data/lib/aviator/openstack/compute/{v2 → requests/v2}/public/reboot_server.rb +0 -0
- data/lib/aviator/openstack/compute/{v2 → requests/v2}/public/rebuild_server.rb +0 -0
- data/lib/aviator/openstack/compute/{v2 → requests/v2}/public/resume_server.rb +0 -0
- data/lib/aviator/openstack/compute/{v2 → requests/v2}/public/root.rb +0 -0
- data/lib/aviator/openstack/compute/{v2 → requests/v2}/public/set_image_metadata.rb +0 -0
- data/lib/aviator/openstack/compute/{v2 → requests/v2}/public/set_server_metadata.rb +0 -0
- data/lib/aviator/openstack/compute/{v2 → requests/v2}/public/suspend_server.rb +0 -0
- data/lib/aviator/openstack/compute/{v2 → requests/v2}/public/unpause_server.rb +0 -0
- data/lib/aviator/openstack/compute/{v2 → requests/v2}/public/update_image_metadata.rb +0 -0
- data/lib/aviator/openstack/compute/{v2 → requests/v2}/public/update_server.rb +0 -0
- data/lib/aviator/openstack/compute/{v2 → requests/v2}/public/update_server_metadata.rb +0 -0
- data/lib/aviator/openstack/identity/{v2 → requests/v2}/admin/add_role_to_user_on_tenant.rb +0 -0
- data/lib/aviator/openstack/identity/{v2 → requests/v2}/admin/create_tenant.rb +0 -0
- data/lib/aviator/openstack/identity/{v2 → requests/v2}/admin/create_user.rb +2 -2
- data/lib/aviator/openstack/identity/{v2 → requests/v2}/admin/delete_role_from_user_on_tenant.rb +0 -0
- data/lib/aviator/openstack/identity/{v2 → requests/v2}/admin/delete_tenant.rb +0 -0
- data/lib/aviator/openstack/identity/{v2 → requests/v2}/admin/delete_user.rb +2 -2
- data/lib/aviator/openstack/identity/{v2 → requests/v2}/admin/get_tenant_by_id.rb +0 -0
- data/lib/aviator/openstack/identity/{v2 → requests/v2}/admin/list_tenants.rb +0 -0
- data/lib/aviator/openstack/identity/{v2 → requests/v2}/admin/list_users.rb +2 -2
- data/lib/aviator/openstack/identity/{v2 → requests/v2}/admin/update_tenant.rb +1 -1
- data/lib/aviator/openstack/identity/{v2 → requests/v2}/admin/update_user.rb +2 -2
- data/lib/aviator/openstack/identity/{v2 → requests/v2}/public/create_token.rb +0 -0
- data/lib/aviator/openstack/identity/{v2 → requests/v2}/public/list_tenants.rb +0 -0
- data/lib/aviator/openstack/identity/{v2 → requests/v2}/public/root.rb +0 -0
- data/lib/aviator/openstack/identity/requests/v3/public/create_token.rb +126 -0
- data/lib/aviator/openstack/image/{v1 → requests/v1}/public/list_public_images.rb +0 -0
- data/lib/aviator/openstack/image/{v1 → requests/v1}/public/root.rb +0 -0
- data/lib/aviator/openstack/metering/{v1 → requests/v1}/admin/list_projects.rb +0 -0
- data/lib/aviator/openstack/provider.rb +131 -0
- data/lib/aviator/openstack/volume/{v1 → requests/v1}/public/create_volume.rb +0 -0
- data/lib/aviator/openstack/volume/{v1 → requests/v1}/public/delete_volume.rb +0 -0
- data/lib/aviator/openstack/volume/{v1 → requests/v1}/public/get_volume.rb +0 -0
- data/lib/aviator/openstack/volume/{v1 → requests/v1}/public/list_volume_types.rb +0 -0
- data/lib/aviator/openstack/volume/{v1 → requests/v1}/public/list_volumes.rb +0 -0
- data/lib/aviator/openstack/volume/{v1 → requests/v1}/public/root.rb +0 -0
- data/lib/aviator/openstack/volume/{v1 → requests/v1}/public/update_volume.rb +0 -0
- data/lib/aviator/version.rb +1 -1
- data/lib/aviator.rb +1 -0
- data/test/aviator/core/cli/describer_test.rb +1 -1
- data/test/aviator/core/request_builder_test.rb +12 -11
- data/test/aviator/core/request_test.rb +125 -125
- data/test/aviator/core/service_test.rb +17 -73
- data/test/aviator/core/session_test.rb +8 -8
- data/test/aviator/openstack/common/requests/v0/public/base_test.rb +172 -0
- data/test/aviator/openstack/compute/{v2 → requests/v2}/admin/confirm_server_resize_test.rb +5 -5
- data/test/aviator/openstack/compute/{v2 → requests/v2}/admin/create_network_test.rb +4 -5
- data/test/aviator/openstack/compute/{v2 → requests/v2}/admin/get_host_details_test.rb +4 -4
- data/test/aviator/openstack/compute/{v2 → requests/v2}/admin/list_hosts_test.rb +4 -4
- data/test/aviator/openstack/compute/{v2 → requests/v2}/admin/lock_server_test.rb +4 -4
- data/test/aviator/openstack/compute/{v2 → requests/v2}/admin/migrate_server_test.rb +4 -4
- data/test/aviator/openstack/compute/{v2 → requests/v2}/admin/reset_server_test.rb +4 -4
- data/test/aviator/openstack/compute/{v2 → requests/v2}/admin/resize_server_test.rb +5 -5
- data/test/aviator/openstack/compute/{v2 → requests/v2}/admin/revert_server_resize_test.rb +5 -5
- data/test/aviator/openstack/compute/{v2 → requests/v2}/admin/unlock_server_test.rb +4 -4
- data/test/aviator/openstack/compute/{v2 → requests/v2}/public/change_admin_password_test.rb +4 -4
- data/test/aviator/openstack/compute/{v2 → requests/v2}/public/create_image_test.rb +4 -4
- data/test/aviator/openstack/compute/{v2 → requests/v2}/public/create_server_test.rb +4 -4
- data/test/aviator/openstack/compute/{v2 → requests/v2}/public/delete_image_metadata_item_test.rb +4 -4
- data/test/aviator/openstack/compute/{v2 → requests/v2}/public/delete_image_test.rb +4 -4
- data/test/aviator/openstack/compute/{v2 → requests/v2}/public/delete_server_metadata_item_test.rb +4 -4
- data/test/aviator/openstack/compute/{v2 → requests/v2}/public/delete_server_test.rb +4 -4
- data/test/aviator/openstack/compute/{v2 → requests/v2}/public/get_flavor_details_test.rb +4 -4
- data/test/aviator/openstack/compute/{v2 → requests/v2}/public/get_image_details_test.rb +4 -4
- data/test/aviator/openstack/compute/{v2 → requests/v2}/public/get_image_metadata_item_test.rb +4 -4
- data/test/aviator/openstack/compute/{v2 → requests/v2}/public/get_network_details_test.rb +4 -4
- data/test/aviator/openstack/compute/{v2 → requests/v2}/public/get_server_metadata_item_test.rb +4 -4
- data/test/aviator/openstack/compute/{v2 → requests/v2}/public/get_server_test.rb +4 -4
- data/test/aviator/openstack/compute/{v2 → requests/v2}/public/list_addresses_test.rb +4 -4
- data/test/aviator/openstack/compute/{v2 → requests/v2}/public/list_flavors_test.rb +4 -4
- data/test/aviator/openstack/compute/{v2 → requests/v2}/public/list_image_metadata_test.rb +4 -4
- data/test/aviator/openstack/compute/{v2 → requests/v2}/public/list_images_test.rb +7 -4
- data/test/aviator/openstack/compute/{v2 → requests/v2}/public/list_networks_test.rb +4 -4
- data/test/aviator/openstack/compute/{v2 → requests/v2}/public/list_server_metadata_test.rb +4 -4
- data/test/aviator/openstack/compute/{v2 → requests/v2}/public/list_servers_test.rb +8 -5
- data/test/aviator/openstack/compute/{v2 → requests/v2}/public/pause_server_test.rb +4 -4
- data/test/aviator/openstack/compute/{v2 → requests/v2}/public/reboot_server_test.rb +4 -4
- data/test/aviator/openstack/compute/{v2 → requests/v2}/public/rebuild_server_test.rb +4 -4
- data/test/aviator/openstack/compute/{v2 → requests/v2}/public/resume_server_test.rb +4 -4
- data/test/aviator/openstack/compute/{v2 → requests/v2}/public/root_test.rb +4 -4
- data/test/aviator/openstack/compute/{v2 → requests/v2}/public/set_image_metadata_test.rb +4 -4
- data/test/aviator/openstack/compute/{v2 → requests/v2}/public/set_server_metadata_test.rb +4 -4
- data/test/aviator/openstack/compute/{v2 → requests/v2}/public/suspend_server_test.rb +4 -4
- data/test/aviator/openstack/compute/{v2 → requests/v2}/public/unpause_server_test.rb +4 -4
- data/test/aviator/openstack/compute/{v2 → requests/v2}/public/update_image_metadata_test.rb +4 -4
- data/test/aviator/openstack/compute/{v2 → requests/v2}/public/update_server_metadata_test.rb +4 -4
- data/test/aviator/openstack/compute/{v2 → requests/v2}/public/update_server_test.rb +4 -4
- data/test/aviator/openstack/identity/{v2 → requests/v2}/admin/add_role_to_user_on_tenant_test.rb +4 -4
- data/test/aviator/openstack/identity/{v2 → requests/v2}/admin/create_tenant_test.rb +16 -13
- data/test/aviator/openstack/identity/{v2 → requests/v2}/admin/create_user_test.rb +4 -4
- data/test/aviator/openstack/identity/{v2 → requests/v2}/admin/delete_role_from_user_on_tenant_test.rb +4 -4
- data/test/aviator/openstack/identity/{v2 → requests/v2}/admin/delete_tenant_test.rb +4 -4
- data/test/aviator/openstack/identity/{v2 → requests/v2}/admin/delete_user_test.rb +4 -4
- data/test/aviator/openstack/identity/{v2 → requests/v2}/admin/get_tenant_by_id_test.rb +4 -4
- data/test/aviator/openstack/identity/requests/v2/admin/list_tenants_test.rb +131 -0
- data/test/aviator/openstack/identity/{v2 → requests/v2}/admin/list_users_test.rb +4 -4
- data/test/aviator/openstack/identity/{v2 → requests/v2}/admin/update_tenant_test.rb +4 -4
- data/test/aviator/openstack/identity/{v2 → requests/v2}/admin/update_user_test.rb +4 -4
- data/test/aviator/openstack/identity/{v2 → requests/v2}/public/create_token_test.rb +1 -1
- data/test/aviator/openstack/identity/{v2 → requests/v2}/public/list_tenants_test.rb +4 -4
- data/test/aviator/openstack/identity/{v2 → requests/v2}/public/root_test.rb +4 -4
- data/test/aviator/openstack/identity/requests/v3/public/create_token_test.rb +188 -0
- data/test/aviator/openstack/image/{v1 → requests/v1}/public/list_public_images_test.rb +3 -3
- data/test/aviator/openstack/image/{v1 → requests/v1}/public/root_test.rb +4 -4
- data/test/aviator/openstack/metering/{v1 → requests/v1}/admin/list_projects_test.rb +4 -4
- data/test/aviator/openstack/provider_test.rb +226 -0
- data/test/aviator/openstack/volume/{v1 → requests/v1}/public/create_volume_test.rb +4 -4
- data/test/aviator/openstack/volume/{v1 → requests/v1}/public/delete_volume_test.rb +4 -4
- data/test/aviator/openstack/volume/{v1 → requests/v1}/public/get_volume_test.rb +4 -4
- data/test/aviator/openstack/volume/{v1 → requests/v1}/public/list_volume_types_test.rb +3 -3
- data/test/aviator/openstack/volume/{v1 → requests/v1}/public/list_volumes_test.rb +3 -3
- data/test/aviator/openstack/volume/{v1 → requests/v1}/public/root_test.rb +4 -4
- data/test/aviator/openstack/volume/{v1 → requests/v1}/public/update_volume_test.rb +4 -4
- data/test/cassettes/openstack/common/requests/v0/public/base/c_base_url/must_know_how_to_extract_the_base_url_from_a_Keystone_v2_session_data.yml +70 -0
- data/test/cassettes/openstack/common/requests/v0/public/base/c_base_url/must_know_how_to_extract_the_base_url_from_a_Keystone_v3_session_data.yml +100 -0
- data/test/cassettes/openstack/common/requests/v0/public/base/i_headers/must_know_to_extract_token_from_a_Keystone_v2_auth_info.yml +70 -0
- data/test/cassettes/openstack/common/requests/v0/public/base/i_headers/must_know_to_extract_token_from_a_Keystone_v3_auth_info.yml +100 -0
- data/test/cassettes/openstack/compute/{v2 → requests/v2}/admin/confirm_server_resize/leads_to_a_valid_response_when_parameters_are_provided.yml +0 -0
- data/test/cassettes/openstack/compute/{v2 → requests/v2}/admin/confirm_server_resize/leads_to_a_valid_response_when_the_id_parameter_is_invalid.yml +0 -0
- data/test/cassettes/openstack/compute/{v2 → requests/v2}/admin/confirm_server_resize/returns_the_correct_value_for_body_.yml +0 -0
- data/test/cassettes/openstack/compute/{v2 → requests/v2}/admin/confirm_server_resize/returns_the_correct_value_for_headers_.yml +0 -0
- data/test/cassettes/openstack/compute/{v2 → requests/v2}/admin/confirm_server_resize/returns_the_correct_value_for_http_method_.yml +0 -0
- data/test/cassettes/openstack/compute/{v2 → requests/v2}/admin/confirm_server_resize/returns_the_correct_value_for_url_.yml +0 -0
- data/test/cassettes/openstack/compute/{v2 → requests/v2}/admin/create_network/leads_to_a_valid_response_when_invalid_parameters_are_provided.yml +0 -0
- data/test/cassettes/openstack/compute/{v2 → requests/v2}/admin/create_network/leads_to_a_valid_response_when_valid_parameters_are_provided.yml +0 -0
- data/test/cassettes/openstack/compute/{v2 → requests/v2}/admin/create_network/returns_the_correct_value_for_headers_.yml +0 -0
- data/test/cassettes/openstack/compute/{v2 → requests/v2}/admin/create_network/returns_the_correct_value_for_http_method_.yml +0 -0
- data/test/cassettes/openstack/compute/{v2 → requests/v2}/admin/create_network/returns_the_correct_value_for_url_.yml +0 -0
- data/test/cassettes/openstack/compute/{v2 → requests/v2}/admin/get_host_details/leads_to_a_valid_response_when_invalid_params_are_provided.yml +0 -0
- data/test/cassettes/openstack/compute/{v2 → requests/v2}/admin/get_host_details/leads_to_a_valid_response_when_valid_params_are_provided.yml +0 -0
- data/test/cassettes/openstack/compute/{v2 → requests/v2}/admin/get_host_details/returns_the_correct_value_for_body_.yml +0 -0
- data/test/cassettes/openstack/compute/{v2 → requests/v2}/admin/get_host_details/returns_the_correct_value_for_headers_.yml +0 -0
- data/test/cassettes/openstack/compute/{v2 → requests/v2}/admin/get_host_details/returns_the_correct_value_for_http_method_.yml +0 -0
- data/test/cassettes/openstack/compute/{v2 → requests/v2}/admin/get_host_details/returns_the_correct_value_for_url_.yml +0 -0
- data/test/cassettes/openstack/compute/{v2 → requests/v2}/admin/list_hosts/leads_to_a_valid_response_when_invalid_zone_parameter_is_provided.yml +0 -0
- data/test/cassettes/openstack/compute/{v2 → requests/v2}/admin/list_hosts/leads_to_a_valid_response_when_no_parameters_are_provided.yml +0 -0
- data/test/cassettes/openstack/compute/{v2 → requests/v2}/admin/list_hosts/leads_to_a_valid_response_when_valid_zone_parameter_is_provided.yml +0 -0
- data/test/cassettes/openstack/compute/{v2 → requests/v2}/admin/list_hosts/returns_the_correct_value_for_body_.yml +0 -0
- data/test/cassettes/openstack/compute/{v2 → requests/v2}/admin/list_hosts/returns_the_correct_value_for_headers_.yml +0 -0
- data/test/cassettes/openstack/compute/{v2 → requests/v2}/admin/list_hosts/returns_the_correct_value_for_http_method_.yml +0 -0
- data/test/cassettes/openstack/compute/{v2 → requests/v2}/admin/list_hosts/returns_the_correct_value_for_url_.yml +0 -0
- data/test/cassettes/openstack/compute/{v2 → requests/v2}/admin/lock_server/leads_to_a_valid_response_when_invalid_server_id_is_provided.yml +0 -0
- data/test/cassettes/openstack/compute/{v2 → requests/v2}/admin/lock_server/leads_to_a_valid_response_when_valid_params_are_provided.yml +0 -0
- data/test/cassettes/openstack/compute/{v2 → requests/v2}/admin/lock_server/returns_the_correct_value_for_body_.yml +0 -0
- data/test/cassettes/openstack/compute/{v2 → requests/v2}/admin/lock_server/returns_the_correct_value_for_headers_.yml +0 -0
- data/test/cassettes/openstack/compute/{v2 → requests/v2}/admin/lock_server/returns_the_correct_value_for_http_method_.yml +0 -0
- data/test/cassettes/openstack/compute/{v2 → requests/v2}/admin/lock_server/returns_the_correct_value_for_url_.yml +0 -0
- data/test/cassettes/openstack/compute/{v2 → requests/v2}/admin/migrate_server/leads_to_a_valid_response_when_invalid_server_id_is_provided.yml +0 -0
- data/test/cassettes/openstack/compute/{v2 → requests/v2}/admin/migrate_server/leads_to_a_valid_response_when_valid_params_are_provided.yml +0 -0
- data/test/cassettes/openstack/compute/{v2 → requests/v2}/admin/migrate_server/returns_the_correct_value_for_body_.yml +0 -0
- data/test/cassettes/openstack/compute/{v2 → requests/v2}/admin/migrate_server/returns_the_correct_value_for_headers_.yml +0 -0
- data/test/cassettes/openstack/compute/{v2 → requests/v2}/admin/migrate_server/returns_the_correct_value_for_http_method_.yml +0 -0
- data/test/cassettes/openstack/compute/{v2 → requests/v2}/admin/migrate_server/returns_the_correct_value_for_url_.yml +0 -0
- data/test/cassettes/openstack/compute/{v2 → requests/v2}/admin/reset_server/leads_to_a_valid_response_when_invalid_server_id_is_provided.yml +0 -0
- data/test/cassettes/openstack/compute/{v2 → requests/v2}/admin/reset_server/leads_to_a_valid_response_when_valid_params_are_provided.yml +0 -0
- data/test/cassettes/openstack/compute/{v2 → requests/v2}/admin/reset_server/returns_the_correct_value_for_body_.yml +0 -0
- data/test/cassettes/openstack/compute/{v2 → requests/v2}/admin/reset_server/returns_the_correct_value_for_headers_.yml +0 -0
- data/test/cassettes/openstack/compute/{v2 → requests/v2}/admin/reset_server/returns_the_correct_value_for_http_method_.yml +0 -0
- data/test/cassettes/openstack/compute/{v2 → requests/v2}/admin/reset_server/returns_the_correct_value_for_url_.yml +0 -0
- data/test/cassettes/openstack/compute/{v2 → requests/v2}/admin/resize_server/leads_to_a_valid_response_when_parameters_are_provided.yml +0 -0
- data/test/cassettes/openstack/compute/{v2 → requests/v2}/admin/resize_server/leads_to_a_valid_response_when_the_flavorRef_parameter_is_invalid.yml +0 -0
- data/test/cassettes/openstack/compute/{v2 → requests/v2}/admin/resize_server/leads_to_a_valid_response_when_the_id_parameter_is_invalid.yml +0 -0
- data/test/cassettes/openstack/compute/{v2 → requests/v2}/admin/resize_server/returns_the_correct_value_for_body_.yml +0 -0
- data/test/cassettes/openstack/compute/{v2 → requests/v2}/admin/resize_server/returns_the_correct_value_for_headers_.yml +0 -0
- data/test/cassettes/openstack/compute/{v2 → requests/v2}/admin/resize_server/returns_the_correct_value_for_http_method_.yml +0 -0
- data/test/cassettes/openstack/compute/{v2 → requests/v2}/admin/resize_server/returns_the_correct_value_for_url_.yml +0 -0
- data/test/cassettes/openstack/compute/{v2 → requests/v2}/admin/revert_server_resize/leads_to_a_valid_response_when_parameters_are_provided.yml +0 -0
- data/test/cassettes/openstack/compute/{v2 → requests/v2}/admin/revert_server_resize/leads_to_a_valid_response_when_the_id_parameter_is_invalid.yml +0 -0
- data/test/cassettes/openstack/compute/{v2 → requests/v2}/admin/revert_server_resize/returns_the_correct_value_for_body_.yml +0 -0
- data/test/cassettes/openstack/compute/{v2 → requests/v2}/admin/revert_server_resize/returns_the_correct_value_for_headers_.yml +0 -0
- data/test/cassettes/openstack/compute/{v2 → requests/v2}/admin/revert_server_resize/returns_the_correct_value_for_http_method_.yml +0 -0
- data/test/cassettes/openstack/compute/{v2 → requests/v2}/admin/revert_server_resize/returns_the_correct_value_for_url_.yml +0 -0
- data/test/cassettes/openstack/compute/{v2 → requests/v2}/admin/unlock_server/leads_to_a_valid_response_when_invalid_server_id_is_provided.yml +0 -0
- data/test/cassettes/openstack/compute/{v2 → requests/v2}/admin/unlock_server/leads_to_a_valid_response_when_valid_params_are_provided.yml +0 -0
- data/test/cassettes/openstack/compute/{v2 → requests/v2}/admin/unlock_server/returns_the_correct_value_for_body_.yml +0 -0
- data/test/cassettes/openstack/compute/{v2 → requests/v2}/admin/unlock_server/returns_the_correct_value_for_headers_.yml +0 -0
- data/test/cassettes/openstack/compute/{v2 → requests/v2}/admin/unlock_server/returns_the_correct_value_for_http_method_.yml +0 -0
- data/test/cassettes/openstack/compute/{v2 → requests/v2}/admin/unlock_server/returns_the_correct_value_for_url_.yml +0 -0
- data/test/cassettes/openstack/compute/{v2 → requests/v2}/public/change_admin_password/leads_to_a_valid_response_when_invalid_server_id_is_provided.yml +0 -0
- data/test/cassettes/openstack/compute/{v2 → requests/v2}/public/change_admin_password/leads_to_a_valid_response_when_valid_params_are_provided.yml +0 -0
- data/test/cassettes/openstack/compute/{v2 → requests/v2}/public/change_admin_password/returns_the_correct_value_for_body_.yml +0 -0
- data/test/cassettes/openstack/compute/{v2 → requests/v2}/public/change_admin_password/returns_the_correct_value_for_headers_.yml +0 -0
- data/test/cassettes/openstack/compute/{v2 → requests/v2}/public/change_admin_password/returns_the_correct_value_for_http_method_.yml +0 -0
- data/test/cassettes/openstack/compute/{v2 → requests/v2}/public/change_admin_password/returns_the_correct_value_for_url_.yml +0 -0
- data/test/cassettes/openstack/compute/{v2 → requests/v2}/public/create_image/leads_to_a_valid_response_when_invalid_server_id_is_provided.yml +0 -0
- data/test/cassettes/openstack/compute/{v2 → requests/v2}/public/create_image/leads_to_a_valid_response_when_valid_params_are_provided.yml +0 -0
- data/test/cassettes/openstack/compute/{v2 → requests/v2}/public/create_image/returns_the_correct_value_for_body_.yml +0 -0
- data/test/cassettes/openstack/compute/{v2 → requests/v2}/public/create_image/returns_the_correct_value_for_headers_.yml +0 -0
- data/test/cassettes/openstack/compute/{v2 → requests/v2}/public/create_image/returns_the_correct_value_for_http_method_.yml +0 -0
- data/test/cassettes/openstack/compute/{v2 → requests/v2}/public/create_image/returns_the_correct_value_for_url_.yml +0 -0
- data/test/cassettes/openstack/compute/{v2 → requests/v2}/public/create_server/leads_to_a_valid_response_when_parameters_are_provided.yml +0 -0
- data/test/cassettes/openstack/compute/{v2 → requests/v2}/public/create_server/leads_to_a_valid_response_when_the_adminPass_parameter_is_provided.yml +0 -0
- data/test/cassettes/openstack/compute/{v2 → requests/v2}/public/create_server/leads_to_a_valid_response_when_the_flavorRef_parameter_is_invalid.yml +0 -0
- data/test/cassettes/openstack/compute/{v2 → requests/v2}/public/create_server/returns_the_correct_value_for_body_.yml +0 -0
- data/test/cassettes/openstack/compute/{v2 → requests/v2}/public/create_server/returns_the_correct_value_for_headers_.yml +0 -0
- data/test/cassettes/openstack/compute/{v2 → requests/v2}/public/create_server/returns_the_correct_value_for_http_method_.yml +0 -0
- data/test/cassettes/openstack/compute/{v2 → requests/v2}/public/create_server/returns_the_correct_value_for_url_.yml +0 -0
- data/test/cassettes/openstack/compute/{v2 → requests/v2}/public/delete_image/leads_to_a_valid_response_when_invalid_params_are_provided.yml +0 -0
- data/test/cassettes/openstack/compute/{v2 → requests/v2}/public/delete_image/leads_to_a_valid_response_when_valid_params_are_provided.yml +0 -0
- data/test/cassettes/openstack/compute/{v2 → requests/v2}/public/delete_image/returns_the_correct_value_for_body_.yml +0 -0
- data/test/cassettes/openstack/compute/{v2 → requests/v2}/public/delete_image/returns_the_correct_value_for_headers_.yml +0 -0
- data/test/cassettes/openstack/compute/{v2 → requests/v2}/public/delete_image/returns_the_correct_value_for_http_method_.yml +0 -0
- data/test/cassettes/openstack/compute/{v2 → requests/v2}/public/delete_image/returns_the_correct_value_for_url_.yml +0 -0
- data/test/cassettes/openstack/compute/{v2 → requests/v2}/public/delete_image_metadata_item/leads_to_a_valid_response_when_invalid_image_id_is_provided.yml +0 -0
- data/test/cassettes/openstack/compute/{v2 → requests/v2}/public/delete_image_metadata_item/leads_to_a_valid_response_when_invalid_metadata_key_is_provided.yml +0 -0
- data/test/cassettes/openstack/compute/{v2 → requests/v2}/public/delete_image_metadata_item/leads_to_a_valid_response_when_valid_image_id_and_metadata_key_are_provided.yml +0 -0
- data/test/cassettes/openstack/compute/{v2 → requests/v2}/public/delete_image_metadata_item/returns_the_correct_value_for_body_.yml +0 -0
- data/test/cassettes/openstack/compute/{v2 → requests/v2}/public/delete_image_metadata_item/returns_the_correct_value_for_headers_.yml +0 -0
- data/test/cassettes/openstack/compute/{v2 → requests/v2}/public/delete_image_metadata_item/returns_the_correct_value_for_http_method_.yml +0 -0
- data/test/cassettes/openstack/compute/{v2 → requests/v2}/public/delete_image_metadata_item/returns_the_correct_value_for_url_.yml +0 -0
- data/test/cassettes/openstack/compute/{v2 → requests/v2}/public/delete_server/leads_to_a_valid_response_when_invalid_server_id_is_provided.yml +0 -0
- data/test/cassettes/openstack/compute/{v2 → requests/v2}/public/delete_server/leads_to_a_valid_response_when_valid_server_id_is_provided.yml +0 -0
- data/test/cassettes/openstack/compute/{v2 → requests/v2}/public/delete_server/returns_the_correct_value_for_body_.yml +0 -0
- data/test/cassettes/openstack/compute/{v2 → requests/v2}/public/delete_server/returns_the_correct_value_for_headers_.yml +0 -0
- data/test/cassettes/openstack/compute/{v2 → requests/v2}/public/delete_server/returns_the_correct_value_for_http_method_.yml +0 -0
- data/test/cassettes/openstack/compute/{v2 → requests/v2}/public/delete_server/returns_the_correct_value_for_url_.yml +0 -0
- data/test/cassettes/openstack/compute/{v2 → requests/v2}/public/delete_server_metadata_item/leads_to_a_valid_response_when_invalid_metadata_key_is_provided.yml +0 -0
- data/test/cassettes/openstack/compute/{v2 → requests/v2}/public/delete_server_metadata_item/leads_to_a_valid_response_when_invalid_server_id_is_provided.yml +0 -0
- data/test/cassettes/openstack/compute/{v2 → requests/v2}/public/delete_server_metadata_item/leads_to_a_valid_response_when_valid_server_id_and_metadata_key_are_provided.yml +0 -0
- data/test/cassettes/openstack/compute/{v2 → requests/v2}/public/delete_server_metadata_item/returns_the_correct_value_for_body_.yml +0 -0
- data/test/cassettes/openstack/compute/{v2 → requests/v2}/public/delete_server_metadata_item/returns_the_correct_value_for_headers_.yml +0 -0
- data/test/cassettes/openstack/compute/{v2 → requests/v2}/public/delete_server_metadata_item/returns_the_correct_value_for_http_method_.yml +0 -0
- data/test/cassettes/openstack/compute/{v2 → requests/v2}/public/delete_server_metadata_item/returns_the_correct_value_for_url_.yml +0 -0
- data/test/cassettes/openstack/compute/{v2 → requests/v2}/public/get_flavor_details/leads_to_a_valid_response_when_invalid_parameters_are_provided.yml +0 -0
- data/test/cassettes/openstack/compute/{v2 → requests/v2}/public/get_flavor_details/leads_to_a_valid_response_when_parameters_are_provided.yml +0 -0
- data/test/cassettes/openstack/compute/{v2 → requests/v2}/public/get_flavor_details/returns_the_correct_value_for_body_.yml +0 -0
- data/test/cassettes/openstack/compute/{v2 → requests/v2}/public/get_flavor_details/returns_the_correct_value_for_headers_.yml +0 -0
- data/test/cassettes/openstack/compute/{v2 → requests/v2}/public/get_flavor_details/returns_the_correct_value_for_http_method_.yml +0 -0
- data/test/cassettes/openstack/compute/{v2 → requests/v2}/public/get_flavor_details/returns_the_correct_value_for_url_.yml +0 -0
- data/test/cassettes/openstack/compute/{v2 → requests/v2}/public/get_image_details/leads_to_a_valid_response_when_invalid_params_are_provided.yml +0 -0
- data/test/cassettes/openstack/compute/{v2 → requests/v2}/public/get_image_details/leads_to_a_valid_response_when_valid_params_are_provided.yml +0 -0
- data/test/cassettes/openstack/compute/{v2 → requests/v2}/public/get_image_details/returns_the_correct_value_for_body_.yml +0 -0
- data/test/cassettes/openstack/compute/{v2 → requests/v2}/public/get_image_details/returns_the_correct_value_for_headers_.yml +0 -0
- data/test/cassettes/openstack/compute/{v2 → requests/v2}/public/get_image_details/returns_the_correct_value_for_http_method_.yml +0 -0
- data/test/cassettes/openstack/compute/{v2 → requests/v2}/public/get_image_details/returns_the_correct_value_for_url_.yml +0 -0
- data/test/cassettes/openstack/compute/{v2 → requests/v2}/public/get_image_metadata_item/leads_to_a_valid_response_when_invalid_image_id_is_provided.yml +0 -0
- data/test/cassettes/openstack/compute/{v2 → requests/v2}/public/get_image_metadata_item/leads_to_a_valid_response_when_invalid_metadata_key_is_provided.yml +0 -0
- data/test/cassettes/openstack/compute/{v2 → requests/v2}/public/get_image_metadata_item/leads_to_a_valid_response_when_valid_image_id_and_metadata_key_are_provided.yml +0 -0
- data/test/cassettes/openstack/compute/{v2 → requests/v2}/public/get_image_metadata_item/returns_the_correct_value_for_body_.yml +0 -0
- data/test/cassettes/openstack/compute/{v2 → requests/v2}/public/get_image_metadata_item/returns_the_correct_value_for_headers_.yml +0 -0
- data/test/cassettes/openstack/compute/{v2 → requests/v2}/public/get_image_metadata_item/returns_the_correct_value_for_http_method_.yml +0 -0
- data/test/cassettes/openstack/compute/{v2 → requests/v2}/public/get_image_metadata_item/returns_the_correct_value_for_url_.yml +0 -0
- data/test/cassettes/openstack/compute/{v2 → requests/v2}/public/get_network_details/leads_to_a_valid_response_when_invalid_network_id_is_provided.yml +0 -0
- data/test/cassettes/openstack/compute/{v2 → requests/v2}/public/get_network_details/leads_to_a_valid_response_when_valid_network_id_is_provided.yml +0 -0
- data/test/cassettes/openstack/compute/{v2 → requests/v2}/public/get_network_details/returns_the_correct_value_for_body_.yml +0 -0
- data/test/cassettes/openstack/compute/{v2 → requests/v2}/public/get_network_details/returns_the_correct_value_for_headers_.yml +0 -0
- data/test/cassettes/openstack/compute/{v2 → requests/v2}/public/get_network_details/returns_the_correct_value_for_http_method_.yml +0 -0
- data/test/cassettes/openstack/compute/{v2 → requests/v2}/public/get_network_details/returns_the_correct_value_for_url_.yml +0 -0
- data/test/cassettes/openstack/compute/{v2 → requests/v2}/public/get_server/leads_to_a_valid_response_when_a_valid_server_id_is_provided.yml +0 -0
- data/test/cassettes/openstack/compute/{v2 → requests/v2}/public/get_server/leads_to_a_valid_response_when_an_invalid_server_id_is_provided.yml +0 -0
- data/test/cassettes/openstack/compute/{v2 → requests/v2}/public/get_server/returns_the_correct_value_for_body_.yml +0 -0
- data/test/cassettes/openstack/compute/{v2 → requests/v2}/public/get_server/returns_the_correct_value_for_headers_.yml +0 -0
- data/test/cassettes/openstack/compute/{v2 → requests/v2}/public/get_server/returns_the_correct_value_for_http_method_.yml +0 -0
- data/test/cassettes/openstack/compute/{v2 → requests/v2}/public/get_server/returns_the_correct_value_for_url_.yml +0 -0
- data/test/cassettes/openstack/compute/{v2 → requests/v2}/public/get_server_metadata_item/leads_to_a_valid_response_when_invalid_metadata_key_is_provided.yml +0 -0
- data/test/cassettes/openstack/compute/{v2 → requests/v2}/public/get_server_metadata_item/leads_to_a_valid_response_when_invalid_server_id_and_metadata_key_are_provided.yml +0 -0
- data/test/cassettes/openstack/compute/{v2 → requests/v2}/public/get_server_metadata_item/leads_to_a_valid_response_when_valid_server_id_and_metadata_key_are_provided.yml +0 -0
- data/test/cassettes/openstack/compute/{v2 → requests/v2}/public/get_server_metadata_item/returns_the_correct_value_for_body_.yml +0 -0
- data/test/cassettes/openstack/compute/{v2 → requests/v2}/public/get_server_metadata_item/returns_the_correct_value_for_headers_.yml +0 -0
- data/test/cassettes/openstack/compute/{v2 → requests/v2}/public/get_server_metadata_item/returns_the_correct_value_for_http_method_.yml +0 -0
- data/test/cassettes/openstack/compute/{v2 → requests/v2}/public/get_server_metadata_item/returns_the_correct_value_for_url_.yml +0 -0
- data/test/cassettes/openstack/compute/{v2 → requests/v2}/public/list_addresses/leads_to_a_valid_response_when_a_networkID_parameter_is_provided.yml +0 -0
- data/test/cassettes/openstack/compute/{v2 → requests/v2}/public/list_addresses/leads_to_a_valid_response_when_a_valid_server_id_is_provided.yml +0 -0
- data/test/cassettes/openstack/compute/{v2 → requests/v2}/public/list_addresses/leads_to_a_valid_response_when_an_invalid_server_id_is_provided.yml +0 -0
- data/test/cassettes/openstack/compute/{v2 → requests/v2}/public/list_addresses/returns_the_correct_value_for_body_.yml +0 -0
- data/test/cassettes/openstack/compute/{v2 → requests/v2}/public/list_addresses/returns_the_correct_value_for_headers_.yml +0 -0
- data/test/cassettes/openstack/compute/{v2 → requests/v2}/public/list_addresses/returns_the_correct_value_for_http_method_.yml +0 -0
- data/test/cassettes/openstack/compute/{v2 → requests/v2}/public/list_addresses/returns_the_correct_value_for_url_.yml +0 -0
- data/test/cassettes/openstack/compute/{v2 → requests/v2}/public/list_flavors/leads_to_a_valid_response_when_no_parameters_are_provided.yml +0 -0
- data/test/cassettes/openstack/compute/{v2 → requests/v2}/public/list_flavors/leads_to_a_valid_response_when_the_details_filter_is_provided.yml +0 -0
- data/test/cassettes/openstack/compute/{v2 → requests/v2}/public/list_flavors/leads_to_a_valid_response_when_the_minDisk_filter_is_provided.yml +0 -0
- data/test/cassettes/openstack/compute/{v2 → requests/v2}/public/list_flavors/returns_the_correct_value_for_body_.yml +0 -0
- data/test/cassettes/openstack/compute/{v2 → requests/v2}/public/list_flavors/returns_the_correct_value_for_headers_.yml +0 -0
- data/test/cassettes/openstack/compute/{v2 → requests/v2}/public/list_flavors/returns_the_correct_value_for_http_method_.yml +0 -0
- data/test/cassettes/openstack/compute/{v2 → requests/v2}/public/list_flavors/returns_the_correct_value_for_url_.yml +0 -0
- data/test/cassettes/openstack/compute/{v2 → requests/v2}/public/list_image_metadata/leads_to_a_valid_response_when_invalid_image_id_is_provided.yml +0 -0
- data/test/cassettes/openstack/compute/{v2 → requests/v2}/public/list_image_metadata/leads_to_a_valid_response_when_valid_image_id_is_provided.yml +0 -0
- data/test/cassettes/openstack/compute/{v2 → requests/v2}/public/list_image_metadata/returns_the_correct_value_for_body_.yml +0 -0
- data/test/cassettes/openstack/compute/{v2 → requests/v2}/public/list_image_metadata/returns_the_correct_value_for_headers_.yml +0 -0
- data/test/cassettes/openstack/compute/{v2 → requests/v2}/public/list_image_metadata/returns_the_correct_value_for_http_method_.yml +0 -0
- data/test/cassettes/openstack/compute/{v2 → requests/v2}/public/list_image_metadata/returns_the_correct_value_for_url_.yml +0 -0
- data/test/cassettes/openstack/compute/{v2 → requests/v2}/public/list_images/leads_to_a_valid_response_when_no_parameters_are_provided.yml +0 -0
- data/test/cassettes/openstack/compute/{v2 → requests/v2}/public/list_images/leads_to_a_valid_response_when_parameters_are_invalid.yml +0 -0
- data/test/cassettes/openstack/compute/{v2 → requests/v2}/public/list_images/leads_to_a_valid_response_when_parameters_are_valid.yml +0 -0
- data/test/cassettes/openstack/compute/{v2 → requests/v2}/public/list_images/returns_the_correct_value_for_body_.yml +0 -0
- data/test/cassettes/openstack/compute/{v2 → requests/v2}/public/list_images/returns_the_correct_value_for_headers_.yml +0 -0
- data/test/cassettes/openstack/compute/{v2 → requests/v2}/public/list_images/returns_the_correct_value_for_http_method_.yml +0 -0
- data/test/cassettes/openstack/compute/{v2 → requests/v2}/public/list_images/returns_the_correct_value_for_url_.yml +0 -0
- data/test/cassettes/openstack/compute/{v2 → requests/v2}/public/list_networks/leads_to_a_valid_response_when_no_parameters_are_provided.yml +0 -0
- data/test/cassettes/openstack/compute/{v2 → requests/v2}/public/list_networks/returns_the_correct_value_for_body_.yml +0 -0
- data/test/cassettes/openstack/compute/{v2 → requests/v2}/public/list_networks/returns_the_correct_value_for_headers_.yml +0 -0
- data/test/cassettes/openstack/compute/{v2 → requests/v2}/public/list_networks/returns_the_correct_value_for_http_method_.yml +0 -0
- data/test/cassettes/openstack/compute/{v2 → requests/v2}/public/list_networks/returns_the_correct_value_for_url_.yml +0 -0
- data/test/cassettes/openstack/compute/{v2 → requests/v2}/public/list_server_metadata/leads_to_a_valid_response_when_invalid_server_id_is_provided.yml +0 -0
- data/test/cassettes/openstack/compute/{v2 → requests/v2}/public/list_server_metadata/leads_to_a_valid_response_when_valid_server_id_is_provided.yml +0 -0
- data/test/cassettes/openstack/compute/{v2 → requests/v2}/public/list_server_metadata/returns_the_correct_value_for_body_.yml +0 -0
- data/test/cassettes/openstack/compute/{v2 → requests/v2}/public/list_server_metadata/returns_the_correct_value_for_headers_.yml +0 -0
- data/test/cassettes/openstack/compute/{v2 → requests/v2}/public/list_server_metadata/returns_the_correct_value_for_http_method_.yml +0 -0
- data/test/cassettes/openstack/compute/{v2 → requests/v2}/public/list_server_metadata/returns_the_correct_value_for_url_.yml +0 -0
- data/test/cassettes/openstack/compute/{v2 → requests/v2}/public/list_servers/leads_to_a_valid_response_when_no_parameters_are_provided.yml +0 -0
- data/test/cassettes/openstack/compute/{v2 → requests/v2}/public/list_servers/leads_to_a_valid_response_when_parameters_are_invalid.yml +0 -0
- data/test/cassettes/openstack/compute/{v2 → requests/v2}/public/list_servers/leads_to_a_valid_response_when_parameters_are_valid.yml +0 -0
- data/test/cassettes/openstack/compute/{v2 → requests/v2}/public/list_servers/leads_to_a_valid_response_when_the_all_tenants_parameter_is_provided.yml +0 -0
- data/test/cassettes/openstack/compute/{v2 → requests/v2}/public/list_servers/returns_the_correct_value_for_body_.yml +0 -0
- data/test/cassettes/openstack/compute/{v2 → requests/v2}/public/list_servers/returns_the_correct_value_for_headers_.yml +0 -0
- data/test/cassettes/openstack/compute/{v2 → requests/v2}/public/list_servers/returns_the_correct_value_for_http_method_.yml +0 -0
- data/test/cassettes/openstack/compute/{v2 → requests/v2}/public/list_servers/returns_the_correct_value_for_url_.yml +0 -0
- data/test/cassettes/openstack/compute/{v2 → requests/v2}/public/pause_server/leads_to_a_valid_response_when_invalid_server_id_is_provided.yml +0 -0
- data/test/cassettes/openstack/compute/{v2 → requests/v2}/public/pause_server/leads_to_a_valid_response_when_valid_params_are_provided.yml +0 -0
- data/test/cassettes/openstack/compute/{v2 → requests/v2}/public/pause_server/returns_the_correct_value_for_body_.yml +0 -0
- data/test/cassettes/openstack/compute/{v2 → requests/v2}/public/pause_server/returns_the_correct_value_for_headers_.yml +0 -0
- data/test/cassettes/openstack/compute/{v2 → requests/v2}/public/pause_server/returns_the_correct_value_for_http_method_.yml +0 -0
- data/test/cassettes/openstack/compute/{v2 → requests/v2}/public/pause_server/returns_the_correct_value_for_url_.yml +0 -0
- data/test/cassettes/openstack/compute/{v2 → requests/v2}/public/reboot_server/leads_to_a_valid_response_when_invalid_server_id_is_provided.yml +0 -0
- data/test/cassettes/openstack/compute/{v2 → requests/v2}/public/reboot_server/leads_to_a_valid_response_when_valid_params_are_provided.yml +0 -0
- data/test/cassettes/openstack/compute/{v2 → requests/v2}/public/reboot_server/returns_the_correct_value_for_body_.yml +0 -0
- data/test/cassettes/openstack/compute/{v2 → requests/v2}/public/reboot_server/returns_the_correct_value_for_headers_.yml +0 -0
- data/test/cassettes/openstack/compute/{v2 → requests/v2}/public/reboot_server/returns_the_correct_value_for_http_method_.yml +0 -0
- data/test/cassettes/openstack/compute/{v2 → requests/v2}/public/reboot_server/returns_the_correct_value_for_url_.yml +0 -0
- data/test/cassettes/openstack/compute/{v2 → requests/v2}/public/rebuild_server/leads_to_a_valid_response_when_invalid_image_id_is_provided.yml +0 -0
- data/test/cassettes/openstack/compute/{v2 → requests/v2}/public/rebuild_server/leads_to_a_valid_response_when_invalid_server_id_is_provided.yml +0 -0
- data/test/cassettes/openstack/compute/{v2 → requests/v2}/public/rebuild_server/leads_to_a_valid_response_when_valid_params_are_provided.yml +0 -0
- data/test/cassettes/openstack/compute/{v2 → requests/v2}/public/rebuild_server/returns_the_correct_value_for_body_.yml +0 -0
- data/test/cassettes/openstack/compute/{v2 → requests/v2}/public/rebuild_server/returns_the_correct_value_for_headers_.yml +0 -0
- data/test/cassettes/openstack/compute/{v2 → requests/v2}/public/rebuild_server/returns_the_correct_value_for_http_method_.yml +0 -0
- data/test/cassettes/openstack/compute/{v2 → requests/v2}/public/rebuild_server/returns_the_correct_value_for_url_.yml +0 -0
- data/test/cassettes/openstack/compute/{v2 → requests/v2}/public/resume_server/leads_to_a_valid_response_when_invalid_server_id_is_provided.yml +0 -0
- data/test/cassettes/openstack/compute/{v2 → requests/v2}/public/resume_server/leads_to_a_valid_response_when_valid_params_are_provided.yml +0 -0
- data/test/cassettes/openstack/compute/{v2 → requests/v2}/public/resume_server/returns_the_correct_value_for_body_.yml +0 -0
- data/test/cassettes/openstack/compute/{v2 → requests/v2}/public/resume_server/returns_the_correct_value_for_headers_.yml +0 -0
- data/test/cassettes/openstack/compute/{v2 → requests/v2}/public/resume_server/returns_the_correct_value_for_http_method_.yml +0 -0
- data/test/cassettes/openstack/compute/{v2 → requests/v2}/public/resume_server/returns_the_correct_value_for_url_.yml +0 -0
- data/test/cassettes/openstack/compute/{v2 → requests/v2}/public/root/leads_to_a_valid_response_when_no_parameters_are_provided.yml +0 -0
- data/test/cassettes/openstack/compute/{v2 → requests/v2}/public/root/returns_the_correct_value_for_body_.yml +0 -0
- data/test/cassettes/openstack/compute/{v2 → requests/v2}/public/root/returns_the_correct_value_for_headers_.yml +0 -0
- data/test/cassettes/openstack/compute/{v2 → requests/v2}/public/root/returns_the_correct_value_for_http_method_.yml +0 -0
- data/test/cassettes/openstack/compute/{v2 → requests/v2}/public/root/returns_the_correct_value_for_url_.yml +0 -0
- data/test/cassettes/openstack/compute/{v2 → requests/v2}/public/set_image_metadata/leads_to_a_valid_response_when_invalid_image_id_is_provided.yml +0 -0
- data/test/cassettes/openstack/compute/{v2 → requests/v2}/public/set_image_metadata/leads_to_a_valid_response_when_valid_image_id_is_provided.yml +0 -0
- data/test/cassettes/openstack/compute/{v2 → requests/v2}/public/set_image_metadata/returns_the_correct_value_for_body_.yml +0 -0
- data/test/cassettes/openstack/compute/{v2 → requests/v2}/public/set_image_metadata/returns_the_correct_value_for_headers_.yml +0 -0
- data/test/cassettes/openstack/compute/{v2 → requests/v2}/public/set_image_metadata/returns_the_correct_value_for_http_method_.yml +0 -0
- data/test/cassettes/openstack/compute/{v2 → requests/v2}/public/set_image_metadata/returns_the_correct_value_for_url_.yml +0 -0
- data/test/cassettes/openstack/compute/{v2 → requests/v2}/public/set_server_metadata/leads_to_a_valid_response_when_invalid_server_id_is_provided.yml +0 -0
- data/test/cassettes/openstack/compute/{v2 → requests/v2}/public/set_server_metadata/leads_to_a_valid_response_when_valid_server_id_is_provided.yml +0 -0
- data/test/cassettes/openstack/compute/{v2 → requests/v2}/public/set_server_metadata/returns_the_correct_value_for_body_.yml +0 -0
- data/test/cassettes/openstack/compute/{v2 → requests/v2}/public/set_server_metadata/returns_the_correct_value_for_headers_.yml +0 -0
- data/test/cassettes/openstack/compute/{v2 → requests/v2}/public/set_server_metadata/returns_the_correct_value_for_http_method_.yml +0 -0
- data/test/cassettes/openstack/compute/{v2 → requests/v2}/public/set_server_metadata/returns_the_correct_value_for_url_.yml +0 -0
- data/test/cassettes/openstack/compute/{v2 → requests/v2}/public/suspend_server/leads_to_a_valid_response_when_invalid_server_id_is_provided.yml +0 -0
- data/test/cassettes/openstack/compute/{v2 → requests/v2}/public/suspend_server/leads_to_a_valid_response_when_valid_params_are_provided.yml +0 -0
- data/test/cassettes/openstack/compute/{v2 → requests/v2}/public/suspend_server/returns_the_correct_value_for_body_.yml +0 -0
- data/test/cassettes/openstack/compute/{v2 → requests/v2}/public/suspend_server/returns_the_correct_value_for_headers_.yml +0 -0
- data/test/cassettes/openstack/compute/{v2 → requests/v2}/public/suspend_server/returns_the_correct_value_for_http_method_.yml +0 -0
- data/test/cassettes/openstack/compute/{v2 → requests/v2}/public/suspend_server/returns_the_correct_value_for_url_.yml +0 -0
- data/test/cassettes/openstack/compute/{v2 → requests/v2}/public/unpause_server/leads_to_a_valid_response_when_invalid_server_id_is_provided.yml +0 -0
- data/test/cassettes/openstack/compute/{v2 → requests/v2}/public/unpause_server/leads_to_a_valid_response_when_valid_params_are_provided.yml +0 -0
- data/test/cassettes/openstack/compute/{v2 → requests/v2}/public/unpause_server/returns_the_correct_value_for_body_.yml +0 -0
- data/test/cassettes/openstack/compute/{v2 → requests/v2}/public/unpause_server/returns_the_correct_value_for_headers_.yml +0 -0
- data/test/cassettes/openstack/compute/{v2 → requests/v2}/public/unpause_server/returns_the_correct_value_for_http_method_.yml +0 -0
- data/test/cassettes/openstack/compute/{v2 → requests/v2}/public/unpause_server/returns_the_correct_value_for_url_.yml +0 -0
- data/test/cassettes/openstack/compute/{v2 → requests/v2}/public/update_image_metadata/leads_to_a_valid_response_when_invalid_image_id_is_provided.yml +0 -0
- data/test/cassettes/openstack/compute/{v2 → requests/v2}/public/update_image_metadata/leads_to_a_valid_response_when_valid_image_id_is_provided.yml +0 -0
- data/test/cassettes/openstack/compute/{v2 → requests/v2}/public/update_image_metadata/returns_the_correct_value_for_body_.yml +0 -0
- data/test/cassettes/openstack/compute/{v2 → requests/v2}/public/update_image_metadata/returns_the_correct_value_for_headers_.yml +0 -0
- data/test/cassettes/openstack/compute/{v2 → requests/v2}/public/update_image_metadata/returns_the_correct_value_for_http_method_.yml +0 -0
- data/test/cassettes/openstack/compute/{v2 → requests/v2}/public/update_image_metadata/returns_the_correct_value_for_url_.yml +0 -0
- data/test/cassettes/openstack/compute/{v2 → requests/v2}/public/update_server/leads_to_a_valid_response_when_invalid_server_id_is_provided.yml +0 -0
- data/test/cassettes/openstack/compute/{v2 → requests/v2}/public/update_server/leads_to_a_valid_response_when_valid_server_id_is_provided.yml +0 -0
- data/test/cassettes/openstack/compute/{v2 → requests/v2}/public/update_server/returns_the_correct_value_for_body_.yml +0 -0
- data/test/cassettes/openstack/compute/{v2 → requests/v2}/public/update_server/returns_the_correct_value_for_headers_.yml +0 -0
- data/test/cassettes/openstack/compute/{v2 → requests/v2}/public/update_server/returns_the_correct_value_for_http_method_.yml +0 -0
- data/test/cassettes/openstack/compute/{v2 → requests/v2}/public/update_server/returns_the_correct_value_for_url_.yml +0 -0
- data/test/cassettes/openstack/compute/{v2 → requests/v2}/public/update_server_metadata/leads_to_a_valid_response_when_invalid_server_id_is_provided.yml +0 -0
- data/test/cassettes/openstack/compute/{v2 → requests/v2}/public/update_server_metadata/leads_to_a_valid_response_when_valid_server_id_is_provided.yml +0 -0
- data/test/cassettes/openstack/compute/{v2 → requests/v2}/public/update_server_metadata/returns_the_correct_value_for_body_.yml +0 -0
- data/test/cassettes/openstack/compute/{v2 → requests/v2}/public/update_server_metadata/returns_the_correct_value_for_headers_.yml +0 -0
- data/test/cassettes/openstack/compute/{v2 → requests/v2}/public/update_server_metadata/returns_the_correct_value_for_http_method_.yml +0 -0
- data/test/cassettes/openstack/compute/{v2 → requests/v2}/public/update_server_metadata/returns_the_correct_value_for_url_.yml +0 -0
- data/test/cassettes/openstack/identity/{v2 → requests/v2}/admin/add_role_to_user_on_tenant/leads_to_a_valid_response_when_invalid_role_id_is_provided.yml +0 -0
- data/test/cassettes/openstack/identity/{v2 → requests/v2}/admin/add_role_to_user_on_tenant/leads_to_a_valid_response_when_invalid_tenant_id_is_provided.yml +0 -0
- data/test/cassettes/openstack/identity/{v2 → requests/v2}/admin/add_role_to_user_on_tenant/leads_to_a_valid_response_when_invalid_user_id_is_provided.yml +0 -0
- data/test/cassettes/openstack/identity/{v2 → requests/v2}/admin/add_role_to_user_on_tenant/leads_to_a_valid_response_when_valid_ids_are_provided.yml +0 -0
- data/test/cassettes/openstack/identity/{v2 → requests/v2}/admin/add_role_to_user_on_tenant/returns_the_correct_value_for_body_.yml +0 -0
- data/test/cassettes/openstack/identity/{v2 → requests/v2}/admin/add_role_to_user_on_tenant/returns_the_correct_value_for_headers_.yml +0 -0
- data/test/cassettes/openstack/identity/{v2 → requests/v2}/admin/add_role_to_user_on_tenant/returns_the_correct_value_for_http_method_.yml +0 -0
- data/test/cassettes/openstack/identity/{v2 → requests/v2}/admin/add_role_to_user_on_tenant/returns_the_correct_value_for_url_.yml +0 -0
- data/test/cassettes/openstack/identity/{v2 → requests/v2}/admin/create_tenant/leads_to_a_valid_response_when_params_are_invalid.yml +0 -0
- data/test/cassettes/openstack/identity/{v2 → requests/v2}/admin/create_tenant/leads_to_a_valid_response_when_params_are_valid.yml +0 -0
- data/test/cassettes/openstack/identity/{v2 → requests/v2}/admin/create_user/leads_to_a_valid_response_when_invalid_param_is_provided.yml +0 -0
- data/test/cassettes/openstack/identity/{v2 → requests/v2}/admin/create_user/leads_to_a_valid_response_when_params_are_valid.yml +0 -0
- data/test/cassettes/openstack/identity/{v2 → requests/v2}/admin/create_user/returns_the_correct_value_for_body_.yml +0 -0
- data/test/cassettes/openstack/identity/{v2 → requests/v2}/admin/create_user/returns_the_correct_value_for_headers_.yml +0 -0
- data/test/cassettes/openstack/identity/{v2 → requests/v2}/admin/create_user/returns_the_correct_value_for_http_method_.yml +0 -0
- data/test/cassettes/openstack/identity/{v2 → requests/v2}/admin/create_user/returns_the_correct_value_for_url_.yml +0 -0
- data/test/cassettes/openstack/identity/{v2 → requests/v2}/admin/delete_role_from_user_on_tenant/leads_to_a_valid_response_when_invalid_role_id_is_provided.yml +0 -0
- data/test/cassettes/openstack/identity/{v2 → requests/v2}/admin/delete_role_from_user_on_tenant/leads_to_a_valid_response_when_invalid_tenant_id_is_provided.yml +0 -0
- data/test/cassettes/openstack/identity/{v2 → requests/v2}/admin/delete_role_from_user_on_tenant/leads_to_a_valid_response_when_invalid_user_id_is_provided.yml +0 -0
- data/test/cassettes/openstack/identity/{v2 → requests/v2}/admin/delete_role_from_user_on_tenant/leads_to_a_valid_response_when_valid_ids_are_provided.yml +0 -0
- data/test/cassettes/openstack/identity/{v2 → requests/v2}/admin/delete_role_from_user_on_tenant/returns_the_correct_value_for_headers_.yml +0 -0
- data/test/cassettes/openstack/identity/{v2 → requests/v2}/admin/delete_role_from_user_on_tenant/returns_the_correct_value_for_http_method_.yml +0 -0
- data/test/cassettes/openstack/identity/{v2 → requests/v2}/admin/delete_role_from_user_on_tenant/returns_the_correct_value_for_url_.yml +0 -0
- data/test/cassettes/openstack/identity/{v2 → requests/v2}/admin/delete_tenant/leads_to_a_valid_response_when_invalid_params_are_provided.yml +0 -0
- data/test/cassettes/openstack/identity/{v2 → requests/v2}/admin/delete_tenant/leads_to_a_valid_response_when_valid_params_are_provided.yml +0 -0
- data/test/cassettes/openstack/identity/{v2 → requests/v2}/admin/delete_tenant/returns_the_correct_value_for_body_.yml +0 -0
- data/test/cassettes/openstack/identity/{v2 → requests/v2}/admin/delete_tenant/returns_the_correct_value_for_headers_.yml +0 -0
- data/test/cassettes/openstack/identity/{v2 → requests/v2}/admin/delete_tenant/returns_the_correct_value_for_http_method_.yml +0 -0
- data/test/cassettes/openstack/identity/{v2 → requests/v2}/admin/delete_tenant/returns_the_correct_value_for_url_.yml +0 -0
- data/test/cassettes/openstack/identity/{v2 → requests/v2}/admin/delete_user/leads_to_a_valid_response_when_invalid_params_are_provided.yml +0 -0
- data/test/cassettes/openstack/identity/{v2 → requests/v2}/admin/delete_user/leads_to_a_valid_response_when_valid_params_are_provided.yml +0 -0
- data/test/cassettes/openstack/identity/{v2 → requests/v2}/admin/delete_user/returns_the_correct_value_for_body_.yml +0 -0
- data/test/cassettes/openstack/identity/{v2 → requests/v2}/admin/delete_user/returns_the_correct_value_for_headers_.yml +0 -0
- data/test/cassettes/openstack/identity/{v2 → requests/v2}/admin/delete_user/returns_the_correct_value_for_http_method_.yml +0 -0
- data/test/cassettes/openstack/identity/{v2 → requests/v2}/admin/delete_user/returns_the_correct_value_for_url_.yml +0 -0
- data/test/cassettes/openstack/identity/{v2 → requests/v2}/admin/get_tenant_by_id/leads_to_a_valid_response_when_a_valid_tenant_id_is_provided.yml +0 -0
- data/test/cassettes/openstack/identity/{v2 → requests/v2}/admin/get_tenant_by_id/returns_the_correct_value_for_body_.yml +0 -0
- data/test/cassettes/openstack/identity/{v2 → requests/v2}/admin/get_tenant_by_id/returns_the_correct_value_for_headers_.yml +0 -0
- data/test/cassettes/openstack/identity/{v2 → requests/v2}/admin/get_tenant_by_id/returns_the_correct_value_for_http_method_.yml +0 -0
- data/test/cassettes/openstack/identity/{v2 → requests/v2}/admin/get_tenant_by_id/returns_the_correct_value_for_url_.yml +0 -0
- data/test/cassettes/openstack/identity/requests/v2/admin/list_tenants/leads_to_a_valid_response_when_no_parameters_are_provided.yml +104 -0
- data/test/cassettes/openstack/identity/requests/v2/admin/list_tenants/leads_to_a_valid_response_when_session_is_using_a_default_token.yml +73 -0
- data/test/cassettes/openstack/identity/requests/v2/admin/list_tenants/returns_the_correct_value_for_body_.yml +70 -0
- data/test/cassettes/openstack/identity/requests/v2/admin/list_tenants/returns_the_correct_value_for_headers_.yml +70 -0
- data/test/cassettes/openstack/identity/requests/v2/admin/list_tenants/returns_the_correct_value_for_http_method_.yml +70 -0
- data/test/cassettes/openstack/identity/requests/v2/admin/list_tenants/returns_the_correct_value_for_url_.yml +70 -0
- data/test/cassettes/openstack/identity/{v2 → requests/v2}/admin/list_users/leads_to_a_valid_response_when_no_parameters_are_provided.yml +0 -0
- data/test/cassettes/openstack/identity/{v2 → requests/v2}/admin/list_users/returns_the_correct_value_for_body_.yml +0 -0
- data/test/cassettes/openstack/identity/{v2 → requests/v2}/admin/list_users/returns_the_correct_value_for_headers_.yml +0 -0
- data/test/cassettes/openstack/identity/{v2 → requests/v2}/admin/list_users/returns_the_correct_value_for_http_method_.yml +0 -0
- data/test/cassettes/openstack/identity/{v2 → requests/v2}/admin/list_users/returns_the_correct_value_for_url_.yml +0 -0
- data/test/cassettes/openstack/identity/{v2 → requests/v2}/admin/update_tenant/leads_to_a_valid_response_when_invalid_tenant_id_is_provided.yml +0 -0
- data/test/cassettes/openstack/identity/{v2 → requests/v2}/admin/update_tenant/leads_to_a_valid_response_when_valid_tenant_id_is_provided.yml +0 -0
- data/test/cassettes/openstack/identity/{v2 → requests/v2}/admin/update_tenant/returns_the_correct_value_for_body_.yml +0 -0
- data/test/cassettes/openstack/identity/{v2 → requests/v2}/admin/update_tenant/returns_the_correct_value_for_headers_.yml +0 -0
- data/test/cassettes/openstack/identity/{v2 → requests/v2}/admin/update_tenant/returns_the_correct_value_for_http_method_.yml +0 -0
- data/test/cassettes/openstack/identity/{v2 → requests/v2}/admin/update_tenant/returns_the_correct_value_for_url_.yml +0 -0
- data/test/cassettes/openstack/identity/{v2 → requests/v2}/admin/update_user/leads_to_a_valid_response_when_invalid_user_id_is_provided.yml +0 -0
- data/test/cassettes/openstack/identity/{v2 → requests/v2}/admin/update_user/leads_to_a_valid_response_when_valid_user_id_is_provided.yml +0 -0
- data/test/cassettes/openstack/identity/{v2 → requests/v2}/admin/update_user/returns_the_correct_value_for_body_.yml +0 -0
- data/test/cassettes/openstack/identity/{v2 → requests/v2}/admin/update_user/returns_the_correct_value_for_headers_.yml +0 -0
- data/test/cassettes/openstack/identity/{v2 → requests/v2}/admin/update_user/returns_the_correct_value_for_http_method_.yml +0 -0
- data/test/cassettes/openstack/identity/{v2 → requests/v2}/admin/update_user/returns_the_correct_value_for_url_.yml +0 -0
- data/test/cassettes/openstack/identity/{v2 → requests/v2}/public/create_token/leads_to_a_valid_response_when_parameters_are_invalid.yml +0 -0
- data/test/cassettes/openstack/identity/{v2 → requests/v2}/public/create_token/leads_to_a_valid_response_when_parameters_are_valid.yml +0 -0
- data/test/cassettes/openstack/identity/{v2 → requests/v2}/public/create_token/leads_to_a_valid_response_when_provided_with_a_token.yml +0 -0
- data/test/cassettes/openstack/identity/{v2 → requests/v2}/public/list_tenants/leads_to_a_valid_response_when_no_parameters_are_provided.yml +0 -0
- data/test/cassettes/openstack/identity/{v2 → requests/v2}/public/list_tenants/leads_to_a_valid_response_when_session_is_using_a_default_token.yml +0 -0
- data/test/cassettes/openstack/identity/{v2 → requests/v2}/public/list_tenants/returns_the_correct_value_for_body_.yml +0 -0
- data/test/cassettes/openstack/identity/{v2 → requests/v2}/public/list_tenants/returns_the_correct_value_for_headers_.yml +0 -0
- data/test/cassettes/openstack/identity/{v2 → requests/v2}/public/list_tenants/returns_the_correct_value_for_http_method_.yml +0 -0
- data/test/cassettes/openstack/identity/{v2 → requests/v2}/public/list_tenants/returns_the_correct_value_for_url_.yml +0 -0
- data/test/cassettes/openstack/identity/{v2 → requests/v2}/public/root/leads_to_a_valid_response_when_no_parameters_are_provided.yml +0 -0
- data/test/cassettes/openstack/identity/{v2 → requests/v2}/public/root/returns_the_correct_value_for_body_.yml +0 -0
- data/test/cassettes/openstack/identity/{v2 → requests/v2}/public/root/returns_the_correct_value_for_headers_.yml +0 -0
- data/test/cassettes/openstack/identity/{v2 → requests/v2}/public/root/returns_the_correct_value_for_http_method_.yml +0 -0
- data/test/cassettes/openstack/identity/{v2 → requests/v2}/public/root/returns_the_correct_value_for_url_.yml +0 -0
- data/test/cassettes/openstack/identity/requests/v3/public/create_token/leads_to_a_valid_response_when_parameters_are_invalid.yml +35 -0
- data/test/cassettes/openstack/identity/requests/v3/public/create_token/leads_to_a_valid_response_when_parameters_are_valid.yml +100 -0
- data/test/cassettes/openstack/identity/requests/v3/public/create_token/leads_to_a_valid_response_when_provided_with_a_token.yml +200 -0
- data/test/cassettes/openstack/image/{v1 → requests/v1}/public/list_public_images/leads_to_a_valid_response_when_filtering_with_matches.yml +0 -0
- data/test/cassettes/openstack/image/{v1 → requests/v1}/public/list_public_images/leads_to_a_valid_response_when_filtering_with_no_matches.yml +0 -0
- data/test/cassettes/openstack/image/{v1 → requests/v1}/public/list_public_images/leads_to_a_valid_response_when_no_parameters_are_provided.yml +0 -0
- data/test/cassettes/openstack/image/{v1 → requests/v1}/public/list_public_images/returns_the_correct_value_for_body_.yml +0 -0
- data/test/cassettes/openstack/image/{v1 → requests/v1}/public/list_public_images/returns_the_correct_value_for_headers_.yml +0 -0
- data/test/cassettes/openstack/image/{v1 → requests/v1}/public/list_public_images/returns_the_correct_value_for_http_method_.yml +0 -0
- data/test/cassettes/openstack/image/{v1 → requests/v1}/public/root/leads_to_a_valid_response_when_no_parameters_are_provided.yml +0 -0
- data/test/cassettes/openstack/image/{v1 → requests/v1}/public/root/returns_the_correct_value_for_body_.yml +0 -0
- data/test/cassettes/openstack/image/{v1 → requests/v1}/public/root/returns_the_correct_value_for_headers_.yml +0 -0
- data/test/cassettes/openstack/image/{v1 → requests/v1}/public/root/returns_the_correct_value_for_http_method_.yml +0 -0
- data/test/cassettes/openstack/image/{v1 → requests/v1}/public/root/returns_the_correct_value_for_url_.yml +0 -0
- data/test/cassettes/openstack/metering/{v1 → requests/v1}/admin/projects/leads_to_a_valid_response_when_no_parameters_are_provided.yml +0 -0
- data/test/cassettes/openstack/metering/{v1 → requests/v1}/admin/projects/returns_the_correct_value_for_body_.yml +0 -0
- data/test/cassettes/openstack/metering/{v1 → requests/v1}/admin/projects/returns_the_correct_value_for_headers_.yml +0 -0
- data/test/cassettes/openstack/metering/{v1 → requests/v1}/admin/projects/returns_the_correct_value_for_http_method_.yml +0 -0
- data/test/cassettes/openstack/metering/{v1 → requests/v1}/admin/projects/returns_the_correct_value_for_url_.yml +0 -0
- data/test/cassettes/openstack/provider/i_find_request/v2_can_find_the_correct_request_based_on_non-bootstrapped_session_data.yml +70 -0
- data/test/cassettes/openstack/provider/i_find_request/v2_throws_an_error_if_there_is_more_than_one_service_info_found.yml +70 -0
- data/test/cassettes/openstack/provider/i_find_request/v3_can_find_the_correct_request_based_on_non-bootstrapped_data_suffixed_.yml +104 -0
- data/test/cassettes/openstack/provider/i_find_request/v3_can_find_the_correct_request_based_on_non-bootstrapped_session_data.yml +104 -0
- data/test/cassettes/openstack/provider/i_find_request/v3_throws_an_error_if_there_is_more_than_one_service_info_found.yml +104 -0
- data/test/cassettes/openstack/volume/{v1 → requests/v1}/public/create_volume/leads_to_a_valid_response_when_parameters_are_provided.yml +0 -0
- data/test/cassettes/openstack/volume/{v1 → requests/v1}/public/create_volume/returns_the_correct_value_for_body_.yml +0 -0
- data/test/cassettes/openstack/volume/{v1 → requests/v1}/public/create_volume/returns_the_correct_value_for_headers_.yml +0 -0
- data/test/cassettes/openstack/volume/{v1 → requests/v1}/public/create_volume/returns_the_correct_value_for_http_method_.yml +0 -0
- data/test/cassettes/openstack/volume/{v1 → requests/v1}/public/create_volume/returns_the_correct_value_for_url_.yml +0 -0
- data/test/cassettes/openstack/volume/{v1 → requests/v1}/public/delete_volume/leads_to_a_valid_response_when_invalid_volume_id_is_provided.yml +0 -0
- data/test/cassettes/openstack/volume/{v1 → requests/v1}/public/delete_volume/leads_to_a_valid_response_when_valid_volume_id_is_provided.yml +0 -0
- data/test/cassettes/openstack/volume/{v1 → requests/v1}/public/delete_volume/returns_the_correct_value_for_body_.yml +0 -0
- data/test/cassettes/openstack/volume/{v1 → requests/v1}/public/delete_volume/returns_the_correct_value_for_headers_.yml +0 -0
- data/test/cassettes/openstack/volume/{v1 → requests/v1}/public/delete_volume/returns_the_correct_value_for_http_method_.yml +0 -0
- data/test/cassettes/openstack/volume/{v1 → requests/v1}/public/delete_volume/returns_the_correct_value_for_url_.yml +0 -0
- data/test/cassettes/openstack/volume/{v1 → requests/v1}/public/get_volume/leads_to_a_valid_response_when_a_valid_volume_id_is_provided.yml +0 -0
- data/test/cassettes/openstack/volume/{v1 → requests/v1}/public/get_volume/leads_to_a_valid_response_when_an_invalid_volume_id_is_provided.yml +0 -0
- data/test/cassettes/openstack/volume/{v1 → requests/v1}/public/get_volume/returns_the_correct_value_for_body_.yml +0 -0
- data/test/cassettes/openstack/volume/{v1 → requests/v1}/public/get_volume/returns_the_correct_value_for_headers_.yml +0 -0
- data/test/cassettes/openstack/volume/{v1 → requests/v1}/public/get_volume/returns_the_correct_value_for_http_method_.yml +0 -0
- data/test/cassettes/openstack/volume/{v1 → requests/v1}/public/get_volume/returns_the_correct_value_for_url_.yml +0 -0
- data/test/cassettes/openstack/volume/{v1 → requests/v1}/public/list_volume_types/leads_to_a_valid_response_when_no_parameters_are_provided.yml +0 -0
- data/test/cassettes/openstack/volume/{v1 → requests/v1}/public/list_volume_types/returns_the_correct_value_for_body_.yml +0 -0
- data/test/cassettes/openstack/volume/{v1 → requests/v1}/public/list_volume_types/returns_the_correct_value_for_headers_.yml +0 -0
- data/test/cassettes/openstack/volume/{v1 → requests/v1}/public/list_volume_types/returns_the_correct_value_for_http_method_.yml +0 -0
- data/test/cassettes/openstack/volume/{v1 → requests/v1}/public/list_volumes/leads_to_a_valid_response_when_all_tenants_param_is_true.yml +0 -0
- data/test/cassettes/openstack/volume/{v1 → requests/v1}/public/list_volumes/leads_to_a_valid_response_when_no_parameters_are_provided.yml +0 -0
- data/test/cassettes/openstack/volume/{v1 → requests/v1}/public/list_volumes/leads_to_a_valid_response_when_parameters_are_invalid.yml +0 -0
- data/test/cassettes/openstack/volume/{v1 → requests/v1}/public/list_volumes/leads_to_a_valid_response_when_parameters_are_valid.yml +0 -0
- data/test/cassettes/openstack/volume/{v1 → requests/v1}/public/list_volumes/returns_the_correct_value_for_body_.yml +0 -0
- data/test/cassettes/openstack/volume/{v1 → requests/v1}/public/list_volumes/returns_the_correct_value_for_headers_.yml +0 -0
- data/test/cassettes/openstack/volume/{v1 → requests/v1}/public/list_volumes/returns_the_correct_value_for_http_method_.yml +0 -0
- data/test/cassettes/openstack/volume/{v1 → requests/v1}/public/root/leads_to_a_valid_response_when_no_parameters_are_provided.yml +0 -0
- data/test/cassettes/openstack/volume/{v1 → requests/v1}/public/root/returns_the_correct_value_for_body_.yml +0 -0
- data/test/cassettes/openstack/volume/{v1 → requests/v1}/public/root/returns_the_correct_value_for_headers_.yml +0 -0
- data/test/cassettes/openstack/volume/{v1 → requests/v1}/public/root/returns_the_correct_value_for_http_method_.yml +0 -0
- data/test/cassettes/openstack/volume/{v1 → requests/v1}/public/root/returns_the_correct_value_for_url_.yml +0 -0
- data/test/cassettes/openstack/volume/{v1 → requests/v1}/public/update_volume/leads_to_a_valid_response_when_invalid_volume_id_is_provided.yml +0 -0
- data/test/cassettes/openstack/volume/{v1 → requests/v1}/public/update_volume/leads_to_a_valid_response_when_valid_volume_id_is_provided.yml +0 -0
- data/test/cassettes/openstack/volume/{v1 → requests/v1}/public/update_volume/returns_the_correct_value_for_body_.yml +0 -0
- data/test/cassettes/openstack/volume/{v1 → requests/v1}/public/update_volume/returns_the_correct_value_for_headers_.yml +0 -0
- data/test/cassettes/openstack/volume/{v1 → requests/v1}/public/update_volume/returns_the_correct_value_for_http_method_.yml +0 -0
- data/test/cassettes/openstack/volume/{v1 → requests/v1}/public/update_volume/returns_the_correct_value_for_url_.yml +0 -0
- data/test/environment.yml.example +31 -14
- data/test/support/request_helper.rb +37 -33
- data/test/support/test_environment.rb +1 -1
- metadata +1056 -1025
- data/lib/aviator/openstack/common/v2/public/base.rb +0 -47
- data/test/aviator/openstack/common/v2/public/base_test.rb +0 -109
- data/test/cassettes/openstack/common/v2/public/base/returns_the_correct_value_for_headers_.yml +0 -62
checksums.yaml
CHANGED
@@ -1,15 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
|
5
|
-
data.tar.gz: !binary |-
|
6
|
-
MzYyY2MwNTM5NDRmZTJhZWU2Mzg1ZmUxODNmNGVlZWI5MDgzMWY5MQ==
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 50c59bcfabe57baf9c0e21fcab0370bc31855e4a
|
4
|
+
data.tar.gz: 41e8ce7fed1ed7ddee839142d005d66c02a6665f
|
7
5
|
SHA512:
|
8
|
-
metadata.gz:
|
9
|
-
|
10
|
-
ZTRkMGI1YjBmNjY3OWY3MzA2NGQxNjlhNGE0NDVhY2E0ZmQ3NTg3OThkNjcy
|
11
|
-
YjFjNWUxZjJiZmZkYWIzZjQ2NDRmNDg4MzY0NjFjOWI4Nzg0YzY=
|
12
|
-
data.tar.gz: !binary |-
|
13
|
-
NDAyMjlkNGQ1MzRhNmE5YzVlNThlNzA0M2M2YWFkNDM5ODNhNTQ2MzkxZDg3
|
14
|
-
MjcwMDZhYmE4MGJmZjIyZTljMDAxOGY4NTJiY2QzZWFkNDQwOTA5NTA0NGUw
|
15
|
-
NGI0NTFlODM2NmI1OGU4M2VkYzVkNjVhMDg2YWM5ZjdjOWM2ZDk=
|
6
|
+
metadata.gz: 7fafc12e4cea11cb1e7fff20f13bfdb953614729f74865f1d16e5ca9273abb3c686c79578500232860394169b45283e90a6892abeaff38496e41071231aec36e
|
7
|
+
data.tar.gz: a9645737bdc80f20516b8b5f499ae15fe8cae7e189268925e207696c55ad0dba1b44125415e74b34316d9f3d0e136b89790533232696792ddd19c0a99bb868e9
|
data/.travis.yml
CHANGED
@@ -3,15 +3,8 @@ rvm:
|
|
3
3
|
- 1.8.7
|
4
4
|
- 1.9.3
|
5
5
|
- 2.0.0
|
6
|
-
|
7
|
-
only:
|
8
|
-
- master
|
9
|
-
- develop
|
10
|
-
- release
|
6
|
+
- 2.1.0
|
11
7
|
bundler_args: --without development
|
12
8
|
script:
|
13
9
|
- cp test/environment.yml.travis-ci test/environment.yml
|
14
10
|
- bundle exec rake
|
15
|
-
after_script:
|
16
|
-
- cat tmp/aviator.log
|
17
|
-
- cat tmp/vcr.log
|
data/Gemfile
CHANGED
data/LICENSE.txt
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
Copyright (c)
|
1
|
+
Copyright (c) 2014 Mark Maglana
|
2
2
|
|
3
3
|
MIT License
|
4
4
|
|
@@ -19,4 +19,4 @@ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
|
19
19
|
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
20
20
|
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
21
21
|
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
22
|
-
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
22
|
+
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
data/README.md
CHANGED
@@ -1,11 +1,10 @@
|
|
1
1
|
![Aviator](https://raw.github.com/aviator/www/gh-pages/images/logo-small.png)
|
2
|
-
<br/>
|
2
|
+
<br/>An elegantly designed OpenStack SDK for Ruby
|
3
3
|
|
4
4
|
[![Build Status](https://travis-ci.org/aviator/aviator.png?branch=master)](https://travis-ci.org/aviator/aviator)
|
5
5
|
[![Coverage Status](https://coveralls.io/repos/aviator/aviator/badge.png?branch=master)](https://coveralls.io/r/aviator/aviator?branch=master)
|
6
6
|
[![Code Climate](https://codeclimate.com/github/aviator/aviator.png)](https://codeclimate.com/github/aviator/aviator)
|
7
7
|
[![Gem Version](https://badge.fury.io/rb/aviator.png)](http://badge.fury.io/rb/aviator)
|
8
|
-
[![Dependency Status](https://gemnasium.com/aviator/aviator.png)](https://gemnasium.com/aviator/aviator)
|
9
8
|
|
10
9
|
|
11
|
-
<a href="http://aviator.github.io/www/">Usage and Installation</a>
|
10
|
+
<a href="http://aviator.github.io/www/">Usage and Installation</a>
|
data/aviator.gemspec
CHANGED
@@ -3,7 +3,7 @@ lib = File.expand_path('../lib', __FILE__)
|
|
3
3
|
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
4
4
|
|
5
5
|
require 'aviator/version'
|
6
|
-
require 'aviator/compatibility'
|
6
|
+
require 'aviator/core/utils/compatibility'
|
7
7
|
require 'rbconfig'
|
8
8
|
|
9
9
|
Gem::Specification.new do |spec|
|
@@ -22,13 +22,6 @@ Gem::Specification.new do |spec|
|
|
22
22
|
spec.require_paths = ["lib"]
|
23
23
|
|
24
24
|
spec.add_dependency 'faraday', '0.8.8'
|
25
|
-
|
26
|
-
if Aviator::Compatibility::RUBY_1_8_MODE
|
27
|
-
spec.add_dependency 'activesupport', '~> 2.0'
|
28
|
-
else
|
29
|
-
spec.add_dependency 'activesupport', '>= 3.2.8'
|
30
|
-
end
|
31
|
-
|
32
25
|
spec.add_dependency 'thor', '~> 0.18.1'
|
33
26
|
spec.add_dependency 'terminal-table', '>= 1.4.5'
|
34
27
|
|
@@ -26,7 +26,7 @@ module Aviator
|
|
26
26
|
|
27
27
|
def self.describe_request(provider_name, service_name, api_version, endpoint_type, request_name)
|
28
28
|
service = Aviator::Service.new :provider => provider_name, :service => service_name
|
29
|
-
request_class = "Aviator::#{ provider_name.camelize }::#{ service_name.camelize }::"\
|
29
|
+
request_class = "Aviator::#{ provider_name.camelize }::#{ service_name.camelize }::Requests::"\
|
30
30
|
"#{ api_version.camelize }::#{ endpoint_type.camelize }::#{ request_name.camelize }".constantize
|
31
31
|
|
32
32
|
display = ":Request => #{ request_name }\n"
|
@@ -34,6 +34,7 @@ module Aviator
|
|
34
34
|
namespace_arr = [
|
35
35
|
klass.provider,
|
36
36
|
klass.service,
|
37
|
+
'Requests',
|
37
38
|
klass.api_version,
|
38
39
|
klass.endpoint_type
|
39
40
|
]
|
@@ -55,17 +56,29 @@ module Aviator
|
|
55
56
|
|
56
57
|
|
57
58
|
def get_request_class(root_namespace, request_class_arr)
|
58
|
-
request_class_arr
|
59
|
+
provider_specific = request_class_arr != [:request]
|
60
|
+
|
61
|
+
if provider_specific
|
62
|
+
full_request_class_arr = request_class_arr.dup
|
63
|
+
full_request_class_arr.insert(2, :requests) if provider_specific
|
64
|
+
else
|
65
|
+
full_request_class_arr = request_class_arr
|
66
|
+
end
|
67
|
+
|
68
|
+
full_request_class_arr.inject(root_namespace) do |namespace, sym|
|
59
69
|
namespace.const_get(sym.to_s.camelize, false)
|
60
70
|
end
|
61
71
|
rescue NameError => e
|
62
|
-
|
63
|
-
|
64
|
-
|
72
|
+
if Aviator.const_defined?(full_request_class_arr[0].to_s.camelize)
|
73
|
+
provider = "Aviator::#{ full_request_class_arr[0] }::Provider".constantize
|
74
|
+
arr = ['..'] + full_request_class_arr
|
75
|
+
arr[-1,1] = arr.last.to_s + '.rb'
|
76
|
+
path = Pathname.new(provider.root_dir).join(*arr.map{|i| i.to_s }).expand_path
|
77
|
+
end
|
65
78
|
|
66
|
-
if path.exist?
|
79
|
+
if provider && path.exist?
|
67
80
|
require path
|
68
|
-
|
81
|
+
full_request_class_arr.inject(root_namespace) do |namespace, sym|
|
69
82
|
namespace.const_get(sym.to_s.camelize, false)
|
70
83
|
end
|
71
84
|
else
|
@@ -3,7 +3,7 @@ module Aviator
|
|
3
3
|
class Response
|
4
4
|
extend Forwardable
|
5
5
|
|
6
|
-
def_delegators :@response, :
|
6
|
+
def_delegators :@response, :status
|
7
7
|
|
8
8
|
attr_reader :request
|
9
9
|
|
@@ -28,6 +28,11 @@ module Aviator
|
|
28
28
|
end
|
29
29
|
|
30
30
|
|
31
|
+
def headers
|
32
|
+
Hashish.new(@response.headers)
|
33
|
+
end
|
34
|
+
|
35
|
+
|
31
36
|
private
|
32
37
|
|
33
38
|
def raw_body
|
data/lib/aviator/core/service.rb
CHANGED
@@ -29,8 +29,8 @@ module Aviator
|
|
29
29
|
|
30
30
|
|
31
31
|
class UnknownRequestError < StandardError
|
32
|
-
def initialize(request_name)
|
33
|
-
super "Unknown request #{ request_name }."
|
32
|
+
def initialize(request_name, options)
|
33
|
+
super "Unknown request #{ request_name } #{ options }."
|
34
34
|
end
|
35
35
|
end
|
36
36
|
|
@@ -60,6 +60,7 @@ module Aviator
|
|
60
60
|
@provider = opts[:provider] || (raise ProviderNotDefinedError.new)
|
61
61
|
@service = opts[:service] || (raise ServiceNameNotDefinedError.new)
|
62
62
|
@log_file = opts[:log_file]
|
63
|
+
@default_options = opts[:default_options] || {}
|
63
64
|
|
64
65
|
@default_session_data = opts[:default_session_data]
|
65
66
|
|
@@ -68,6 +69,10 @@ module Aviator
|
|
68
69
|
|
69
70
|
|
70
71
|
def request(request_name, options={}, ¶ms)
|
72
|
+
if options[:api_version].nil? && @default_options[:api_version]
|
73
|
+
options[:api_version] = @default_options[:api_version]
|
74
|
+
end
|
75
|
+
|
71
76
|
session_data = options[:session_data] || default_session_data
|
72
77
|
|
73
78
|
raise SessionDataNotProvidedError.new unless session_data
|
@@ -76,9 +81,9 @@ module Aviator
|
|
76
81
|
session_data[k] = options[k] if options[k]
|
77
82
|
end
|
78
83
|
|
79
|
-
request_class = find_request(request_name, session_data, options
|
84
|
+
request_class = provider_module.find_request(service, request_name, session_data, options)
|
80
85
|
|
81
|
-
raise UnknownRequestError.new(request_name) unless request_class
|
86
|
+
raise UnknownRequestError.new(request_name, options) unless request_class
|
82
87
|
|
83
88
|
request = request_class.new(session_data, ¶ms)
|
84
89
|
|
@@ -111,71 +116,8 @@ module Aviator
|
|
111
116
|
end
|
112
117
|
|
113
118
|
|
114
|
-
# Candidate for extraction to aviator/openstack
|
115
|
-
def find_request(name, session_data, endpoint_type=nil)
|
116
|
-
endpoint_types = if endpoint_type
|
117
|
-
[endpoint_type.to_s.camelize]
|
118
|
-
else
|
119
|
-
['Public', 'Admin']
|
120
|
-
end
|
121
|
-
|
122
|
-
namespace = Aviator.const_get(provider.camelize) \
|
123
|
-
.const_get(service.camelize)
|
124
|
-
|
125
|
-
version = infer_version(session_data, name).to_s.camelize
|
126
|
-
|
127
|
-
return nil unless version && namespace.const_defined?(version)
|
128
|
-
|
129
|
-
namespace = namespace.const_get(version, name)
|
130
|
-
|
131
|
-
endpoint_types.each do |endpoint_type|
|
132
|
-
name = name.to_s.camelize
|
133
|
-
|
134
|
-
next unless namespace.const_defined?(endpoint_type)
|
135
|
-
next unless namespace.const_get(endpoint_type).const_defined?(name)
|
136
|
-
|
137
|
-
return namespace.const_get(endpoint_type).const_get(name)
|
138
|
-
end
|
139
|
-
|
140
|
-
nil
|
141
|
-
end
|
142
|
-
|
143
|
-
|
144
|
-
# Candidate for extraction to aviator/openstack
|
145
|
-
def infer_version(session_data, request_name='sample_request')
|
146
|
-
if session_data.has_key?(:auth_service) && session_data[:auth_service][:api_version]
|
147
|
-
session_data[:auth_service][:api_version].to_sym
|
148
|
-
|
149
|
-
elsif session_data.has_key?(:auth_service) && session_data[:auth_service][:host_uri]
|
150
|
-
m = session_data[:auth_service][:host_uri].match(/(v\d+)\.?\d*/)
|
151
|
-
return m[1].to_sym unless m.nil?
|
152
|
-
|
153
|
-
elsif session_data.has_key? :base_url
|
154
|
-
m = session_data[:base_url].match(/(v\d+)\.?\d*/)
|
155
|
-
return m[1].to_sym unless m.nil?
|
156
|
-
|
157
|
-
elsif session_data.has_key? :access
|
158
|
-
service_spec = session_data[:access][:serviceCatalog].find{|s| s[:type] == service }
|
159
|
-
raise MissingServiceEndpointError.new(service.to_s, request_name) unless service_spec
|
160
|
-
version = service_spec[:endpoints][0][:publicURL].match(/(v\d+)\.?\d*/)
|
161
|
-
version ? version[1].to_sym : :v1
|
162
|
-
end
|
163
|
-
end
|
164
|
-
|
165
|
-
|
166
119
|
def load_requests
|
167
|
-
|
168
|
-
# e.g. Aviator::OpenStack::requests_base_dir
|
169
|
-
request_file_paths = Dir.glob(Pathname.new(__FILE__).join(
|
170
|
-
'..',
|
171
|
-
'..',
|
172
|
-
provider.to_s,
|
173
|
-
service.to_s,
|
174
|
-
'**',
|
175
|
-
'*.rb'
|
176
|
-
).expand_path
|
177
|
-
)
|
178
|
-
|
120
|
+
request_file_paths = provider_module.request_file_paths(service)
|
179
121
|
request_file_paths.each{ |path| require path }
|
180
122
|
|
181
123
|
constant_parts = request_file_paths \
|
@@ -192,6 +134,11 @@ module Aviator
|
|
192
134
|
@log_file
|
193
135
|
end
|
194
136
|
|
137
|
+
|
138
|
+
def provider_module
|
139
|
+
@provider_module ||= "Aviator::#{provider.camelize}::Provider".constantize
|
140
|
+
end
|
141
|
+
|
195
142
|
end
|
196
143
|
|
197
144
|
end
|
data/lib/aviator/core/session.rb
CHANGED
@@ -67,8 +67,11 @@ module Aviator
|
|
67
67
|
|
68
68
|
response = auth_service.request environment[:auth_service][:request].to_sym, &block
|
69
69
|
|
70
|
-
if response.status
|
71
|
-
@
|
70
|
+
if [200, 201].include? response.status
|
71
|
+
@auth_response = Hashish.new({
|
72
|
+
:headers => response.headers,
|
73
|
+
:body => response.body
|
74
|
+
})
|
72
75
|
update_services_session_data
|
73
76
|
else
|
74
77
|
raise AuthenticationError.new(response.body)
|
@@ -77,14 +80,14 @@ module Aviator
|
|
77
80
|
|
78
81
|
|
79
82
|
def authenticated?
|
80
|
-
!
|
83
|
+
!auth_response.nil?
|
81
84
|
end
|
82
85
|
|
83
86
|
|
84
87
|
def dump
|
85
88
|
JSON.generate({
|
86
|
-
:environment
|
87
|
-
:
|
89
|
+
:environment => environment,
|
90
|
+
:auth_response => auth_response
|
88
91
|
})
|
89
92
|
end
|
90
93
|
|
@@ -118,10 +121,9 @@ module Aviator
|
|
118
121
|
raise NotAuthenticatedError.new unless authenticated?
|
119
122
|
raise ValidatorNotDefinedError.new unless environment[:auth_service][:validator]
|
120
123
|
|
121
|
-
auth_with_bootstrap =
|
124
|
+
auth_with_bootstrap = auth_response.merge({ :auth_service => environment[:auth_service] })
|
122
125
|
|
123
126
|
response = auth_service.request environment[:auth_service][:validator].to_sym, :session_data => auth_with_bootstrap
|
124
|
-
|
125
127
|
response.status == 200 || response.status == 203
|
126
128
|
end
|
127
129
|
|
@@ -129,17 +131,17 @@ module Aviator
|
|
129
131
|
private
|
130
132
|
|
131
133
|
|
132
|
-
def
|
133
|
-
@
|
134
|
+
def auth_response
|
135
|
+
@auth_response
|
134
136
|
end
|
135
137
|
|
136
138
|
|
137
139
|
def auth_service
|
138
140
|
@auth_service ||= Service.new(
|
139
|
-
:provider
|
140
|
-
:service
|
141
|
+
:provider => environment[:provider],
|
142
|
+
:service => environment[:auth_service][:name],
|
141
143
|
:default_session_data => { :auth_service => environment[:auth_service] },
|
142
|
-
:log_file
|
144
|
+
:log_file => log_file
|
143
145
|
)
|
144
146
|
end
|
145
147
|
|
@@ -154,12 +156,17 @@ module Aviator
|
|
154
156
|
|
155
157
|
@services ||= {}
|
156
158
|
|
157
|
-
@services[service_name]
|
158
|
-
|
159
|
-
|
160
|
-
|
161
|
-
|
162
|
-
|
159
|
+
if @services[service_name].nil?
|
160
|
+
default_options = environment["#{ service_name }_service"]
|
161
|
+
|
162
|
+
@services[service_name] = Service.new(
|
163
|
+
:provider => environment[:provider],
|
164
|
+
:service => service_name,
|
165
|
+
:default_session_data => auth_response,
|
166
|
+
:default_options => default_options,
|
167
|
+
:log_file => log_file
|
168
|
+
)
|
169
|
+
end
|
163
170
|
|
164
171
|
@services[service_name]
|
165
172
|
end
|
@@ -177,15 +184,17 @@ module Aviator
|
|
177
184
|
|
178
185
|
|
179
186
|
def initialize_with_dump(session_dump)
|
180
|
-
session_info
|
181
|
-
@environment
|
182
|
-
@
|
187
|
+
session_info = Hashish.new(JSON.parse(session_dump))
|
188
|
+
@environment = session_info[:environment]
|
189
|
+
@auth_response = session_info[:auth_response]
|
183
190
|
end
|
184
191
|
|
192
|
+
|
185
193
|
def initialize_with_hash(hash_obj)
|
186
194
|
@environment = Hashish.new(hash_obj)
|
187
195
|
end
|
188
196
|
|
197
|
+
|
189
198
|
def log_file
|
190
199
|
@log_file
|
191
200
|
end
|
@@ -195,7 +204,7 @@ module Aviator
|
|
195
204
|
return unless @services
|
196
205
|
|
197
206
|
@services.each do |name, obj|
|
198
|
-
obj.default_session_data =
|
207
|
+
obj.default_session_data = auth_response
|
199
208
|
end
|
200
209
|
end
|
201
210
|
|
File without changes
|
@@ -1,3 +1,5 @@
|
|
1
|
+
require 'json'
|
2
|
+
|
1
3
|
# Hash-ish!
|
2
4
|
#
|
3
5
|
# This class is implemented using composition rather than inheritance so
|
@@ -6,7 +8,8 @@ class Hashish
|
|
6
8
|
include Enumerable
|
7
9
|
|
8
10
|
def initialize(hash={})
|
9
|
-
@hash = hash
|
11
|
+
@hash = hash.dup
|
12
|
+
stringify_keys
|
10
13
|
hashishify_values
|
11
14
|
end
|
12
15
|
|
@@ -23,6 +26,10 @@ class Hashish
|
|
23
26
|
@hash[normalize(key)] = value
|
24
27
|
end
|
25
28
|
|
29
|
+
def dup
|
30
|
+
Hashish.new(JSON.parse(@hash.to_json))
|
31
|
+
end
|
32
|
+
|
26
33
|
def each(&block)
|
27
34
|
@hash.each(&block)
|
28
35
|
end
|
@@ -96,11 +103,10 @@ class Hashish
|
|
96
103
|
end
|
97
104
|
end
|
98
105
|
|
106
|
+
|
99
107
|
def normalize(key)
|
100
108
|
if @hash.has_key? key
|
101
109
|
key
|
102
|
-
elsif key.is_a? String
|
103
|
-
key.to_sym
|
104
110
|
elsif key.is_a? Symbol
|
105
111
|
key.to_s
|
106
112
|
else
|
@@ -108,4 +114,14 @@ class Hashish
|
|
108
114
|
end
|
109
115
|
end
|
110
116
|
|
117
|
+
|
118
|
+
def stringify_keys
|
119
|
+
keys = @hash.keys
|
120
|
+
keys.each do |key|
|
121
|
+
if key.is_a? Symbol
|
122
|
+
@hash[key.to_s] = @hash.delete(key)
|
123
|
+
end
|
124
|
+
end
|
125
|
+
end
|
126
|
+
|
111
127
|
end
|
@@ -0,0 +1,24 @@
|
|
1
|
+
class String
|
2
|
+
|
3
|
+
unless instance_methods.include? 'camelize'
|
4
|
+
define_method :camelize do
|
5
|
+
word = self.slice(0,1).capitalize + self.slice(1..-1)
|
6
|
+
word.gsub(/_([a-zA-Z\d])/) { "#{$1.capitalize}" }
|
7
|
+
end
|
8
|
+
end
|
9
|
+
|
10
|
+
unless instance_methods.include? 'constantize'
|
11
|
+
define_method :constantize do
|
12
|
+
self.split("::").inject(Object) do |namespace, sym|
|
13
|
+
namespace.const_get(sym.to_s.camelize, false)
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
17
|
+
|
18
|
+
unless instance_methods.include? 'underscore'
|
19
|
+
define_method :underscore do
|
20
|
+
self.gsub(/([a-z\d])([A-Z])/, '\1_\2').downcase
|
21
|
+
end
|
22
|
+
end
|
23
|
+
|
24
|
+
end
|
data/lib/aviator/core.rb
CHANGED
@@ -1,11 +1,12 @@
|
|
1
1
|
require 'yaml'
|
2
2
|
require 'json'
|
3
|
-
require 'active_support/inflector'
|
4
3
|
require 'faraday'
|
4
|
+
require 'pathname'
|
5
5
|
|
6
6
|
require "aviator/version"
|
7
|
-
require "aviator/
|
8
|
-
require "aviator/
|
7
|
+
require "aviator/core/utils/string"
|
8
|
+
require "aviator/core/utils/compatibility"
|
9
|
+
require "aviator/core/utils/hashish"
|
9
10
|
require "aviator/core/request"
|
10
11
|
require "aviator/core/request_builder"
|
11
12
|
require "aviator/core/response"
|
@@ -0,0 +1,119 @@
|
|
1
|
+
module Aviator
|
2
|
+
|
3
|
+
define_request :base do
|
4
|
+
|
5
|
+
meta :provider, :openstack
|
6
|
+
meta :service, :common
|
7
|
+
meta :api_version, :v0
|
8
|
+
meta :endpoint_type, :public
|
9
|
+
|
10
|
+
def headers
|
11
|
+
{}.tap do |h|
|
12
|
+
if self.anonymous?
|
13
|
+
# do nothing
|
14
|
+
|
15
|
+
elsif keystone_v2_style_session_data?
|
16
|
+
h['X-Auth-Token'] = session_data[:body][:access][:token][:id]
|
17
|
+
|
18
|
+
elsif keystone_v3_style_session_data?
|
19
|
+
h['X-Auth-Token'] = session_data[:headers]['x-subject-token']
|
20
|
+
|
21
|
+
else
|
22
|
+
raise "Unknown session data format!"
|
23
|
+
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
27
|
+
|
28
|
+
|
29
|
+
private
|
30
|
+
|
31
|
+
def base_url
|
32
|
+
if session_data[:base_url]
|
33
|
+
session_data[:base_url]
|
34
|
+
|
35
|
+
elsif keystone_v2_style_session_data? && keystone_v2_style_service_info?
|
36
|
+
extract_base_url_from_keystone_v2_session_data
|
37
|
+
|
38
|
+
elsif keystone_v3_style_session_data? && keystone_v3_style_service_info?
|
39
|
+
extract_base_url_from_keystone_v3_session_data
|
40
|
+
|
41
|
+
elsif session_data[:auth_service] && session_data[:auth_service][:host_uri] && session_data[:auth_service][:api_version]
|
42
|
+
version = session_data[:auth_service][:api_version].to_s == "v2" ? "v2.0" : session_data[:auth_service][:api_version]
|
43
|
+
"#{ session_data[:auth_service][:host_uri] }/#{ version }"
|
44
|
+
|
45
|
+
elsif session_data[:auth_service] && session_data[:auth_service][:host_uri]
|
46
|
+
session_data[:auth_service][:host_uri]
|
47
|
+
|
48
|
+
else
|
49
|
+
raise Aviator::Service::MissingServiceEndpointError.new(service.to_s, self.class)
|
50
|
+
end
|
51
|
+
end
|
52
|
+
|
53
|
+
|
54
|
+
def build_service_type_string
|
55
|
+
api_versions_without_a_suffix = [
|
56
|
+
[:compute, :v2],
|
57
|
+
[:ec2, :v1],
|
58
|
+
[:identity, :v2],
|
59
|
+
[:image, :v1],
|
60
|
+
[:metering, :v1],
|
61
|
+
[:s3, :v1],
|
62
|
+
[:volume, :v1]
|
63
|
+
]
|
64
|
+
|
65
|
+
if api_versions_without_a_suffix.include? [service, api_version]
|
66
|
+
service.to_s
|
67
|
+
else
|
68
|
+
"#{ service }#{ api_version }"
|
69
|
+
end
|
70
|
+
end
|
71
|
+
|
72
|
+
|
73
|
+
def extract_base_url_from_keystone_v2_session_data
|
74
|
+
service_info = session_data[:body][:access][:serviceCatalog].find{ |s| s[:type] == build_service_type_string }
|
75
|
+
service_info[:endpoints][0]["#{ endpoint_type }URL".to_sym]
|
76
|
+
end
|
77
|
+
|
78
|
+
|
79
|
+
def extract_base_url_from_keystone_v3_session_data
|
80
|
+
service_info = session_data[:body][:token][:catalog].select{ |s| s[:type] == build_service_type_string }
|
81
|
+
endpoints = service_info.find{ |s| s.keys.include? "endpoints" }['endpoints']
|
82
|
+
|
83
|
+
endpoints.find{ |s| s['interface'] == endpoint_type.to_s }['url']
|
84
|
+
end
|
85
|
+
|
86
|
+
|
87
|
+
def keystone_v2_style_service_info?
|
88
|
+
not session_data[:body][:access][:serviceCatalog].find{ |s| s[:type] == build_service_type_string }.nil?
|
89
|
+
end
|
90
|
+
|
91
|
+
|
92
|
+
def keystone_v2_style_session_data?
|
93
|
+
session_data.has_key?(:body) && session_data[:body].has_key?(:access)
|
94
|
+
end
|
95
|
+
|
96
|
+
|
97
|
+
def keystone_v3_style_service_info?
|
98
|
+
not session_data[:body][:token][:catalog].find{ |s| s[:type] == build_service_type_string }.nil?
|
99
|
+
end
|
100
|
+
|
101
|
+
|
102
|
+
def keystone_v3_style_session_data?
|
103
|
+
session_data.has_key?(:headers) && session_data[:headers].has_key?("x-subject-token")
|
104
|
+
end
|
105
|
+
|
106
|
+
|
107
|
+
def params_to_querystring(param_names)
|
108
|
+
filters = []
|
109
|
+
|
110
|
+
param_names.each do |param_name|
|
111
|
+
filters << "#{ param_name }=#{ params[param_name] }" if params[param_name]
|
112
|
+
end
|
113
|
+
|
114
|
+
filters.empty? ? "" : "?#{ filters.join('&') }"
|
115
|
+
end
|
116
|
+
|
117
|
+
end
|
118
|
+
|
119
|
+
end
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|