class Fog::OpenStack::Identity::V3::Real

Public Instance Methods

add_user_to_group(group_id, user_id) click to toggle source
# File lib/fog/openstack/identity/v3/requests/add_user_to_group.rb, line 6
def add_user_to_group(group_id, user_id)
  request(
    :expects => [204],
    :method  => 'PUT',
    :path    => "groups/#{group_id}/users/#{user_id}"
  )
end
api_path_prefix() click to toggle source
Calls superclass method Fog::OpenStack::Core#api_path_prefix
# File lib/fog/openstack/identity/v3.rb, line 146
def api_path_prefix
  @path_prefix = version_in_path?(@openstack_management_uri.path) ? '' : 'v3'
  super
end
auth_domains(options = {}) click to toggle source
# File lib/fog/openstack/identity/v3/requests/auth_domains.rb, line 6
def auth_domains(options = {})
  request(
    :expects => [200],
    :method  => 'GET',
    :path    => "auth/domains",
    :query   => options
  )
end
auth_projects(options = {}) click to toggle source
# File lib/fog/openstack/identity/v3/requests/auth_projects.rb, line 6
def auth_projects(options = {})
  request(
    :expects => [200],
    :method  => 'GET',
    :path    => "auth/projects",
    :query   => options
  )
end
check_domain_group_role(id, group_id, role_id) click to toggle source
# File lib/fog/openstack/identity/v3/requests/check_domain_group_role.rb, line 6
def check_domain_group_role(id, group_id, role_id)
  request(
    :expects => [204],
    :method  => 'HEAD',
    :path    => "domains/#{id}/groups/#{group_id}/roles/#{role_id}"
  )
end
check_domain_user_role(id, user_id, role_id) click to toggle source
# File lib/fog/openstack/identity/v3/requests/check_domain_user_role.rb, line 6
def check_domain_user_role(id, user_id, role_id)
  request(
    :expects => [204],
    :method  => 'HEAD',
    :path    => "domains/#{id}/users/#{user_id}/roles/#{role_id}"
  )
end
check_project_group_role(id, group_id, role_id) click to toggle source
# File lib/fog/openstack/identity/v3/requests/check_project_group_role.rb, line 6
def check_project_group_role(id, group_id, role_id)
  request(
    :expects => [204],
    :method  => 'HEAD',
    :path    => "projects/#{id}/groups/#{group_id}/roles/#{role_id}"
  )
end
check_project_user_role(id, user_id, role_id) click to toggle source
# File lib/fog/openstack/identity/v3/requests/check_project_user_role.rb, line 6
def check_project_user_role(id, user_id, role_id)
  request(
    :expects => [204],
    :method  => 'HEAD',
    :path    => "projects/#{id}/users/#{user_id}/roles/#{role_id}"
  )
end
create_domain(domain) click to toggle source
# File lib/fog/openstack/identity/v3/requests/create_domain.rb, line 6
def create_domain(domain)
  request(
    :expects => [201],
    :method  => 'POST',
    :path    => "domains",
    :body    => Fog::JSON.encode(:domain => domain)
  )
end
create_endpoint(endpoint) click to toggle source
# File lib/fog/openstack/identity/v3/requests/create_endpoint.rb, line 6
def create_endpoint(endpoint)
  request(
    :expects => [201],
    :method  => 'POST',
    :path    => "endpoints",
    :body    => Fog::JSON.encode(:endpoint => endpoint)
  )
end
create_group(group) click to toggle source
# File lib/fog/openstack/identity/v3/requests/create_group.rb, line 6
def create_group(group)
  request(
    :expects => [201],
    :method  => 'POST',
    :path    => "groups",
    :body    => Fog::JSON.encode(:group => group)
  )
end
create_os_credential(credential) click to toggle source
# File lib/fog/openstack/identity/v3/requests/create_os_credential.rb, line 6
def create_os_credential(credential)
  request(
    :expects => [201],
    :method  => 'POST',
    :path    => "credentials",
    :body    => Fog::JSON.encode(:credential => credential)
  )
