ManageIQ/manageiq — pull request #1049 by blomquisg (2014-11-12 20:07:41+00:00)
Title: Adding Amazon AWS Config event catcher

Amazon has launched the new AWS Config service that emits configuration diffs on
a scheduled basis. The new AWS Config event catcher listens to an SQS Queue and
discovers configuration changes. These configurations changes are parsed and
treated as an event stream from AWS.

Each appliance that attempts to receive events for a single AWS account will
create a unique SQS queue, allowing multiple appliances to listen for the same
events.

Captured events are parsed to determine the type of object changed and the
manner in which it was changed. For instance, when a stopped instance is
started, the configuration diff will indicate that the item changed was an
instance, and that the state changed from stopped to starting. When this
configuration diff is recevied, the Amazon Event Monitor enqueues a event called
"AWS_EC2_Instance_STARTED".

There are still other events that need to be detemined from the event stream,
but an initial set has been added to the event handling file to illustrate the
types of events ManageIQ will process.

The only requirement for now imposed on the AWS account configuration is that
the SNS Topic configured for AWS Config needs to be called "AWSConfig_topic".
With that in place, ManageIQ's Amazon Event Monitor can create the appropriate
SQS queue and begin receiving events.