diff --git a/.changelog/22838.txt b/.changelog/22838.txt new file mode 100644 index 000000000000..7a846c85874f --- /dev/null +++ b/.changelog/22838.txt @@ -0,0 +1,3 @@ +```release-note:enhancement +data-source/aws_imagebuilder_distribution_configuration: Add `container_distribution_configuration` attribute to the `distribution` configuration block +``` diff --git a/internal/service/imagebuilder/distribution_configuration_data_source.go b/internal/service/imagebuilder/distribution_configuration_data_source.go index 2618bd7daee6..9b34be429bdc 100644 --- a/internal/service/imagebuilder/distribution_configuration_data_source.go +++ b/internal/service/imagebuilder/distribution_configuration_data_source.go @@ -88,6 +88,41 @@ func DataSourceDistributionConfiguration() *schema.Resource { }, }, }, + "container_distribution_configuration": { + Type: schema.TypeSet, + Computed: true, + Elem: &schema.Resource{ + Schema: map[string]*schema.Schema{ + "container_tags": { + Type: schema.TypeSet, + Computed: true, + Elem: &schema.Schema{ + Type: schema.TypeString, + }, + }, + "description": { + Type: schema.TypeString, + Computed: true, + }, + "target_repository": { + Type: schema.TypeSet, + Computed: true, + Elem: &schema.Resource{ + Schema: map[string]*schema.Schema{ + "repository_name": { + Type: schema.TypeString, + Computed: true, + }, + "service": { + Type: schema.TypeString, + Computed: true, + }, + }, + }, + }, + }, + }, + }, "license_configuration_arns": { Type: schema.TypeSet, Computed: true, diff --git a/internal/service/imagebuilder/distribution_configuration_data_source_test.go b/internal/service/imagebuilder/distribution_configuration_data_source_test.go index b2e7222cbd2d..da8af2c86374 100644 --- a/internal/service/imagebuilder/distribution_configuration_data_source_test.go +++ b/internal/service/imagebuilder/distribution_configuration_data_source_test.go @@ -29,6 +29,12 @@ func TestAccImageBuilderDistributionConfigurationDataSource_arn(t *testing.T) { resource.TestCheckResourceAttrPair(dataSourceName, "date_updated", resourceName, "date_updated"), resource.TestCheckResourceAttrPair(dataSourceName, "description", resourceName, "description"), resource.TestCheckResourceAttrPair(dataSourceName, "distribution.#", resourceName, "distribution.#"), + resource.TestCheckResourceAttrPair(dataSourceName, "distribution.0.container_distribution_configuration.#", resourceName, "distribution.0.container_distribution_configuration.#"), + resource.TestCheckResourceAttrPair(dataSourceName, "distribution.0.container_distribution_configuration.0.container_tags.#", resourceName, "distribution.0.container_distribution_configuration.0.container_tags.#"), + resource.TestCheckResourceAttrPair(dataSourceName, "distribution.0.container_distribution_configuration.0.description", resourceName, "distribution.0.container_distribution_configuration.0.description"), + resource.TestCheckResourceAttrPair(dataSourceName, "distribution.0.container_distribution_configuration.0.target_repository.#", resourceName, "distribution.0.container_distribution_configuration.0.target_repository.#"), + resource.TestCheckResourceAttrPair(dataSourceName, "distribution.0.container_distribution_configuration.0.target_repository.0.repository_name", resourceName, "distribution.0.container_distribution_configuration.0.target_repository.0.repository_name"), + resource.TestCheckResourceAttrPair(dataSourceName, "distribution.0.container_distribution_configuration.0.target_repository.0.service", resourceName, "distribution.0.container_distribution_configuration.0.target_repository.0.service"), resource.TestCheckResourceAttrPair(dataSourceName, "name", resourceName, "name"), resource.TestCheckResourceAttrPair(dataSourceName, "tags.%", resourceName, "tags.%"), ), @@ -49,6 +55,13 @@ resource "aws_imagebuilder_distribution_configuration" "test" { name = "{{ imagebuilder:buildDate }}" } + container_distribution_configuration { + target_repository { + repository_name = "repository-name" + service = "ECR" + } + } + region = data.aws_region.current.name } } diff --git a/website/docs/d/imagebuilder_distribution_configuration.html.markdown b/website/docs/d/imagebuilder_distribution_configuration.html.markdown index 7064f4acea29..53f018086d97 100644 --- a/website/docs/d/imagebuilder_distribution_configuration.html.markdown +++ b/website/docs/d/imagebuilder_distribution_configuration.html.markdown @@ -38,6 +38,12 @@ In addition to all arguments above, the following attributes are exported: * `user_groups` - Set of EC2 launch permission user groups. * `user_ids` - Set of AWS Account identifiers. * `target_account_ids` - Set of target AWS Account identifiers. + * `container_distribution_configuration` - Nested list of container distribution configurations. + * `container_tags` - Set of tags that are attached to the container distribution configuration. + * `description` - Description of the container distribution configuration. + * `target_repository` - Set of destination repositories for the container distribution configuration. + * `repository_name` - Name of the container repository where the output container image is stored. + * `service` - Service in which the image is registered. * `license_configuration_arns` - Set of Amazon Resource Names (ARNs) of License Manager License Configurations. * `region` - AWS Region of distribution. * `name` - Name of the distribution configuration.