end
create_policy(policy) click to toggle source
# File lib/fog/openstack/identity/v3/requests/create_policy.rb, line 6
def create_policy(policy)
  request(
    :expects => [201],
    :method  => 'POST',
    :path    => "policies",
    :body    => Fog::JSON.encode(:policy => policy)
  )
end
create_project(project) click to toggle source
# File lib/fog/openstack/identity/v3/requests/create_project.rb, line 6
def create_project(project)
  request(
    :expects => [201],
    :method  => 'POST',
    :path    => "projects",
    :body    => Fog::JSON.encode(:project => project)
  )
end
create_role(role) click to toggle source
# File lib/fog/openstack/identity/v3/requests/create_role.rb, line 6
def create_role(role)
  request(
    :expects => [201],
    :method  => 'POST',
    :path    => "roles",
    :body    => Fog::JSON.encode(:role => role)
  )
end
create_service(service) click to toggle source
# File lib/fog/openstack/identity/v3/requests/create_service.rb, line 6
def create_service(service)
  request(
    :expects => [201],
    :method  => 'POST',
    :path    => "services",
    :body    => Fog::JSON.encode(:service => service)
  )
end
create_user(user) click to toggle source
# File lib/fog/openstack/identity/v3/requests/create_user.rb, line 6
def create_user(user)
  request(
    :expects => [201],
    :method  => 'POST',
    :path    => "users",
    :body    => Fog::JSON.encode(:user => user)
  )
end
default_path_prefix() click to toggle source
# File lib/fog/openstack/identity/v3.rb, line 151
def default_path_prefix
  @path_prefix
end
default_service_type() click to toggle source
# File lib/fog/openstack/identity/v3.rb, line 155
def default_service_type
  %w[identity_v3 identityv3 identity]
end
delete_domain(id) click to toggle source
# File lib/fog/openstack/identity/v3/requests/delete_domain.rb, line 6
def delete_domain(id)
  request(
    :expects => [204],
    :method  => 'DELETE',
    :path    => "domains/#{id}"
  )
end
delete_endpoint(id) click to toggle source
# File lib/fog/openstack/identity/v3/requests/delete_endpoint.rb, line 6
def delete_endpoint(id)
  request(
    :expects => [204],
    :method  => 'DELETE',
    :path    => "endpoints/#{id}"
  )
end
delete_group(id) click to toggle source
# File lib/fog/openstack/identity/v3/requests/delete_group.rb, line 6
def delete_group(id)
  request(
    :expects => [204],
    :method  => 'DELETE',
    :path    => "groups/#{id}"
  )
end
delete_os_credential(id) click to toggle source
# File lib/fog/openstack/identity/v3/requests/delete_os_credential.rb, line 6
def delete_os_credential(id)
  request(
    :expects => [204],
    :method  => 'DELETE',
    :path    => "credentials/#{id}"
  )
end
delete_policy(id) click to toggle source
# File lib/fog/openstack/identity/v3/requests/delete_policy.rb, line 6
def delete_policy(id)
  request(
    :expects => [204],
    :method  => 'DELETE',
    :path    => "policies/#{id}"
  )
end
delete_project(id) click to toggle source
# File lib/fog/openstack/identity/v3/requests/delete_project.rb, line 6
def delete_project(id)
  request(
    :expects => [204],
    :method  => 'DELETE',
    :path    => "projects/#{id}"
  )
end
delete_role(id) click to toggle source
# File lib/fog/openstack/identity/v3/requests/delete_role.rb, line 6
def delete_role(id)
  request(
    :expects => [204],
    :method  => 'DELETE',
    :path    => "roles/#{id}"
  )
end
delete_service(id) click to toggle source
# File lib/fog/openstack/identity/v3/requests/delete_service.rb, line 6
def delete_service(id)
  request(
    :expects => [204],
    :method  => 'DELETE',
    :path    => "services/#{id}"
  )
end
delete_user(id) click to toggle source
# File lib/fog/openstack/identity/v3/requests/delete_user.rb, line 6
def delete_user(id)
  request(
    :expects => [204],
    :method  => 'DELETE',
    :path    => "users/#{id}"
  )
