Module: Misty::Openstack::KeystoneV3

Included in:
Misty::Openstack::Keystone::V3
Defined in:
lib/misty/openstack/keystone/keystone_v3.rb,
lib/misty/openstack/keystone/keystone_v3_ext.rb

Instance Method Summary collapse

Instance Method Details

#v3Object



2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
# File 'lib/misty/openstack/keystone/keystone_v3.rb', line 2

def v3
{"/v3/auth/tokens"=>
{:POST=>
  [:password_authentication_with_unscoped_authorization,
   :password_authentication_with_scoped_authorization,
   :password_authentication_with_explicit_unscoped_authorization,
   :token_authentication_with_unscoped_authorization,
   :token_authentication_with_scoped_authorization,
   :token_authentication_with_explicit_unscoped_authorization],
 :GET=>[:validate_and_show_information_for_token],
 :HEAD=>[:check_token],
 :DELETE=>[:revoke_token]},
 "/v3/auth/catalog"=>{:GET=>[:get_service_catalog]},
 "/v3/auth/projects"=>{:GET=>[:get_available_project_scopes]},
 "/v3/auth/domains"=>{:GET=>[:get_available_domain_scopes]},
 "/v3/credentials"=>{:POST=>[:create_credential], :GET=>[:list_credentials]},
 "/v3/credentials/{credential_id}"=>
{:GET=>[:show_credential_details],
 :PATCH=>[:update_credential],
 :DELETE=>[:delete_credential]},
 "/v3/domains"=>{:GET=>[:list_domains], :POST=>[:create_domain]},
 "/v3/domains/{domain_id}"=>
{:GET=>[:show_domain_details],
 :PATCH=>[:update_domain],
 :DELETE=>[:delete_domain]},
 "/v3/domains/config/default"=>{:GET=>[:show_default_configuration_settings]},
 "/v3/domains/config/{group}/default"=>
{:GET=>[:show_default_configuration_for_a_group]},
 "/v3/domains/config/{group}/{option}/default"=>
{:GET=>[:show_default_option_for_a_group]},
 "/v3/domains/{domain_id}/config/{group}/{option}"=>
{:GET=>[:show_domain_group_option_configuration],
 :PATCH=>[:update_domain_group_option_configuration],
 :DELETE=>[:delete_domain_group_option_configuration]},
 "/v3/domains/{domain_id}/config/{group}"=>
{:GET=>[:show_domain_group_configuration],
 :PATCH=>[:update_domain_group_configuration],
 :DELETE=>[:delete_domain_group_configuration]},
 "/v3/domains/{domain_id}/config"=>
{:PUT=>[:create_domain_configuration],
 :GET=>[:show_domain_configuration],
 :PATCH=>[:update_domain_configuration],
 :DELETE=>[:delete_domain_configuration]},
 "/v3/groups"=>{:GET=>[:list_groups], :POST=>[:create_group]},
 "/v3/groups/{group_id}"=>
{:GET=>[:show_group_details],
 :PATCH=>[:update_group],
 :DELETE=>[:delete_group]},
 "/v3/groups/{group_id}/users"=>{:GET=>[:list_users_in_group]},
 "/v3/groups/{group_id}/users/{user_id}"=>
{:PUT=>[:add_user_to_group],
 :HEAD=>[:check_whether_user_belongs_to_group],
 :DELETE=>[:remove_user_from_group]},
 "/v3/OS-INHERIT/domains/{domain_id}/users/{user_id}/roles/{role_id}/inherited_to_projects"=>
{:PUT=>[:assign_role_to_user_on_projects_owned_by_domain],
 :HEAD=>[:check_if_user_has_an_inherited_project_role_on_domain],
 :DELETE=>[:revoke_an_inherited_project_role_from_user_on_domain]},
 "/v3/OS-INHERIT/domains/{domain_id}/groups/{group_id}/roles/{role_id}/inherited_to_projects"=>
{:PUT=>[:assign_role_to_group_on_projects_owned_by_a_domain],
 :HEAD=>[:check_if_group_has_an_inherited_project_role_on_domain],
 :DELETE=>[:revoke_an_inherited_project_role_from_group_on_domain]},
 "/v3/OS-INHERIT/domains/{domain_id}/users/{user_id}/roles/inherited_to_projects"=>
{:GET=>[:list_user_s_inherited_project_roles_on_a_domain]},
 "/v3/OS-INHERIT/domains/{domain_id}/groups/{group_id}/roles/inherited_to_projects"=>
{:GET=>[:list_group_s_inherited_project_roles_on_domain]},
 "/v3/OS-INHERIT/projects/{project_id}/users/{user_id}/roles/{role_id}/inherited_to_projects"=>
{:PUT=>[:assign_role_to_user_on_projects_in_a_subtree],
 :HEAD=>[:check_if_user_has_an_inherited_project_role_on_project],
 :DELETE=>[:revoke_an_inherited_project_role_from_user_on_project]},
 "/v3/OS-INHERIT/projects/{project_id}/groups/{group_id}/roles/{role_id}/inherited_to_projects"=>
{:PUT=>[:assign_role_to_group_on_projects_in_a_subtree],
 :HEAD=>[:check_if_group_has_an_inherited_project_role_on_project],
 :DELETE=>[:revoke_an_inherited_project_role_from_group_on_project]},
 "/v3/role_assignments"=>{:GET=>[:list_role_assignments]},
 "/v3/auth/tokens/OS-PKI/revoked"=>{:GET=>[:list_revoked_tokens]},
 "/v3/policies"=>{:POST=>[:create_policy], :GET=>[:list_policies]},
 "/v3/policies/{policy_id}"=>
{:GET=>[:show_policy_details],
 :PATCH=>[:update_policy],
 :DELETE=>[:delete_policy]},
 "/v3/projects"=>{:GET=>[:list_projects], :POST=>[:create_project]},
 "/v3/projects/{project_id}"=>
{:GET=>[:show_project_details],
 :PATCH=>[:update_project],
 :DELETE=>[:delete_project]},
 "/v3/regions/{region_id}"=>
{:GET=>[:show_region_details],
 :PATCH=>[:update_region],
 :DELETE=>[:delete_region]},
 "/v3/regions"=>{:GET=>[:list_regions], :POST=>[:create_region]},
 "/v3/roles"=>{:GET=>[:list_roles], :POST=>[:create_role]},
 "/v3/roles/{role_id}"=>
{:GET=>[:show_role_details],
 :PATCH=>[:update_role],
 :DELETE=>[:delete_role]},
 "/v3/domains/{domain_id}/groups/{group_id}/roles"=>
{:GET=>[:list_role_assignments_for_group_on_domain]},
 "/v3/domains/{domain_id}/groups/{group_id}/roles/{role_id}"=>
{:PUT=>[:assign_role_to_group_on_domain],
 :HEAD=>[:check_whether_group_has_role_assignment_on_domain],
 :DELETE=>[:unassign_role_from_group_on_domain]},
 "/v3/domains/{domain_id}/users/{user_id}/roles"=>
{:GET=>[:list_role_assignments_for_user_on_domain]},
 "/v3/domains/{domain_id}/users/{user_id}/roles/{role_id}"=>
{:PUT=>[:assign_role_to_user_on_domain],
 :HEAD=>[:check_whether_user_has_role_assignment_on_domain],
 :DELETE=>[:unassigns_role_from_user_on_domain]},
 "/v3/projects/{project_id}/groups/{group_id}/roles"=>
{:GET=>[:list_role_assignments_for_group_on_project]},
 "/v3/projects/{project_id}/groups/{group_id}/roles/{role_id}"=>
{:PUT=>[:assign_role_to_group_on_project],
 :HEAD=>[:check_whether_group_has_role_assignment_on_project],
 :DELETE=>[:unassign_role_from_group_on_project]},
 "/v3/projects/{project_id}/users/{user_id}/roles"=>
{:GET=>[:list_role_assignments_for_user_on_project]},
 "/v3/projects/{project_id}/users/{user_id}/roles/{role_id}"=>
{:PUT=>[:assign_role_to_user_on_project],
 :HEAD=>[:check_whether_user_has_role_assignment_on_project],
 :DELETE=>[:unassign_role_from_user_on_project]},
 "/v3/roles/{prior_role_id}/implies"=>
{:GET=>[:list_implied_inference_roles_for_role]},
 "/v3/roles/{prior_role_id}/implies/{implies_role_id}"=>
{:PUT=>[:create_role_inference_rule],
 :GET=>[:get_role_inference_rule],
 :HEAD=>[:confirm_role_inference_rule],
 :DELETE=>[:delete_role_inference_rule]},
 "/v3/role_inferences"=>{:GET=>[:list_all_role_inference_rules]},
 "/v3/services"=>{:GET=>[:list_services], :POST=>[:create_service]},
 "/v3/services/{service_id}"=>
{:GET=>[:show_service_details],
 :PATCH=>[:update_service],
 :DELETE=>[:delete_service]},
 "/v3/endpoints"=>{:GET=>[:list_endpoints], :POST=>[:create_endpoint]},
 "/v3/endpoints/{endpoint_id}"=>
{:GET=>[:show_endpoint_details],
 :PATCH=>[:update_endpoint],
 :DELETE=>[:delete_endpoint]},
 "/v3/users"=>{:GET=>[:list_users], :POST=>[:create_user]},
 "/v3/users/{user_id}"=>
{:GET=>[:show_user_details],
 :PATCH=>[:update_user],
 :DELETE=>[:delete_user]},
 "/v3/users/{user_id}/groups"=>{:GET=>[:list_groups_to_which_a_user_belongs]},
 "/v3/users/{user_id}/projects"=>{:GET=>[:list_projects_for_user]},
 "/v3/users/{user_id}/password"=>{:POST=>[:change_password_for_user]}}
