TrafficMirrorSession

Provides an Traffic mirror session.
Read limits and considerations for traffic mirroring

Example Usage

using Pulumi;
using Aws = Pulumi.Aws;

class MyStack : Stack
{
    public MyStack()
    {
        var filter = new Aws.Ec2.TrafficMirrorFilter("filter", new Aws.Ec2.TrafficMirrorFilterArgs
        {
            Description = "traffic mirror filter - example",
            NetworkServices = 
            {
                "amazon-dns",
            },
        });
        var target = new Aws.Ec2.TrafficMirrorTarget("target", new Aws.Ec2.TrafficMirrorTargetArgs
        {
            NetworkLoadBalancerArn = aws_lb.Lb.Arn,
        });
        var session = new Aws.Ec2.TrafficMirrorSession("session", new Aws.Ec2.TrafficMirrorSessionArgs
        {
            Description = "traffic mirror session - example",
            NetworkInterfaceId = aws_instance.Test.Primary_network_interface_id,
            TrafficMirrorFilterId = filter.Id,
            TrafficMirrorTargetId = target.Id,
        });
    }

}
package main

import (
	"github.com/pulumi/pulumi-aws/sdk/v4/go/aws/ec2"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		filter, err := ec2.NewTrafficMirrorFilter(ctx, "filter", &ec2.TrafficMirrorFilterArgs{
			Description: pulumi.String("traffic mirror filter - example"),
			NetworkServices: pulumi.StringArray{
				pulumi.String("amazon-dns"),
			},
		})
		if err != nil {
			return err
		}
		target, err := ec2.NewTrafficMirrorTarget(ctx, "target", &ec2.TrafficMirrorTargetArgs{
			NetworkLoadBalancerArn: pulumi.Any(aws_lb.Lb.Arn),
		})
		if err != nil {
			return err
		}
		_, err = ec2.NewTrafficMirrorSession(ctx, "session", &ec2.TrafficMirrorSessionArgs{
			Description:           pulumi.String("traffic mirror session - example"),
			NetworkInterfaceId:    pulumi.Any(aws_instance.Test.Primary_network_interface_id),
			TrafficMirrorFilterId: filter.ID(),
			TrafficMirrorTargetId: target.ID(),
		})
		if err != nil {
			return err
		}
		return nil
	})
}
import pulumi
import pulumi_aws as aws

filter = aws.ec2.TrafficMirrorFilter("filter",
    description="traffic mirror filter - example",
    network_services=["amazon-dns"])
target = aws.ec2.TrafficMirrorTarget("target", network_load_balancer_arn=aws_lb["lb"]["arn"])
session = aws.ec2.TrafficMirrorSession("session",
    description="traffic mirror session - example",
    network_interface_id=aws_instance["test"]["primary_network_interface_id"],
    traffic_mirror_filter_id=filter.id,
    traffic_mirror_target_id=target.id)
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";

const filter = new aws.ec2.TrafficMirrorFilter("filter", {
    description: "traffic mirror filter - example",
    networkServices: ["amazon-dns"],
});
const target = new aws.ec2.TrafficMirrorTarget("target", {networkLoadBalancerArn: aws_lb.lb.arn});
const session = new aws.ec2.TrafficMirrorSession("session", {
    description: "traffic mirror session - example",
    networkInterfaceId: aws_instance.test.primary_network_interface_id,
    trafficMirrorFilterId: filter.id,
    trafficMirrorTargetId: target.id,
});

Create a TrafficMirrorSession Resource

new TrafficMirrorSession(name: string, args: TrafficMirrorSessionArgs, opts?: CustomResourceOptions);
@overload
def TrafficMirrorSession(resource_name: str,
                         opts: Optional[ResourceOptions] = None,
                         description: Optional[str] = None,
                         network_interface_id: Optional[str] = None,
                         packet_length: Optional[int] = None,
                         session_number: Optional[int] = None,
                         tags: Optional[Mapping[str, str]] = None,
                         tags_all: Optional[Mapping[str, str]] = None,
                         traffic_mirror_filter_id: Optional[str] = None,
                         traffic_mirror_target_id: Optional[str] = None,
                         virtual_network_id: Optional[int] = None)
