Class: Insights::API::Common::RBAC::ValidateGroups

Inherits:
Object
  • Object
show all
Defined in:
lib/insights/api/common/rbac/validate_groups.rb

Instance Method Summary collapse

Constructor Details

#initialize(group_uuids) ⇒ ValidateGroups

Returns a new instance of ValidateGroups.



6
7
8
# File 'lib/insights/api/common/rbac/validate_groups.rb', line 6

def initialize(group_uuids)
  @group_uuids = group_uuids
end

Instance Method Details

#processObject



10
11
12
13
14
15
16
17
18
19
# File 'lib/insights/api/common/rbac/validate_groups.rb', line 10

def process
  return unless Insights::API::Common::RBAC::Access.enabled?

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