Added basic IAM data collection for users, groups, roles and virtualmfadevices.
work in progress for ElasticSearch
first attempt at mapping queryMap to ES query
store values so we can pull them out with "fields"
various fixes, use .live index when appropriate.  Set routing key when "id" used
in query.  get "fields" to work when requesting subset of document.
added upsert/remove/collectionModified/markCollectionModified [untested]
removing "stored", not used, not needed
use single index per account to minimize lucene indexes used.  implement init to
create indexes and aliases as needed for startup
dont use mongo sort when possible, it seems to be very slow
use a default mapping to disable strings from being analized and set some
common Record fields
allow toJson to be called with a custom formatter, like pretty print, but without
the whitespace
move config name settings around so they can be shared or specialized for elasticsearch datastores
fix init to create index, use default mappings
implement elector on top of index with conditional document versions
refactor some helper routines into the ElasticSearchDatastore companion class
fix datetime issue using local timezone instead of UTC
use explicit timezone formats, otherwise odd things like "-1" is considers a date
work around race condition where isLeader is called before Elector.init
fix shard/replica on initIndex
add writeConsistency option (one,quorum,all)
stub default document type
set default scan size to be 1000 records (from 100)
use bulk api for mass insert/deletes (1000 records per batch)
log exception when error occurs
replace '.' with '_' for ES index names as per constant deprecated warnings in ES log
Merge branch 'iam' of github.com:e-gineer/edda into e-gineer-iam
rename:
aws.users => aws.iamUsers
aws.groups => aws.iamGroups
aws.roles => aws.iamRoles
aws.virtualmfadevices => aws.iamVirtualMFADevices