From 4f3662ff15b1ceca98489c5cea9572dc0d248536 Mon Sep 17 00:00:00 2001 From: drewmullen Date: Mon, 14 Feb 2022 22:41:57 -0500 Subject: [PATCH 1/4] error if no pool found --- internal/service/ec2/vpc_ipam_pool_data_source.go | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/internal/service/ec2/vpc_ipam_pool_data_source.go b/internal/service/ec2/vpc_ipam_pool_data_source.go index 1b9c226c2a5c..cf978aa54c2b 100644 --- a/internal/service/ec2/vpc_ipam_pool_data_source.go +++ b/internal/service/ec2/vpc_ipam_pool_data_source.go @@ -9,6 +9,7 @@ import ( "github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema" "github.com/hashicorp/terraform-provider-aws/internal/conns" tftags "github.com/hashicorp/terraform-provider-aws/internal/tags" + "github.com/hashicorp/terraform-provider-aws/internal/tfresource" ) func DataSourceVPCIpamPool() *schema.Resource { @@ -115,8 +116,8 @@ func dataSourceVPCIpamPoolRead(d *schema.ResourceData, meta interface{}) error { return err } - if output == nil || len(output.IpamPools) == 0 || output.IpamPools[0] == nil { - return nil + if len(output.IpamPools) == 0 || output.IpamPools[0] == nil { + return tfresource.SingularDataSourceFindError("EC2 VPC IPAM POOL", tfresource.NewEmptyResultError(input)) } if len(output.IpamPools) > 1 { From 90742e3d1f61d404a0d6f66df8b74384400ff4aa Mon Sep 17 00:00:00 2001 From: drewmullen Date: Mon, 14 Feb 2022 22:42:08 -0500 Subject: [PATCH 2/4] include filter examples --- website/docs/d/vpc_ipam_pool.html.markdown | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/website/docs/d/vpc_ipam_pool.html.markdown b/website/docs/d/vpc_ipam_pool.html.markdown index 173c6af5af2b..dfbf68c25d57 100644 --- a/website/docs/d/vpc_ipam_pool.html.markdown +++ b/website/docs/d/vpc_ipam_pool.html.markdown @@ -21,7 +21,17 @@ via RAM, and using that pool id to create a VPC with a CIDR derived from AWS IPAM. ```terraform -data "aws_vpc_ipam_pool" "test" {} +data "aws_vpc_ipam_pool" "test" { + filter { + name = "description" + values = ["*test*"] + } + + filter { + name = "address-family" + values = ["ipv4"] + } +} resource "aws_vpc" "test" { ipv4_ipam_pool_id = data.aws_vpc_ipam_pool.test.id From 03cbd6ef8e5a29fd82a630f54a3cd848de3edea8 Mon Sep 17 00:00:00 2001 From: drewmullen Date: Mon, 14 Feb 2022 22:50:28 -0500 Subject: [PATCH 3/4] changelog --- .changelog/23195.txt | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 .changelog/23195.txt diff --git a/.changelog/23195.txt b/.changelog/23195.txt new file mode 100644 index 000000000000..056d5c71ff5c --- /dev/null +++ b/.changelog/23195.txt @@ -0,0 +1,3 @@ +```release-note:bug +data_source/aws_vpc_ipam_pool: error if no pool found +``` From a9881886e26b560c3a47f27322c6d21a9b8a1332 Mon Sep 17 00:00:00 2001 From: Kit Ewbank Date: Tue, 15 Feb 2022 08:53:54 -0500 Subject: [PATCH 4/4] d/aws_vpc_ipam_pool: Fix website terrafmt errors. --- website/docs/d/vpc_ipam_pool.html.markdown | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/website/docs/d/vpc_ipam_pool.html.markdown b/website/docs/d/vpc_ipam_pool.html.markdown index dfbf68c25d57..b8c6bc252b73 100644 --- a/website/docs/d/vpc_ipam_pool.html.markdown +++ b/website/docs/d/vpc_ipam_pool.html.markdown @@ -23,12 +23,12 @@ AWS IPAM. ```terraform data "aws_vpc_ipam_pool" "test" { filter { - name = "description" + name = "description" values = ["*test*"] } filter { - name = "address-family" + name = "address-family" values = ["ipv4"] } }