aviator 0.0.4 → 0.0.5
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/README.md +4 -3
- data/lib/aviator/core.rb +1 -0
- data/lib/aviator/core/request.rb +0 -35
- data/lib/aviator/core/request_builder.rb +37 -0
- data/lib/aviator/core/response.rb +11 -3
- data/lib/aviator/core/service.rb +3 -2
- data/lib/aviator/openstack/compute/v2/admin/confirm_server_resize.rb +46 -0
- data/lib/aviator/openstack/compute/v2/admin/get_host_details.rb +40 -0
- data/lib/aviator/openstack/compute/v2/admin/list_hosts.rb +55 -0
- data/lib/aviator/openstack/compute/v2/admin/resize_server.rb +51 -0
- data/lib/aviator/openstack/compute/v2/admin/revert_server_resize.rb +46 -0
- data/lib/aviator/openstack/compute/v2/public/delete_image.rb +40 -0
- data/lib/aviator/openstack/compute/v2/public/get_image_details.rb +40 -0
- data/lib/aviator/openstack/compute/v2/public/list_servers.rb +12 -1
- data/lib/aviator/openstack/identity/v2/admin/add_role_to_user_on_tenant.rb +46 -0
- data/lib/aviator/openstack/identity/v2/admin/create_user.rb +66 -0
- data/lib/aviator/openstack/identity/v2/admin/delete_role_from_user_on_tenant.rb +46 -0
- data/lib/aviator/openstack/identity/v2/admin/delete_tenant.rb +40 -0
- data/lib/aviator/openstack/identity/v2/admin/delete_user.rb +39 -0
- data/lib/aviator/openstack/identity/v2/admin/list_users.rb +37 -0
- data/lib/aviator/openstack/identity/v2/admin/update_tenant.rb +57 -0
- data/lib/aviator/openstack/identity/v2/admin/update_user.rb +61 -0
- data/lib/aviator/openstack/identity/v2/public/root.rb +34 -0
- data/lib/aviator/openstack/image/v1/public/root.rb +34 -0
- data/lib/aviator/openstack/metering/v1/admin/list_projects.rb +34 -0
- data/lib/aviator/openstack/volume/v1/public/root.rb +34 -0
- data/lib/aviator/version.rb +1 -1
- data/test/aviator/core/request_builder_test.rb +61 -0
- data/test/aviator/openstack/compute/v2/admin/confirm_server_resize_test.rb +145 -0
- data/test/aviator/openstack/compute/v2/admin/get_host_details_test.rb +133 -0
- data/test/aviator/openstack/compute/v2/admin/list_hosts_test.rb +138 -0
- data/test/aviator/openstack/compute/v2/admin/resize_server_test.rb +177 -0
- data/test/aviator/openstack/compute/v2/admin/revert_server_resize_test.rb +145 -0
- data/test/aviator/openstack/compute/v2/public/delete_image_test.rb +134 -0
- data/test/aviator/openstack/compute/v2/public/get_image_details_test.rb +134 -0
- data/test/aviator/openstack/compute/v2/public/list_servers_test.rb +63 -33
- data/test/aviator/openstack/identity/v2/admin/add_role_to_user_on_tenant_test.rb +192 -0
- data/test/aviator/openstack/identity/v2/admin/create_user_test.rb +161 -0
- data/test/aviator/openstack/identity/v2/admin/delete_role_from_user_on_tenant_test.rb +190 -0
- data/test/aviator/openstack/identity/v2/admin/delete_tenant_test.rb +132 -0
- data/test/aviator/openstack/identity/v2/admin/delete_user_test.rb +127 -0
- data/test/aviator/openstack/identity/v2/admin/list_users_test.rb +101 -0
- data/test/aviator/openstack/identity/v2/admin/update_tenant_test.rb +142 -0
- data/test/aviator/openstack/identity/v2/admin/update_user_test.rb +143 -0
- data/test/aviator/openstack/identity/v2/public/root_test.rb +106 -0
- data/test/aviator/openstack/image/v1/public/root_test.rb +106 -0
- data/test/aviator/openstack/metering/v1/admin/list_projects_test.rb +106 -0
- data/test/aviator/openstack/volume/v1/public/root_test.rb +106 -0
- data/test/cassettes/openstack/compute/v2/admin/confirm_server_resize/leads_to_a_valid_response_when_parameters_are_provided.yml +907 -0
- data/test/cassettes/openstack/compute/v2/admin/confirm_server_resize/leads_to_a_valid_response_when_the_id_parameter_is_invalid.yml +96 -0
- data/test/cassettes/openstack/compute/v2/admin/confirm_server_resize/returns_the_correct_value_for_body_.yml +876 -0
- data/test/cassettes/openstack/compute/v2/admin/confirm_server_resize/returns_the_correct_value_for_headers_.yml +876 -0
- data/test/cassettes/openstack/compute/v2/admin/confirm_server_resize/returns_the_correct_value_for_http_method_.yml +876 -0
- data/test/cassettes/openstack/compute/v2/admin/confirm_server_resize/returns_the_correct_value_for_url_.yml +876 -0
- data/test/cassettes/openstack/compute/v2/admin/get_host_details/leads_to_a_valid_response_when_invalid_params_are_provided.yml +96 -0
- data/test/cassettes/openstack/compute/v2/admin/get_host_details/leads_to_a_valid_response_when_valid_params_are_provided.yml +160 -0
- data/test/cassettes/openstack/compute/v2/admin/get_host_details/returns_the_correct_value_for_body_.yml +62 -0
- data/test/cassettes/openstack/compute/v2/admin/get_host_details/returns_the_correct_value_for_headers_.yml +62 -0
- data/test/cassettes/openstack/compute/v2/admin/get_host_details/returns_the_correct_value_for_http_method_.yml +62 -0
- data/test/cassettes/openstack/compute/v2/admin/get_host_details/returns_the_correct_value_for_url_.yml +101 -0
- data/test/cassettes/openstack/compute/v2/admin/list_hosts/leads_to_a_valid_response_when_invalid_zone_parameter_is_provided.yml +95 -0
- data/test/cassettes/openstack/compute/v2/admin/list_hosts/leads_to_a_valid_response_when_no_parameters_are_provided.yml +101 -0
- data/test/cassettes/openstack/compute/v2/admin/list_hosts/leads_to_a_valid_response_when_valid_zone_parameter_is_provided.yml +96 -0
- data/test/cassettes/openstack/compute/v2/admin/list_hosts/returns_the_correct_value_for_body_.yml +62 -0
- data/test/cassettes/openstack/compute/v2/admin/list_hosts/returns_the_correct_value_for_headers_.yml +62 -0
- data/test/cassettes/openstack/compute/v2/admin/list_hosts/returns_the_correct_value_for_http_method_.yml +62 -0
- data/test/cassettes/openstack/compute/v2/admin/list_hosts/returns_the_correct_value_for_url_.yml +62 -0
- data/test/cassettes/openstack/compute/v2/admin/resize_server/leads_to_a_valid_response_when_parameters_are_provided.yml +949 -0
- data/test/cassettes/openstack/compute/v2/admin/resize_server/leads_to_a_valid_response_when_the_flavorRef_parameter_is_invalid.yml +910 -0
- data/test/cassettes/openstack/compute/v2/admin/resize_server/leads_to_a_valid_response_when_the_id_parameter_is_invalid.yml +138 -0
- data/test/cassettes/openstack/compute/v2/admin/resize_server/returns_the_correct_value_for_body_.yml +902 -0
- data/test/cassettes/openstack/compute/v2/admin/resize_server/returns_the_correct_value_for_headers_.yml +902 -0
- data/test/cassettes/openstack/compute/v2/admin/resize_server/returns_the_correct_value_for_http_method_.yml +918 -0
- data/test/cassettes/openstack/compute/v2/admin/resize_server/returns_the_correct_value_for_url_.yml +902 -0
- data/test/cassettes/openstack/compute/v2/admin/revert_server_resize/leads_to_a_valid_response_when_parameters_are_provided.yml +326 -0
- data/test/cassettes/openstack/compute/v2/admin/revert_server_resize/leads_to_a_valid_response_when_the_id_parameter_is_invalid.yml +96 -0
- data/test/cassettes/openstack/compute/v2/admin/revert_server_resize/returns_the_correct_value_for_body_.yml +295 -0
- data/test/cassettes/openstack/compute/v2/admin/revert_server_resize/returns_the_correct_value_for_headers_.yml +295 -0
- data/test/cassettes/openstack/compute/v2/admin/revert_server_resize/returns_the_correct_value_for_http_method_.yml +295 -0
- data/test/cassettes/openstack/compute/v2/admin/revert_server_resize/returns_the_correct_value_for_url_.yml +295 -0
- data/test/cassettes/openstack/compute/v2/public/delete_image/leads_to_a_valid_response_when_invalid_params_are_provided.yml +96 -0
- data/test/cassettes/openstack/compute/v2/public/delete_image/leads_to_a_valid_response_when_valid_params_are_provided.yml +168 -0
- data/test/cassettes/openstack/compute/v2/public/delete_image/returns_the_correct_value_for_body_.yml +63 -0
- data/test/cassettes/openstack/compute/v2/public/delete_image/returns_the_correct_value_for_headers_.yml +63 -0
- data/test/cassettes/openstack/compute/v2/public/delete_image/returns_the_correct_value_for_http_method_.yml +63 -0
- data/test/cassettes/openstack/compute/v2/public/delete_image/returns_the_correct_value_for_url_.yml +63 -0
- data/test/cassettes/openstack/compute/v2/public/get_image_details/leads_to_a_valid_response_when_invalid_params_are_provided.yml +96 -0
- data/test/cassettes/openstack/compute/v2/public/get_image_details/leads_to_a_valid_response_when_valid_params_are_provided.yml +187 -0
- data/test/cassettes/openstack/compute/v2/public/get_image_details/returns_the_correct_value_for_body_.yml +63 -0
- data/test/cassettes/openstack/compute/v2/public/get_image_details/returns_the_correct_value_for_headers_.yml +63 -0
- data/test/cassettes/openstack/compute/v2/public/get_image_details/returns_the_correct_value_for_http_method_.yml +63 -0
- data/test/cassettes/openstack/compute/v2/public/get_image_details/returns_the_correct_value_for_url_.yml +63 -0
- data/test/cassettes/openstack/compute/v2/public/list_servers/leads_to_a_valid_response_when_the_all_tenants_parameter_is_provided.yml +274 -0
- data/test/cassettes/openstack/identity/v2/admin/add_role_to_user_on_tenant/leads_to_a_valid_response_when_invalid_role_id_is_provided.yml +98 -0
- data/test/cassettes/openstack/identity/v2/admin/add_role_to_user_on_tenant/leads_to_a_valid_response_when_invalid_tenant_id_is_provided.yml +98 -0
- data/test/cassettes/openstack/identity/v2/admin/add_role_to_user_on_tenant/leads_to_a_valid_response_when_invalid_user_id_is_provided.yml +98 -0
- data/test/cassettes/openstack/identity/v2/admin/add_role_to_user_on_tenant/leads_to_a_valid_response_when_valid_ids_are_provided.yml +97 -0
- data/test/cassettes/openstack/identity/v2/admin/add_role_to_user_on_tenant/returns_the_correct_value_for_body_.yml +64 -0
- data/test/cassettes/openstack/identity/v2/admin/add_role_to_user_on_tenant/returns_the_correct_value_for_headers_.yml +64 -0
- data/test/cassettes/openstack/identity/v2/admin/add_role_to_user_on_tenant/returns_the_correct_value_for_http_method_.yml +64 -0
- data/test/cassettes/openstack/identity/v2/admin/add_role_to_user_on_tenant/returns_the_correct_value_for_url_.yml +64 -0
- data/test/cassettes/openstack/identity/v2/admin/create_user/leads_to_a_valid_response_when_invalid_param_is_provided.yml +98 -0
- data/test/cassettes/openstack/identity/v2/admin/create_user/leads_to_a_valid_response_when_params_are_valid.yml +136 -0
- data/test/cassettes/openstack/identity/v2/admin/create_user/returns_the_correct_value_for_body_.yml +64 -0
- data/test/cassettes/openstack/identity/v2/admin/create_user/returns_the_correct_value_for_headers_.yml +64 -0
- data/test/cassettes/openstack/identity/v2/admin/create_user/returns_the_correct_value_for_http_method_.yml +64 -0
- data/test/cassettes/openstack/identity/v2/admin/create_user/returns_the_correct_value_for_url_.yml +64 -0
- data/test/cassettes/openstack/identity/v2/admin/delete_role_from_user_on_tenant/leads_to_a_valid_response_when_invalid_role_id_is_provided.yml +98 -0
- data/test/cassettes/openstack/identity/v2/admin/delete_role_from_user_on_tenant/leads_to_a_valid_response_when_invalid_tenant_id_is_provided.yml +98 -0
- data/test/cassettes/openstack/identity/v2/admin/delete_role_from_user_on_tenant/leads_to_a_valid_response_when_invalid_user_id_is_provided.yml +98 -0
- data/test/cassettes/openstack/identity/v2/admin/delete_role_from_user_on_tenant/leads_to_a_valid_response_when_valid_ids_are_provided.yml +95 -0
- data/test/cassettes/openstack/identity/v2/admin/delete_role_from_user_on_tenant/returns_the_correct_value_for_headers_.yml +64 -0
- data/test/cassettes/openstack/identity/v2/admin/delete_role_from_user_on_tenant/returns_the_correct_value_for_http_method_.yml +64 -0
- data/test/cassettes/openstack/identity/v2/admin/delete_role_from_user_on_tenant/returns_the_correct_value_for_url_.yml +64 -0
- data/test/cassettes/openstack/identity/v2/admin/delete_tenant/leads_to_a_valid_response_when_invalid_params_are_provided.yml +98 -0
- data/test/cassettes/openstack/identity/v2/admin/delete_tenant/leads_to_a_valid_response_when_valid_params_are_provided.yml +95 -0
- data/test/cassettes/openstack/identity/v2/admin/delete_tenant/returns_the_correct_value_for_body_.yml +64 -0
- data/test/cassettes/openstack/identity/v2/admin/delete_tenant/returns_the_correct_value_for_headers_.yml +64 -0
- data/test/cassettes/openstack/identity/v2/admin/delete_tenant/returns_the_correct_value_for_http_method_.yml +64 -0
- data/test/cassettes/openstack/identity/v2/admin/delete_tenant/returns_the_correct_value_for_url_.yml +64 -0
- data/test/cassettes/openstack/identity/v2/admin/delete_user/leads_to_a_valid_response_when_invalid_params_are_provided.yml +98 -0
- data/test/cassettes/openstack/identity/v2/admin/delete_user/leads_to_a_valid_response_when_valid_params_are_provided.yml +95 -0
- data/test/cassettes/openstack/identity/v2/admin/delete_user/returns_the_correct_value_for_body_.yml +64 -0
- data/test/cassettes/openstack/identity/v2/admin/delete_user/returns_the_correct_value_for_headers_.yml +64 -0
- data/test/cassettes/openstack/identity/v2/admin/delete_user/returns_the_correct_value_for_http_method_.yml +64 -0
- data/test/cassettes/openstack/identity/v2/admin/delete_user/returns_the_correct_value_for_url_.yml +64 -0
- data/test/cassettes/openstack/identity/v2/admin/list_users/leads_to_a_valid_response_when_no_parameters_are_provided.yml +114 -0
- data/test/cassettes/openstack/identity/v2/admin/list_users/returns_the_correct_value_for_body_.yml +64 -0
- data/test/cassettes/openstack/identity/v2/admin/list_users/returns_the_correct_value_for_headers_.yml +64 -0
- data/test/cassettes/openstack/identity/v2/admin/list_users/returns_the_correct_value_for_http_method_.yml +64 -0
- data/test/cassettes/openstack/identity/v2/admin/list_users/returns_the_correct_value_for_url_.yml +64 -0
- data/test/cassettes/openstack/identity/v2/admin/update_tenant/leads_to_a_valid_response_when_invalid_tenant_id_is_provided.yml +98 -0
- data/test/cassettes/openstack/identity/v2/admin/update_tenant/leads_to_a_valid_response_when_valid_tenant_id_is_provided.yml +140 -0
- data/test/cassettes/openstack/identity/v2/admin/update_tenant/returns_the_correct_value_for_body_.yml +64 -0
- data/test/cassettes/openstack/identity/v2/admin/update_tenant/returns_the_correct_value_for_headers_.yml +64 -0
- data/test/cassettes/openstack/identity/v2/admin/update_tenant/returns_the_correct_value_for_http_method_.yml +64 -0
- data/test/cassettes/openstack/identity/v2/admin/update_tenant/returns_the_correct_value_for_url_.yml +64 -0
- data/test/cassettes/openstack/identity/v2/admin/update_user/leads_to_a_valid_response_when_invalid_user_id_is_provided.yml +98 -0
- data/test/cassettes/openstack/identity/v2/admin/update_user/leads_to_a_valid_response_when_valid_user_id_is_provided.yml +100 -0
- data/test/cassettes/openstack/identity/v2/admin/update_user/returns_the_correct_value_for_body_.yml +64 -0
- data/test/cassettes/openstack/identity/v2/admin/update_user/returns_the_correct_value_for_headers_.yml +64 -0
- data/test/cassettes/openstack/identity/v2/admin/update_user/returns_the_correct_value_for_http_method_.yml +64 -0
- data/test/cassettes/openstack/identity/v2/admin/update_user/returns_the_correct_value_for_url_.yml +64 -0
- data/test/cassettes/openstack/identity/v2/public/root/leads_to_a_valid_response_when_no_parameters_are_provided.yml +104 -0
- data/test/cassettes/openstack/identity/v2/public/root/returns_the_correct_value_for_body_.yml +65 -0
- data/test/cassettes/openstack/identity/v2/public/root/returns_the_correct_value_for_headers_.yml +65 -0
- data/test/cassettes/openstack/identity/v2/public/root/returns_the_correct_value_for_http_method_.yml +65 -0
- data/test/cassettes/openstack/identity/v2/public/root/returns_the_correct_value_for_url_.yml +65 -0
- data/test/cassettes/openstack/image/v1/public/root/leads_to_a_valid_response_when_no_parameters_are_provided.yml +105 -0
- data/test/cassettes/openstack/image/v1/public/root/returns_the_correct_value_for_body_.yml +65 -0
- data/test/cassettes/openstack/image/v1/public/root/returns_the_correct_value_for_headers_.yml +65 -0
- data/test/cassettes/openstack/image/v1/public/root/returns_the_correct_value_for_http_method_.yml +65 -0
- data/test/cassettes/openstack/image/v1/public/root/returns_the_correct_value_for_url_.yml +65 -0
- data/test/cassettes/openstack/metering/v1/admin/projects/leads_to_a_valid_response_when_no_parameters_are_provided.yml +97 -0
- data/test/cassettes/openstack/metering/v1/admin/projects/returns_the_correct_value_for_body_.yml +65 -0
- data/test/cassettes/openstack/metering/v1/admin/projects/returns_the_correct_value_for_headers_.yml +65 -0
- data/test/cassettes/openstack/metering/v1/admin/projects/returns_the_correct_value_for_http_method_.yml +65 -0
- data/test/cassettes/openstack/metering/v1/admin/projects/returns_the_correct_value_for_url_.yml +65 -0
- data/test/cassettes/openstack/volume/v1/public/root/leads_to_a_valid_response_when_no_parameters_are_provided.yml +104 -0
- data/test/cassettes/openstack/volume/v1/public/root/returns_the_correct_value_for_body_.yml +65 -0
- data/test/cassettes/openstack/volume/v1/public/root/returns_the_correct_value_for_headers_.yml +65 -0
- data/test/cassettes/openstack/volume/v1/public/root/returns_the_correct_value_for_http_method_.yml +65 -0
- data/test/cassettes/openstack/volume/v1/public/root/returns_the_correct_value_for_url_.yml +65 -0
- data/test/support/vcr_setup.rb +10 -5
- metadata +292 -2
@@ -0,0 +1,40 @@
|
|
1
|
+
module Aviator
|
2
|
+
|
3
|
+
define_request :get_image_details do
|
4
|
+
|
5
|
+
meta :provider, :openstack
|
6
|
+
meta :service, :compute
|
7
|
+
meta :api_version, :v2
|
8
|
+
meta :endpoint_type, :public
|
9
|
+
|
10
|
+
link 'documentation',
|
11
|
+
'http://docs.openstack.org/api/openstack-compute/2/content/Get_Image_Details-d1e4848.html'
|
12
|
+
|
13
|
+
param :id, required: true
|
14
|
+
|
15
|
+
|
16
|
+
def headers
|
17
|
+
h = {}
|
18
|
+
|
19
|
+
unless self.anonymous?
|
20
|
+
h['X-Auth-Token'] = session_data[:access][:token][:id]
|
21
|
+
end
|
22
|
+
|
23
|
+
h
|
24
|
+
end
|
25
|
+
|
26
|
+
|
27
|
+
def http_method
|
28
|
+
:get
|
29
|
+
end
|
30
|
+
|
31
|
+
|
32
|
+
def url
|
33
|
+
service_spec = session_data[:access][:serviceCatalog].find{|s| s[:type] == service.to_s }
|
34
|
+
|
35
|
+
"#{ service_spec[:endpoints][0][:publicURL] }/images/#{ params[:id]}"
|
36
|
+
end
|
37
|
+
|
38
|
+
end
|
39
|
+
|
40
|
+
end
|
@@ -10,6 +10,16 @@ module Aviator
|
|
10
10
|
link 'documentation',
|
11
11
|
'http://docs.openstack.org/api/openstack-compute/2/content/List_Servers-d1e2078.html'
|
12
12
|
|
13
|
+
link 'documentation',
|
14
|
+
'http://docs.openstack.org/api/openstack-compute/2/content/GET_listServers_v2__tenant_id__servers_compute_servers.html'
|
15
|
+
|
16
|
+
link 'github issue: getting all servers',
|
17
|
+
'https://github.com/aviator/aviator/issues/35'
|
18
|
+
|
19
|
+
link 'related mailing list discussion',
|
20
|
+
'https://lists.launchpad.net/openstack/msg24695.html'
|
21
|
+
|
22
|
+
param :all_tenants, required: false
|
13
23
|
param :details, required: false
|
14
24
|
param :flavor, required: false
|
15
25
|
param :image, required: false
|
@@ -45,7 +55,8 @@ module Aviator
|
|
45
55
|
filters = []
|
46
56
|
|
47
57
|
(optional_params + required_params - [:details]).each do |param_name|
|
48
|
-
|
58
|
+
value = param_name == :all_tenants && params[param_name] ? 1 : params[param_name]
|
59
|
+
filters << "#{ param_name }=#{ value }" if value
|
49
60
|
end
|
50
61
|
|
51
62
|
str += "?#{ filters.join('&') }" unless filters.empty?
|
@@ -0,0 +1,46 @@
|
|
1
|
+
module Aviator
|
2
|
+
|
3
|
+
define_request :add_role_to_user_on_tenant do
|
4
|
+
|
5
|
+
meta :provider, :openstack
|
6
|
+
meta :service, :identity
|
7
|
+
meta :api_version, :v2
|
8
|
+
meta :endpoint_type, :admin
|
9
|
+
|
10
|
+
|
11
|
+
link 'documentation',
|
12
|
+
'http://docs.openstack.org/api/openstack-identity-service/2.0/content/PUT_addRolesToUserOnTenant_v2.0_tenants__tenantId__users__userId__roles_OS-KSADM__roleId__.html'
|
13
|
+
|
14
|
+
|
15
|
+
param :tenant_id, required: true
|
16
|
+
param :user_id, required: true
|
17
|
+
param :role_id, required: true
|
18
|
+
|
19
|
+
|
20
|
+
def headers
|
21
|
+
h = {}
|
22
|
+
|
23
|
+
unless self.anonymous?
|
24
|
+
h['X-Auth-Token'] = session_data[:access][:token][:id]
|
25
|
+
end
|
26
|
+
|
27
|
+
h
|
28
|
+
end
|
29
|
+
|
30
|
+
|
31
|
+
def http_method
|
32
|
+
:put
|
33
|
+
end
|
34
|
+
|
35
|
+
|
36
|
+
def url
|
37
|
+
service_spec = session_data[:access][:serviceCatalog].find { |s| s[:type] == service.to_s }
|
38
|
+
"#{ service_spec[:endpoints][0][:adminURL] }" \
|
39
|
+
"/tenants/#{ params[:tenant_id] }" \
|
40
|
+
"/users/#{ params[:user_id] }" \
|
41
|
+
"/roles/OS-KSADM/#{ params[:role_id] }"
|
42
|
+
end
|
43
|
+
|
44
|
+
end
|
45
|
+
|
46
|
+
end
|
@@ -0,0 +1,66 @@
|
|
1
|
+
module Aviator
|
2
|
+
|
3
|
+
define_request :create_user do
|
4
|
+
|
5
|
+
meta :provider, :openstack
|
6
|
+
meta :service, :identity
|
7
|
+
meta :api_version, :v2
|
8
|
+
meta :endpoint_type, :admin
|
9
|
+
|
10
|
+
|
11
|
+
link 'documentation',
|
12
|
+
'http://docs.openstack.org/api/openstack-identity-service/2.0/content/POST_addUser_v2.0_users_.html'
|
13
|
+
|
14
|
+
link 'documentation bug',
|
15
|
+
'https://bugs.launchpad.net/keystone/+bug/1110435'
|
16
|
+
|
17
|
+
link 'documentation bug',
|
18
|
+
'https://bugs.launchpad.net/keystone/+bug/1226466'
|
19
|
+
|
20
|
+
|
21
|
+
param :name, required: true
|
22
|
+
param :password, required: true
|
23
|
+
|
24
|
+
param :email, required: false
|
25
|
+
param :enabled, required: false
|
26
|
+
param :tenantId, required: false
|
27
|
+
|
28
|
+
|
29
|
+
def body
|
30
|
+
p = {
|
31
|
+
user: {}
|
32
|
+
}
|
33
|
+
|
34
|
+
(required_params + optional_params).each do |key|
|
35
|
+
p[:user][key] = params[key] if params[key]
|
36
|
+
end
|
37
|
+
|
38
|
+
p
|
39
|
+
end
|
40
|
+
|
41
|
+
|
42
|
+
def headers
|
43
|
+
h = {}
|
44
|
+
|
45
|
+
unless self.anonymous?
|
46
|
+
h['X-Auth-Token'] = session_data[:access][:token][:id]
|
47
|
+
end
|
48
|
+
|
49
|
+
h
|
50
|
+
end
|
51
|
+
|
52
|
+
|
53
|
+
def http_method
|
54
|
+
:post
|
55
|
+
end
|
56
|
+
|
57
|
+
|
58
|
+
def url
|
59
|
+
service_spec = session_data[:access][:serviceCatalog].find{|s| s[:type] == 'identity' }
|
60
|
+
"#{ service_spec[:endpoints][0][:adminURL] }/users"
|
61
|
+
end
|
62
|
+
|
63
|
+
end
|
64
|
+
|
65
|
+
end
|
66
|
+
|
@@ -0,0 +1,46 @@
|
|
1
|
+
module Aviator
|
2
|
+
|
3
|
+
define_request :delete_role_from_user_on_tenant do
|
4
|
+
|
5
|
+
meta :provider, :openstack
|
6
|
+
meta :service, :identity
|
7
|
+
meta :api_version, :v2
|
8
|
+
meta :endpoint_type, :admin
|
9
|
+
|
10
|
+
|
11
|
+
link 'documentation',
|
12
|
+
'http://docs.openstack.org/api/openstack-identity-service/2.0/content/DELETE_deleteRoleFromUserOnTenant_v2.0_tenants__tenantId__users__userId__roles_OS-KSADM__roleId__.html'
|
13
|
+
|
14
|
+
|
15
|
+
param :tenant_id, required: true
|
16
|
+
param :user_id, required: true
|
17
|
+
param :role_id, required: true
|
18
|
+
|
19
|
+
|
20
|
+
def headers
|
21
|
+
h = {}
|
22
|
+
|
23
|
+
unless self.anonymous?
|
24
|
+
h['X-Auth-Token'] = session_data[:access][:token][:id]
|
25
|
+
end
|
26
|
+
|
27
|
+
h
|
28
|
+
end
|
29
|
+
|
30
|
+
|
31
|
+
def http_method
|
32
|
+
:delete
|
33
|
+
end
|
34
|
+
|
35
|
+
|
36
|
+
def url
|
37
|
+
service_spec = session_data[:access][:serviceCatalog].find { |s| s[:type] == service.to_s }
|
38
|
+
s = "#{ service_spec[:endpoints][0][:adminURL] }/tenants/#{ params[:tenant_id] }"
|
39
|
+
s += "/users/#{ params[:user_id] }"
|
40
|
+
s += "/roles/OS-KSADM/#{ params[:role_id] }"
|
41
|
+
s
|
42
|
+
end
|
43
|
+
|
44
|
+
end
|
45
|
+
|
46
|
+
end
|
@@ -0,0 +1,40 @@
|
|
1
|
+
module Aviator
|
2
|
+
|
3
|
+
define_request :delete_tenant do
|
4
|
+
|
5
|
+
meta :provider, :openstack
|
6
|
+
meta :service, :identity
|
7
|
+
meta :api_version, :v2
|
8
|
+
meta :endpoint_type, :admin
|
9
|
+
|
10
|
+
link 'documentation',
|
11
|
+
'http://docs.openstack.org/api/openstack-identity-service/2.0/content/DELETE_deleteTenant_v2.0_tenants__tenantId__.html'
|
12
|
+
|
13
|
+
param :id, required: true
|
14
|
+
|
15
|
+
|
16
|
+
def headers
|
17
|
+
h = {}
|
18
|
+
|
19
|
+
unless self.anonymous?
|
20
|
+
h['X-Auth-Token'] = session_data[:access][:token][:id]
|
21
|
+
end
|
22
|
+
|
23
|
+
h
|
24
|
+
end
|
25
|
+
|
26
|
+
|
27
|
+
def http_method
|
28
|
+
:delete
|
29
|
+
end
|
30
|
+
|
31
|
+
|
32
|
+
def url
|
33
|
+
service_spec = session_data[:access][:serviceCatalog].find{|s| s[:type] == service.to_s }
|
34
|
+
|
35
|
+
"#{ service_spec[:endpoints][0][:adminURL] }/tenants/#{ params[:id]}"
|
36
|
+
end
|
37
|
+
|
38
|
+
end
|
39
|
+
|
40
|
+
end
|
@@ -0,0 +1,39 @@
|
|
1
|
+
module Aviator
|
2
|
+
|
3
|
+
define_request :delete_user do
|
4
|
+
|
5
|
+
meta :provider, :openstack
|
6
|
+
meta :service, :identity
|
7
|
+
meta :api_version, :v2
|
8
|
+
meta :endpoint_type, :admin
|
9
|
+
|
10
|
+
link 'documentation',
|
11
|
+
'http://docs.openstack.org/api/openstack-identity-service/2.0/content/DELETE_deleteUser_v2.0_users__userId__.html'
|
12
|
+
|
13
|
+
param :id, required: true
|
14
|
+
|
15
|
+
|
16
|
+
def headers
|
17
|
+
h = {}
|
18
|
+
|
19
|
+
unless self.anonymous?
|
20
|
+
h['X-Auth-Token'] = session_data[:access][:token][:id]
|
21
|
+
end
|
22
|
+
|
23
|
+
h
|
24
|
+
end
|
25
|
+
|
26
|
+
|
27
|
+
def http_method
|
28
|
+
:delete
|
29
|
+
end
|
30
|
+
|
31
|
+
|
32
|
+
def url
|
33
|
+
service_spec = session_data[:access][:serviceCatalog].find{|s| s[:type] == service.to_s }
|
34
|
+
"#{ service_spec[:endpoints][0][:adminURL] }/users/#{ params[:id]}"
|
35
|
+
end
|
36
|
+
|
37
|
+
end
|
38
|
+
|
39
|
+
end
|
@@ -0,0 +1,37 @@
|
|
1
|
+
module Aviator
|
2
|
+
|
3
|
+
define_request :list_users do
|
4
|
+
|
5
|
+
meta :provider, :openstack
|
6
|
+
meta :service, :identity
|
7
|
+
meta :api_version, :v2
|
8
|
+
meta :endpoint_type, :admin
|
9
|
+
|
10
|
+
link 'documentation',
|
11
|
+
'http://docs.openstack.org/api/openstack-identity-service/2.0/content/GET_listUsers_v2.0_users_.html'
|
12
|
+
|
13
|
+
|
14
|
+
def headers
|
15
|
+
h = {}
|
16
|
+
|
17
|
+
unless self.anonymous?
|
18
|
+
h['X-Auth-Token'] = session_data[:access][:token][:id]
|
19
|
+
end
|
20
|
+
|
21
|
+
h
|
22
|
+
end
|
23
|
+
|
24
|
+
|
25
|
+
def http_method
|
26
|
+
:get
|
27
|
+
end
|
28
|
+
|
29
|
+
|
30
|
+
def url
|
31
|
+
service_spec = session_data[:access][:serviceCatalog].find{|s| s[:type] == 'identity' }
|
32
|
+
"#{ service_spec[:endpoints][0][:adminURL] }/users"
|
33
|
+
end
|
34
|
+
|
35
|
+
end
|
36
|
+
|
37
|
+
end
|
@@ -0,0 +1,57 @@
|
|
1
|
+
module Aviator
|
2
|
+
|
3
|
+
define_request :update_tenant do
|
4
|
+
|
5
|
+
meta :provider, :openstack
|
6
|
+
meta :service, :identity
|
7
|
+
meta :api_version, :v2
|
8
|
+
meta :endpoint_type, :admin
|
9
|
+
|
10
|
+
|
11
|
+
link 'documentation',
|
12
|
+
'http://docs.openstack.org/api/openstack-identity-service/2.0/content/POST_updateTenant_v2.0_tenants__tenantId__.html'
|
13
|
+
|
14
|
+
|
15
|
+
param :id, required: true
|
16
|
+
param :name, required: false
|
17
|
+
param :enabled, required: false
|
18
|
+
param :description, required: false
|
19
|
+
|
20
|
+
|
21
|
+
def body
|
22
|
+
p = {
|
23
|
+
tenant: {}
|
24
|
+
}
|
25
|
+
|
26
|
+
[:name, :enabled, :description].each do |key|
|
27
|
+
p[:tenant][key] = params[key] if params[key]
|
28
|
+
end
|
29
|
+
|
30
|
+
p
|
31
|
+
end
|
32
|
+
|
33
|
+
|
34
|
+
def headers
|
35
|
+
h = {}
|
36
|
+
|
37
|
+
unless self.anonymous?
|
38
|
+
h['X-Auth-Token'] = session_data[:access][:token][:id]
|
39
|
+
end
|
40
|
+
|
41
|
+
h
|
42
|
+
end
|
43
|
+
|
44
|
+
|
45
|
+
def http_method
|
46
|
+
:put
|
47
|
+
end
|
48
|
+
|
49
|
+
|
50
|
+
def url
|
51
|
+
service_spec = session_data[:access][:serviceCatalog].find { |s| s[:type] == service.to_s }
|
52
|
+
"#{ service_spec[:endpoints][0][:adminURL] }/tenants/#{ params[:id] }"
|
53
|
+
end
|
54
|
+
|
55
|
+
end
|
56
|
+
|
57
|
+
end
|
@@ -0,0 +1,61 @@
|
|
1
|
+
module Aviator
|
2
|
+
|
3
|
+
define_request :update_user do
|
4
|
+
|
5
|
+
meta :provider, :openstack
|
6
|
+
meta :service, :identity
|
7
|
+
meta :api_version, :v2
|
8
|
+
meta :endpoint_type, :admin
|
9
|
+
|
10
|
+
|
11
|
+
link 'documentation',
|
12
|
+
'http://docs.openstack.org/api/openstack-identity-service/2.0/content/POST_updateUser_v2.0_users__userId__.html'
|
13
|
+
|
14
|
+
link 'bug',
|
15
|
+
'https://bugs.launchpad.net/keystone/+bug/1226475'
|
16
|
+
|
17
|
+
param :id, required: true
|
18
|
+
param :name, required: false
|
19
|
+
param :password, required: false
|
20
|
+
param :email, required: false
|
21
|
+
param :enabled, required: false
|
22
|
+
param :tenantId, required: false
|
23
|
+
|
24
|
+
|
25
|
+
def body
|
26
|
+
p = {
|
27
|
+
user: {}
|
28
|
+
}
|
29
|
+
|
30
|
+
optional_params.each do |key|
|
31
|
+
p[:user][key] = params[key] if params[key]
|
32
|
+
end
|
33
|
+
|
34
|
+
p
|
35
|
+
end
|
36
|
+
|
37
|
+
|
38
|
+
def headers
|
39
|
+
h = {}
|
40
|
+
|
41
|
+
unless self.anonymous?
|
42
|
+
h['X-Auth-Token'] = session_data[:access][:token][:id]
|
43
|
+
end
|
44
|
+
|
45
|
+
h
|
46
|
+
end
|
47
|
+
|
48
|
+
|
49
|
+
def http_method
|
50
|
+
:put
|
51
|
+
end
|
52
|
+
|
53
|
+
|
54
|
+
def url
|
55
|
+
service_spec = session_data[:access][:serviceCatalog].find { |s| s[:type] == service.to_s }
|
56
|
+
"#{ service_spec[:endpoints][0][:adminURL] }/users/#{ params[:id] }"
|
57
|
+
end
|
58
|
+
|
59
|
+
end
|
60
|
+
|
61
|
+
end
|