NAME
   AWS::Networks - Parse and query official AWS network ranges

SYNOPSIS
     use AWS::Networks;

     my $nets = AWS::Networks->new();

     say $nets->sync_token->iso8601;

     foreach my $cidr (@{ $nets->cidrs }){
       say $cidr
     }

DESCRIPTION
   This module parses the official public IP network information published
   by Amazon Web Services at https://ip-ranges.amazonaws.com/ip-ranges.json

   Please read and understand the information can be found at
   http://docs.aws.amazon.com/general/latest/gr/aws-ip-ranges.html to make
   sense of the data retured by this module.

USAGE
   Instance an object, and use it to filter information of interest to you
   with the attributes and methods provided.

METHODS
 new([ url => 'http....' ])
   Standard Moose constructor. Can specify a custom URL to download a
   document that follows the same schema

 url
   Returns the URL from which the information was retrieved. Returns undef
   on filtered datasets

 sync_token
   Returns a DateTime object created from the current timestamp of the
   syncToken reported from the service

 networks
   Returns an ArrayRef with HashRefs following the following structure:

   { ip_prefix => '0.0.0.0/0', region => '...', service => '...' }

   The keys and values in the HashRefs are the ones returned by the Network
   service

   service can be one of: AMAZON | EC2 | CLOUDFRONT | ROUTE53 |
   ROUTE53_HEALTHCHECKS, but expect new values to appear

   region can be one of: ap-northeast-1 | ap-southeast-1 | ap-southeast-2 |
   cn-north-1 | eu-central-1 | eu-west-1 | sa-east-1 | us-east-1 |
   us-gov-west-1 | us-west-1 | us-west-2 | GLOBAL, but expect new values to
   appear

 services
   Returns an ArrayRef of the different services present in the current
   dataset

 regions
   Returns an ArrayRef of the different regions present in the current
   dataset

 cidrs
   Returns an ArrayRef with the CIDR blocks in the dataset

 by_region($region)
   Returns a new AWS::Networks object with the data filtered to only the
   objects in the specified region

 by_service($service)
   Returns a new AWS::Networks object with the data filtered to only the
   services specified

CONTRIBUTE
   The source code is located here: https://github.com/pplu/aws-networks

 SEE ALSO
   The dist is bundled with a couple of sample scripts in bin that play
   around with the information returned by this module, these scripts try
   to determine the number of IP addresses that AWS has, and given an IP
   address, if it pertains to AWS, and what service.

AUTHOR
       Jose Luis Martinez
       CPAN ID: JLMARTIN
       CAPSiDE
       [email protected]
       http://www.pplusdomain.net

COPYRIGHT
   Copyright (c) 2014 by Jose Luis Martinez Torres

   This program is free software; you can redistribute it and/or modify it
   under the same terms as Perl itself.

   The full text of the license can be found in the LICENSE file included
   with this module.