end
get_domain(id) click to toggle source
# File lib/fog/openstack/identity/v3/requests/get_domain.rb, line 6
def get_domain(id)
  request(
    :expects => [200],
    :method  => 'GET',
    :path    => "domains/#{id}"
  )
end
get_endpoint(id) click to toggle source
# File lib/fog/openstack/identity/v3/requests/get_endpoint.rb, line 6
def get_endpoint(id)
  request(
    :expects => [200],
    :method  => 'GET',
    :path    => "endpoints/#{id}"
  )
end
get_group(id) click to toggle source
# File lib/fog/openstack/identity/v3/requests/get_group.rb, line 6
def get_group(id)
  request(
    :expects => [200],
    :method  => 'GET',
    :path    => "groups/#{id}"
  )
end
get_os_credential(id) click to toggle source
# File lib/fog/openstack/identity/v3/requests/get_os_credential.rb, line 6
def get_os_credential(id)
  request(
    :expects => [200],
    :method  => 'GET',
    :path    => "credentials/#{id}"
  )
end
get_policy(id) click to toggle source
# File lib/fog/openstack/identity/v3/requests/get_policy.rb, line 6
def get_policy(id)
  request(
    :expects => [200],
    :method  => 'GET',
    :path    => "policies/#{id}"
  )
end
get_project(id, options = {}) click to toggle source
# File lib/fog/openstack/identity/v3/requests/get_project.rb, line 6
def get_project(id, options = {})
  request(
    :expects => [200],
    :method  => 'GET',
    :path    => "projects/#{id}",
    :query   => options
  )
end
get_role(id) click to toggle source
# File lib/fog/openstack/identity/v3/requests/get_role.rb, line 6
def get_role(id)
  request(
    :expects => [200],
    :method  => 'GET',
    :path    => "roles/#{id}"
  )
end
get_service(id) click to toggle source
# File lib/fog/openstack/identity/v3/requests/get_service.rb, line 6
def get_service(id)
  request(
    :expects => [200],
    :method  => 'GET',
    :path    => "projects/#{id}"
  )
end
get_user(id) click to toggle source
# File lib/fog/openstack/identity/v3/requests/get_user.rb, line 6
def get_user(id)
  request(
    :expects => [200],
    :method  => 'GET',
    :path    => "users/#{id}"
  )
end
grant_domain_group_role(id, group_id, role_id) click to toggle source
# File lib/fog/openstack/identity/v3/requests/grant_domain_group_role.rb, line 6
def grant_domain_group_role(id, group_id, role_id)
  request(
    :expects => [204],
    :method  => 'PUT',
    :path    => "domains/#{id}/groups/#{group_id}/roles/#{role_id}"
  )
end
grant_domain_user_role(id, user_id, role_id) click to toggle source
# File lib/fog/openstack/identity/v3/requests/grant_domain_user_role.rb, line 6
def grant_domain_user_role(id, user_id, role_id)
  request(
    :expects => [204],
    :method  => 'PUT',
    :path    => "domains/#{id}/users/#{user_id}/roles/#{role_id}"
  )
end
grant_project_group_role(id, group_id, role_id) click to toggle source
# File lib/fog/openstack/identity/v3/requests/grant_project_group_role.rb, line 6
def grant_project_group_role(id, group_id, role_id)
  request(
    :expects => [204],
    :method  => 'PUT',
    :path    => "projects/#{id}/groups/#{group_id}/roles/#{role_id}"
  )
end
grant_project_user_role(id, user_id, role_id) click to toggle source
# File lib/fog/openstack/identity/v3/requests/grant_project_user_role.rb, line 6
def grant_project_user_role(id, user_id, role_id)
  request(
    :expects => [204],
    :method  => 'PUT',
    :path    => "projects/#{id}/users/#{user_id}/roles/#{role_id}"
  )
end
group_user_check(group_id, user_id) click to toggle source
# File lib/fog/openstack/identity/v3/requests/group_user_check.rb, line 6
def group_user_check(group_id, user_id)
  request(
    :expects => [204],
    :method  => 'HEAD',
    :path    => "groups/#{group_id}/users/#{user_id}"
  )
