=encoding UTF-8

=head1 NAME

SNS::Notification - An object for representing SNS Notifications

=head1 SYNOPSIS

  use SNS::Notification;
  my $not = SNS::Notification->new(
    Timestamp => ...
    ... required attributes ...
  );
  #do something with $obj

  my $body = decode_json($sns_message);
  my $sns = eval { SNS::Notification->new($body) };
  if ($@) {
    die "Doesn't look like an SNS::Message to me";
  }
  print $sns->Message;

=head1 DESCRIPTION

This module holds an object for representing an SNS messsage. It tries
to validate that all appropiate fields are present.

This is really just a module for other modules that work with SNS to
depend on (and not reimplement it constantly).

=head1 SEE ALSO

L<http://docs.aws.amazon.com/sns/latest/dg/json-formats.html>

L<http://docs.aws.amazon.com/sns/latest/dg/SendMessageToHttp.html>

L<http://docs.aws.amazon.com/sns/latest/dg/SendMessageToSQS.html>

=head1 COPYRIGHT and LICENSE

Copyright (c) 2016 by CAPSiDE

This code is distributed under the Apache 2 License. The full text of the license can be found in the LICENSE file included with this module.