Skip to content

Commit

Permalink
doc updates
Browse files Browse the repository at this point in the history
  • Loading branch information
drewmullen committed Feb 8, 2022
1 parent 3702238 commit 0546b2a
Show file tree
Hide file tree
Showing 2 changed files with 12 additions and 4 deletions.
8 changes: 6 additions & 2 deletions .header.md
Original file line number Diff line number Diff line change
@@ -1,14 +1,18 @@
# AWS IP Address Manager Deployment Module

This module can deploy simple or complex AWS IPAM configurations. It is designed to flexible for many different use cases. The Most common use cases / IPAM designs are highlighted in the [examples/](./examples/) directory. Below is a representation of a symmetrically nested, multi-region deployment that is possible; Its also possible to do [asymmetically nested deployments](images/asymmetrical_pool_structure.png) as well which we have as an [example](./examples/basic).
This module can deploy simple or complex AWS IP Address Manager (IPAM) configurations. It is designed to be flexible for many different use cases. The most common use cases (IPAM designs) are highlighted in the [examples/](./examples/) directory. Below is a representation of a symmetrically nested, multi-region deployment that is possible; Its also possible to do [asymmetically nested deployments](images/asymmetrical_pool_structure.png) as well which we have as an [example](./examples/basic).

## Possible Symmetically Nested Pool Structure

![symmetrically nested pool deployment](images/symmetrical_region_pool_bizunit_pool_structure.png "Region Separated Pools")

## Configuration via the `var.pool_configurations` variable

This module leans heavily on variable `var.pool_configurations` which is a multi-tier nested map that describes exactly how you want your ipam pools to be nested. It can accept most `aws_vpc_ipam_pool` & `aws_vpc_ipam_pool_cidr` attributes (detailed below) as well as RAM share pools (at any tier) to valid AWS principals. Pools are nested up to 3 tiers deep in a root pool that defines the overall `address_family`. The `pool_configurations` variable is the structure of the other 3 tiers. The sub-module [sub_pool variables.tf file has a variable var.pool_config](./modules/sub_pool/variables.tf#L1) that defines the structure that each pool can accept.
This module leans heavily on the variable `var.pool_configurations` which is a multi-tier nested map that describes exactly how you want your ipam pools to be nested. It can accept most `aws_vpc_ipam_pool` & `aws_vpc_ipam_pool_cidr` attributes (detailed below) as well as RAM share pools (at any tier) to valid AWS principals. **Nested pools do not inherit attributes from their Source pool(s)** so all configuration options are available at each "tier".

In this module pools can be nested up to 4 tiers deep, 1 root pool + up to 3 nested pools. The root pool defines that `address_family`; If you want to deploy an IPv4 & IPv6 pool structure, you must instantiate the module for each type.

The `pool_configurations` variable is the structure of the other 3 tiers. The sub-module sub_pool has a variable [var.pool_config](./modules/sub_pool/variables.tf#L1) that defines the structure that each pool can accept.

The structure of the variable is:

Expand Down
8 changes: 6 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,15 +1,19 @@
<!-- BEGIN_TF_DOCS -->
# AWS IP Address Manager Deployment Module

This module can deploy simple or complex AWS IPAM configurations. It is designed to flexible for many different use cases. The Most common use cases / IPAM designs are highlighted in the [examples/](./examples/) directory. Below is a representation of a symmetrically nested, multi-region deployment that is possible; Its also possible to do [asymmetically nested deployments](images/asymmetrical\_pool\_structure.png) as well which we have as an [example](./examples/basic).
This module can deploy simple or complex AWS IP Address Manager (IPAM) configurations. It is designed to be flexible for many different use cases. The most common use cases (IPAM designs) are highlighted in the [examples/](./examples/) directory. Below is a representation of a symmetrically nested, multi-region deployment that is possible; Its also possible to do [asymmetically nested deployments](images/asymmetrical\_pool\_structure.png) as well which we have as an [example](./examples/basic).

## Possible Symmetically Nested Pool Structure

![symmetrically nested pool deployment](images/symmetrical\_region\_pool\_bizunit\_pool\_structure.png "Region Separated Pools")

## Configuration via the `var.pool_configurations` variable

This module leans heavily on variable `var.pool_configurations` which is a multi-tier nested map that describes exactly how you want your ipam pools to be nested. It can accept most `aws_vpc_ipam_pool` & `aws_vpc_ipam_pool_cidr` attributes (detailed below) as well as RAM share pools (at any tier) to valid AWS principals. Pools are nested up to 3 tiers deep in a root pool that defines the overall `address_family`. The `pool_configurations` variable is the structure of the other 3 tiers. The sub-module [sub\_pool variables.tf file has a variable var.pool\_config](./modules/sub\_pool/variables.tf#L1) that defines the structure that each pool can accept.
This module leans heavily on the variable `var.pool_configurations` which is a multi-tier nested map that describes exactly how you want your ipam pools to be nested. It can accept most `aws_vpc_ipam_pool` & `aws_vpc_ipam_pool_cidr` attributes (detailed below) as well as RAM share pools (at any tier) to valid AWS principals. **Nested pools do not inherit attributes from their Source pool(s)** so all configuration options are available at each "tier".

In this module pools can be nested up to 4 tiers deep, 1 root pool + up to 3 nested pools. The root pool defines that `address_family`; If you want to deploy an IPv4 & IPv6 pool structure, you must instantiate the module for each type.

The `pool_configurations` variable is the structure of the other 3 tiers. The sub-module sub\_pool has a variable [var.pool\_config](./modules/sub\_pool/variables.tf#L1) that defines the structure that each pool can accept.

The structure of the variable is:

Expand Down

0 comments on commit 0546b2a

Please sign in to comment.