class Fog::OpenStack::Identity::V3::Project

Attributes

cache[RW]

Public Instance Methods

check_group_role(group_id, role_id) click to toggle source
# File lib/fog/openstack/identity/v3/models/project.rb, line 91
def check_group_role(group_id, role_id)
  requires :id
  begin
    service.check_project_group_role(id, group_id, role_id)
  rescue Fog::OpenStack::Identity::NotFound
    return false
  end
  true
end
check_user_role(user_id, role_id) click to toggle source
# File lib/fog/openstack/identity/v3/models/project.rb, line 64
def check_user_role(user_id, role_id)
  requires :id
  begin
    service.check_project_user_role(id, user_id, role_id)
  rescue Fog::OpenStack::Identity::NotFound
    return false
  end
  true
end
create() click to toggle source
# File lib/fog/openstack/identity/v3/models/project.rb, line 45
def create
  clear_cache
  merge_attributes(
    service.create_project(attributes).body['project']
  )
  self
end
destroy() click to toggle source
# File lib/fog/openstack/identity/v3/models/project.rb, line 29
def destroy
  clear_cache
  requires :id
  service.delete_project(id)
  true
end
grant_role_to_group(role_id, group_id) click to toggle source
# File lib/fog/openstack/identity/v3/models/project.rb, line 85
def grant_role_to_group(role_id, group_id)
  clear_cache
  requires :id
  service.grant_project_group_role(id, group_id, role_id)
end
grant_role_to_user(role_id, user_id) click to toggle source
# File lib/fog/openstack/identity/v3/models/project.rb, line 58
def grant_role_to_user(role_id, user_id)
  clear_cache
  requires :id
  service.grant_project_user_role(id, user_id, role_id)
end
group_roles(group_id) click to toggle source
# File lib/fog/openstack/identity/v3/models/project.rb, line 80
def group_roles(group_id)
  requires :id
  service.list_project_group_roles(id, group_id).body['roles']
end
revoke_role_from_group(role_id, group_id) click to toggle source
# File lib/fog/openstack/identity/v3/models/project.rb, line 101
def revoke_role_from_group(role_id, group_id)
  clear_cache
  requires :id
  service.revoke_project_group_role(id, group_id, role_id)
end
revoke_role_from_user(role_id, user_id) click to toggle source
# File lib/fog/openstack/identity/v3/models/project.rb, line 74
def revoke_role_from_user(role_id, user_id)
  clear_cache
  requires :id
  service.revoke_project_user_role(id, user_id, role_id)
end
to_s() click to toggle source
# File lib/fog/openstack/identity/v3/models/project.rb, line 25
def to_s
  name
end
update(attr = nil) click to toggle source
# File lib/fog/openstack/identity/v3/models/project.rb, line 36
def update(attr = nil)
  clear_cache
  requires :id
  merge_attributes(
    service.update_project(id, attr || attributes).body['project']
  )
  self
end
user_roles(user_id) click to toggle source
# File lib/fog/openstack/identity/v3/models/project.rb, line 53
def user_roles(user_id)
  requires :id
  service.list_project_user_roles(id, user_id).body['roles']
end

Private Instance Methods

clear_cache() click to toggle source
# File lib/fog/openstack/identity/v3/models/project.rb, line 109
def clear_cache
  self.class.cache = {}
end