From d0278ecf0f69928ff55173e584dfd113e99bc970 Mon Sep 17 00:00:00 2001 From: Joern Barthel Date: Tue, 9 Aug 2016 14:42:09 +0200 Subject: [PATCH] =?UTF-8?q?Normalize=20sets,=20don=E2=80=99t=20check=20for?= =?UTF-8?q?=20missing=20services.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../aws/data_source_aws_ip_ranges.go | 28 +++++++++++++++---- 1 file changed, 22 insertions(+), 6 deletions(-) diff --git a/builtin/providers/aws/data_source_aws_ip_ranges.go b/builtin/providers/aws/data_source_aws_ip_ranges.go index 799af0ca76..32e9d89883 100644 --- a/builtin/providers/aws/data_source_aws_ip_ranges.go +++ b/builtin/providers/aws/data_source_aws_ip_ranges.go @@ -99,19 +99,35 @@ func dataSourceAwsIPRangesRead(d *schema.ResourceData, meta interface{}) error { return fmt.Errorf("Error setting sync token: %s", err) } + get := func(key string) *schema.Set { + + set := d.Get(key).(*schema.Set) + + for _, e := range set.List() { + + s := e.(string) + + set.Remove(s) + set.Add(strings.ToLower(s)) + + } + + return set + + } + var ( - regions = d.Get("regions").(*schema.Set) - services = d.Get("services").(*schema.Set) - noRegionFilter = regions.Len() == 0 - noServiceFilter = services.Len() == 0 - prefixes []string + regions = get("regions") + services = get("services") + noRegionFilter = regions.Len() == 0 + prefixes []string ) for _, e := range result.Prefixes { var ( matchRegion = noRegionFilter || regions.Contains(strings.ToLower(e.Region)) - matchService = noServiceFilter || services.Contains(strings.ToLower(e.Service)) + matchService = services.Contains(strings.ToLower(e.Service)) ) if matchRegion && matchService {