end
list_domain_group_roles(id, group_id) click to toggle source
# File lib/fog/openstack/identity/v3/requests/list_domain_group_roles.rb, line 6
def list_domain_group_roles(id, group_id)
  request(
    :expects => [200],
    :method  => 'GET',
    :path    => "domains/#{id}/groups/#{group_id}/roles"
  )
end
list_domain_user_roles(id, user_id) click to toggle source
# File lib/fog/openstack/identity/v3/requests/list_domain_user_roles.rb, line 6
def list_domain_user_roles(id, user_id)
  request(
    :expects => [200],
    :method  => 'GET',
    :path    => "domains/#{id}/users/#{user_id}/roles"
  )
end
list_domains(options = {}) click to toggle source
# File lib/fog/openstack/identity/v3/requests/list_domains.rb, line 6
def list_domains(options = {})
  request(
    :expects => [200],
    :method  => 'GET',
    :path    => "domains",
    :query   => options
  )
end
list_endpoints(options = {}) click to toggle source
# File lib/fog/openstack/identity/v3/requests/list_endpoints.rb, line 6
def list_endpoints(options = {})
  request(
    :expects => [200],
    :method  => 'GET',
    :path    => "endpoints",
    :query   => options
  )
end
list_group_users(id, options = {}) click to toggle source
# File lib/fog/openstack/identity/v3/requests/list_group_users.rb, line 6
def list_group_users(id, options = {})
  request(
    :expects => [200],
    :method  => 'GET',
    :path    => "groups/#{id}/users",
    :query   => options
  )
end
list_groups(options = {}) click to toggle source
# File lib/fog/openstack/identity/v3/requests/list_groups.rb, line 6
def list_groups(options = {})
  user_id = options.delete('user_id') || options.delete(:user_id)

  path = if user_id
           "users/#{user_id}/groups"
         else
           "groups"
         end

  request(
    :expects => [200],
    :method  => 'GET',
    :path    => path,
    :query   => options
  )
end
list_os_credentials(options = {}) click to toggle source
# File lib/fog/openstack/identity/v3/requests/list_os_credentials.rb, line 6
def list_os_credentials(options = {})
  request(
    :expects => [200],
    :method  => 'GET',
    :path    => "credentials",
    :query   => options
  )
end
list_policies(options = {}) click to toggle source
# File lib/fog/openstack/identity/v3/requests/list_policies.rb, line 6
def list_policies(options = {})
  request(
    :expects => [200],
    :method  => 'GET',
    :path    => "policies",
    :query   => options
  )
end
list_project_group_roles(id, group_id) click to toggle source
# File lib/fog/openstack/identity/v3/requests/list_project_group_roles.rb, line 6
def list_project_group_roles(id, group_id)
  request(
    :expects => [200],
    :method  => 'GET',
    :path    => "projects/#{id}/groups/#{group_id}/roles"
  )
end
list_project_user_roles(id, user_id) click to toggle source
# File lib/fog/openstack/identity/v3/requests/list_project_user_roles.rb, line 6
def list_project_user_roles(id, user_id)
  request(
    :expects => [200],
    :method  => 'GET',
    :path    => "projects/#{id}/users/#{user_id}/roles"
  )
end
list_projects(options = {}) click to toggle source
# File lib/fog/openstack/identity/v3/requests/list_projects.rb, line 6
def list_projects(options = {})
  user_id = options.delete('user_id') || options.delete(:user_id)
  path = if user_id
           "users/#{user_id}/projects"
         else
           "projects"
         end

  request(
    :expects => [200],
    :method  => 'GET',
    :path    => path,
    :query   => options
  )
end
list_role_assignments(options = {}) click to toggle source
# File lib/fog/openstack/identity/v3/requests/list_role_assignments.rb, line 6
def list_role_assignments(options = {})
  # Backwards compatibility name mapping, also serves as single pane of glass, since keystone broke
  # consistency in naming of options, just for this one API call
  name_mapping = {
    :group_id   => 'group.id',
    :role_id    => 'role.id',
    :domain_id  => 'scope.domain.id',
    :project_id => 'scope.project.id',
    :user_id    => 'user.id',
  }
  name_mapping.keys.each do |key|
    if (opt = options.delete(key))
      options[name_mapping[key]] = opt
    end
  end

  request(
    :expects => [200],
    :method  => 'GET',
    :path    => "role_assignments",
    :query   => options
  )