@overload
def TrafficMirrorSession(resource_name: str,
                         args: TrafficMirrorSessionArgs,
                         opts: Optional[ResourceOptions] = None)
func NewTrafficMirrorSession(ctx *Context, name string, args TrafficMirrorSessionArgs, opts ...ResourceOption) (*TrafficMirrorSession, error)
public TrafficMirrorSession(string name, TrafficMirrorSessionArgs args, CustomResourceOptions? opts = null)
name string
The unique name of the resource.
args TrafficMirrorSessionArgs
The arguments to resource properties.
opts CustomResourceOptions
Bag of options to control resource's behavior.
resource_name str
The unique name of the resource.
args TrafficMirrorSessionArgs
The arguments to resource properties.
opts ResourceOptions
Bag of options to control resource's behavior.
ctx Context
Context object for the current deployment.
name string
The unique name of the resource.
args TrafficMirrorSessionArgs
The arguments to resource properties.
opts ResourceOption
Bag of options to control resource's behavior.
name string
The unique name of the resource.
args TrafficMirrorSessionArgs
The arguments to resource properties.
opts CustomResourceOptions
Bag of options to control resource's behavior.

TrafficMirrorSession Resource Properties

To learn more about resource properties and how to use them, see Inputs and Outputs in the Programming Model docs.

Inputs

The TrafficMirrorSession resource accepts the following input properties:

NetworkInterfaceId string
ID of the source network interface. Not all network interfaces are eligible as mirror sources. On EC2 instances only nitro based instances support mirroring.
SessionNumber int
  • The session number determines the order in which sessions are evaluated when an interface is used by multiple sessions. The first session with a matching filter is the one that mirrors the packets.
TrafficMirrorFilterId string
ID of the traffic mirror filter to be used
TrafficMirrorTargetId string
ID of the traffic mirror target to be used
Description string
A description of the traffic mirror session.
PacketLength int
The number of bytes in each packet to mirror. These are bytes after the VXLAN header. Do not specify this parameter when you want to mirror the entire packet. To mirror a subset of the packet, set this to the length (in bytes) that you want to mirror.
Tags Dictionary<string, string>
TagsAll Dictionary<string, string>
VirtualNetworkId int
  • The VXLAN ID for the Traffic Mirror session. For more information about the VXLAN protocol, see RFC 7348. If you do not specify a VirtualNetworkId, an account-wide unique id is chosen at random.
NetworkInterfaceId string
ID of the source network interface. Not all network interfaces are eligible as mirror sources. On EC2 instances only nitro based instances support mirroring.
SessionNumber int
  • The session number determines the order in which sessions are evaluated when an interface is used by multiple sessions. The first session with a matching filter is the one that mirrors the packets.
TrafficMirrorFilterId string
ID of the traffic mirror filter to be used
TrafficMirrorTargetId string
ID of the traffic mirror target to be used
Description string
A description of the traffic mirror session.
PacketLength int
The number of bytes in each packet to mirror. These are bytes after the VXLAN header. Do not specify this parameter when you want to mirror the entire packet. To mirror a subset of the packet, set this to the length (in bytes) that you want to mirror.
Tags map[string]string
TagsAll map[string]string
VirtualNetworkId int
  • The VXLAN ID for the Traffic Mirror session. For more information about the VXLAN protocol, see RFC 7348. If you do not specify a VirtualNetworkId, an account-wide unique id is chosen at random.
networkInterfaceId string
ID of the source network interface. Not all network interfaces are eligible as mirror sources. On EC2 instances only nitro based instances support mirroring.
sessionNumber number
  • The session number determines the order in which sessions are evaluated when an interface is used by multiple sessions. The first session with a matching filter is the one that mirrors the packets.
trafficMirrorFilterId string
ID of the traffic mirror filter to be used
trafficMirrorTargetId string
ID of the traffic mirror target to be used
description string
A description of the traffic mirror session.
packetLength number
The number of bytes in each packet to mirror. These are bytes after the VXLAN header. Do not specify this parameter when you want to mirror the entire packet. To mirror a subset of the packet, set this to the length (in bytes) that you want to mirror.
tags {[key: string]: string}
tagsAll {[key: string]: string}
virtualNetworkId number
  • The VXLAN ID for the Traffic Mirror session. For more information about the VXLAN protocol, see RFC 7348. If you do not specify a VirtualNetworkId, an account-wide unique id is chosen at random.
