Skip to content

Commit

Permalink
Add container_recipe_arn attribute
Browse files Browse the repository at this point in the history
  • Loading branch information
kamilturek committed Feb 11, 2022
1 parent f1f58c4 commit 4a2adee
Show file tree
Hide file tree
Showing 2 changed files with 78 additions and 7 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ func DataSourceImagePipeline() *schema.Resource {
},
"container_recipe_arn": {
Type: schema.TypeString,
Required: true,
Computed: true,
},
"date_created": {
Type: schema.TypeString,
Expand Down
83 changes: 77 additions & 6 deletions internal/service/imagebuilder/image_pipeline_data_source_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -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"),
Expand All @@ -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" {}
Expand Down Expand Up @@ -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
Expand All @@ -102,19 +136,56 @@ 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 = <<EOF
FROM {{{ imagebuilder:parentImage }}}
{{{ imagebuilder:environments }}}
{{{ imagebuilder:components }}}
EOF
name = %[1]q
container_type = "DOCKER"
parent_image = "arn:${data.aws_partition.current.partition}:imagebuilder:${data.aws_region.current.name}:aws:image/amazon-linux-x86-latest/x.x.x"
version = "1.0.0"
target_repository {
repository_name = aws_ecr_repository.test.name
service = "ECR"
}
}
resource "aws_imagebuilder_image_pipeline" "test" {
image_recipe_arn = aws_imagebuilder_image_recipe.test.arn
container_recipe_arn = aws_imagebuilder_container_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)
`, rName))
}

0 comments on commit 4a2adee

Please sign in to comment.