All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
Nothing currently!
- VPCs with no tags will no longer induce the
KeyError: 'Tags'
error from Boto (by @cooperwalbrun)
- Added Python-level API documentation to the
find_available_cidrs
function (by @cooperwalbrun)
- The
find_available_cidrs
function now includes acidrs_not_converted_to_prefix
key which contains a list of CIDRs that were skipped during the prefix conversion process (note: this is only applicable if passingdesired_prefix
tofind_available_cidrs
) (by @cooperwalbrun) - Python 3.12 is now an official build target with corresponding pipeline assurances (by @cooperwalbrun)
- The
find_cidrs
function has been renamed tofind_available_cidrs
(by @cooperwalbrun)
- Added a Python-based API for using
aws-cidr-finder
in a programmatic fashion (by @cooperwalbrun)
- The JSON format of
aws-cidr-finder
's output is now simpler: theaws-cidr-finder-messages
key has been changed tomessages
,vpcs
has been changed todata
, and the structure ofdata
is now a flat list of "VPC"dict
s where eachdict
has the following keys:id
,name
,cidr
, andavailable_cidr_blocks
(by @cooperwalbrun)
- Messages relating to omitted prefixes during the handling of the
--prefix
argument will now indicate the VPC to which the omission corresponds (by @cooperwalbrun)
- Support for an optional
AWS_SESSION_TOKEN
environment variable is now implemented (by @cooperwalbrun)
- The
--profile
and--region
CLI arguments now function as expected (by @cooperwalbrun) - All CIDRs for VPCs which were omitted during the handling of the
--prefix
flag are now logged as expected (by @cooperwalbrun)
- The
--prefix
argument no longer converts CIDR blocks which would result in more than 256 CIDRs (previously this threshold was 1024) (by @cooperwalbrun)
- IPv6 subnet CIDR blocks in an
associating
state are now recognized byaws-cidr-finder
(by @cooperwalbrun)
- Added project configuration for using
mypy
to statically type-check code during development and in the GitHub Actions pipeline (by @cooperwalbrun) - Implemented proper typing throughout the source code and added a
py.typed
file per PEP 561 (by @cooperwalbrun)
- Added support for Python 3.11 to the pipeline and project configuration (by @cooperwalbrun)
- The author email address in the wheel's metadata is now set to a real email address (by @cooperwalbrun)
- CIDR blocks that are in an
associating
state (instead of just theassociated
state) will now be considered in this CLI's functionality (by @cooperwalbrun)
- Refactored the code to reduce code duplication between the IPv4 and IPv6 functionalities (by @cooperwalbrun)
- Implemented support for IPv6 VPCs via the
--ipv6
CLI flag (by @cooperwalbrun)
- The structure of the JSON output when specifying the
--json
CLI flag now includes VPC names, VPC CIDRs, and informational messages (by @cooperwalbrun)
- Gracefully handle situations where the requested
--prefix
causes a huge number of CIDRs to be returned (by @cooperwalbrun)
- Enabled querying by a prefix which is lower than at least one prefix in the returned CIDR list (by @cooperwalbrun)
- Fixed
find_subnet_holes
slowness and incorrectness issues (by @cooperwalbrun)
- Created the project (by @cooperwalbrun)
- Implemented the initial functionality of finding subnet "holes" in IPv4 VPCs (by @cooperwalbrun)