From a4137cf776aa409b816ca4ef2495efbe41a8b179 Mon Sep 17 00:00:00 2001 From: Chris Andrews Date: Mon, 3 Oct 2022 21:41:21 +0100 Subject: [PATCH 01/10] add aws_media_convert_queue data source --- internal/provider/provider.go | 2 + .../service/mediaconvert/queue_data_source.go | 83 ++++++++++++++ .../mediaconvert/queue_data_source_test.go | 104 ++++++++++++++++++ .../docs/d/media_convert_queue.html.markdown | 31 ++++++ 4 files changed, 220 insertions(+) create mode 100644 internal/service/mediaconvert/queue_data_source.go create mode 100644 internal/service/mediaconvert/queue_data_source_test.go create mode 100644 website/docs/d/media_convert_queue.html.markdown diff --git a/internal/provider/provider.go b/internal/provider/provider.go index c49bd366d3a8..31107ed67363 100644 --- a/internal/provider/provider.go +++ b/internal/provider/provider.go @@ -701,6 +701,8 @@ func New(_ context.Context) (*schema.Provider, error) { "aws_iot_endpoint": iot.DataSourceEndpoint(), + "aws_media_convert_queue": mediaconvert.DataSourceQueue(), + "aws_msk_broker_nodes": kafka.DataSourceBrokerNodes(), "aws_msk_cluster": kafka.DataSourceCluster(), "aws_msk_configuration": kafka.DataSourceConfiguration(), diff --git a/internal/service/mediaconvert/queue_data_source.go b/internal/service/mediaconvert/queue_data_source.go new file mode 100644 index 000000000000..4cebaf600eac --- /dev/null +++ b/internal/service/mediaconvert/queue_data_source.go @@ -0,0 +1,83 @@ +package mediaconvert + +import ( + "fmt" + + "github.com/aws/aws-sdk-go/aws" + "github.com/aws/aws-sdk-go/service/mediaconvert" + "github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema" + "github.com/hashicorp/terraform-plugin-sdk/v2/helper/validation" + "github.com/hashicorp/terraform-provider-aws/internal/conns" + tftags "github.com/hashicorp/terraform-provider-aws/internal/tags" +) + +func DataSourceQueue() *schema.Resource { + return &schema.Resource{ + Read: dataSourceQueueRead, + + Schema: map[string]*schema.Schema{ + "id": { + Type: schema.TypeString, + Required: true, + }, + "name": { + Type: schema.TypeString, + Computed: true, + }, + "arn": { + Type: schema.TypeString, + Computed: true, + }, + "status": { + Type: schema.TypeString, + Optional: true, + Default: mediaconvert.QueueStatusActive, + ValidateFunc: validation.StringInSlice([]string{ + mediaconvert.QueueStatusActive, + mediaconvert.QueueStatusPaused, + }, false), + }, + "tags": tftags.TagsSchemaComputed(), + }, + } +} + +func dataSourceQueueRead(d *schema.ResourceData, meta interface{}) error { + conn, err := GetAccountClient(meta.(*conns.AWSClient)) + if err != nil { + return fmt.Errorf("error getting Media Convert Account Client: %w", err) + } + + ignoreTagsConfig := meta.(*conns.AWSClient).IgnoreTagsConfig + + id := d.Get("id").(string) + + resp, err := conn.GetQueue(&mediaconvert.GetQueueInput{ + Name: aws.String(id), + }) + + if err != nil { + return fmt.Errorf("error getting Media Convert Queue (%s): %w", id, err) + } + + if resp == nil || resp.Queue == nil { + return fmt.Errorf("error getting Media Convert Queue (%s): empty response", id) + } + + d.SetId(aws.StringValue(resp.Queue.Name)) + d.Set("name", resp.Queue.Name) + d.Set("arn", resp.Queue.Arn) + d.Set("status", resp.Queue.Status) + + tags, err := ListTags(conn, aws.StringValue(resp.Queue.Arn)) + + if err != nil { + return fmt.Errorf("error listing tags for Media Convert Queue (%s): %w", id, err) + } + + if err := d.Set("tags", tags.IgnoreAWS().IgnoreConfig(ignoreTagsConfig).Map()); err != nil { + return fmt.Errorf("error setting tags: %w", err) + } + + return nil +} diff --git a/internal/service/mediaconvert/queue_data_source_test.go b/internal/service/mediaconvert/queue_data_source_test.go new file mode 100644 index 000000000000..c16c31e9ff40 --- /dev/null +++ b/internal/service/mediaconvert/queue_data_source_test.go @@ -0,0 +1,104 @@ +package mediaconvert_test + +import ( + "testing" + + "github.com/aws/aws-sdk-go/service/mediaconvert" + sdkacctest "github.com/hashicorp/terraform-plugin-sdk/v2/helper/acctest" + "github.com/hashicorp/terraform-plugin-sdk/v2/helper/resource" + "github.com/hashicorp/terraform-provider-aws/internal/acctest" +) + +func TestAccMediaConvertQueueDataSource_basic(t *testing.T) { + rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) + resourceName := "aws_media_convert_queue.test" + dataSourceName := "data.aws_media_convert_queue.test" + + resource.ParallelTest(t, resource.TestCase{ + PreCheck: func() { acctest.PreCheck(t); testAccPreCheck(t) }, + ErrorCheck: acctest.ErrorCheck(t, mediaconvert.EndpointsID), + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + CheckDestroy: testAccCheckQueueDestroy, + Steps: []resource.TestStep{ + { + Config: testAccQueueDataSourceConfig_basic(rName), + Check: resource.ComposeTestCheckFunc( + resource.TestCheckResourceAttrPair(resourceName, "name", dataSourceName, "name"), + resource.TestCheckResourceAttrPair(resourceName, "arn", dataSourceName, "arn"), + ), + }, + }, + }) +} + +func TestAccMediaConvertQueueDataSource_withStatus(t *testing.T) { + rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) + resourceName := "aws_media_convert_queue.test" + dataSourceName := "data.aws_media_convert_queue.test" + + resource.ParallelTest(t, resource.TestCase{ + PreCheck: func() { acctest.PreCheck(t); testAccPreCheck(t) }, + ErrorCheck: acctest.ErrorCheck(t, mediaconvert.EndpointsID), + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + CheckDestroy: testAccCheckQueueDestroy, + Steps: []resource.TestStep{ + { + Config: testAccQueueDataSourceConfig_status(rName, mediaconvert.QueueStatusActive), + Check: resource.ComposeTestCheckFunc( + resource.TestCheckResourceAttrPair(resourceName, "name", dataSourceName, "name"), + resource.TestCheckResourceAttrPair(resourceName, "arn", dataSourceName, "arn"), + resource.TestCheckResourceAttrPair(resourceName, "status", dataSourceName, "status"), + ), + }, + }, + }) +} + +func TestAccMediaConvertQueueDataSource_withTags(t *testing.T) { + rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) + resourceName := "aws_media_convert_queue.test" + dataSourceName := "data.aws_media_convert_queue.test" + + resource.ParallelTest(t, resource.TestCase{ + PreCheck: func() { acctest.PreCheck(t); testAccPreCheck(t) }, + ErrorCheck: acctest.ErrorCheck(t, mediaconvert.EndpointsID), + ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, + CheckDestroy: testAccCheckQueueDestroy, + Steps: []resource.TestStep{ + { + Config: testAccQueueDataSourceConfig_tags(rName, "foo", "bar", "fizz", "buzz"), + Check: resource.ComposeTestCheckFunc( + resource.TestCheckResourceAttrPair(resourceName, "name", dataSourceName, "name"), + resource.TestCheckResourceAttrPair(resourceName, "arn", dataSourceName, "arn"), + resource.TestCheckResourceAttrPair(resourceName, "tags.%", dataSourceName, "tags.%"), + resource.TestCheckResourceAttrPair(resourceName, "tags.foo", dataSourceName, "tags.foo"), + resource.TestCheckResourceAttrPair(resourceName, "tags.fizz", dataSourceName, "tags.fizz"), + ), + }, + }, + }) +} + +func testAccQueueDataSourceConfig_basic(rName string) string { + return acctest.ConfigCompose(testAccQueueConfig_basic(rName), ` +data "aws_media_convert_queue" "test" { + id = aws_media_convert_queue.test.id +} +`) +} + +func testAccQueueDataSourceConfig_status(rName, status string) string { + return acctest.ConfigCompose(testAccQueueConfig_status(rName, status), ` +data "aws_media_convert_queue" "test" { + id = aws_media_convert_queue.test.id +} +`) +} + +func testAccQueueDataSourceConfig_tags(rName, tagKey1, tagValue1, tagKey2, tagValue2 string) string { + return acctest.ConfigCompose(testAccQueueConfig_tags(rName, tagKey1, tagValue1, tagKey2, tagValue2), ` +data "aws_media_convert_queue" "test" { + id = aws_media_convert_queue.test.id +} +`) +} diff --git a/website/docs/d/media_convert_queue.html.markdown b/website/docs/d/media_convert_queue.html.markdown new file mode 100644 index 000000000000..1655ef532dfe --- /dev/null +++ b/website/docs/d/media_convert_queue.html.markdown @@ -0,0 +1,31 @@ +--- +subcategory: "Elemental MediaConvert" +layout: "aws" +page_title: "AWS: aws_media_convert_queue" +description: |- + Retrieve information about a AWS Elemental MediaConvert Queue. +--- + +# Resource: aws_media_convert_queue + +Retrieve information about a AWS Elemental MediaConvert Queue. + +## Example Usage + +```terraform +data "aws_media_convert_queue" "test" { + id = "tf-test-queue" +} +``` + +## Argument Reference + +The following arguments are supported: + +* `id` - (Required) Unique identifier of the queue. The same as `name` + +## Attributes Reference + +* `name` - The same as `id` +* `arn` - The Arn of the queue +* `tags` - A map of tags assigned to the resource, including those inherited from the provider [`default_tags` configuration block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags-configuration-block). From 724966c24809372c4c5ba19df8d92e1560879615 Mon Sep 17 00:00:00 2001 From: Chris Andrews Date: Mon, 3 Oct 2022 21:55:20 +0100 Subject: [PATCH 02/10] add media convert data source to changelog --- .changelog/27075.txt | 3 +++ website/docs/d/media_convert_queue.html.markdown | 10 +++++----- 2 files changed, 8 insertions(+), 5 deletions(-) create mode 100644 .changelog/27075.txt diff --git a/.changelog/27075.txt b/.changelog/27075.txt new file mode 100644 index 000000000000..d99a883f036e --- /dev/null +++ b/.changelog/27075.txt @@ -0,0 +1,3 @@ +```release-note:new-data-source +aws_media_convert_queue +``` \ No newline at end of file diff --git a/website/docs/d/media_convert_queue.html.markdown b/website/docs/d/media_convert_queue.html.markdown index 1655ef532dfe..d8b3845e89bf 100644 --- a/website/docs/d/media_convert_queue.html.markdown +++ b/website/docs/d/media_convert_queue.html.markdown @@ -13,8 +13,8 @@ Retrieve information about a AWS Elemental MediaConvert Queue. ## Example Usage ```terraform -data "aws_media_convert_queue" "test" { - id = "tf-test-queue" +data "aws_media_convert_queue" "example" { + id = "tf-example-queue" } ``` @@ -22,10 +22,10 @@ data "aws_media_convert_queue" "test" { The following arguments are supported: -* `id` - (Required) Unique identifier of the queue. The same as `name` +* `id` - (Required) Unique identifier of the queue. The same as `name`. ## Attributes Reference -* `name` - The same as `id` -* `arn` - The Arn of the queue +* `name` - The same as `id`. +* `arn` - The Arn of the queue. * `tags` - A map of tags assigned to the resource, including those inherited from the provider [`default_tags` configuration block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags-configuration-block). From 830ced5f6743117073ed10d5626ecc386972b311 Mon Sep 17 00:00:00 2001 From: Chris Andrews Date: Mon, 17 Apr 2023 15:31:46 +0100 Subject: [PATCH 03/10] add context calls to mediaconvert data source --- .../service/mediaconvert/queue_data_source.go | 29 +++++++++++-------- .../mediaconvert/queue_data_source_test.go | 15 ++++++---- .../mediaconvert/service_package_gen.go | 8 ++++- 3 files changed, 33 insertions(+), 19 deletions(-) diff --git a/internal/service/mediaconvert/queue_data_source.go b/internal/service/mediaconvert/queue_data_source.go index 4cebaf600eac..ee8c77d73d30 100644 --- a/internal/service/mediaconvert/queue_data_source.go +++ b/internal/service/mediaconvert/queue_data_source.go @@ -1,19 +1,22 @@ package mediaconvert import ( - "fmt" + "context" "github.com/aws/aws-sdk-go/aws" "github.com/aws/aws-sdk-go/service/mediaconvert" + "github.com/hashicorp/terraform-plugin-sdk/v2/diag" "github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema" "github.com/hashicorp/terraform-plugin-sdk/v2/helper/validation" "github.com/hashicorp/terraform-provider-aws/internal/conns" + "github.com/hashicorp/terraform-provider-aws/internal/errs/sdkdiag" tftags "github.com/hashicorp/terraform-provider-aws/internal/tags" ) +// @SDKDataSource("aws_media_convert_queue", name="Queue") func DataSourceQueue() *schema.Resource { return &schema.Resource{ - Read: dataSourceQueueRead, + ReadWithoutTimeout: dataSourceQueueRead, Schema: map[string]*schema.Schema{ "id": { @@ -42,26 +45,28 @@ func DataSourceQueue() *schema.Resource { } } -func dataSourceQueueRead(d *schema.ResourceData, meta interface{}) error { - conn, err := GetAccountClient(meta.(*conns.AWSClient)) +func dataSourceQueueRead(ctx context.Context, d *schema.ResourceData, meta interface{}) diag.Diagnostics { + var diags diag.Diagnostics + + conn, err := GetAccountClient(ctx, meta.(*conns.AWSClient)) if err != nil { - return fmt.Errorf("error getting Media Convert Account Client: %w", err) + return sdkdiag.AppendErrorf(diags, "error getting Media Convert Account Client: %s", err) } ignoreTagsConfig := meta.(*conns.AWSClient).IgnoreTagsConfig id := d.Get("id").(string) - resp, err := conn.GetQueue(&mediaconvert.GetQueueInput{ + resp, err := conn.GetQueueWithContext(ctx, &mediaconvert.GetQueueInput{ Name: aws.String(id), }) if err != nil { - return fmt.Errorf("error getting Media Convert Queue (%s): %w", id, err) + return sdkdiag.AppendErrorf(diags, "error getting Media Convert Queue (%s): %s", id, err) } if resp == nil || resp.Queue == nil { - return fmt.Errorf("error getting Media Convert Queue (%s): empty response", id) + return sdkdiag.AppendErrorf(diags, "error getting Media Convert Queue (%s): empty response", id) } d.SetId(aws.StringValue(resp.Queue.Name)) @@ -69,15 +74,15 @@ func dataSourceQueueRead(d *schema.ResourceData, meta interface{}) error { d.Set("arn", resp.Queue.Arn) d.Set("status", resp.Queue.Status) - tags, err := ListTags(conn, aws.StringValue(resp.Queue.Arn)) + tags, err := ListTags(ctx, conn, aws.StringValue(resp.Queue.Arn)) if err != nil { - return fmt.Errorf("error listing tags for Media Convert Queue (%s): %w", id, err) + return sdkdiag.AppendErrorf(diags, "error listing tags for Media Convert Queue (%s): %s", id, err) } if err := d.Set("tags", tags.IgnoreAWS().IgnoreConfig(ignoreTagsConfig).Map()); err != nil { - return fmt.Errorf("error setting tags: %w", err) + return sdkdiag.AppendErrorf(diags, "error setting tags: %s", err) } - return nil + return diags } diff --git a/internal/service/mediaconvert/queue_data_source_test.go b/internal/service/mediaconvert/queue_data_source_test.go index c16c31e9ff40..0dcb58d4286e 100644 --- a/internal/service/mediaconvert/queue_data_source_test.go +++ b/internal/service/mediaconvert/queue_data_source_test.go @@ -10,15 +10,16 @@ import ( ) func TestAccMediaConvertQueueDataSource_basic(t *testing.T) { + ctx := acctest.Context(t) rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) resourceName := "aws_media_convert_queue.test" dataSourceName := "data.aws_media_convert_queue.test" resource.ParallelTest(t, resource.TestCase{ - PreCheck: func() { acctest.PreCheck(t); testAccPreCheck(t) }, + PreCheck: func() { acctest.PreCheck(ctx, t); testAccPreCheck(ctx, t) }, ErrorCheck: acctest.ErrorCheck(t, mediaconvert.EndpointsID), ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, - CheckDestroy: testAccCheckQueueDestroy, + CheckDestroy: testAccCheckQueueDestroy(ctx), Steps: []resource.TestStep{ { Config: testAccQueueDataSourceConfig_basic(rName), @@ -32,15 +33,16 @@ func TestAccMediaConvertQueueDataSource_basic(t *testing.T) { } func TestAccMediaConvertQueueDataSource_withStatus(t *testing.T) { + ctx := acctest.Context(t) rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) resourceName := "aws_media_convert_queue.test" dataSourceName := "data.aws_media_convert_queue.test" resource.ParallelTest(t, resource.TestCase{ - PreCheck: func() { acctest.PreCheck(t); testAccPreCheck(t) }, + PreCheck: func() { acctest.PreCheck(ctx, t); testAccPreCheck(ctx, t) }, ErrorCheck: acctest.ErrorCheck(t, mediaconvert.EndpointsID), ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, - CheckDestroy: testAccCheckQueueDestroy, + CheckDestroy: testAccCheckQueueDestroy(ctx), Steps: []resource.TestStep{ { Config: testAccQueueDataSourceConfig_status(rName, mediaconvert.QueueStatusActive), @@ -55,15 +57,16 @@ func TestAccMediaConvertQueueDataSource_withStatus(t *testing.T) { } func TestAccMediaConvertQueueDataSource_withTags(t *testing.T) { + ctx := acctest.Context(t) rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) resourceName := "aws_media_convert_queue.test" dataSourceName := "data.aws_media_convert_queue.test" resource.ParallelTest(t, resource.TestCase{ - PreCheck: func() { acctest.PreCheck(t); testAccPreCheck(t) }, + PreCheck: func() { acctest.PreCheck(ctx, t); testAccPreCheck(ctx, t) }, ErrorCheck: acctest.ErrorCheck(t, mediaconvert.EndpointsID), ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories, - CheckDestroy: testAccCheckQueueDestroy, + CheckDestroy: testAccCheckQueueDestroy(ctx), Steps: []resource.TestStep{ { Config: testAccQueueDataSourceConfig_tags(rName, "foo", "bar", "fizz", "buzz"), diff --git a/internal/service/mediaconvert/service_package_gen.go b/internal/service/mediaconvert/service_package_gen.go index afdbb68e0365..110d759cdd30 100644 --- a/internal/service/mediaconvert/service_package_gen.go +++ b/internal/service/mediaconvert/service_package_gen.go @@ -20,7 +20,13 @@ func (p *servicePackage) FrameworkResources(ctx context.Context) []*types.Servic } func (p *servicePackage) SDKDataSources(ctx context.Context) []*types.ServicePackageSDKDataSource { - return []*types.ServicePackageSDKDataSource{} + return []*types.ServicePackageSDKDataSource{ + { + Factory: DataSourceQueue, + TypeName: "aws_media_convert_queue", + Name: "Queue", + }, + } } func (p *servicePackage) SDKResources(ctx context.Context) []*types.ServicePackageSDKResource { From 1c1220603ec27531520cc2aa24ed3ed665a693b1 Mon Sep 17 00:00:00 2001 From: Jared Baker Date: Wed, 18 Oct 2023 16:26:33 -0400 Subject: [PATCH 04/10] d/aws_mediaconvert_queue: fix listTags function call --- internal/service/mediaconvert/queue_data_source.go | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/internal/service/mediaconvert/queue_data_source.go b/internal/service/mediaconvert/queue_data_source.go index ee8c77d73d30..e12e52b66afb 100644 --- a/internal/service/mediaconvert/queue_data_source.go +++ b/internal/service/mediaconvert/queue_data_source.go @@ -53,8 +53,6 @@ func dataSourceQueueRead(ctx context.Context, d *schema.ResourceData, meta inter return sdkdiag.AppendErrorf(diags, "error getting Media Convert Account Client: %s", err) } - ignoreTagsConfig := meta.(*conns.AWSClient).IgnoreTagsConfig - id := d.Get("id").(string) resp, err := conn.GetQueueWithContext(ctx, &mediaconvert.GetQueueInput{ @@ -74,7 +72,8 @@ func dataSourceQueueRead(ctx context.Context, d *schema.ResourceData, meta inter d.Set("arn", resp.Queue.Arn) d.Set("status", resp.Queue.Status) - tags, err := ListTags(ctx, conn, aws.StringValue(resp.Queue.Arn)) + ignoreTagsConfig := meta.(*conns.AWSClient).IgnoreTagsConfig + tags, err := listTags(ctx, conn, aws.StringValue(resp.Queue.Arn)) if err != nil { return sdkdiag.AppendErrorf(diags, "error listing tags for Media Convert Queue (%s): %s", id, err) From cf6204cf61400f215a000536a18619c05bf9c117 Mon Sep 17 00:00:00 2001 From: Jared Baker Date: Wed, 18 Oct 2023 16:27:02 -0400 Subject: [PATCH 05/10] d/aws_mediaconvert_queue(test): fix resource import, tidy configs --- .../service/mediaconvert/queue_data_source_test.go | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/internal/service/mediaconvert/queue_data_source_test.go b/internal/service/mediaconvert/queue_data_source_test.go index 0dcb58d4286e..b73c9fea00a0 100644 --- a/internal/service/mediaconvert/queue_data_source_test.go +++ b/internal/service/mediaconvert/queue_data_source_test.go @@ -5,7 +5,7 @@ import ( "github.com/aws/aws-sdk-go/service/mediaconvert" sdkacctest "github.com/hashicorp/terraform-plugin-sdk/v2/helper/acctest" - "github.com/hashicorp/terraform-plugin-sdk/v2/helper/resource" + "github.com/hashicorp/terraform-plugin-testing/helper/resource" "github.com/hashicorp/terraform-provider-aws/internal/acctest" ) @@ -83,7 +83,9 @@ func TestAccMediaConvertQueueDataSource_withTags(t *testing.T) { } func testAccQueueDataSourceConfig_basic(rName string) string { - return acctest.ConfigCompose(testAccQueueConfig_basic(rName), ` + return acctest.ConfigCompose( + testAccQueueConfig_basic(rName), + ` data "aws_media_convert_queue" "test" { id = aws_media_convert_queue.test.id } @@ -91,7 +93,9 @@ data "aws_media_convert_queue" "test" { } func testAccQueueDataSourceConfig_status(rName, status string) string { - return acctest.ConfigCompose(testAccQueueConfig_status(rName, status), ` + return acctest.ConfigCompose( + testAccQueueConfig_status(rName, status), + ` data "aws_media_convert_queue" "test" { id = aws_media_convert_queue.test.id } @@ -99,7 +103,9 @@ data "aws_media_convert_queue" "test" { } func testAccQueueDataSourceConfig_tags(rName, tagKey1, tagValue1, tagKey2, tagValue2 string) string { - return acctest.ConfigCompose(testAccQueueConfig_tags(rName, tagKey1, tagValue1, tagKey2, tagValue2), ` + return acctest.ConfigCompose( + testAccQueueConfig_tags(rName, tagKey1, tagValue1, tagKey2, tagValue2), + ` data "aws_media_convert_queue" "test" { id = aws_media_convert_queue.test.id } From 4b282e8a6366e999dc42cfd4b8f6ef76e6680a7f Mon Sep 17 00:00:00 2001 From: Jared Baker Date: Wed, 18 Oct 2023 16:27:39 -0400 Subject: [PATCH 06/10] d/aws_mediaconvert_queue(doc): alphabetize, add status attribute --- website/docs/d/media_convert_queue.html.markdown | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/website/docs/d/media_convert_queue.html.markdown b/website/docs/d/media_convert_queue.html.markdown index d8b3845e89bf..318f561b6bbb 100644 --- a/website/docs/d/media_convert_queue.html.markdown +++ b/website/docs/d/media_convert_queue.html.markdown @@ -26,6 +26,7 @@ The following arguments are supported: ## Attributes Reference -* `name` - The same as `id`. * `arn` - The Arn of the queue. +* `name` - The same as `id`. +* `status` - The status of the queue. * `tags` - A map of tags assigned to the resource, including those inherited from the provider [`default_tags` configuration block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags-configuration-block). From 937e4d90db1bcaf91675eb78bb782e08fba110a1 Mon Sep 17 00:00:00 2001 From: Jared Baker Date: Wed, 18 Oct 2023 16:32:18 -0400 Subject: [PATCH 07/10] d/aws_mediaconvert_queue: make status computed --- internal/service/mediaconvert/queue_data_source.go | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/internal/service/mediaconvert/queue_data_source.go b/internal/service/mediaconvert/queue_data_source.go index e12e52b66afb..cda3a143eb7c 100644 --- a/internal/service/mediaconvert/queue_data_source.go +++ b/internal/service/mediaconvert/queue_data_source.go @@ -7,7 +7,6 @@ import ( "github.com/aws/aws-sdk-go/service/mediaconvert" "github.com/hashicorp/terraform-plugin-sdk/v2/diag" "github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema" - "github.com/hashicorp/terraform-plugin-sdk/v2/helper/validation" "github.com/hashicorp/terraform-provider-aws/internal/conns" "github.com/hashicorp/terraform-provider-aws/internal/errs/sdkdiag" tftags "github.com/hashicorp/terraform-provider-aws/internal/tags" @@ -33,12 +32,7 @@ func DataSourceQueue() *schema.Resource { }, "status": { Type: schema.TypeString, - Optional: true, - Default: mediaconvert.QueueStatusActive, - ValidateFunc: validation.StringInSlice([]string{ - mediaconvert.QueueStatusActive, - mediaconvert.QueueStatusPaused, - }, false), + Computed: true, }, "tags": tftags.TagsSchemaComputed(), }, From a3d6a4fec52e2de103563b1554fae2a026ca66e1 Mon Sep 17 00:00:00 2001 From: Jared Baker Date: Wed, 18 Oct 2023 16:40:14 -0400 Subject: [PATCH 08/10] d/aws_mediaconvert_queue: copyright headers --- internal/service/mediaconvert/queue_data_source.go | 3 +++ internal/service/mediaconvert/queue_data_source_test.go | 3 +++ 2 files changed, 6 insertions(+) diff --git a/internal/service/mediaconvert/queue_data_source.go b/internal/service/mediaconvert/queue_data_source.go index cda3a143eb7c..18ef3ffe18b7 100644 --- a/internal/service/mediaconvert/queue_data_source.go +++ b/internal/service/mediaconvert/queue_data_source.go @@ -1,3 +1,6 @@ +// Copyright (c) HashiCorp, Inc. +// SPDX-License-Identifier: MPL-2.0 + package mediaconvert import ( diff --git a/internal/service/mediaconvert/queue_data_source_test.go b/internal/service/mediaconvert/queue_data_source_test.go index b73c9fea00a0..70bd31716aae 100644 --- a/internal/service/mediaconvert/queue_data_source_test.go +++ b/internal/service/mediaconvert/queue_data_source_test.go @@ -1,3 +1,6 @@ +// Copyright (c) HashiCorp, Inc. +// SPDX-License-Identifier: MPL-2.0 + package mediaconvert_test import ( From d3e10efc0b14d83c12d7e77f7f6b66ff770573dd Mon Sep 17 00:00:00 2001 From: Jared Baker Date: Wed, 18 Oct 2023 16:41:18 -0400 Subject: [PATCH 09/10] d/aws_mediaconvert_queue(test): terrafmt --- internal/service/mediaconvert/queue_data_source_test.go | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/internal/service/mediaconvert/queue_data_source_test.go b/internal/service/mediaconvert/queue_data_source_test.go index 70bd31716aae..aac3fa961f8b 100644 --- a/internal/service/mediaconvert/queue_data_source_test.go +++ b/internal/service/mediaconvert/queue_data_source_test.go @@ -90,7 +90,7 @@ func testAccQueueDataSourceConfig_basic(rName string) string { testAccQueueConfig_basic(rName), ` data "aws_media_convert_queue" "test" { - id = aws_media_convert_queue.test.id + id = aws_media_convert_queue.test.id } `) } @@ -100,7 +100,7 @@ func testAccQueueDataSourceConfig_status(rName, status string) string { testAccQueueConfig_status(rName, status), ` data "aws_media_convert_queue" "test" { - id = aws_media_convert_queue.test.id + id = aws_media_convert_queue.test.id } `) } @@ -110,7 +110,7 @@ func testAccQueueDataSourceConfig_tags(rName, tagKey1, tagValue1, tagKey2, tagVa testAccQueueConfig_tags(rName, tagKey1, tagValue1, tagKey2, tagValue2), ` data "aws_media_convert_queue" "test" { - id = aws_media_convert_queue.test.id + id = aws_media_convert_queue.test.id } `) } From 6f6097f39f6f40b41c314807e8faac77e6f31a73 Mon Sep 17 00:00:00 2001 From: Jared Baker Date: Wed, 18 Oct 2023 16:43:09 -0400 Subject: [PATCH 10/10] d/aws_mediaconvert_queue: fix leading error semgrep finding --- internal/service/mediaconvert/queue_data_source.go | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/internal/service/mediaconvert/queue_data_source.go b/internal/service/mediaconvert/queue_data_source.go index 18ef3ffe18b7..8c3e9e8f4048 100644 --- a/internal/service/mediaconvert/queue_data_source.go +++ b/internal/service/mediaconvert/queue_data_source.go @@ -47,7 +47,7 @@ func dataSourceQueueRead(ctx context.Context, d *schema.ResourceData, meta inter conn, err := GetAccountClient(ctx, meta.(*conns.AWSClient)) if err != nil { - return sdkdiag.AppendErrorf(diags, "error getting Media Convert Account Client: %s", err) + return sdkdiag.AppendErrorf(diags, "getting Media Convert Account Client: %s", err) } id := d.Get("id").(string) @@ -57,11 +57,11 @@ func dataSourceQueueRead(ctx context.Context, d *schema.ResourceData, meta inter }) if err != nil { - return sdkdiag.AppendErrorf(diags, "error getting Media Convert Queue (%s): %s", id, err) + return sdkdiag.AppendErrorf(diags, "getting Media Convert Queue (%s): %s", id, err) } if resp == nil || resp.Queue == nil { - return sdkdiag.AppendErrorf(diags, "error getting Media Convert Queue (%s): empty response", id) + return sdkdiag.AppendErrorf(diags, "getting Media Convert Queue (%s): empty response", id) } d.SetId(aws.StringValue(resp.Queue.Name)) @@ -73,11 +73,11 @@ func dataSourceQueueRead(ctx context.Context, d *schema.ResourceData, meta inter tags, err := listTags(ctx, conn, aws.StringValue(resp.Queue.Arn)) if err != nil { - return sdkdiag.AppendErrorf(diags, "error listing tags for Media Convert Queue (%s): %s", id, err) + return sdkdiag.AppendErrorf(diags, "listing tags for Media Convert Queue (%s): %s", id, err) } if err := d.Set("tags", tags.IgnoreAWS().IgnoreConfig(ignoreTagsConfig).Map()); err != nil { - return sdkdiag.AppendErrorf(diags, "error setting tags: %s", err) + return sdkdiag.AppendErrorf(diags, "setting tags for Media Convert Queue (%s): %s", id, err) } return diags