terraform-aws-mcaf-ipam

Terraform module to manage AWS VPC IPAM.

APACHE-2.0 License

Stars
0
Committers
4

terraform-aws-mcaf-ipam

Terraform module to manage AWS VPC IPAM.

Usage

module "ipam" {
  source = "github.com/schubergphilis/terraform-aws-mcaf-ipam?ref=VERSION"

  aws_ipam_pool = ["10.64.0.0/12", "10.80.0.0/16"]

  pools = {
    sandbox = {
      cidr = ["10.64.0.0/16", "10.65.0.0/16"]
      shared_principal = ["arn:aws:organizations::123456789123:ou/o-a1a1a1a1a1/ou-1a1a-1a1a1a1a"]
    }
  }
}

NOTE: Review the documentation for the permissions needed to integrate with AWS Organizations: The following Terraform resources need to be deployed prior to deploying this module in the AWS Organizations admin account:

resource "aws_ram_sharing_with_organization" "default" {}

resource "aws_vpc_ipam_organization_admin_account" "default" {
  delegated_admin_account_id = "123456789123"
}

Requirements

Name Version
terraform >= 1.3
aws >= 5.24.0

Providers

Name Version
aws >= 5.24.0

Modules

No modules.

Resources

Name Type
aws_ram_principal_association.default resource
aws_ram_resource_association.default resource
aws_ram_resource_share.default resource
aws_vpc_ipam.default resource
aws_vpc_ipam_pool.aws_pool resource
aws_vpc_ipam_pool.environment resource
aws_vpc_ipam_pool_cidr.aws_pool_cidr resource
aws_vpc_ipam_pool_cidr.environment resource
aws_region.default data source

Inputs

Name Description Type Default Required
aws_ipam_pool The top level CIDR(s) available for usage on AWS list(string) n/a yes
pools n/a map(object({ cidr = list(string) shared_principal = optional(list(string)) tags = optional(map(string)) })) n/a yes
ipam_description A description for the IPAM string "Organization IPAM" no
tags Map of tags to set on Terraform created resources map(string) {} no

Outputs

Name Description
ipam_pool_id The ID of the AWS IPAM pool
ipam_sub_pools_ids The IDs of the sub pools of the AWS IPAM pool

Licensing

100% Open Source and licensed under the Apache License Version 2.0. See LICENSE for full details.

Related Projects