diff --git a/aws/data_source_aws_imagebuilder_image_recipe_test.go b/aws/data_source_aws_imagebuilder_image_recipe_test.go index 73cde70f0b16..205e872dc0ed 100644 --- a/aws/data_source_aws_imagebuilder_image_recipe_test.go +++ b/aws/data_source_aws_imagebuilder_image_recipe_test.go @@ -32,6 +32,7 @@ func TestAccAwsImageBuilderImageRecipeDataSource_Arn(t *testing.T) { resource.TestCheckResourceAttrPair(dataSourceName, "platform", resourceName, "platform"), resource.TestCheckResourceAttrPair(dataSourceName, "tags.%", resourceName, "tags.%"), resource.TestCheckResourceAttrPair(dataSourceName, "version", resourceName, "version"), + resource.TestCheckResourceAttrPair(dataSourceName, "working_directory", resourceName, "working_directory"), ), }, }, @@ -59,7 +60,6 @@ resource "aws_imagebuilder_component" "test" { }] schemaVersion = 1.0 }) - working_directory = "/tmp" name = %[1]q platform = "Linux" version = "1.0.0" diff --git a/aws/resource_aws_imagebuilder_image_recipe_test.go b/aws/resource_aws_imagebuilder_image_recipe_test.go index 8d961ee1bead..39a19483cbf9 100644 --- a/aws/resource_aws_imagebuilder_image_recipe_test.go +++ b/aws/resource_aws_imagebuilder_image_recipe_test.go @@ -506,6 +506,31 @@ func TestAccAwsImageBuilderImageRecipe_Tags(t *testing.T) { }) } +func TestAccAwsImageBuilderImageRecipe_WorkingDirectory(t *testing.T) { + rName := acctest.RandomWithPrefix("tf-acc-test") + resourceName := "aws_imagebuilder_image_recipe.test" + + resource.ParallelTest(t, resource.TestCase{ + PreCheck: func() { testAccPreCheck(t) }, + Providers: testAccProviders, + CheckDestroy: testAccCheckAwsImageBuilderImageRecipeDestroy, + Steps: []resource.TestStep{ + { + Config: testAccAwsImageBuilderImageRecipeConfigWorkingDirectory(rName, "/tmp"), + Check: resource.ComposeTestCheckFunc( + testAccCheckAwsImageBuilderImageRecipeExists(resourceName), + resource.TestCheckResourceAttr(resourceName, "working_directory", "/tmp"), + ), + }, + { + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + }, + }, + }) +} + func testAccCheckAwsImageBuilderImageRecipeDestroy(s *terraform.State) error { conn := testAccProvider.Meta().(*AWSClient).imagebuilderconn @@ -920,3 +945,20 @@ resource "aws_imagebuilder_image_recipe" "test" { } `, rName, tagKey1, tagValue1, tagKey2, tagValue2)) } + +func testAccAwsImageBuilderImageRecipeConfigWorkingDirectory(rName string, workingDirectory string) string { + return composeConfig( + testAccAwsImageBuilderImageRecipeConfigBase(rName), + fmt.Sprintf(` +resource "aws_imagebuilder_image_recipe" "test" { + component { + component_arn = aws_imagebuilder_component.test.arn + } + + name = %[1]q + parent_image = "arn:${data.aws_partition.current.partition}:imagebuilder:${data.aws_region.current.name}:aws:image/amazon-linux-2-x86/x.x.x" + version = "1.0.0" + working_directory = %[2]q +} +`, rName, workingDirectory)) +} diff --git a/website/docs/d/imagebuilder_image_recipe.html.markdown b/website/docs/d/imagebuilder_image_recipe.html.markdown index c4b2932ab921..a4d753fd3809 100644 --- a/website/docs/d/imagebuilder_image_recipe.html.markdown +++ b/website/docs/d/imagebuilder_image_recipe.html.markdown @@ -48,5 +48,6 @@ In addition to all arguments above, the following attributes are exported: * `owner` - Owner of the image recipe. * `parent_image` - Platform of the image recipe. * `platform` - Platform of the image recipe. -* `tags` - (Optional) Key-value map of resource tags for the image recipe. +* `tags` - Key-value map of resource tags for the image recipe. * `version` - Version of the image recipe. +* `working_directory` - The working directory used during build and test workflows.