end
list_roles(options = {}) click to toggle source
# File lib/fog/openstack/identity/v3/requests/list_roles.rb, line 6
def list_roles(options = {})
  request(
    :expects => [200],
    :method  => 'GET',
    :path    => "roles",
    :query   => options
  )
end
list_services(options = {}) click to toggle source
# File lib/fog/openstack/identity/v3/requests/list_services.rb, line 6
def list_services(options = {})
  request(
    :expects => [200],
    :method  => 'GET',
    :path    => "services",
    :query   => options
  )
end
list_user_groups(user_id) click to toggle source
# File lib/fog/openstack/identity/v3/requests/list_user_groups.rb, line 6
def list_user_groups(user_id)
  request(
    :expects => [200],
    :method  => 'GET',
    :path    => "users/#{user_id}/groups"
  )
end
list_user_projects(user_id, options = {}) click to toggle source
# File lib/fog/openstack/identity/v3/requests/list_user_projects.rb, line 6
def list_user_projects(user_id, options = {})
  request(
    :expects => [200],
    :method  => 'GET',
    :path    => "users/#{user_id}/projects",
    :query   => options
  )
end
list_users(options = {}) click to toggle source
# File lib/fog/openstack/identity/v3/requests/list_users.rb, line 6
def list_users(options = {})
  request(
    :expects => [200],
    :method  => 'GET',
    :path    => "users",
    :query   => options
  )
end
remove_user_from_group(group_id, user_id) click to toggle source
# File lib/fog/openstack/identity/v3/requests/remove_user_from_group.rb, line 6
def remove_user_from_group(group_id, user_id)
  request(
    :expects => [204],
    :method  => 'DELETE',
    :path    => "groups/#{group_id}/users/#{user_id}"
  )
end
revoke_domain_group_role(id, group_id, role_id) click to toggle source
# File lib/fog/openstack/identity/v3/requests/revoke_domain_group_role.rb, line 6
def revoke_domain_group_role(id, group_id, role_id)
  request(
    :expects => [204],
    :method  => 'DELETE',
    :path    => "domains/#{id}/groups/#{group_id}/roles/#{role_id}"
  )
end
revoke_domain_user_role(id, user_id, role_id) click to toggle source
# File lib/fog/openstack/identity/v3/requests/revoke_domain_user_role.rb, line 6
def revoke_domain_user_role(id, user_id, role_id)
  request(
    :expects => [204],
    :method  => 'DELETE',
    :path    => "domains/#{id}/users/#{user_id}/roles/#{role_id}"
  )
end
revoke_project_group_role(id, group_id, role_id) click to toggle source
# File lib/fog/openstack/identity/v3/requests/revoke_project_group_role.rb, line 6
def revoke_project_group_role(id, group_id, role_id)
  request(
    :expects => [204],
    :method  => 'DELETE',
    :path    => "projects/#{id}/groups/#{group_id}/roles/#{role_id}"
  )
end
revoke_project_user_role(id, user_id, role_id) click to toggle source
# File lib/fog/openstack/identity/v3/requests/revoke_project_user_role.rb, line 6
def revoke_project_user_role(id, user_id, role_id)
  request(
    :expects => [204],
    :method  => 'DELETE',
    :path    => "projects/#{id}/users/#{user_id}/roles/#{role_id}"
  )
end
token_authenticate(auth) click to toggle source
# File lib/fog/openstack/identity/v3/requests/token_authenticate.rb, line 6
def token_authenticate(auth)
  request(
    :expects => [201],
    :method  => 'POST',
    :path    => "auth/tokens",
    :body    => Fog::JSON.encode(auth)
  )
