diff --git a/internal/service/imagebuilder/image_pipeline_data_source.go b/internal/service/imagebuilder/image_pipeline_data_source.go index 34f449b73f7b..15385d9b95f1 100644 --- a/internal/service/imagebuilder/image_pipeline_data_source.go +++ b/internal/service/imagebuilder/image_pipeline_data_source.go @@ -23,7 +23,7 @@ func DataSourceImagePipeline() *schema.Resource { }, "container_recipe_arn": { Type: schema.TypeString, - Required: true, + Computed: true, }, "date_created": { Type: schema.TypeString, diff --git a/internal/service/imagebuilder/image_pipeline_data_source_test.go b/internal/service/imagebuilder/image_pipeline_data_source_test.go index a75de12378ca..684cbeef5563 100644 --- a/internal/service/imagebuilder/image_pipeline_data_source_test.go +++ b/internal/service/imagebuilder/image_pipeline_data_source_test.go @@ -25,6 +25,7 @@ func TestAccImageBuilderImagePipelineDataSource_arn(t *testing.T) { Config: testAccImagePipelineARNDataSourceConfig(rName), Check: resource.ComposeTestCheckFunc( resource.TestCheckResourceAttrPair(dataSourceName, "arn", resourceName, "arn"), + resource.TestCheckResourceAttrPair(dataSourceName, "container_recipe_arn", resourceName, "container_recipe_arn"), resource.TestCheckResourceAttrPair(dataSourceName, "date_created", resourceName, "date_created"), resource.TestCheckResourceAttrPair(dataSourceName, "date_last_run", resourceName, "date_last_run"), resource.TestCheckResourceAttrPair(dataSourceName, "date_next_run", resourceName, "date_next_run"), @@ -46,7 +47,29 @@ func TestAccImageBuilderImagePipelineDataSource_arn(t *testing.T) { }) } -func testAccImagePipelineARNDataSourceConfig(rName string) string { +func TestAccImageBuilderImagePipelineDataSource_containerRecipeARN(t *testing.T) { + rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix) + dataSourceName := "data.aws_imagebuilder_image_pipeline.test" + resourceName := "aws_imagebuilder_image_pipeline.test" + + resource.ParallelTest(t, resource.TestCase{ + PreCheck: func() { acctest.PreCheck(t) }, + ErrorCheck: acctest.ErrorCheck(t, imagebuilder.EndpointsID), + ProviderFactories: acctest.ProviderFactories, + CheckDestroy: testAccCheckImagePipelineDestroy, + Steps: []resource.TestStep{ + { + Config: testAccImagePipelineContainerRecipeARNDataSourceConfig(rName), + Check: resource.ComposeTestCheckFunc( + resource.TestCheckResourceAttrPair(dataSourceName, "arn", resourceName, "arn"), + resource.TestCheckResourceAttrPair(dataSourceName, "container_recipe_arn", resourceName, "container_recipe_arn"), + ), + }, + }, + }) +} + +func testAccImagePipelineBaseDataSourceConfig(rName string) string { return fmt.Sprintf(` data "aws_region" "current" {} @@ -92,6 +115,17 @@ resource "aws_imagebuilder_component" "test" { version = "1.0.0" } +resource "aws_imagebuilder_infrastructure_configuration" "test" { + instance_profile_name = aws_iam_instance_profile.test.name + name = %[1]q +} +`, rName) +} + +func testAccImagePipelineARNDataSourceConfig(rName string) string { + return acctest.ConfigCompose( + testAccImagePipelineBaseDataSourceConfig(rName), + fmt.Sprintf(` resource "aws_imagebuilder_image_recipe" "test" { component { component_arn = aws_imagebuilder_component.test.arn @@ -102,13 +136,50 @@ resource "aws_imagebuilder_image_recipe" "test" { version = "1.0.0" } -resource "aws_imagebuilder_infrastructure_configuration" "test" { - instance_profile_name = aws_iam_instance_profile.test.name - name = %[1]q +resource "aws_imagebuilder_image_pipeline" "test" { + image_recipe_arn = aws_imagebuilder_image_recipe.test.arn + infrastructure_configuration_arn = aws_imagebuilder_infrastructure_configuration.test.arn + name = %[1]q +} + +data "aws_imagebuilder_image_pipeline" "test" { + arn = aws_imagebuilder_image_pipeline.test.arn +} +`, rName)) +} + +func testAccImagePipelineContainerRecipeARNDataSourceConfig(rName string) string { + return acctest.ConfigCompose( + testAccImagePipelineBaseDataSourceConfig(rName), + fmt.Sprintf(` +resource "aws_ecr_repository" "test" { + name = %[1]q +} + +resource "aws_imagebuilder_container_recipe" "test" { + component { + component_arn = aws_imagebuilder_component.test.arn + } + + dockerfile_template_data = <