aviator 0.0.6 → 0.0.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +8 -8
- data/.gitignore +2 -1
- data/.travis.yml +4 -0
- data/Gemfile +6 -2
- data/aviator.gemspec +19 -6
- data/lib/aviator/compatibility.rb +34 -0
- data/lib/aviator/core/cli/describer.rb +16 -16
- data/lib/aviator/core/logger.rb +55 -0
- data/lib/aviator/core/request.rb +5 -4
- data/lib/aviator/core/request_builder.rb +1 -1
- data/lib/aviator/core/response.rb +17 -11
- data/lib/aviator/core/service.rb +9 -27
- data/lib/aviator/core/session.rb +71 -61
- data/lib/aviator/core.rb +3 -1
- data/lib/aviator/hashish.rb +111 -0
- data/lib/aviator/openstack/common/v2/admin/base.rb +1 -1
- data/lib/aviator/openstack/common/v2/public/base.rb +7 -3
- data/lib/aviator/openstack/compute/v2/admin/confirm_server_resize.rb +3 -3
- data/lib/aviator/openstack/compute/v2/admin/create_network.rb +15 -15
- data/lib/aviator/openstack/compute/v2/admin/get_host_details.rb +2 -2
- data/lib/aviator/openstack/compute/v2/admin/list_hosts.rb +3 -3
- data/lib/aviator/openstack/compute/v2/admin/lock_server.rb +3 -3
- data/lib/aviator/openstack/compute/v2/admin/migrate_server.rb +3 -3
- data/lib/aviator/openstack/compute/v2/admin/reset_server.rb +3 -3
- data/lib/aviator/openstack/compute/v2/admin/resize_server.rb +7 -7
- data/lib/aviator/openstack/compute/v2/admin/revert_server_resize.rb +2 -2
- data/lib/aviator/openstack/compute/v2/admin/unlock_server.rb +3 -3
- data/lib/aviator/openstack/compute/v2/public/change_admin_password.rb +5 -5
- data/lib/aviator/openstack/compute/v2/public/create_image.rb +6 -6
- data/lib/aviator/openstack/compute/v2/public/create_server.rb +14 -14
- data/lib/aviator/openstack/compute/v2/public/delete_image.rb +2 -2
- data/lib/aviator/openstack/compute/v2/public/delete_image_metadata_item.rb +31 -0
- data/lib/aviator/openstack/compute/v2/public/delete_server.rb +2 -2
- data/lib/aviator/openstack/compute/v2/public/delete_server_metadata_item.rb +31 -0
- data/lib/aviator/openstack/compute/v2/public/get_flavor_details.rb +2 -2
- data/lib/aviator/openstack/compute/v2/public/get_image_details.rb +2 -2
- data/lib/aviator/openstack/compute/v2/public/get_image_metadata_item.rb +31 -0
- data/lib/aviator/openstack/compute/v2/public/get_network_details.rb +2 -2
- data/lib/aviator/openstack/compute/v2/public/get_server.rb +2 -2
- data/lib/aviator/openstack/compute/v2/public/get_server_metadata_item.rb +31 -0
- data/lib/aviator/openstack/compute/v2/public/list_addresses.rb +3 -3
- data/lib/aviator/openstack/compute/v2/public/list_flavors.rb +6 -6
- data/lib/aviator/openstack/compute/v2/public/list_image_metadata.rb +30 -0
- data/lib/aviator/openstack/compute/v2/public/list_images.rb +9 -9
- data/lib/aviator/openstack/compute/v2/public/list_networks.rb +1 -1
- data/lib/aviator/openstack/compute/v2/public/list_server_metadata.rb +30 -0
- data/lib/aviator/openstack/compute/v2/public/list_servers.rb +11 -11
- data/lib/aviator/openstack/compute/v2/public/pause_server.rb +3 -3
- data/lib/aviator/openstack/compute/v2/public/reboot_server.rb +5 -5
- data/lib/aviator/openstack/compute/v2/public/rebuild_server.rb +13 -13
- data/lib/aviator/openstack/compute/v2/public/resume_server.rb +3 -3
- data/lib/aviator/openstack/compute/v2/public/root.rb +1 -1
- data/lib/aviator/openstack/compute/v2/public/set_image_metadata.rb +38 -0
- data/lib/aviator/openstack/compute/v2/public/set_server_metadata.rb +38 -0
- data/lib/aviator/openstack/compute/v2/public/suspend_server.rb +3 -3
- data/lib/aviator/openstack/compute/v2/public/unpause_server.rb +3 -3
- data/lib/aviator/openstack/compute/v2/public/update_image_metadata.rb +38 -0
- data/lib/aviator/openstack/compute/v2/public/update_server.rb +6 -6
- data/lib/aviator/openstack/compute/v2/public/update_server_metadata.rb +38 -0
- data/lib/aviator/openstack/identity/v2/admin/add_role_to_user_on_tenant.rb +4 -4
- data/lib/aviator/openstack/identity/v2/admin/create_tenant.rb +8 -8
- data/lib/aviator/openstack/identity/v2/admin/create_user.rb +6 -6
- data/lib/aviator/openstack/identity/v2/admin/delete_role_from_user_on_tenant.rb +4 -4
- data/lib/aviator/openstack/identity/v2/admin/delete_tenant.rb +2 -2
- data/lib/aviator/openstack/identity/v2/admin/delete_user.rb +1 -1
- data/lib/aviator/openstack/identity/v2/admin/get_tenant_by_id.rb +30 -0
- data/lib/aviator/openstack/identity/v2/admin/list_tenants.rb +3 -3
- data/lib/aviator/openstack/identity/v2/admin/update_tenant.rb +6 -6
- data/lib/aviator/openstack/identity/v2/admin/update_user.rb +7 -7
- data/lib/aviator/openstack/identity/v2/public/create_token.rb +13 -13
- data/lib/aviator/openstack/identity/v2/public/list_tenants.rb +3 -3
- data/lib/aviator/openstack/identity/v2/public/root.rb +1 -1
- data/lib/aviator/openstack/image/v1/public/list_public_images.rb +45 -0
- data/lib/aviator/openstack/image/v1/public/root.rb +1 -1
- data/lib/aviator/openstack/metering/v1/admin/list_projects.rb +1 -1
- data/lib/aviator/openstack/volume/v1/public/create_volume.rb +13 -13
- data/lib/aviator/openstack/volume/v1/public/delete_volume.rb +2 -2
- data/lib/aviator/openstack/volume/v1/public/get_volume.rb +2 -2
- data/lib/aviator/openstack/volume/v1/public/list_volume_types.rb +3 -3
- data/lib/aviator/openstack/volume/v1/public/list_volumes.rb +22 -11
- data/lib/aviator/openstack/volume/v1/public/root.rb +1 -1
- data/lib/aviator/openstack/volume/v1/public/update_volume.rb +5 -5
- data/lib/aviator/version.rb +1 -1
- data/lib/aviator.rb +5 -0
- data/test/aviator/core/cli/describer_test.rb +29 -29
- data/test/aviator/core/request_builder_test.rb +13 -13
- data/test/aviator/core/request_test.rb +11 -11
- data/test/aviator/core/service_test.rb +31 -31
- data/test/aviator/core/session_test.rb +122 -70
- data/test/aviator/openstack/common/v2/public/base_test.rb +8 -8
- data/test/aviator/openstack/compute/v2/admin/confirm_server_resize_test.rb +2 -2
- data/test/aviator/openstack/compute/v2/admin/create_network_test.rb +15 -15
- data/test/aviator/openstack/compute/v2/admin/get_host_details_test.rb +2 -2
- data/test/aviator/openstack/compute/v2/admin/list_hosts_test.rb +2 -2
- data/test/aviator/openstack/compute/v2/admin/lock_server_test.rb +2 -2
- data/test/aviator/openstack/compute/v2/admin/migrate_server_test.rb +2 -2
- data/test/aviator/openstack/compute/v2/admin/reset_server_test.rb +2 -2
- data/test/aviator/openstack/compute/v2/admin/resize_server_test.rb +3 -3
- data/test/aviator/openstack/compute/v2/admin/revert_server_resize_test.rb +2 -2
- data/test/aviator/openstack/compute/v2/admin/unlock_server_test.rb +2 -2
- data/test/aviator/openstack/compute/v2/public/change_admin_password_test.rb +3 -3
- data/test/aviator/openstack/compute/v2/public/create_image_test.rb +2 -2
- data/test/aviator/openstack/compute/v2/public/create_server_test.rb +7 -7
- data/test/aviator/openstack/compute/v2/public/delete_image_metadata_item_test.rb +159 -0
- data/test/aviator/openstack/compute/v2/public/delete_image_test.rb +2 -2
- data/test/aviator/openstack/compute/v2/public/delete_server_metadata_item_test.rb +156 -0
- data/test/aviator/openstack/compute/v2/public/delete_server_test.rb +2 -2
- data/test/aviator/openstack/compute/v2/public/get_flavor_details_test.rb +2 -2
- data/test/aviator/openstack/compute/v2/public/get_image_details_test.rb +2 -2
- data/test/aviator/openstack/compute/v2/public/get_image_metadata_item_test.rb +160 -0
- data/test/aviator/openstack/compute/v2/public/get_network_details_test.rb +2 -2
- data/test/aviator/openstack/compute/v2/public/get_server_metadata_item_test.rb +160 -0
- data/test/aviator/openstack/compute/v2/public/get_server_test.rb +2 -2
- data/test/aviator/openstack/compute/v2/public/list_addresses_test.rb +3 -3
- data/test/aviator/openstack/compute/v2/public/list_flavors_test.rb +4 -4
- data/test/aviator/openstack/compute/v2/public/list_image_metadata_test.rb +127 -0
- data/test/aviator/openstack/compute/v2/public/list_images_test.rb +13 -13
- data/test/aviator/openstack/compute/v2/public/list_networks_test.rb +2 -2
- data/test/aviator/openstack/compute/v2/public/list_server_metadata_test.rb +127 -0
- data/test/aviator/openstack/compute/v2/public/list_servers_test.rb +15 -15
- data/test/aviator/openstack/compute/v2/public/pause_server_test.rb +2 -2
- data/test/aviator/openstack/compute/v2/public/reboot_server_test.rb +2 -2
- data/test/aviator/openstack/compute/v2/public/rebuild_server_test.rb +6 -6
- data/test/aviator/openstack/compute/v2/public/resume_server_test.rb +2 -2
- data/test/aviator/openstack/compute/v2/public/root_test.rb +2 -2
- data/test/aviator/openstack/compute/v2/public/set_image_metadata_test.rb +151 -0
- data/test/aviator/openstack/compute/v2/public/set_server_metadata_test.rb +149 -0
- data/test/aviator/openstack/compute/v2/public/suspend_server_test.rb +2 -2
- data/test/aviator/openstack/compute/v2/public/unpause_server_test.rb +2 -2
- data/test/aviator/openstack/compute/v2/public/update_image_metadata_test.rb +154 -0
- data/test/aviator/openstack/compute/v2/public/update_server_metadata_test.rb +150 -0
- data/test/aviator/openstack/compute/v2/public/update_server_test.rb +4 -4
- data/test/aviator/openstack/identity/v2/admin/add_role_to_user_on_tenant_test.rb +2 -2
- data/test/aviator/openstack/identity/v2/admin/create_tenant_test.rb +13 -13
- data/test/aviator/openstack/identity/v2/admin/create_user_test.rb +12 -10
- data/test/aviator/openstack/identity/v2/admin/delete_role_from_user_on_tenant_test.rb +2 -2
- data/test/aviator/openstack/identity/v2/admin/delete_tenant_test.rb +2 -2
- data/test/aviator/openstack/identity/v2/admin/delete_user_test.rb +2 -2
- data/test/aviator/openstack/identity/v2/admin/get_tenant_by_id_test.rb +122 -0
- data/test/aviator/openstack/identity/v2/admin/list_users_test.rb +2 -2
- data/test/aviator/openstack/identity/v2/admin/update_tenant_test.rb +2 -2
- data/test/aviator/openstack/identity/v2/admin/update_user_test.rb +3 -3
- data/test/aviator/openstack/identity/v2/public/create_token_test.rb +19 -18
- data/test/aviator/openstack/identity/v2/public/list_tenants_test.rb +5 -5
- data/test/aviator/openstack/identity/v2/public/root_test.rb +2 -2
- data/test/aviator/openstack/image/v1/public/list_public_images_test.rb +145 -0
- data/test/aviator/openstack/image/v1/public/root_test.rb +2 -2
- data/test/aviator/openstack/metering/v1/admin/list_projects_test.rb +2 -2
- data/test/aviator/openstack/volume/v1/public/create_volume_test.rb +2 -2
- data/test/aviator/openstack/volume/v1/public/delete_volume_test.rb +2 -2
- data/test/aviator/openstack/volume/v1/public/get_volume_test.rb +2 -2
- data/test/aviator/openstack/volume/v1/public/list_volume_types_test.rb +2 -2
- data/test/aviator/openstack/volume/v1/public/list_volumes_test.rb +49 -24
- data/test/aviator/openstack/volume/v1/public/root_test.rb +2 -2
- data/test/aviator/openstack/volume/v1/public/update_volume_test.rb +2 -2
- data/test/cassettes/core/session/i_validate/returns_false_if_session_is_no_longer_valid.yml +20 -19
- data/test/cassettes/core/session/i_validate/returns_true_even_when_a_default_token_is_used.yml +72 -0
- data/test/cassettes/core/session/i_validate/returns_true_if_session_is_still_valid.yml +24 -24
- data/test/cassettes/openstack/compute/v2/public/delete_image_metadata_item/leads_to_a_valid_response_when_invalid_image_id_is_provided.yml +98 -0
- data/test/cassettes/openstack/compute/v2/public/delete_image_metadata_item/leads_to_a_valid_response_when_invalid_metadata_key_is_provided.yml +147 -0
- data/test/cassettes/openstack/compute/v2/public/delete_image_metadata_item/leads_to_a_valid_response_when_valid_image_id_and_metadata_key_are_provided.yml +180 -0
- data/test/cassettes/openstack/compute/v2/public/delete_image_metadata_item/returns_the_correct_value_for_body_.yml +65 -0
- data/test/cassettes/openstack/compute/v2/public/delete_image_metadata_item/returns_the_correct_value_for_headers_.yml +65 -0
- data/test/cassettes/openstack/compute/v2/public/delete_image_metadata_item/returns_the_correct_value_for_http_method_.yml +65 -0
- data/test/cassettes/openstack/compute/v2/public/delete_image_metadata_item/returns_the_correct_value_for_url_.yml +65 -0
- data/test/cassettes/openstack/compute/v2/public/delete_server_metadata_item/leads_to_a_valid_response_when_invalid_metadata_key_is_provided.yml +135 -0
- data/test/cassettes/openstack/compute/v2/public/delete_server_metadata_item/leads_to_a_valid_response_when_invalid_server_id_is_provided.yml +98 -0
- data/test/cassettes/openstack/compute/v2/public/delete_server_metadata_item/leads_to_a_valid_response_when_valid_server_id_and_metadata_key_are_provided.yml +167 -0
- data/test/cassettes/openstack/compute/v2/public/delete_server_metadata_item/returns_the_correct_value_for_body_.yml +65 -0
- data/test/cassettes/openstack/compute/v2/public/delete_server_metadata_item/returns_the_correct_value_for_headers_.yml +65 -0
- data/test/cassettes/openstack/compute/v2/public/delete_server_metadata_item/returns_the_correct_value_for_http_method_.yml +65 -0
- data/test/cassettes/openstack/compute/v2/public/delete_server_metadata_item/returns_the_correct_value_for_url_.yml +65 -0
- data/test/cassettes/openstack/compute/v2/public/get_image_metadata_item/leads_to_a_valid_response_when_invalid_image_id_is_provided.yml +98 -0
- data/test/cassettes/openstack/compute/v2/public/get_image_metadata_item/leads_to_a_valid_response_when_invalid_metadata_key_is_provided.yml +148 -0
- data/test/cassettes/openstack/compute/v2/public/get_image_metadata_item/leads_to_a_valid_response_when_valid_image_id_and_metadata_key_are_provided.yml +180 -0
- data/test/cassettes/openstack/compute/v2/public/get_image_metadata_item/returns_the_correct_value_for_body_.yml +65 -0
- data/test/cassettes/openstack/compute/v2/public/get_image_metadata_item/returns_the_correct_value_for_headers_.yml +65 -0
- data/test/cassettes/openstack/compute/v2/public/get_image_metadata_item/returns_the_correct_value_for_http_method_.yml +65 -0
- data/test/cassettes/openstack/compute/v2/public/get_image_metadata_item/returns_the_correct_value_for_url_.yml +65 -0
- data/test/cassettes/openstack/compute/v2/public/get_server_metadata_item/leads_to_a_valid_response_when_invalid_metadata_key_is_provided.yml +135 -0
- data/test/cassettes/openstack/compute/v2/public/get_server_metadata_item/leads_to_a_valid_response_when_invalid_server_id_and_metadata_key_are_provided.yml +98 -0
- data/test/cassettes/openstack/compute/v2/public/get_server_metadata_item/leads_to_a_valid_response_when_valid_server_id_and_metadata_key_are_provided.yml +167 -0
- data/test/cassettes/openstack/compute/v2/public/get_server_metadata_item/returns_the_correct_value_for_body_.yml +65 -0
- data/test/cassettes/openstack/compute/v2/public/get_server_metadata_item/returns_the_correct_value_for_headers_.yml +65 -0
- data/test/cassettes/openstack/compute/v2/public/get_server_metadata_item/returns_the_correct_value_for_http_method_.yml +65 -0
- data/test/cassettes/openstack/compute/v2/public/get_server_metadata_item/returns_the_correct_value_for_url_.yml +65 -0
- data/test/cassettes/openstack/compute/v2/public/list_image_metadata/leads_to_a_valid_response_when_invalid_image_id_is_provided.yml +98 -0
- data/test/cassettes/openstack/compute/v2/public/list_image_metadata/leads_to_a_valid_response_when_valid_image_id_is_provided.yml +147 -0
- data/test/cassettes/openstack/compute/v2/public/list_image_metadata/returns_the_correct_value_for_body_.yml +65 -0
- data/test/cassettes/openstack/compute/v2/public/list_image_metadata/returns_the_correct_value_for_headers_.yml +65 -0
- data/test/cassettes/openstack/compute/v2/public/list_image_metadata/returns_the_correct_value_for_http_method_.yml +65 -0
- data/test/cassettes/openstack/compute/v2/public/list_image_metadata/returns_the_correct_value_for_url_.yml +65 -0
- data/test/cassettes/openstack/compute/v2/public/list_server_metadata/leads_to_a_valid_response_when_invalid_server_id_is_provided.yml +98 -0
- data/test/cassettes/openstack/compute/v2/public/list_server_metadata/leads_to_a_valid_response_when_valid_server_id_is_provided.yml +134 -0
- data/test/cassettes/openstack/compute/v2/public/list_server_metadata/returns_the_correct_value_for_body_.yml +65 -0
- data/test/cassettes/openstack/compute/v2/public/list_server_metadata/returns_the_correct_value_for_headers_.yml +65 -0
- data/test/cassettes/openstack/compute/v2/public/list_server_metadata/returns_the_correct_value_for_http_method_.yml +65 -0
- data/test/cassettes/openstack/compute/v2/public/list_server_metadata/returns_the_correct_value_for_url_.yml +65 -0
- data/test/cassettes/openstack/compute/v2/public/set_image_metadata/leads_to_a_valid_response_when_invalid_image_id_is_provided.yml +98 -0
- data/test/cassettes/openstack/compute/v2/public/set_image_metadata/leads_to_a_valid_response_when_valid_image_id_is_provided.yml +98 -0
- data/test/cassettes/openstack/compute/v2/public/set_image_metadata/returns_the_correct_value_for_body_.yml +65 -0
- data/test/cassettes/openstack/compute/v2/public/set_image_metadata/returns_the_correct_value_for_headers_.yml +65 -0
- data/test/cassettes/openstack/compute/v2/public/set_image_metadata/returns_the_correct_value_for_http_method_.yml +65 -0
- data/test/cassettes/openstack/compute/v2/public/set_image_metadata/returns_the_correct_value_for_url_.yml +65 -0
- data/test/cassettes/openstack/compute/v2/public/set_server_metadata/leads_to_a_valid_response_when_invalid_server_id_is_provided.yml +98 -0
- data/test/cassettes/openstack/compute/v2/public/set_server_metadata/leads_to_a_valid_response_when_valid_server_id_is_provided.yml +134 -0
- data/test/cassettes/openstack/compute/v2/public/set_server_metadata/returns_the_correct_value_for_body_.yml +65 -0
- data/test/cassettes/openstack/compute/v2/public/set_server_metadata/returns_the_correct_value_for_headers_.yml +65 -0
- data/test/cassettes/openstack/compute/v2/public/set_server_metadata/returns_the_correct_value_for_http_method_.yml +65 -0
- data/test/cassettes/openstack/compute/v2/public/set_server_metadata/returns_the_correct_value_for_url_.yml +65 -0
- data/test/cassettes/openstack/compute/v2/public/update_image_metadata/leads_to_a_valid_response_when_invalid_image_id_is_provided.yml +98 -0
- data/test/cassettes/openstack/compute/v2/public/update_image_metadata/leads_to_a_valid_response_when_valid_image_id_is_provided.yml +98 -0
- data/test/cassettes/openstack/compute/v2/public/update_image_metadata/returns_the_correct_value_for_body_.yml +65 -0
- data/test/cassettes/openstack/compute/v2/public/update_image_metadata/returns_the_correct_value_for_headers_.yml +65 -0
- data/test/cassettes/openstack/compute/v2/public/update_image_metadata/returns_the_correct_value_for_http_method_.yml +65 -0
- data/test/cassettes/openstack/compute/v2/public/update_image_metadata/returns_the_correct_value_for_url_.yml +65 -0
- data/test/cassettes/openstack/compute/v2/public/update_server_metadata/leads_to_a_valid_response_when_invalid_server_id_is_provided.yml +98 -0
- data/test/cassettes/openstack/compute/v2/public/update_server_metadata/leads_to_a_valid_response_when_valid_server_id_is_provided.yml +134 -0
- data/test/cassettes/openstack/compute/v2/public/update_server_metadata/returns_the_correct_value_for_body_.yml +65 -0
- data/test/cassettes/openstack/compute/v2/public/update_server_metadata/returns_the_correct_value_for_headers_.yml +65 -0
- data/test/cassettes/openstack/compute/v2/public/update_server_metadata/returns_the_correct_value_for_http_method_.yml +65 -0
- data/test/cassettes/openstack/compute/v2/public/update_server_metadata/returns_the_correct_value_for_url_.yml +65 -0
- data/test/cassettes/openstack/identity/v2/admin/get_tenant_by_id/leads_to_a_valid_response_when_a_valid_tenant_id_is_provided.yml +133 -0
- data/test/cassettes/openstack/identity/v2/admin/get_tenant_by_id/returns_the_correct_value_for_body_.yml +65 -0
- data/test/cassettes/openstack/identity/v2/admin/get_tenant_by_id/returns_the_correct_value_for_headers_.yml +65 -0
- data/test/cassettes/openstack/identity/v2/admin/get_tenant_by_id/returns_the_correct_value_for_http_method_.yml +65 -0
- data/test/cassettes/openstack/identity/v2/admin/get_tenant_by_id/returns_the_correct_value_for_url_.yml +65 -0
- data/test/cassettes/openstack/image/v1/public/list_public_images/leads_to_a_valid_response_when_filtering_with_matches.yml +99 -0
- data/test/cassettes/openstack/image/v1/public/list_public_images/leads_to_a_valid_response_when_filtering_with_no_matches.yml +97 -0
- data/test/cassettes/openstack/image/v1/public/list_public_images/leads_to_a_valid_response_when_no_parameters_are_provided.yml +99 -0
- data/test/cassettes/openstack/image/v1/public/list_public_images/returns_the_correct_value_for_body_.yml +64 -0
- data/test/cassettes/openstack/image/v1/public/list_public_images/returns_the_correct_value_for_headers_.yml +64 -0
- data/test/cassettes/openstack/image/v1/public/list_public_images/returns_the_correct_value_for_http_method_.yml +64 -0
- data/test/cassettes/openstack/volume/v1/public/list_volumes/leads_to_a_valid_response_when_all_tenants_param_is_true.yml +139 -0
- data/test/environment.yml.example +2 -2
- data/test/environment.yml.travis-ci +2 -2
- data/test/support/request_helper.rb +13 -13
- data/test/support/test_base_class.rb +13 -13
- data/test/support/test_environment.rb +33 -15
- data/test/support/test_reporter.rb +38 -30
- data/test/support/vcr_setup.rb +29 -11
- data/test/test_helper.rb +16 -6
- metadata +205 -42
- data/.ruby-gemset +0 -1
- data/.ruby-version +0 -1
data/lib/aviator/core/session.rb
CHANGED
|
@@ -7,22 +7,28 @@ module Aviator
|
|
|
7
7
|
super("Authentication failed. The server returned #{ last_auth_body }")
|
|
8
8
|
end
|
|
9
9
|
end
|
|
10
|
-
|
|
11
|
-
|
|
10
|
+
|
|
11
|
+
|
|
12
12
|
class EnvironmentNotDefinedError < ArgumentError
|
|
13
13
|
def initialize(path, env)
|
|
14
14
|
super("The environment '#{ env }' is not defined in #{ path }.")
|
|
15
15
|
end
|
|
16
16
|
end
|
|
17
17
|
|
|
18
|
+
class InitializationError < StandardError
|
|
19
|
+
def initialize
|
|
20
|
+
super("The session could not find :session_dump, :config_file, and " \
|
|
21
|
+
":config in the constructor arguments provided")
|
|
22
|
+
end
|
|
23
|
+
end
|
|
18
24
|
|
|
19
25
|
class InvalidConfigFilePathError < ArgumentError
|
|
20
26
|
def initialize(path)
|
|
21
27
|
super("The config file at #{ path } does not exist!")
|
|
22
28
|
end
|
|
23
29
|
end
|
|
24
|
-
|
|
25
|
-
|
|
30
|
+
|
|
31
|
+
|
|
26
32
|
class NotAuthenticatedError < StandardError
|
|
27
33
|
def initialize
|
|
28
34
|
super("Session is not authenticated. Please authenticate before proceeding.")
|
|
@@ -38,21 +44,21 @@ module Aviator
|
|
|
38
44
|
|
|
39
45
|
|
|
40
46
|
def initialize(opts={})
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
+
if opts.has_key? :session_dump
|
|
48
|
+
initialize_with_dump(opts[:session_dump])
|
|
49
|
+
elsif opts.has_key? :config_file
|
|
50
|
+
initialize_with_config(opts[:config_file], opts[:environment])
|
|
51
|
+
elsif opts.has_key? :config
|
|
52
|
+
initialize_with_hash(opts[:config])
|
|
47
53
|
else
|
|
48
|
-
|
|
54
|
+
raise InitializationError.new
|
|
49
55
|
end
|
|
50
|
-
|
|
56
|
+
|
|
51
57
|
@log_file = opts[:log_file]
|
|
52
58
|
end
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
def authenticate(&block)
|
|
59
|
+
|
|
60
|
+
|
|
61
|
+
def authenticate(&block)
|
|
56
62
|
block ||= lambda do |params|
|
|
57
63
|
environment[:auth_credentials].each do |key, value|
|
|
58
64
|
params[key] = value
|
|
@@ -60,7 +66,7 @@ module Aviator
|
|
|
60
66
|
end
|
|
61
67
|
|
|
62
68
|
response = auth_service.request environment[:auth_service][:request].to_sym, &block
|
|
63
|
-
|
|
69
|
+
|
|
64
70
|
if response.status == 200
|
|
65
71
|
@auth_info = response.body
|
|
66
72
|
update_services_session_data
|
|
@@ -73,69 +79,71 @@ module Aviator
|
|
|
73
79
|
def authenticated?
|
|
74
80
|
!auth_info.nil?
|
|
75
81
|
end
|
|
76
|
-
|
|
77
|
-
|
|
82
|
+
|
|
83
|
+
|
|
78
84
|
def dump
|
|
79
85
|
JSON.generate({
|
|
80
|
-
environment
|
|
81
|
-
auth_info
|
|
86
|
+
:environment => environment,
|
|
87
|
+
:auth_info => auth_info
|
|
82
88
|
})
|
|
83
89
|
end
|
|
84
|
-
|
|
85
|
-
|
|
90
|
+
|
|
91
|
+
|
|
86
92
|
def load(session_dump)
|
|
87
93
|
initialize_with_dump(session_dump)
|
|
88
94
|
update_services_session_data
|
|
89
95
|
self
|
|
90
96
|
end
|
|
91
|
-
|
|
92
|
-
|
|
97
|
+
|
|
98
|
+
|
|
93
99
|
def method_missing(name, *args, &block)
|
|
94
100
|
service_name_parts = name.to_s.match(/^(\w+)_service$/)
|
|
95
|
-
|
|
101
|
+
|
|
96
102
|
if service_name_parts
|
|
97
103
|
get_service_obj(service_name_parts[1])
|
|
98
104
|
else
|
|
99
105
|
super name, *args, &block
|
|
100
106
|
end
|
|
101
107
|
end
|
|
102
|
-
|
|
103
|
-
|
|
108
|
+
|
|
109
|
+
|
|
104
110
|
def self.load(session_dump, opts={})
|
|
105
111
|
opts[:session_dump] = session_dump
|
|
106
|
-
|
|
112
|
+
|
|
107
113
|
new(opts)
|
|
108
114
|
end
|
|
109
|
-
|
|
110
|
-
|
|
115
|
+
|
|
116
|
+
|
|
111
117
|
def validate
|
|
112
118
|
raise NotAuthenticatedError.new unless authenticated?
|
|
113
119
|
raise ValidatorNotDefinedError.new unless environment[:auth_service][:validator]
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
120
|
+
|
|
121
|
+
auth_with_bootstrap = auth_info.merge({ :auth_service => environment[:auth_service] })
|
|
122
|
+
|
|
123
|
+
response = auth_service.request environment[:auth_service][:validator].to_sym, :session_data => auth_with_bootstrap
|
|
124
|
+
|
|
117
125
|
response.status == 200 || response.status == 203
|
|
118
126
|
end
|
|
119
|
-
|
|
120
|
-
|
|
127
|
+
|
|
128
|
+
|
|
121
129
|
private
|
|
122
130
|
|
|
123
131
|
|
|
124
132
|
def auth_info
|
|
125
133
|
@auth_info
|
|
126
134
|
end
|
|
127
|
-
|
|
128
|
-
|
|
135
|
+
|
|
136
|
+
|
|
129
137
|
def auth_service
|
|
130
138
|
@auth_service ||= Service.new(
|
|
131
|
-
provider
|
|
132
|
-
service
|
|
133
|
-
default_session_data
|
|
134
|
-
log_file
|
|
139
|
+
:provider => environment[:provider],
|
|
140
|
+
:service => environment[:auth_service][:name],
|
|
141
|
+
:default_session_data => { :auth_service => environment[:auth_service] },
|
|
142
|
+
:log_file => log_file
|
|
135
143
|
)
|
|
136
144
|
end
|
|
137
|
-
|
|
138
|
-
|
|
145
|
+
|
|
146
|
+
|
|
139
147
|
def environment
|
|
140
148
|
@environment
|
|
141
149
|
end
|
|
@@ -143,16 +151,16 @@ module Aviator
|
|
|
143
151
|
|
|
144
152
|
def get_service_obj(service_name)
|
|
145
153
|
raise NotAuthenticatedError.new unless self.authenticated?
|
|
146
|
-
|
|
154
|
+
|
|
147
155
|
@services ||= {}
|
|
148
|
-
|
|
156
|
+
|
|
149
157
|
@services[service_name] ||= Service.new(
|
|
150
|
-
provider
|
|
151
|
-
service
|
|
152
|
-
default_session_data
|
|
153
|
-
log_file
|
|
158
|
+
:provider => environment[:provider],
|
|
159
|
+
:service => service_name,
|
|
160
|
+
:default_session_data => auth_info,
|
|
161
|
+
:log_file => log_file
|
|
154
162
|
)
|
|
155
|
-
|
|
163
|
+
|
|
156
164
|
@services[service_name]
|
|
157
165
|
end
|
|
158
166
|
|
|
@@ -160,35 +168,37 @@ module Aviator
|
|
|
160
168
|
def initialize_with_config(config_path, environment)
|
|
161
169
|
raise InvalidConfigFilePathError.new(config_path) unless Pathname.new(config_path).file?
|
|
162
170
|
|
|
163
|
-
config = YAML.load_file(config_path)
|
|
164
|
-
|
|
171
|
+
config = Hashish.new(YAML.load_file(config_path))
|
|
165
172
|
|
|
166
173
|
raise EnvironmentNotDefinedError.new(config_path, environment) unless config[environment]
|
|
167
174
|
|
|
168
175
|
@environment = config[environment]
|
|
169
176
|
end
|
|
170
|
-
|
|
171
|
-
|
|
177
|
+
|
|
178
|
+
|
|
172
179
|
def initialize_with_dump(session_dump)
|
|
173
|
-
session_info = JSON.parse(session_dump)
|
|
180
|
+
session_info = Hashish.new(JSON.parse(session_dump))
|
|
174
181
|
@environment = session_info[:environment]
|
|
175
182
|
@auth_info = session_info[:auth_info]
|
|
176
183
|
end
|
|
177
|
-
|
|
178
|
-
|
|
184
|
+
|
|
185
|
+
def initialize_with_hash(hash_obj)
|
|
186
|
+
@environment = Hashish.new(hash_obj)
|
|
187
|
+
end
|
|
188
|
+
|
|
179
189
|
def log_file
|
|
180
190
|
@log_file
|
|
181
191
|
end
|
|
182
|
-
|
|
183
|
-
|
|
192
|
+
|
|
193
|
+
|
|
184
194
|
def update_services_session_data
|
|
185
195
|
return unless @services
|
|
186
|
-
|
|
196
|
+
|
|
187
197
|
@services.each do |name, obj|
|
|
188
198
|
obj.default_session_data = auth_info
|
|
189
199
|
end
|
|
190
200
|
end
|
|
191
|
-
|
|
201
|
+
|
|
192
202
|
end
|
|
193
203
|
|
|
194
204
|
end
|
data/lib/aviator/core.rb
CHANGED
|
@@ -1,12 +1,14 @@
|
|
|
1
1
|
require 'yaml'
|
|
2
2
|
require 'json'
|
|
3
3
|
require 'active_support/inflector'
|
|
4
|
-
require 'active_support/core_ext/hash/indifferent_access'
|
|
5
4
|
require 'faraday'
|
|
6
5
|
|
|
7
6
|
require "aviator/version"
|
|
7
|
+
require "aviator/compatibility"
|
|
8
|
+
require "aviator/hashish"
|
|
8
9
|
require "aviator/core/request"
|
|
9
10
|
require "aviator/core/request_builder"
|
|
10
11
|
require "aviator/core/response"
|
|
11
12
|
require "aviator/core/service"
|
|
12
13
|
require "aviator/core/session"
|
|
14
|
+
require "aviator/core/logger"
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
# Hash-ish!
|
|
2
|
+
#
|
|
3
|
+
# This class is implemented using composition rather than inheritance so
|
|
4
|
+
# that we have control over what operations it exposes to peers.
|
|
5
|
+
class Hashish
|
|
6
|
+
include Enumerable
|
|
7
|
+
|
|
8
|
+
def initialize(hash={})
|
|
9
|
+
@hash = hash
|
|
10
|
+
hashishify_values
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
def ==(other_obj)
|
|
14
|
+
other_obj.class == self.class &&
|
|
15
|
+
other_obj.hash == self.hash
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
def [](key)
|
|
19
|
+
@hash[normalize(key)]
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
def []=(key, value)
|
|
23
|
+
@hash[normalize(key)] = value
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
def each(&block)
|
|
27
|
+
@hash.each(&block)
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
def empty?
|
|
31
|
+
@hash.empty?
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
def has_key?(name)
|
|
35
|
+
@hash.has_key? normalize(name)
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
def hash
|
|
39
|
+
@hash
|
|
40
|
+
end
|
|
41
|
+
|
|
42
|
+
def keys
|
|
43
|
+
@hash.keys
|
|
44
|
+
end
|
|
45
|
+
|
|
46
|
+
def length
|
|
47
|
+
@hash.length
|
|
48
|
+
end
|
|
49
|
+
|
|
50
|
+
def merge(other_hash)
|
|
51
|
+
Hashish.new(@hash.merge(other_hash))
|
|
52
|
+
end
|
|
53
|
+
|
|
54
|
+
def merge!(other_hash)
|
|
55
|
+
@hash.merge! other_hash
|
|
56
|
+
self
|
|
57
|
+
end
|
|
58
|
+
|
|
59
|
+
def to_json(obj)
|
|
60
|
+
@hash.to_json(obj)
|
|
61
|
+
end
|
|
62
|
+
|
|
63
|
+
def to_s
|
|
64
|
+
str = "{"
|
|
65
|
+
@hash.each do |key, value|
|
|
66
|
+
if value.kind_of? String
|
|
67
|
+
value = "'#{value}'"
|
|
68
|
+
elsif value.nil?
|
|
69
|
+
value = "nil"
|
|
70
|
+
elsif value.kind_of? Array
|
|
71
|
+
value = "[#{value.join(", ")}]"
|
|
72
|
+
end
|
|
73
|
+
|
|
74
|
+
str += " #{key}: #{value},"
|
|
75
|
+
end
|
|
76
|
+
|
|
77
|
+
str = str[0...-1] + " }"
|
|
78
|
+
str
|
|
79
|
+
end
|
|
80
|
+
|
|
81
|
+
private
|
|
82
|
+
|
|
83
|
+
# Hashishify all the things!
|
|
84
|
+
def hashishify_values
|
|
85
|
+
@hash.each do |key, value|
|
|
86
|
+
if @hash[key].kind_of? Hash
|
|
87
|
+
@hash[key] = Hashish.new(value)
|
|
88
|
+
elsif @hash[key].kind_of? Array
|
|
89
|
+
@hash[key].each_index do |index|
|
|
90
|
+
element = @hash[key][index]
|
|
91
|
+
if element.kind_of? Hash
|
|
92
|
+
@hash[key][index] = Hashish.new(element)
|
|
93
|
+
end
|
|
94
|
+
end
|
|
95
|
+
end
|
|
96
|
+
end
|
|
97
|
+
end
|
|
98
|
+
|
|
99
|
+
def normalize(key)
|
|
100
|
+
if @hash.has_key? key
|
|
101
|
+
key
|
|
102
|
+
elsif key.is_a? String
|
|
103
|
+
key.to_sym
|
|
104
|
+
elsif key.is_a? Symbol
|
|
105
|
+
key.to_s
|
|
106
|
+
else
|
|
107
|
+
key
|
|
108
|
+
end
|
|
109
|
+
end
|
|
110
|
+
|
|
111
|
+
end
|
|
@@ -20,10 +20,14 @@ module Aviator
|
|
|
20
20
|
def base_url
|
|
21
21
|
if session_data[:base_url]
|
|
22
22
|
session_data[:base_url]
|
|
23
|
-
|
|
24
|
-
service_spec = session_data[:access][:serviceCatalog].find { |s| s[:type] == service.to_s }
|
|
25
|
-
raise Aviator::Service::MissingServiceEndpointError.new(service.to_s, self.class) unless service_spec
|
|
23
|
+
elsif service_spec = session_data[:access][:serviceCatalog].find { |s| s[:type] == service.to_s }
|
|
26
24
|
service_spec[:endpoints][0]["#{ endpoint_type }URL".to_sym]
|
|
25
|
+
elsif session_data[:auth_service] && session_data[:auth_service][:host_uri] && session_data[:auth_service][:api_version]
|
|
26
|
+
"#{ session_data[:auth_service][:host_uri] }/v2.0"
|
|
27
|
+
elsif session_data[:auth_service] && session_data[:auth_service][:host_uri]
|
|
28
|
+
session_data[:auth_service][:host_uri]
|
|
29
|
+
else
|
|
30
|
+
raise Aviator::Service::MissingServiceEndpointError.new(service.to_s, self.class)
|
|
27
31
|
end
|
|
28
32
|
end
|
|
29
33
|
|
|
@@ -1,18 +1,18 @@
|
|
|
1
1
|
module Aviator
|
|
2
2
|
|
|
3
|
-
define_request :confirm_server_resize, inherit
|
|
3
|
+
define_request :confirm_server_resize, :inherit => [:openstack, :common, :v2, :admin, :base] do
|
|
4
4
|
|
|
5
5
|
meta :service, :compute
|
|
6
6
|
|
|
7
7
|
link 'documentation',
|
|
8
8
|
'http://docs.openstack.org/api/openstack-compute/2/content/Confirm_Resized_Server-d1e3868.html'
|
|
9
9
|
|
|
10
|
-
param :id, required
|
|
10
|
+
param :id, :required => true
|
|
11
11
|
|
|
12
12
|
|
|
13
13
|
def body
|
|
14
14
|
{
|
|
15
|
-
confirmResize
|
|
15
|
+
:confirmResize => nil
|
|
16
16
|
}
|
|
17
17
|
end
|
|
18
18
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
module Aviator
|
|
2
2
|
|
|
3
|
-
define_request :create_network, inherit
|
|
3
|
+
define_request :create_network, :inherit => [:openstack, :common, :v2, :admin, :base] do
|
|
4
4
|
|
|
5
5
|
meta :service, :compute
|
|
6
6
|
|
|
@@ -8,24 +8,24 @@ module Aviator
|
|
|
8
8
|
'http://api.openstack.org/api-ref-compute.html#ext-os-networks'
|
|
9
9
|
|
|
10
10
|
|
|
11
|
-
param :label, required
|
|
12
|
-
param :bridge, required
|
|
13
|
-
param :bridge_interface, required
|
|
14
|
-
param :cidr, required
|
|
15
|
-
param :cidr_v6, required
|
|
16
|
-
param :dns1, required
|
|
17
|
-
param :dns2, required
|
|
18
|
-
param :gateway, required
|
|
19
|
-
param :gateway_v6, required
|
|
20
|
-
param :multi_host, required
|
|
21
|
-
param :project_id, required
|
|
22
|
-
param :vlan, required
|
|
11
|
+
param :label, :required => true
|
|
12
|
+
param :bridge, :required => false
|
|
13
|
+
param :bridge_interface, :required => false
|
|
14
|
+
param :cidr, :required => false
|
|
15
|
+
param :cidr_v6, :required => false
|
|
16
|
+
param :dns1, :required => false
|
|
17
|
+
param :dns2, :required => false
|
|
18
|
+
param :gateway, :required => false
|
|
19
|
+
param :gateway_v6, :required => false
|
|
20
|
+
param :multi_host, :required => false
|
|
21
|
+
param :project_id, :required => false
|
|
22
|
+
param :vlan, :required => false
|
|
23
23
|
|
|
24
24
|
|
|
25
25
|
def body
|
|
26
26
|
p = {
|
|
27
|
-
network
|
|
28
|
-
label
|
|
27
|
+
:network => {
|
|
28
|
+
:label => params[:label]
|
|
29
29
|
}
|
|
30
30
|
}
|
|
31
31
|
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
module Aviator
|
|
2
2
|
|
|
3
|
-
define_request :get_host_details, inherit
|
|
3
|
+
define_request :get_host_details, :inherit => [:openstack, :common, :v2, :admin, :base] do
|
|
4
4
|
|
|
5
5
|
meta :service, :compute
|
|
6
6
|
|
|
7
7
|
link 'documentation',
|
|
8
8
|
'http://api.openstack.org/api-ref.html#ext-os-hosts'
|
|
9
9
|
|
|
10
|
-
param :host_name, required
|
|
10
|
+
param :host_name, :required => true
|
|
11
11
|
|
|
12
12
|
|
|
13
13
|
def headers
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
module Aviator
|
|
2
2
|
|
|
3
|
-
define_request :list_hosts, inherit
|
|
3
|
+
define_request :list_hosts, :inherit => [:openstack, :common, :v2, :admin, :base] do
|
|
4
4
|
|
|
5
5
|
meta :service, :compute
|
|
6
6
|
|
|
@@ -10,8 +10,8 @@ module Aviator
|
|
|
10
10
|
link 'documentation bug',
|
|
11
11
|
'https://bugs.launchpad.net/nova/+bug/1224763'
|
|
12
12
|
|
|
13
|
-
param :service, required
|
|
14
|
-
param :zone, required
|
|
13
|
+
param :service, :required => false
|
|
14
|
+
param :zone, :required => false
|
|
15
15
|
|
|
16
16
|
|
|
17
17
|
def headers
|
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
module Aviator
|
|
2
2
|
|
|
3
|
-
define_request :lock_server, inherit
|
|
3
|
+
define_request :lock_server, :inherit => [:openstack, :common, :v2, :admin, :base] do
|
|
4
4
|
|
|
5
5
|
meta :service, :compute
|
|
6
6
|
|
|
7
7
|
link 'documentation',
|
|
8
8
|
'http://docs.openstack.org/api/openstack-compute/2/content/POST_lock_v2__tenant_id__servers__server_id__action_ext-os-admin-actions.html'
|
|
9
9
|
|
|
10
|
-
param :id, required
|
|
10
|
+
param :id, :required => true
|
|
11
11
|
|
|
12
12
|
|
|
13
13
|
def body
|
|
14
|
-
{ lock
|
|
14
|
+
{ :lock => nil }
|
|
15
15
|
end
|
|
16
16
|
|
|
17
17
|
|
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
module Aviator
|
|
2
2
|
|
|
3
|
-
define_request :migrate_server, inherit
|
|
3
|
+
define_request :migrate_server, :inherit => [:openstack, :common, :v2, :admin, :base] do
|
|
4
4
|
|
|
5
5
|
meta :service, :compute
|
|
6
6
|
|
|
7
7
|
link 'documentation',
|
|
8
8
|
'http://docs.openstack.org/api/openstack-compute/2/content/POST_migrate_v2__tenant_id__servers__server_id__action_ext-os-admin-actions.html'
|
|
9
9
|
|
|
10
|
-
param :id, required
|
|
10
|
+
param :id, :required => true
|
|
11
11
|
|
|
12
12
|
|
|
13
13
|
def body
|
|
14
|
-
{ migrate
|
|
14
|
+
{ :migrate => nil }
|
|
15
15
|
end
|
|
16
16
|
|
|
17
17
|
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
module Aviator
|
|
2
2
|
|
|
3
|
-
define_request :reset_server, inherit
|
|
3
|
+
define_request :reset_server, :inherit => [:openstack, :common, :v2, :admin, :base] do
|
|
4
4
|
|
|
5
5
|
meta :service, :compute
|
|
6
6
|
|
|
7
7
|
link 'documentation',
|
|
8
8
|
'http://docs.openstack.org/api/openstack-compute/2/content/POST_os-resetState_v2__tenant_id__servers__server_id__action_ext-os-admin-actions.html'
|
|
9
9
|
|
|
10
|
-
param :id, required
|
|
11
|
-
param :state, required
|
|
10
|
+
param :id, :required => true
|
|
11
|
+
param :state, :required => true
|
|
12
12
|
|
|
13
13
|
|
|
14
14
|
def body
|
|
@@ -1,22 +1,22 @@
|
|
|
1
1
|
module Aviator
|
|
2
2
|
|
|
3
|
-
define_request :resize_server, inherit
|
|
3
|
+
define_request :resize_server, :inherit => [:openstack, :common, :v2, :admin, :base] do
|
|
4
4
|
|
|
5
5
|
meta :service, :compute
|
|
6
6
|
|
|
7
7
|
link 'documentation',
|
|
8
8
|
'http://docs.openstack.org/api/openstack-compute/2/content/Resize_Server-d1e3707.html'
|
|
9
9
|
|
|
10
|
-
param :id, required
|
|
11
|
-
param :name, required
|
|
12
|
-
param :flavorRef, required
|
|
10
|
+
param :id, :required => true
|
|
11
|
+
param :name, :required => true
|
|
12
|
+
param :flavorRef, :required => true, :alias => :flavor_ref
|
|
13
13
|
|
|
14
14
|
|
|
15
15
|
def body
|
|
16
16
|
{
|
|
17
|
-
resize
|
|
18
|
-
name
|
|
19
|
-
flavorRef
|
|
17
|
+
:resize => {
|
|
18
|
+
:name => params[:name],
|
|
19
|
+
:flavorRef => params[:flavorRef]
|
|
20
20
|
}
|
|
21
21
|
}
|
|
22
22
|
end
|
|
@@ -10,12 +10,12 @@ module Aviator
|
|
|
10
10
|
link 'documentation',
|
|
11
11
|
'http://docs.openstack.org/api/openstack-compute/2/content/Revert_Resized_Server-d1e4024.html'
|
|
12
12
|
|
|
13
|
-
param :id, required
|
|
13
|
+
param :id, :required => true
|
|
14
14
|
|
|
15
15
|
|
|
16
16
|
def body
|
|
17
17
|
{
|
|
18
|
-
revertResize
|
|
18
|
+
:revertResize => nil
|
|
19
19
|
}
|
|
20
20
|
end
|
|
21
21
|
|
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
module Aviator
|
|
2
2
|
|
|
3
|
-
define_request :unlock_server, inherit
|
|
3
|
+
define_request :unlock_server, :inherit => [:openstack, :common, :v2, :admin, :base] do
|
|
4
4
|
|
|
5
5
|
meta :service, :compute
|
|
6
6
|
|
|
7
7
|
link 'documentation',
|
|
8
8
|
'http://docs.openstack.org/api/openstack-compute/2/content/POST_unlock_v2__tenant_id__servers__server_id__action_ext-os-admin-actions.html'
|
|
9
9
|
|
|
10
|
-
param :id, required
|
|
10
|
+
param :id, :required => true
|
|
11
11
|
|
|
12
12
|
|
|
13
13
|
def body
|
|
14
|
-
{ unlock
|
|
14
|
+
{ :unlock => nil }
|
|
15
15
|
end
|
|
16
16
|
|
|
17
17
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
module Aviator
|
|
2
2
|
|
|
3
|
-
define_request :change_admin_password, inherit
|
|
3
|
+
define_request :change_admin_password, :inherit => [:openstack, :common, :v2, :public, :base] do
|
|
4
4
|
|
|
5
5
|
meta :service, :compute
|
|
6
6
|
|
|
@@ -10,14 +10,14 @@ module Aviator
|
|
|
10
10
|
link 'additional spec',
|
|
11
11
|
'https://answers.launchpad.net/nova/+question/228462'
|
|
12
12
|
|
|
13
|
-
param :adminPass, required
|
|
14
|
-
param :id, required
|
|
13
|
+
param :adminPass, :required => true, :alias => :admin_pass
|
|
14
|
+
param :id, :required => true
|
|
15
15
|
|
|
16
16
|
|
|
17
17
|
def body
|
|
18
18
|
p = {
|
|
19
|
-
changePassword
|
|
20
|
-
adminPass
|
|
19
|
+
:changePassword => {
|
|
20
|
+
:adminPass => params[:adminPass]
|
|
21
21
|
}
|
|
22
22
|
}
|
|
23
23
|
|