From 45dd733e16d28677d9c3b4d67f0806dad215c484 Mon Sep 17 00:00:00 2001 From: drfaust92 Date: Mon, 6 Jun 2022 11:02:03 +0300 Subject: [PATCH 1/2] make `log_group_name_prefix` optional --- internal/service/logs/groups_data_source.go | 8 ++-- .../service/logs/groups_data_source_test.go | 38 +++++++++++++++++++ .../d/cloudwatch_log_groups.html.markdown | 2 +- 3 files changed, 44 insertions(+), 4 deletions(-) diff --git a/internal/service/logs/groups_data_source.go b/internal/service/logs/groups_data_source.go index e48b2873b114..6ac2fe023c61 100644 --- a/internal/service/logs/groups_data_source.go +++ b/internal/service/logs/groups_data_source.go @@ -21,7 +21,7 @@ func DataSourceGroups() *schema.Resource { }, "log_group_name_prefix": { Type: schema.TypeString, - Required: true, + Optional: true, }, "log_group_names": { Type: schema.TypeSet, @@ -35,8 +35,10 @@ func DataSourceGroups() *schema.Resource { func dataSourceGroupsRead(d *schema.ResourceData, meta interface{}) error { conn := meta.(*conns.AWSClient).LogsConn - input := &cloudwatchlogs.DescribeLogGroupsInput{ - LogGroupNamePrefix: aws.String(d.Get("log_group_name_prefix").(string)), + input := &cloudwatchlogs.DescribeLogGroupsInput{} + + if v, ok := d.GetOk("log_group_name_prefix"); ok { + input.LogGroupNamePrefix = aws.String(v.(string)) } var results []*cloudwatchlogs.LogGroup diff --git a/internal/service/logs/groups_data_source_test.go b/internal/service/logs/groups_data_source_test.go index 59de83b5d7b6..2b312bbe1bb6 100644 --- a/internal/service/logs/groups_data_source_test.go +++ b/internal/service/logs/groups_data_source_test.go @@ -34,6 +34,28 @@ func TestAccLogsGroupsDataSource_basic(t *testing.T) { }) } +func TestAccLogsGroupsDataSource_noPrefix(t *testing.T) { + rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) + resourceName := "data.aws_cloudwatch_log_groups.test" + + resource.ParallelTest(t, resource.TestCase{ + PreCheck: func() { acctest.PreCheck(t) }, + ErrorCheck: acctest.ErrorCheck(t, cloudwatchlogs.EndpointsID), + ProviderFactories: acctest.ProviderFactories, + Steps: []resource.TestStep{ + { + Config: testAccGroupsDataSourceConfig_noPrefix(rName), + Check: resource.ComposeTestCheckFunc( + resource.TestCheckTypeSetElemAttrPair(resourceName, "arns.*", "aws_cloudwatch_log_group.test1", "arn"), + resource.TestCheckTypeSetElemAttrPair(resourceName, "arns.*", "aws_cloudwatch_log_group.test2", "arn"), + resource.TestCheckTypeSetElemAttrPair(resourceName, "log_group_names.*", "aws_cloudwatch_log_group.test1", "name"), + resource.TestCheckTypeSetElemAttrPair(resourceName, "log_group_names.*", "aws_cloudwatch_log_group.test2", "name"), + ), + }, + }, + }) +} + func testAccGroupsDataSourceConfig_basic(rName string) string { return fmt.Sprintf(` resource aws_cloudwatch_log_group "test1" { @@ -51,3 +73,19 @@ data aws_cloudwatch_log_groups "test" { } `, rName) } + +func testAccGroupsDataSourceConfig_noPrefix(rName string) string { + return fmt.Sprintf(` +resource aws_cloudwatch_log_group "test1" { + name = "%[1]s/1" +} + +resource aws_cloudwatch_log_group "test2" { + name = "%[1]s/2" +} + +data aws_cloudwatch_log_groups "test" { + depends_on = [aws_cloudwatch_log_group.test1,aws_cloudwatch_log_group.test2] +} +`, rName) +} diff --git a/website/docs/d/cloudwatch_log_groups.html.markdown b/website/docs/d/cloudwatch_log_groups.html.markdown index ab22d50a4b92..9a9e58cd82af 100644 --- a/website/docs/d/cloudwatch_log_groups.html.markdown +++ b/website/docs/d/cloudwatch_log_groups.html.markdown @@ -22,7 +22,7 @@ data "aws_cloudwatch_log_groups" "example" { The following arguments are supported: -* `log_group_name_prefix` - (Required) The group prefix of the Cloudwatch log groups to list +* `log_group_name_prefix` - (Optional) The group prefix of the Cloudwatch log groups to list ## Attributes Reference From a87e073d3e67032a008d08c828d5b4399f7ccb40 Mon Sep 17 00:00:00 2001 From: drfaust92 Date: Mon, 6 Jun 2022 11:04:08 +0300 Subject: [PATCH 2/2] changelog --- .changelog/25187.txt | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 .changelog/25187.txt diff --git a/.changelog/25187.txt b/.changelog/25187.txt new file mode 100644 index 000000000000..b1c2e8397b9b --- /dev/null +++ b/.changelog/25187.txt @@ -0,0 +1,3 @@ +```release-note:enhancement +data-source/aws_cloudwatch_logs_groups: Make `log_group_name_prefix` optional +```