end

#v3_extObject



2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
# File 'lib/misty/openstack/keystone/keystone_v3_ext.rb', line 2

def v3_ext
{"/v3/policies/{policy_id}/OS-ENDPOINT-POLICY/endpoints/{endpoint_id}"=>
{:PUT=>[:associate_policy_and_endpoint],
 :GET=>[:verify_a_policy_and_endpoint_association],
 :DELETE=>[:delete_a_policy_and_endpoint_association]},
 "/v3/policies/{policy_id}/OS-ENDPOINT-POLICY/services/{service_id}"=>
{:PUT=>[:associate_policy_and_service_type_endpoint],
 :GET=>[:verify_a_policy_and_service_type_endpoint_association],
 :DELETE=>[:delete_a_policy_and_service_type_endpoint_association]},
 "/v3/policies/{policy_id}/OS-ENDPOINT-POLICY/policy"=>
{:GET=>[:show_policy_for_endpoint],
 :HEAD=>[:check_policy_and_service_endpoint_association]},
 "/v3/policies/{policy_id}/OS-ENDPOINT-POLICY/services/{service_id}/regions/{region_id}"=>
{:PUT=>[:associate_policy_and_service_type_endpoint_in_a_region],
 :GET=>[:verify_a_policy_and_service_type_endpoint_in_a_region_association],
 :DELETE=>
  [:delete_a_policy_and_service_type_endpoint_in_a_region_association]},
 "/v3/policies/{policy_id}/OS-ENDPOINT-POLICY/endpoints"=>
{:GET=>[:list_policy_and_service_endpoint_associations]},
 "/v3/endpoints/{endpoint_id}/OS-ENDPOINT-POLICY/policy"=>
{:GET=>[:show_the_effective_policy_associated_with_an_endpoint]},
 "/v3/OS-OAUTH1/consumers"=>
{:POST=>[:create_consumer], :GET=>[:list_consumers]},
 "/v3/OS-OAUTH1/consumers/{consumer_id}"=>
{:DELETE=>[:delete_consumer],
 :GET=>[:show_consumer_details],
 :PATCH=>[:update_consumer]},
 "/v3/OS-OAUTH1/request_token"=>{:POST=>[:create_request_token]},
 "/v3/OS-OAUTH1/authorize/{request_token_id}"=>
{:PUT=>[:authorize_request_token]},
 "/v3/OS-OAUTH1/access_token"=>{:POST=>[:create_access_token]},
 "/v3/users/{user_id}/OS-OAUTH1/access_tokens/{access_token_id}"=>
{:GET=>[:get_access_token], :DELETE=>[:revoke_access_token]},
 "/v3/users/{user_id}/OS-OAUTH1/access_tokens"=>{:GET=>[:list_access_tokens]},
 "/v3/users/{user_id}/OS-OAUTH1/access_tokens/{access_token_id}/roles"=>
{:GET=>[:list_roles_for_an_access_token]},
 "/v3/users/{user_id}/OS-OAUTH1/access_tokens/{access_token_id}/roles/{role_id}"=>
{:GET=>[:show_role_details_for_an_access_token]},
 "/v3/auth/tokens"=>
{:POST=>
  [:authenticate_with_identity_api,
   :consuming_a_trust,
   :request_a_scoped_os_federation_token]},
 "/v3/OS-TRUST/trusts"=>{:POST=>[:create_trust], :GET=>[:list_trusts]},
 "/v3/OS-TRUST/trusts/{trust_id}"=>
{:GET=>[:get_trust], :DELETE=>[:delete_trust]},
 "/v3/OS-TRUST/trusts/{trust_id}/roles"=>
{:GET=>[:list_roles_delegated_by_a_trust]},
 "/v3/OS-TRUST/trusts/{trust_id}/roles/{role_id}"=>
{:HEAD=>[:check_if_a_role_is_delegated_by_a_trust],
 :GET=>[:get_role_delegated_by_a_trust]},
 "/v3/OS-REVOKE/events"=>{:GET=>[:list_revocation_events]},
 "/v3/OS-EP-FILTER/endpoint_groups"=>
{:POST=>[:create_endpoint_group], :GET=>[:list_endpoint_groups]},
 "/v3/OS-EP-FILTER/endpoint_groups/{endpoint_group_id}"=>
{:GET=>[:get_endpoint_group],
 :HEAD=>[:check_endpoint_group],
 :PATCH=>[:update_endpoint_group],
 :DELETE=>[:delete_endpoint_group]},
 "/v3/OS-EP-FILTER/projects/{project_id}/endpoints/{endpoint_id}"=>
{:PUT=>[:create_association],
 :HEAD=>[:check_association],
 :DELETE=>[:delete_association]},
 "/v3/OS-EP-FILTER/projects/{project_id}/endpoints"=>
{:GET=>[:list_associations_by_project]},
 "/v3/OS-EP-FILTER/endpoints/{endpoint_id}/projects"=>
{:GET=>[:list_associations_by_endpoint]},
 "/v3/OS-EP-FILTER/endpoint_groups/{endpoint_group_id}/projects/{project_id}"=>
{:PUT=>[:create_endpoint_group_to_project_association],
 :GET=>[:get_endpoint_group_to_project_association],
 :HEAD=>[:check_endpoint_group_to_project_association],
 :DELETE=>[:delete_endpoint_group_to_project_association]},
 "/v3/OS-EP-FILTER/endpoint_groups/{endpoint_group_id}/projects"=>
{:GET=>[:list_projects_associated_with_endpoint_group]},
 "/v3/OS-EP-FILTER/endpoint_groups/{endpoint_group_id}/endpoints"=>
{:GET=>[:list_endpoints_associated_with_endpoint_group]},
 "/v3/OS-EP-FILTER/projects/{project_id}/endpoint_groups"=>
{:GET=>[:list_endpoint_groups_associated_with_project]},
 "/v3/OS-FEDERATION/identity_providers/{id}"=>
{:PUT=>[:register_an_identity_provider],
 :GET=>[:get_identity_provider],
 :DELETE=>[:delete_identity_provider],
 :PATCH=>[:update_identity_provider]},
 "/v3/OS-FEDERATION/identity_providers"=>{:GET=>[:list_identity_providers]},
 "/v3/OS-FEDERATION/identity_providers/{idp_id}/protocols/{protocol_id}"=>
{:PUT=>[:add_a_protocol_and_attribute_mapping_to_an_identity_provider],
 :GET=>[:get_a_protocol_and_attribute_mapping_for_an_identity_provider],
 :PATCH=>
  [:update_the_attribute_mapping_for_an_identity_provider_and_protocol],
 :DELETE=>
  [:delete_a_protocol_and_attribute_mapping_from_an_identity_provider]},
 "/v3/OS-FEDERATION/identity_providers/{id}/protocols"=>
{:GET=>[:list_all_protocol_and_attribute_mappings_of_an_identity_provider]},
 "/v3/OS-FEDERATION/mappings/{id}"=>
{:PUT=>[:create_a_mapping],
 :GET=>[:get_a_mapping],
 :PATCH=>[:update_a_mapping],
 :DELETE=>[:delete_a_mapping]},
 "/v3/OS-FEDERATION/mappings"=>{:GET=>[:list_all_mappings]},
 "/v3/OS-FEDERATION/service_providers/{id}"=>
{:PUT=>[:register_a_service_provider],
 :GET=>[:get_service_provider],
 :DELETE=>[:delete_service_provider],
 :PATCH=>[:update_service_provider]},
 "/v3/OS-FEDERATION/service_providers"=>{:GET=>[:listing_service_providers]},
 "/v3/OS-FEDERATION/projects"=>
{:GET=>[:list_projects_a_federated_user_can_access]},
 "/v3/OS-FEDERATION/domains"=>
{:GET=>[:list_domains_a_federated_user_can_access]},
 "/v3/OS-FEDERATION/identity_providers/{idp_id}/protocols/{protocol_id}/auth"=>
{:GET=>[:request_an_unscoped_os_federation_token]},
 "/v3/auth/OS-FEDERATION/websso/{protocol_id}?origin=https%3A//horizon.example.com"=>
{:GET=>[:web_single_sign_on_authentication_new_in_version_1_2]},
 "/v3/auth/OS-FEDERATION/identity_providers/{idp_id}/protocol/{protocol_id}/websso?origin=https%3A//horizon.example.com"=>
{:GET=>[:web_single_sign_on_authentication_new_in_version_1_3]},
 "/v3/auth/OS-FEDERATION/saml2"=>{:POST=>[:generate_a_saml_assertion]},
 "/v3/auth/OS-FEDERATION/saml2/ecp"=>
{:POST=>[:generate_an_ecp_wrapped_saml_assertion]},
 "/v3/OS-FEDERATION/saml2/metadata"=>{:GET=>[:retrieve_metadata_properties]},
 "/v3/OS-SIMPLE-CERT/ca"=>{:GET=>[:show_ca_certificate]},
 "/v3/OS-SIMPLE-CERT/certificates"=>{:GET=>[:show_signing_certificate]}}
end