network_interface_id str
ID of the source network interface. Not all network interfaces are eligible as mirror sources. On EC2 instances only nitro based instances support mirroring.
session_number int
  • The session number determines the order in which sessions are evaluated when an interface is used by multiple sessions. The first session with a matching filter is the one that mirrors the packets.
traffic_mirror_filter_id str
ID of the traffic mirror filter to be used
traffic_mirror_target_id str
ID of the traffic mirror target to be used
description str
A description of the traffic mirror session.
packet_length int
The number of bytes in each packet to mirror. These are bytes after the VXLAN header. Do not specify this parameter when you want to mirror the entire packet. To mirror a subset of the packet, set this to the length (in bytes) that you want to mirror.
tags Mapping[str, str]
tags_all Mapping[str, str]
virtual_network_id int
  • The VXLAN ID for the Traffic Mirror session. For more information about the VXLAN protocol, see RFC 7348. If you do not specify a VirtualNetworkId, an account-wide unique id is chosen at random.

Outputs

All input properties are implicitly available as output properties. Additionally, the TrafficMirrorSession resource produces the following output properties:

Arn string
The ARN of the traffic mirror session.
Id string
The provider-assigned unique ID for this managed resource.
OwnerId string
The AWS account ID of the session owner.
Arn string
The ARN of the traffic mirror session.
Id string
The provider-assigned unique ID for this managed resource.
OwnerId string
The AWS account ID of the session owner.
arn string
The ARN of the traffic mirror session.
id string
The provider-assigned unique ID for this managed resource.
ownerId string
The AWS account ID of the session owner.
arn str
The ARN of the traffic mirror session.
id str
The provider-assigned unique ID for this managed resource.
owner_id str
The AWS account ID of the session owner.

Look up an Existing TrafficMirrorSession Resource

Get an existing TrafficMirrorSession resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

public static get(name: string, id: Input<ID>, state?: TrafficMirrorSessionState, opts?: CustomResourceOptions): TrafficMirrorSession
@staticmethod
def get(resource_name: str,
        id: str,
        opts: Optional[ResourceOptions] = None,
        arn: Optional[str] = None,
        description: Optional[str] = None,
        network_interface_id: Optional[str] = None,
        owner_id: Optional[str] = None,
        packet_length: Optional[int] = None,
        session_number: Optional[int] = None,
        tags: Optional[Mapping[str, str]] = None,
        tags_all: Optional[Mapping[str, str]] = None,
        traffic_mirror_filter_id: Optional[str] = None,
        traffic_mirror_target_id: Optional[str] = None,
        virtual_network_id: Optional[int] = None) -> TrafficMirrorSession
func GetTrafficMirrorSession(ctx *Context, name string, id IDInput, state *TrafficMirrorSessionState, opts ...ResourceOption) (*TrafficMirrorSession, error)
public static TrafficMirrorSession Get(string name, Input<string> id, TrafficMirrorSessionState? state, CustomResourceOptions? opts = null)
name
The unique name of the resulting resource.
id
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.
resource_name
The unique name of the resulting resource.
id
The unique provider ID of the resource to lookup.
name
The unique name of the resulting resource.
id
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.
name
The unique name of the resulting resource.
id
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.

The following state arguments are supported:

Arn string
The ARN of the traffic mirror session.
Description string
A description of the traffic mirror session.
NetworkInterfaceId string
ID of the source network interface. Not all network interfaces are eligible as mirror sources. On EC2 instances only nitro based instances support mirroring.
OwnerId string
The AWS account ID of the session owner.
PacketLength int
The number of bytes in each packet to mirror. These are bytes after the VXLAN header. Do not specify this parameter when you want to mirror the entire packet. To mirror a subset of the packet, set this to the length (in bytes) that you want to mirror.
SessionNumber int
  • The session number determines the order in which sessions are evaluated when an interface is used by multiple sessions. The first session with a matching filter is the one that mirrors the packets.
