# File lib/hammer_cli_csv/roles.rb, line 61
      def create_roles_from_csv(line)
        line[COUNT].to_i.times do |number|
          name = namify(line[NAME], number)
          search = namify(line[SEARCH], number) if line[SEARCH]

          if !@existing_roles[name]
            print "Creating role '#{name}'..." if option_verbose?
            role = @api.resource(:roles).call(:create, {
                                                'name' => name
                                              })
            @existing_roles[name] = role['id']
          else
            print "Updating role '#{name}'..." if option_verbose?
            @api.resource(:roles).call(:update, {
                                         'id' => @existing_roles[name]
                                       })
          end

          permissions = collect_column(line[PERMISSIONS]) do |permission|
            foreman_permission(:name => permission)
          end
          organizations = collect_column(line[ORGANIZATIONS]) do |organization|
            foreman_organization(:name => organization)
          end
          locations = collect_column(line[LOCATIONS]) do |location|
            foreman_location(:name => location)
          end

          filter_id = foreman_filter(name, line[RESOURCE], search)
          if !filter_id
            print " creating filter #{line[RESOURCE]}..."
            @api.resource(:filters).call(:create, {
                                           'role_id' => @existing_roles[name],
                                           'search' => search,
                                           'organization_ids' => organizations,
                                           'location_ids' => locations,
                                           'permission_ids' => permissions
                                         })
          else
            print " updating filter #{line[RESOURCE]}..."
            @api.resource(:filters).call(:update, {
                                           'id' => filter_id,
                                           'search' => search,
                                           'organization_ids' => organizations,
                                           'location_ids' => locations,
                                           'permission_ids' => permissions
                                         })
          end

          puts 'done' if option_verbose?
        end
      end