end
token_check(subject_token) click to toggle source
# File lib/fog/openstack/identity/v3/requests/token_check.rb, line 6
def token_check(subject_token)
  request(
    :expects => [200, 204],
    :method  => 'HEAD',
    :path    => "auth/tokens",
    :headers => {"X-Subject-Token" => subject_token, "X-Auth-Token" => auth_token,}
  )
end
token_revoke(subject_token) click to toggle source
# File lib/fog/openstack/identity/v3/requests/token_revoke.rb, line 6
def token_revoke(subject_token)
  request(
    :expects => [200, 204],
    :method  => 'DELETE',
    :path    => "auth/tokens",
    :headers => {"X-Subject-Token" => subject_token, "X-Auth-Token" => auth_token,}
  )
end
token_validate(subject_token) click to toggle source
# File lib/fog/openstack/identity/v3/requests/token_validate.rb, line 6
def token_validate(subject_token)
  request(
    :expects => [200],
    :method  => 'GET',
    :path    => "auth/tokens",
    :headers => {"X-Subject-Token" => subject_token, "X-Auth-Token" => auth_token}
  )
end
update_domain(id, domain) click to toggle source
# File lib/fog/openstack/identity/v3/requests/update_domain.rb, line 6
def update_domain(id, domain)
  request(
    :expects => [200],
    :method  => 'PATCH',
    :path    => "domains/#{id}",
    :body    => Fog::JSON.encode(:domain => domain)
  )
end
update_endpoint(id, endpoint) click to toggle source
# File lib/fog/openstack/identity/v3/requests/update_endpoint.rb, line 6
def update_endpoint(id, endpoint)
  request(
    :expects => [200],
    :method  => 'PATCH',
    :path    => "endpoints/#{id}",
    :body    => Fog::JSON.encode(:endpoint => endpoint)
  )
end
update_group(id, group) click to toggle source
# File lib/fog/openstack/identity/v3/requests/update_group.rb, line 6
def update_group(id, group)
  request(
    :expects => [200],
    :method  => 'PATCH',
    :path    => "groups/#{id}",
    :body    => Fog::JSON.encode(:group => group)
  )
end
update_os_credential(id, credential) click to toggle source
# File lib/fog/openstack/identity/v3/requests/update_os_credential.rb, line 6
def update_os_credential(id, credential)
  request(
    :expects => [200],
    :method  => 'PATCH',
    :path    => "credentials/#{id}",
    :body    => Fog::JSON.encode(:credential => credential)
  )
end
update_policy(id, policy) click to toggle source
# File lib/fog/openstack/identity/v3/requests/update_policy.rb, line 6
def update_policy(id, policy)
  request(
    :expects => [200],
    :method  => 'PATCH',
    :path    => "policies/#{id}",
    :body    => Fog::JSON.encode(:policy => policy)
  )
end
update_project(id, project) click to toggle source
# File lib/fog/openstack/identity/v3/requests/update_project.rb, line 6
def update_project(id, project)
  request(
    :expects => [200],
    :method  => 'PATCH',
    :path    => "projects/#{id}",
    :body    => Fog::JSON.encode(:project => project)
  )
end
update_role(id, role) click to toggle source
# File lib/fog/openstack/identity/v3/requests/update_role.rb, line 6
def update_role(id, role)
  request(
    :expects => [200],
    :method  => 'PATCH',
    :path    => "roles/#{id}",
    :body    => Fog::JSON.encode(:role => role)
  )
end
update_service(id, service) click to toggle source
# File lib/fog/openstack/identity/v3/requests/update_service.rb, line 6
def update_service(id, service)
  request(
    :expects => [200],
    :method  => 'PATCH',
    :path    => "services/#{id}",
    :body    => Fog::JSON.encode(:service => service)
  )
end
update_user(id, user) click to toggle source
# File lib/fog/openstack/identity/v3/requests/update_user.rb, line 6
def update_user(id, user)
  request(
    :expects => [200],
    :method  => 'PATCH',
    :path    => "users/#{id}",
    :body    => Fog::JSON.encode(:user => user)
  )
end
version_in_path?(url) click to toggle source
# File lib/fog/openstack/identity/v3.rb, line 159
def version_in_path?(url)
  true if url =~ /\/v3(\/)*.*$/
end