Skip to content

Commit

Permalink
Merge pull request hashicorp#30772 from Maarc-D/feat/data-transit-gat…
Browse files Browse the repository at this point in the history
…eway-routes

feat(data-transit-gateway-routes): prepare changelog
  • Loading branch information
ewbankkit authored Aug 4, 2023
2 parents 4a4e52d + 18fe64d commit 1c429dc
Show file tree
Hide file tree
Showing 54 changed files with 527 additions and 146 deletions.
3 changes: 3 additions & 0 deletions .changelog/30771.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
```release-note:new-data-source
aws_ec2_transit_gateway_route_table_routes
```
4 changes: 2 additions & 2 deletions internal/service/ec2/ebs_snapshot_data_source.go
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ func DataSourceEBSSnapshot() *schema.Resource {
Type: schema.TypeBool,
Computed: true,
},
"filter": DataSourceFiltersSchema(),
"filter": CustomFiltersSchema(),
"kms_key_id": {
Type: schema.TypeString,
Computed: true,
Expand Down Expand Up @@ -127,7 +127,7 @@ func dataSourceEBSSnapshotRead(ctx context.Context, d *schema.ResourceData, meta
input.SnapshotIds = flex.ExpandStringList(v.([]interface{}))
}

input.Filters = append(input.Filters, BuildFiltersDataSource(
input.Filters = append(input.Filters, BuildCustomFilterList(
d.Get("filter").(*schema.Set),
)...)

Expand Down
4 changes: 2 additions & 2 deletions internal/service/ec2/ebs_snapshot_ids_data_source.go
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ func DataSourceEBSSnapshotIDs() *schema.Resource {
},

Schema: map[string]*schema.Schema{
"filter": DataSourceFiltersSchema(),
"filter": CustomFiltersSchema(),
"ids": {
Type: schema.TypeList,
Computed: true,
Expand Down Expand Up @@ -61,7 +61,7 @@ func dataSourceEBSSnapshotIDsRead(ctx context.Context, d *schema.ResourceData, m
input.RestorableByUserIds = flex.ExpandStringList(v.([]interface{}))
}

input.Filters = append(input.Filters, BuildFiltersDataSource(
input.Filters = append(input.Filters, BuildCustomFilterList(
d.Get("filter").(*schema.Set),
)...)

Expand Down
4 changes: 2 additions & 2 deletions internal/service/ec2/ebs_volume_data_source.go
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ func DataSourceEBSVolume() *schema.Resource {
Type: schema.TypeBool,
Computed: true,
},
"filter": DataSourceFiltersSchema(),
"filter": CustomFiltersSchema(),
"iops": {
Type: schema.TypeInt,
Computed: true,
Expand Down Expand Up @@ -95,7 +95,7 @@ func dataSourceEBSVolumeRead(ctx context.Context, d *schema.ResourceData, meta i

input := &ec2.DescribeVolumesInput{}

input.Filters = append(input.Filters, BuildFiltersDataSource(
input.Filters = append(input.Filters, BuildCustomFilterList(
d.Get("filter").(*schema.Set),
)...)

Expand Down
4 changes: 2 additions & 2 deletions internal/service/ec2/ebs_volumes_data_source.go
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ func DataSourceEBSVolumes() *schema.Resource {
},

Schema: map[string]*schema.Schema{
"filter": DataSourceFiltersSchema(),
"filter": CustomFiltersSchema(),
"ids": {
Type: schema.TypeList,
Computed: true,
Expand All @@ -47,7 +47,7 @@ func dataSourceEBSVolumesRead(ctx context.Context, d *schema.ResourceData, meta
Tags(tftags.New(ctx, d.Get("tags").(map[string]interface{}))),
)...)

input.Filters = append(input.Filters, BuildFiltersDataSource(
input.Filters = append(input.Filters, BuildCustomFilterList(
d.Get("filter").(*schema.Set),
)...)

Expand Down
4 changes: 2 additions & 2 deletions internal/service/ec2/ec2_ami_data_source.go
Original file line number Diff line number Diff line change
Expand Up @@ -94,7 +94,7 @@ func DataSourceAMI() *schema.Resource {
Optional: true,
Elem: &schema.Schema{Type: schema.TypeString},
},
"filter": DataSourceFiltersSchema(),
"filter": CustomFiltersSchema(),
"hypervisor": {
Type: schema.TypeString,
Computed: true,
Expand Down Expand Up @@ -244,7 +244,7 @@ func dataSourceAMIRead(ctx context.Context, d *schema.ResourceData, meta interfa
}

if v, ok := d.GetOk("filter"); ok {
input.Filters = BuildFiltersDataSource(v.(*schema.Set))
input.Filters = BuildCustomFilterList(v.(*schema.Set))
}

if v, ok := d.GetOk("owners"); ok && len(v.([]interface{})) > 0 {
Expand Down
4 changes: 2 additions & 2 deletions internal/service/ec2/ec2_ami_ids_data_source.go
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ func DataSourceAMIIDs() *schema.Resource {
Optional: true,
Elem: &schema.Schema{Type: schema.TypeString},
},
"filter": DataSourceFiltersSchema(),
"filter": CustomFiltersSchema(),
"ids": {
Type: schema.TypeList,
Computed: true,
Expand Down Expand Up @@ -84,7 +84,7 @@ func dataSourceAMIIDsRead(ctx context.Context, d *schema.ResourceData, meta inte
}

if v, ok := d.GetOk("filter"); ok {
input.Filters = BuildFiltersDataSource(v.(*schema.Set))
input.Filters = BuildCustomFilterList(v.(*schema.Set))
}

images, err := FindImages(ctx, conn, input)
Expand Down
4 changes: 2 additions & 2 deletions internal/service/ec2/ec2_eips_data_source.go
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ func DataSourceEIPs() *schema.Resource {
Computed: true,
Elem: &schema.Schema{Type: schema.TypeString},
},
"filter": DataSourceFiltersSchema(),
"filter": CustomFiltersSchema(),
"public_ips": {
Type: schema.TypeList,
Computed: true,
Expand All @@ -56,7 +56,7 @@ func dataSourceEIPsRead(ctx context.Context, d *schema.ResourceData, meta interf

if filters, filtersOk := d.GetOk("filter"); filtersOk {
input.Filters = append(input.Filters,
BuildFiltersDataSource(filters.(*schema.Set))...)
BuildCustomFilterList(filters.(*schema.Set))...)
}

if len(input.Filters) == 0 {
Expand Down
4 changes: 2 additions & 2 deletions internal/service/ec2/ec2_host_data_source.go
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ func DataSourceHost() *schema.Resource {
Type: schema.TypeInt,
Computed: true,
},
"filter": DataSourceFiltersSchema(),
"filter": CustomFiltersSchema(),
"host_id": {
Type: schema.TypeString,
Optional: true,
Expand Down Expand Up @@ -94,7 +94,7 @@ func dataSourceHostRead(ctx context.Context, d *schema.ResourceData, meta interf
ignoreTagsConfig := meta.(*conns.AWSClient).IgnoreTagsConfig

input := &ec2.DescribeHostsInput{
Filter: BuildFiltersDataSource(d.Get("filter").(*schema.Set)),
Filter: BuildCustomFilterList(d.Get("filter").(*schema.Set)),
}

if v, ok := d.GetOk("host_id"); ok {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ func DataSourceInstanceTypeOffering() *schema.Resource {
},

Schema: map[string]*schema.Schema{
"filter": DataSourceFiltersSchema(),
"filter": CustomFiltersSchema(),
"instance_type": {
Type: schema.TypeString,
Computed: true,
Expand All @@ -52,7 +52,7 @@ func dataSourceInstanceTypeOfferingRead(ctx context.Context, d *schema.ResourceD
input := &ec2.DescribeInstanceTypeOfferingsInput{}

if v, ok := d.GetOk("filter"); ok {
input.Filters = BuildFiltersDataSource(v.(*schema.Set))
input.Filters = BuildCustomFilterList(v.(*schema.Set))
}

if v, ok := d.GetOk("location_type"); ok {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ func DataSourceInstanceTypeOfferings() *schema.Resource {
},

Schema: map[string]*schema.Schema{
"filter": DataSourceFiltersSchema(),
"filter": CustomFiltersSchema(),
"instance_types": {
Type: schema.TypeList,
Computed: true,
Expand Down Expand Up @@ -58,7 +58,7 @@ func dataSourceInstanceTypeOfferingsRead(ctx context.Context, d *schema.Resource
input := &ec2.DescribeInstanceTypeOfferingsInput{}

if v, ok := d.GetOk("filter"); ok {
input.Filters = BuildFiltersDataSource(v.(*schema.Set))
input.Filters = BuildCustomFilterList(v.(*schema.Set))
}

if v, ok := d.GetOk("location_type"); ok {
Expand Down
4 changes: 2 additions & 2 deletions internal/service/ec2/ec2_instance_types_data_source.go
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ func DataSourceInstanceTypes() *schema.Resource {
},

Schema: map[string]*schema.Schema{
"filter": DataSourceFiltersSchema(),
"filter": CustomFiltersSchema(),
"instance_types": {
Type: schema.TypeList,
Computed: true,
Expand All @@ -42,7 +42,7 @@ func dataSourceInstanceTypesRead(ctx context.Context, d *schema.ResourceData, me
input := &ec2.DescribeInstanceTypesInput{}

if v, ok := d.GetOk("filter"); ok {
input.Filters = BuildFiltersDataSource(v.(*schema.Set))
input.Filters = BuildCustomFilterList(v.(*schema.Set))
}

output, err := FindInstanceTypes(ctx, conn, input)
Expand Down
4 changes: 2 additions & 2 deletions internal/service/ec2/ec2_instances_data_source.go
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ func DataSourceInstances() *schema.Resource {
},

Schema: map[string]*schema.Schema{
"filter": DataSourceFiltersSchema(),
"filter": CustomFiltersSchema(),
"ids": {
Type: schema.TypeList,
Computed: true,
Expand Down Expand Up @@ -84,7 +84,7 @@ func dataSourceInstancesRead(ctx context.Context, d *schema.ResourceData, meta i
Tags(tftags.New(ctx, d.Get("instance_tags").(map[string]interface{}))),
)...)

input.Filters = append(input.Filters, BuildFiltersDataSource(
input.Filters = append(input.Filters, BuildCustomFilterList(
d.Get("filter").(*schema.Set),
)...)

Expand Down
4 changes: 2 additions & 2 deletions internal/service/ec2/ec2_key_pair_data_source.go
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ func DataSourceKeyPair() *schema.Resource {
Type: schema.TypeString,
Computed: true,
},
"filter": DataSourceFiltersSchema(),
"filter": CustomFiltersSchema(),
"fingerprint": {
Type: schema.TypeString,
Computed: true,
Expand Down Expand Up @@ -76,7 +76,7 @@ func dataSourceKeyPairRead(ctx context.Context, d *schema.ResourceData, meta int
input := &ec2.DescribeKeyPairsInput{}

if v, ok := d.GetOk("filter"); ok {
input.Filters = BuildFiltersDataSource(v.(*schema.Set))
input.Filters = BuildCustomFilterList(v.(*schema.Set))
}

if v, ok := d.GetOk("key_name"); ok {
Expand Down
4 changes: 2 additions & 2 deletions internal/service/ec2/ec2_launch_template_data_source.go
Original file line number Diff line number Diff line change
Expand Up @@ -210,7 +210,7 @@ func DataSourceLaunchTemplate() *schema.Resource {
},
},
},
"filter": DataSourceFiltersSchema(),
"filter": CustomFiltersSchema(),
"hibernation_options": {
Type: schema.TypeList,
Computed: true,
Expand Down Expand Up @@ -793,7 +793,7 @@ func dataSourceLaunchTemplateRead(ctx context.Context, d *schema.ResourceData, m
input.LaunchTemplateNames = aws.StringSlice([]string{v.(string)})
}

input.Filters = append(input.Filters, BuildFiltersDataSource(
input.Filters = append(input.Filters, BuildCustomFilterList(
d.Get("filter").(*schema.Set),
)...)

Expand Down
4 changes: 2 additions & 2 deletions internal/service/ec2/ec2_public_ipv4_pools_data_source.go
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ func DataSourcePublicIPv4Pools() *schema.Resource {
ReadWithoutTimeout: dataSourcePublicIPv4PoolsRead,

Schema: map[string]*schema.Schema{
"filter": DataSourceFiltersSchema(),
"filter": CustomFiltersSchema(),
"pool_ids": {
Type: schema.TypeList,
Computed: true,
Expand All @@ -42,7 +42,7 @@ func dataSourcePublicIPv4PoolsRead(ctx context.Context, d *schema.ResourceData,
Tags(tftags.New(ctx, d.Get("tags").(map[string]interface{}))),
)...)

input.Filters = append(input.Filters, BuildFiltersDataSource(
input.Filters = append(input.Filters, BuildCustomFilterList(
d.Get("filter").(*schema.Set),
)...)

Expand Down
4 changes: 2 additions & 2 deletions internal/service/ec2/ec2_spot_price_data_source.go
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ func DataSourceSpotPrice() *schema.Resource {
},

Schema: map[string]*schema.Schema{
"filter": DataSourceFiltersSchema(),
"filter": CustomFiltersSchema(),
"instance_type": {
Type: schema.TypeString,
Optional: true,
Expand Down Expand Up @@ -68,7 +68,7 @@ func dataSourceSpotPriceRead(ctx context.Context, d *schema.ResourceData, meta i
}

if v, ok := d.GetOk("filter"); ok {
input.Filters = BuildFiltersDataSource(v.(*schema.Set))
input.Filters = BuildCustomFilterList(v.(*schema.Set))
}

var foundSpotPrice []*ec2.SpotPrice
Expand Down
64 changes: 23 additions & 41 deletions internal/service/ec2/filters.go
Original file line number Diff line number Diff line change
Expand Up @@ -125,6 +125,28 @@ func CustomFiltersSchema() *schema.Schema {
}
}

func CustomRequiredFiltersSchema() *schema.Schema {
return &schema.Schema{
Type: schema.TypeSet,
Required: true,
Elem: &schema.Resource{
Schema: map[string]*schema.Schema{
"name": {
Type: schema.TypeString,
Required: true,
},
"values": {
Type: schema.TypeSet,
Required: true,
Elem: &schema.Schema{
Type: schema.TypeString,
},
},
},
},
}
}

// CustomFiltersBlock is the Plugin Framework variant of CustomFiltersSchema.
func CustomFiltersBlock() datasourceschema.Block {
return datasourceschema.SetNestedBlock{
Expand Down Expand Up @@ -155,7 +177,7 @@ type customFilterData struct {
// of the "Describe..." functions in the EC2 API.
//
// This function is intended only to be used in conjunction with
// ec2CustomFitlersSchema. See the docs on that function for more details
// CustomFiltersSchema. See the docs on that function for more details
// on the configuration pattern this is intended to support.
func BuildCustomFilterList(filterSet *schema.Set) []*ec2.Filter {
if filterSet == nil {
Expand Down Expand Up @@ -211,43 +233,3 @@ func BuildCustomFilters(ctx context.Context, filterSet types.Set) []*ec2.Filter

return filters
}

// These were in 'internal/service/ec2/common_schema_data_source.go'.
// TODO Deduplicate.

func BuildFiltersDataSource(set *schema.Set) []*ec2.Filter {
var filters []*ec2.Filter
for _, v := range set.List() {
m := v.(map[string]interface{})
var filterValues []*string
for _, e := range m["values"].([]interface{}) {
filterValues = append(filterValues, aws.String(e.(string)))
}
filters = append(filters, &ec2.Filter{
Name: aws.String(m["name"].(string)),
Values: filterValues,
})
}
return filters
}

func DataSourceFiltersSchema() *schema.Schema {
return &schema.Schema{
Type: schema.TypeSet,
Optional: true,
Elem: &schema.Resource{
Schema: map[string]*schema.Schema{
"name": {
Type: schema.TypeString,
Required: true,
},

"values": {
Type: schema.TypeList,
Required: true,
Elem: &schema.Schema{Type: schema.TypeString},
},
},
},
}
}
Loading

0 comments on commit 1c429dc

Please sign in to comment.