Module: ManageIQ::API::Common::RBAC::Utilities

Included in:
QuerySharedResource, ShareResource
Defined in:
lib/manageiq/api/common/rbac/utilities.rb

Instance Method Summary collapse

Instance Method Details

#parse_ids_from_name(name) ⇒ Object



19
20
21
22
23
24
25
# File 'lib/manageiq/api/common/rbac/utilities.rb', line 19

def parse_ids_from_name(name)
  @regexp ||= Regexp.new("#{@app_name}-#{@resource_name}-(?<resource_id>.*)-group-(?<group_uuid>.*)")
  result = @regexp.match(name)
  if result
    [result[:resource_id], result[:group_uuid]]
  end
end

#unique_name(resource_id, group_id) ⇒ Object



15
16
17
# File 'lib/manageiq/api/common/rbac/utilities.rb', line 15

def unique_name(resource_id, group_id)
  "#{@app_name}-#{@resource_name}-#{resource_id}-group-#{group_id}"
end

#validate_groupsObject



6
7
8
9
10
11
12
13
# File 'lib/manageiq/api/common/rbac/utilities.rb', line 6

def validate_groups
  Service.call(RBACApiClient::GroupApi) do |api|
    uuids = SortedSet.new
    Service.paginate(api, :list_groups, {}).each { |group| uuids << group.uuid }
    missing = @group_uuids - uuids
    raise ManageIQ::API::Common::InvalidParameter, "The following group uuids are missing #{missing.to_a.join(",")}" unless missing.empty?
  end
end