Skip to content

Commit

Permalink
service/imagebuilder: Review items from #16947
Browse files Browse the repository at this point in the history
Reference: #16947 (review)

Output from acceptance testing in AWS Commercial:

```
--- PASS: TestAccAwsImageBuilderImageRecipe_disappears (31.42s)
--- PASS: TestAccAwsImageBuilderImageRecipe_BlockDeviceMapping_Ebs_Encrypted (34.85s)
--- PASS: TestAccAwsImageBuilderImageRecipe_basic (35.02s)
--- PASS: TestAccAwsImageBuilderImageRecipe_Description (37.85s)
--- PASS: TestAccAwsImageBuilderImageRecipe_BlockDeviceMapping_Ebs_Iops (38.14s)
--- PASS: TestAccAwsImageBuilderImageRecipe_WorkingDirectory (38.17s)
--- PASS: TestAccAwsImageBuilderImageRecipe_BlockDeviceMapping_VirtualName (38.18s)
--- PASS: TestAccAwsImageBuilderImageRecipe_BlockDeviceMapping_DeviceName (38.24s)
--- PASS: TestAccAwsImageBuilderImageRecipe_BlockDeviceMapping_Ebs_VolumeSize (38.32s)
--- PASS: TestAccAwsImageBuilderImageRecipe_BlockDeviceMapping_NoDevice (38.39s)
--- PASS: TestAccAwsImageBuilderImageRecipe_BlockDeviceMapping_Ebs_DeleteOnTermination (38.44s)
--- PASS: TestAccAwsImageBuilderImageRecipe_BlockDeviceMapping_Ebs_VolumeType (38.44s)
--- PASS: TestAccAwsImageBuilderImageRecipe_BlockDeviceMapping_Ebs_KmsKeyId (39.35s)
--- PASS: TestAccAwsImageBuilderImageRecipe_Component (39.39s)
--- PASS: TestAccAwsImageBuilderImageRecipe_BlockDeviceMapping_Ebs_SnapshotId (48.07s)
--- PASS: TestAccAwsImageBuilderImageRecipe_Tags (64.35s)

--- PASS: TestAccAwsImageBuilderImageRecipeDataSource_Arn (27.89s)
```

Output from acceptance testing in AWS GovCloud (US):

```
--- PASS: TestAccAwsImageBuilderImageRecipe_disappears (37.78s)
--- PASS: TestAccAwsImageBuilderImageRecipe_BlockDeviceMapping_VirtualName (40.06s)
--- PASS: TestAccAwsImageBuilderImageRecipe_BlockDeviceMapping_Ebs_Encrypted (40.46s)
--- PASS: TestAccAwsImageBuilderImageRecipe_BlockDeviceMapping_Ebs_VolumeSize (40.52s)
--- PASS: TestAccAwsImageBuilderImageRecipe_BlockDeviceMapping_Ebs_VolumeType (40.68s)
--- PASS: TestAccAwsImageBuilderImageRecipe_basic (41.90s)
--- PASS: TestAccAwsImageBuilderImageRecipe_Description (42.30s)
--- PASS: TestAccAwsImageBuilderImageRecipe_WorkingDirectory (42.46s)
--- PASS: TestAccAwsImageBuilderImageRecipe_BlockDeviceMapping_Ebs_DeleteOnTermination (42.62s)
--- PASS: TestAccAwsImageBuilderImageRecipe_BlockDeviceMapping_NoDevice (42.64s)
--- PASS: TestAccAwsImageBuilderImageRecipe_BlockDeviceMapping_DeviceName (42.82s)
--- PASS: TestAccAwsImageBuilderImageRecipe_BlockDeviceMapping_Ebs_KmsKeyId (43.29s)
--- PASS: TestAccAwsImageBuilderImageRecipe_BlockDeviceMapping_Ebs_Iops (43.30s)
--- PASS: TestAccAwsImageBuilderImageRecipe_Component (44.64s)
--- PASS: TestAccAwsImageBuilderImageRecipe_BlockDeviceMapping_Ebs_SnapshotId (49.57s)
--- PASS: TestAccAwsImageBuilderImageRecipe_Tags (73.70s)

--- PASS: TestAccAwsImageBuilderImageRecipeDataSource_Arn (30.79s)
```
  • Loading branch information
bflad committed Jan 4, 2021
1 parent 0f51b3e commit c764155
Show file tree
Hide file tree
Showing 3 changed files with 45 additions and 2 deletions.
2 changes: 1 addition & 1 deletion aws/data_source_aws_imagebuilder_image_recipe_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -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"),
),
},
},
Expand Down Expand Up @@ -59,7 +60,6 @@ resource "aws_imagebuilder_component" "test" {
}]
schemaVersion = 1.0
})
working_directory = "/tmp"
name = %[1]q
platform = "Linux"
version = "1.0.0"
Expand Down
42 changes: 42 additions & 0 deletions aws/resource_aws_imagebuilder_image_recipe_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -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

Expand Down Expand Up @@ -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))
}
3 changes: 2 additions & 1 deletion website/docs/d/imagebuilder_image_recipe.html.markdown
Original file line number Diff line number Diff line change
Expand Up @@ -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.

0 comments on commit c764155

Please sign in to comment.