Skip to content

Commit

Permalink
add arn attribute + disappears
Browse files Browse the repository at this point in the history
  • Loading branch information
DrFaust92 committed Jul 9, 2020
1 parent 28f62f9 commit 02f4286
Show file tree
Hide file tree
Showing 4 changed files with 22 additions and 14 deletions.
17 changes: 16 additions & 1 deletion aws/resource_aws_ec2_traffic_mirror_filter.go
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ import (
"log"

"github.com/aws/aws-sdk-go/aws"
"github.com/aws/aws-sdk-go/aws/arn"
"github.com/aws/aws-sdk-go/service/ec2"
"github.com/hashicorp/terraform-plugin-sdk/helper/schema"
"github.com/hashicorp/terraform-plugin-sdk/helper/validation"
Expand All @@ -21,6 +22,10 @@ func resourceAwsEc2TrafficMirrorFilter() *schema.Resource {
State: schema.ImportStatePassthrough,
},
Schema: map[string]*schema.Schema{
"arn": {
Type: schema.TypeString,
Computed: true,
},
"description": {
Type: schema.TypeString,
Optional: true,
Expand Down Expand Up @@ -59,7 +64,7 @@ func resourceAwsEc2TrafficMirrorFilterCreate(d *schema.ResourceData, meta interf
return fmt.Errorf("Error while creating traffic filter %s", err)
}

d.SetId(*out.TrafficMirrorFilter.TrafficMirrorFilterId)
d.SetId(aws.StringValue(out.TrafficMirrorFilter.TrafficMirrorFilterId))

if v, ok := d.GetOk("network_services"); ok {
input := &ec2.ModifyTrafficMirrorFilterNetworkServicesInput{
Expand Down Expand Up @@ -150,6 +155,16 @@ func resourceAwsEc2TrafficMirrorFilterRead(d *schema.ResourceData, meta interfac
return fmt.Errorf("error setting network_services for filter %v: %s", d.Id(), err)
}

arn := arn.ARN{
Partition: meta.(*AWSClient).partition,
Service: "ec2",
Region: meta.(*AWSClient).region,
AccountID: meta.(*AWSClient).accountid,
Resource: fmt.Sprintf("traffic-mirror-filter/%s", d.Id()),
}.String()

d.Set("arn", arn)

return nil
}

Expand Down
15 changes: 3 additions & 12 deletions aws/resource_aws_ec2_traffic_mirror_filter_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ package aws

import (
"fmt"
"regexp"
"testing"

"github.com/aws/aws-sdk-go/aws"
Expand Down Expand Up @@ -29,6 +30,7 @@ func TestAccAWSEc2TrafficMirrorFilter_basic(t *testing.T) {
Config: testAccTrafficMirrorFilterConfig(description),
Check: resource.ComposeTestCheckFunc(
testAccCheckAWSEc2TrafficMirrorFilterExists(resourceName, &v),
testAccMatchResourceAttrRegionalARN(resourceName, "arn", "ec2", regexp.MustCompile(`traffic-mirror-filter/tmf-.+`)),
resource.TestCheckResourceAttr(resourceName, "description", description),
resource.TestCheckResourceAttr(resourceName, "network_services.#", "1"),
resource.TestCheckResourceAttr(resourceName, "tags.%", "0"),
Expand Down Expand Up @@ -123,7 +125,7 @@ func TestAccAWSEc2TrafficMirrorFilter_disappears(t *testing.T) {
Config: testAccTrafficMirrorFilterConfig(description),
Check: resource.ComposeTestCheckFunc(
testAccCheckAWSEc2TrafficMirrorFilterExists(resourceName, &v),
testAccCheckAWSEc2TrafficMirrorFilterDisappears(&v),
testAccCheckResourceDisappears(testAccProvider, resourceAwsEc2TrafficMirrorFilter(), resourceName),
),
ExpectNonEmptyPlan: true,
},
Expand Down Expand Up @@ -162,17 +164,6 @@ func testAccCheckAWSEc2TrafficMirrorFilterExists(name string, traffic *ec2.Traff
}
}

func testAccCheckAWSEc2TrafficMirrorFilterDisappears(traffic *ec2.TrafficMirrorFilter) resource.TestCheckFunc {
return func(s *terraform.State) error {
conn := testAccProvider.Meta().(*AWSClient).ec2conn
_, err := conn.DeleteTrafficMirrorFilter(&ec2.DeleteTrafficMirrorFilterInput{
TrafficMirrorFilterId: traffic.TrafficMirrorFilterId,
})

return err
}
}

func testAccTrafficMirrorFilterConfig(description string) string {
return fmt.Sprintf(`
resource "aws_ec2_traffic_mirror_filter" "test" {
Expand Down
3 changes: 2 additions & 1 deletion website/docs/index.html.markdown
Original file line number Diff line number Diff line change
Expand Up @@ -250,7 +250,8 @@ for more information about connecting to alternate AWS endpoints or AWS compatib
- [`aws_ebs_volume` data source](/docs/providers/aws/d/ebs_volume.html)
- [`aws_ec2_capacity_reservation` resource](/docs/providers/aws/r/ec2_capacity_reservation.html)
- [`aws_ec2_client_vpn_endpoint` resource](/docs/providers/aws/r/ec2_client_vpn_endpoint.html)
- [`aws_ec2_traffic_mirror_session` resource](/docs/providers/aws/r/ec2_traffic_mirror_session.html)
- [`aws_ec2_traffic_mirror_filter` resource](/docs/providers/aws/r/ec2_traffic_mirror_filter.html)
- [`aws_ec2_traffic_mirror_session` resource](/docs/providers/aws/r/ec2_traffic_mirror_session.html)
- [`aws_ec2_traffic_mirror_target` resource](/docs/providers/aws/r/ec2_traffic_mirror_target.html)
- [`aws_ecs_capacity_provider` resource (import)](/docs/providers/aws/r/ecs_capacity_provider.html)
- [`aws_ecs_cluster` resource (import)](/docs/providers/aws/r/ecs_cluster.html)
Expand Down
1 change: 1 addition & 0 deletions website/docs/r/ec2_traffic_mirror_filter.html.markdown
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,7 @@ The following arguments are supported:

In addition to all arguments above, the following attributes are exported:

* `arn` - The ARN of the traffic mirror filter.
* `id` - The name of the filter.

## Import
Expand Down

0 comments on commit 02f4286

Please sign in to comment.