Tags Dictionary<string, string>
TagsAll Dictionary<string, string>
TrafficMirrorFilterId string
ID of the traffic mirror filter to be used
TrafficMirrorTargetId string
ID of the traffic mirror target to be used
VirtualNetworkId int
  • The VXLAN ID for the Traffic Mirror session. For more information about the VXLAN protocol, see RFC 7348. If you do not specify a VirtualNetworkId, an account-wide unique id is chosen at random.
Arn string
The ARN of the traffic mirror session.
Description string
A description of the traffic mirror session.
NetworkInterfaceId string
ID of the source network interface. Not all network interfaces are eligible as mirror sources. On EC2 instances only nitro based instances support mirroring.
OwnerId string
The AWS account ID of the session owner.
PacketLength int
The number of bytes in each packet to mirror. These are bytes after the VXLAN header. Do not specify this parameter when you want to mirror the entire packet. To mirror a subset of the packet, set this to the length (in bytes) that you want to mirror.
SessionNumber int
  • The session number determines the order in which sessions are evaluated when an interface is used by multiple sessions. The first session with a matching filter is the one that mirrors the packets.
Tags map[string]string
TagsAll map[string]string
TrafficMirrorFilterId string
ID of the traffic mirror filter to be used
TrafficMirrorTargetId string
ID of the traffic mirror target to be used
VirtualNetworkId int
  • The VXLAN ID for the Traffic Mirror session. For more information about the VXLAN protocol, see RFC 7348. If you do not specify a VirtualNetworkId, an account-wide unique id is chosen at random.
arn string
The ARN of the traffic mirror session.
description string
A description of the traffic mirror session.
networkInterfaceId string
ID of the source network interface. Not all network interfaces are eligible as mirror sources. On EC2 instances only nitro based instances support mirroring.
ownerId string
The AWS account ID of the session owner.
packetLength number
The number of bytes in each packet to mirror. These are bytes after the VXLAN header. Do not specify this parameter when you want to mirror the entire packet. To mirror a subset of the packet, set this to the length (in bytes) that you want to mirror.
sessionNumber number
  • The session number determines the order in which sessions are evaluated when an interface is used by multiple sessions. The first session with a matching filter is the one that mirrors the packets.
tags {[key: string]: string}
tagsAll {[key: string]: string}
trafficMirrorFilterId string
ID of the traffic mirror filter to be used
trafficMirrorTargetId string
ID of the traffic mirror target to be used
virtualNetworkId number
  • The VXLAN ID for the Traffic Mirror session. For more information about the VXLAN protocol, see RFC 7348. If you do not specify a VirtualNetworkId, an account-wide unique id is chosen at random.
arn str
The ARN of the traffic mirror session.
description str
A description of the traffic mirror session.
network_interface_id str
ID of the source network interface. Not all network interfaces are eligible as mirror sources. On EC2 instances only nitro based instances support mirroring.
owner_id str
The AWS account ID of the session owner.
packet_length int
The number of bytes in each packet to mirror. These are bytes after the VXLAN header. Do not specify this parameter when you want to mirror the entire packet. To mirror a subset of the packet, set this to the length (in bytes) that you want to mirror.
session_number int
  • The session number determines the order in which sessions are evaluated when an interface is used by multiple sessions. The first session with a matching filter is the one that mirrors the packets.
tags Mapping[str, str]
tags_all Mapping[str, str]
traffic_mirror_filter_id str
ID of the traffic mirror filter to be used
traffic_mirror_target_id str
ID of the traffic mirror target to be used
virtual_network_id int
  • The VXLAN ID for the Traffic Mirror session. For more information about the VXLAN protocol, see RFC 7348. If you do not specify a VirtualNetworkId, an account-wide unique id is chosen at random.

Import

Traffic mirror sessions can be imported using the id, e.g.

 $ pulumi import aws:ec2/trafficMirrorSession:TrafficMirrorSession session tms-0d8aa3ca35897b82e

Package Details

Repository
https://github.com/pulumi/pulumi-aws
License
Apache-2.0
Notes
This Pulumi package is based on the aws Terraform Provider.