github.com/pulumi/pulumi-aws/sdk/v6@v6.32.0/go/aws/ec2/trafficMirrorSession.go (about) 1 // Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. 2 // *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** 3 4 package ec2 5 6 import ( 7 "context" 8 "reflect" 9 10 "errors" 11 "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/internal" 12 "github.com/pulumi/pulumi/sdk/v3/go/pulumi" 13 ) 14 15 // Provides an Traffic mirror session.\ 16 // Read [limits and considerations](https://docs.aws.amazon.com/vpc/latest/mirroring/traffic-mirroring-considerations.html) for traffic mirroring 17 // 18 // ## Example Usage 19 // 20 // # To create a basic traffic mirror session 21 // 22 // <!--Start PulumiCodeChooser --> 23 // ```go 24 // package main 25 // 26 // import ( 27 // 28 // "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2" 29 // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" 30 // 31 // ) 32 // 33 // func main() { 34 // pulumi.Run(func(ctx *pulumi.Context) error { 35 // filter, err := ec2.NewTrafficMirrorFilter(ctx, "filter", &ec2.TrafficMirrorFilterArgs{ 36 // Description: pulumi.String("traffic mirror filter - example"), 37 // NetworkServices: pulumi.StringArray{ 38 // pulumi.String("amazon-dns"), 39 // }, 40 // }) 41 // if err != nil { 42 // return err 43 // } 44 // target, err := ec2.NewTrafficMirrorTarget(ctx, "target", &ec2.TrafficMirrorTargetArgs{ 45 // NetworkLoadBalancerArn: pulumi.Any(lb.Arn), 46 // }) 47 // if err != nil { 48 // return err 49 // } 50 // _, err = ec2.NewTrafficMirrorSession(ctx, "session", &ec2.TrafficMirrorSessionArgs{ 51 // Description: pulumi.String("traffic mirror session - example"), 52 // NetworkInterfaceId: pulumi.Any(test.PrimaryNetworkInterfaceId), 53 // SessionNumber: pulumi.Int(1), 54 // TrafficMirrorFilterId: filter.ID(), 55 // TrafficMirrorTargetId: target.ID(), 56 // }) 57 // if err != nil { 58 // return err 59 // } 60 // return nil 61 // }) 62 // } 63 // 64 // ``` 65 // <!--End PulumiCodeChooser --> 66 // 67 // ## Import 68 // 69 // Using `pulumi import`, import traffic mirror sessions using the `id`. For example: 70 // 71 // ```sh 72 // $ pulumi import aws:ec2/trafficMirrorSession:TrafficMirrorSession session tms-0d8aa3ca35897b82e 73 // ``` 74 type TrafficMirrorSession struct { 75 pulumi.CustomResourceState 76 77 // The ARN of the traffic mirror session. 78 Arn pulumi.StringOutput `pulumi:"arn"` 79 // A description of the traffic mirror session. 80 Description pulumi.StringPtrOutput `pulumi:"description"` 81 // ID of the source network interface. Not all network interfaces are eligible as mirror sources. On EC2 instances only nitro based instances support mirroring. 82 NetworkInterfaceId pulumi.StringOutput `pulumi:"networkInterfaceId"` 83 // The AWS account ID of the session owner. 84 OwnerId pulumi.StringOutput `pulumi:"ownerId"` 85 // 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. 86 PacketLength pulumi.IntPtrOutput `pulumi:"packetLength"` 87 // 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. 88 SessionNumber pulumi.IntOutput `pulumi:"sessionNumber"` 89 // Key-value map of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 90 Tags pulumi.StringMapOutput `pulumi:"tags"` 91 // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. 92 // 93 // Deprecated: Please use `tags` instead. 94 TagsAll pulumi.StringMapOutput `pulumi:"tagsAll"` 95 // ID of the traffic mirror filter to be used 96 TrafficMirrorFilterId pulumi.StringOutput `pulumi:"trafficMirrorFilterId"` 97 // ID of the traffic mirror target to be used 98 TrafficMirrorTargetId pulumi.StringOutput `pulumi:"trafficMirrorTargetId"` 99 // 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. 100 VirtualNetworkId pulumi.IntOutput `pulumi:"virtualNetworkId"` 101 } 102 103 // NewTrafficMirrorSession registers a new resource with the given unique name, arguments, and options. 104 func NewTrafficMirrorSession(ctx *pulumi.Context, 105 name string, args *TrafficMirrorSessionArgs, opts ...pulumi.ResourceOption) (*TrafficMirrorSession, error) { 106 if args == nil { 107 return nil, errors.New("missing one or more required arguments") 108 } 109 110 if args.NetworkInterfaceId == nil { 111 return nil, errors.New("invalid value for required argument 'NetworkInterfaceId'") 112 } 113 if args.SessionNumber == nil { 114 return nil, errors.New("invalid value for required argument 'SessionNumber'") 115 } 116 if args.TrafficMirrorFilterId == nil { 117 return nil, errors.New("invalid value for required argument 'TrafficMirrorFilterId'") 118 } 119 if args.TrafficMirrorTargetId == nil { 120 return nil, errors.New("invalid value for required argument 'TrafficMirrorTargetId'") 121 } 122 opts = internal.PkgResourceDefaultOpts(opts) 123 var resource TrafficMirrorSession 124 err := ctx.RegisterResource("aws:ec2/trafficMirrorSession:TrafficMirrorSession", name, args, &resource, opts...) 125 if err != nil { 126 return nil, err 127 } 128 return &resource, nil 129 } 130 131 // GetTrafficMirrorSession gets an existing TrafficMirrorSession resource's state with the given name, ID, and optional 132 // state properties that are used to uniquely qualify the lookup (nil if not required). 133 func GetTrafficMirrorSession(ctx *pulumi.Context, 134 name string, id pulumi.IDInput, state *TrafficMirrorSessionState, opts ...pulumi.ResourceOption) (*TrafficMirrorSession, error) { 135 var resource TrafficMirrorSession 136 err := ctx.ReadResource("aws:ec2/trafficMirrorSession:TrafficMirrorSession", name, id, state, &resource, opts...) 137 if err != nil { 138 return nil, err 139 } 140 return &resource, nil 141 } 142 143 // Input properties used for looking up and filtering TrafficMirrorSession resources. 144 type trafficMirrorSessionState struct { 145 // The ARN of the traffic mirror session. 146 Arn *string `pulumi:"arn"` 147 // A description of the traffic mirror session. 148 Description *string `pulumi:"description"` 149 // ID of the source network interface. Not all network interfaces are eligible as mirror sources. On EC2 instances only nitro based instances support mirroring. 150 NetworkInterfaceId *string `pulumi:"networkInterfaceId"` 151 // The AWS account ID of the session owner. 152 OwnerId *string `pulumi:"ownerId"` 153 // 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. 154 PacketLength *int `pulumi:"packetLength"` 155 // 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. 156 SessionNumber *int `pulumi:"sessionNumber"` 157 // Key-value map of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 158 Tags map[string]string `pulumi:"tags"` 159 // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. 160 // 161 // Deprecated: Please use `tags` instead. 162 TagsAll map[string]string `pulumi:"tagsAll"` 163 // ID of the traffic mirror filter to be used 164 TrafficMirrorFilterId *string `pulumi:"trafficMirrorFilterId"` 165 // ID of the traffic mirror target to be used 166 TrafficMirrorTargetId *string `pulumi:"trafficMirrorTargetId"` 167 // 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. 168 VirtualNetworkId *int `pulumi:"virtualNetworkId"` 169 } 170 171 type TrafficMirrorSessionState struct { 172 // The ARN of the traffic mirror session. 173 Arn pulumi.StringPtrInput 174 // A description of the traffic mirror session. 175 Description pulumi.StringPtrInput 176 // ID of the source network interface. Not all network interfaces are eligible as mirror sources. On EC2 instances only nitro based instances support mirroring. 177 NetworkInterfaceId pulumi.StringPtrInput 178 // The AWS account ID of the session owner. 179 OwnerId pulumi.StringPtrInput 180 // 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. 181 PacketLength pulumi.IntPtrInput 182 // 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. 183 SessionNumber pulumi.IntPtrInput 184 // Key-value map of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 185 Tags pulumi.StringMapInput 186 // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. 187 // 188 // Deprecated: Please use `tags` instead. 189 TagsAll pulumi.StringMapInput 190 // ID of the traffic mirror filter to be used 191 TrafficMirrorFilterId pulumi.StringPtrInput 192 // ID of the traffic mirror target to be used 193 TrafficMirrorTargetId pulumi.StringPtrInput 194 // 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. 195 VirtualNetworkId pulumi.IntPtrInput 196 } 197 198 func (TrafficMirrorSessionState) ElementType() reflect.Type { 199 return reflect.TypeOf((*trafficMirrorSessionState)(nil)).Elem() 200 } 201 202 type trafficMirrorSessionArgs struct { 203 // A description of the traffic mirror session. 204 Description *string `pulumi:"description"` 205 // ID of the source network interface. Not all network interfaces are eligible as mirror sources. On EC2 instances only nitro based instances support mirroring. 206 NetworkInterfaceId string `pulumi:"networkInterfaceId"` 207 // 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. 208 PacketLength *int `pulumi:"packetLength"` 209 // 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. 210 SessionNumber int `pulumi:"sessionNumber"` 211 // Key-value map of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 212 Tags map[string]string `pulumi:"tags"` 213 // ID of the traffic mirror filter to be used 214 TrafficMirrorFilterId string `pulumi:"trafficMirrorFilterId"` 215 // ID of the traffic mirror target to be used 216 TrafficMirrorTargetId string `pulumi:"trafficMirrorTargetId"` 217 // 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. 218 VirtualNetworkId *int `pulumi:"virtualNetworkId"` 219 } 220 221 // The set of arguments for constructing a TrafficMirrorSession resource. 222 type TrafficMirrorSessionArgs struct { 223 // A description of the traffic mirror session. 224 Description pulumi.StringPtrInput 225 // ID of the source network interface. Not all network interfaces are eligible as mirror sources. On EC2 instances only nitro based instances support mirroring. 226 NetworkInterfaceId pulumi.StringInput 227 // 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. 228 PacketLength pulumi.IntPtrInput 229 // 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. 230 SessionNumber pulumi.IntInput 231 // Key-value map of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 232 Tags pulumi.StringMapInput 233 // ID of the traffic mirror filter to be used 234 TrafficMirrorFilterId pulumi.StringInput 235 // ID of the traffic mirror target to be used 236 TrafficMirrorTargetId pulumi.StringInput 237 // 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. 238 VirtualNetworkId pulumi.IntPtrInput 239 } 240 241 func (TrafficMirrorSessionArgs) ElementType() reflect.Type { 242 return reflect.TypeOf((*trafficMirrorSessionArgs)(nil)).Elem() 243 } 244 245 type TrafficMirrorSessionInput interface { 246 pulumi.Input 247 248 ToTrafficMirrorSessionOutput() TrafficMirrorSessionOutput 249 ToTrafficMirrorSessionOutputWithContext(ctx context.Context) TrafficMirrorSessionOutput 250 } 251 252 func (*TrafficMirrorSession) ElementType() reflect.Type { 253 return reflect.TypeOf((**TrafficMirrorSession)(nil)).Elem() 254 } 255 256 func (i *TrafficMirrorSession) ToTrafficMirrorSessionOutput() TrafficMirrorSessionOutput { 257 return i.ToTrafficMirrorSessionOutputWithContext(context.Background()) 258 } 259 260 func (i *TrafficMirrorSession) ToTrafficMirrorSessionOutputWithContext(ctx context.Context) TrafficMirrorSessionOutput { 261 return pulumi.ToOutputWithContext(ctx, i).(TrafficMirrorSessionOutput) 262 } 263 264 // TrafficMirrorSessionArrayInput is an input type that accepts TrafficMirrorSessionArray and TrafficMirrorSessionArrayOutput values. 265 // You can construct a concrete instance of `TrafficMirrorSessionArrayInput` via: 266 // 267 // TrafficMirrorSessionArray{ TrafficMirrorSessionArgs{...} } 268 type TrafficMirrorSessionArrayInput interface { 269 pulumi.Input 270 271 ToTrafficMirrorSessionArrayOutput() TrafficMirrorSessionArrayOutput 272 ToTrafficMirrorSessionArrayOutputWithContext(context.Context) TrafficMirrorSessionArrayOutput 273 } 274 275 type TrafficMirrorSessionArray []TrafficMirrorSessionInput 276 277 func (TrafficMirrorSessionArray) ElementType() reflect.Type { 278 return reflect.TypeOf((*[]*TrafficMirrorSession)(nil)).Elem() 279 } 280 281 func (i TrafficMirrorSessionArray) ToTrafficMirrorSessionArrayOutput() TrafficMirrorSessionArrayOutput { 282 return i.ToTrafficMirrorSessionArrayOutputWithContext(context.Background()) 283 } 284 285 func (i TrafficMirrorSessionArray) ToTrafficMirrorSessionArrayOutputWithContext(ctx context.Context) TrafficMirrorSessionArrayOutput { 286 return pulumi.ToOutputWithContext(ctx, i).(TrafficMirrorSessionArrayOutput) 287 } 288 289 // TrafficMirrorSessionMapInput is an input type that accepts TrafficMirrorSessionMap and TrafficMirrorSessionMapOutput values. 290 // You can construct a concrete instance of `TrafficMirrorSessionMapInput` via: 291 // 292 // TrafficMirrorSessionMap{ "key": TrafficMirrorSessionArgs{...} } 293 type TrafficMirrorSessionMapInput interface { 294 pulumi.Input 295 296 ToTrafficMirrorSessionMapOutput() TrafficMirrorSessionMapOutput 297 ToTrafficMirrorSessionMapOutputWithContext(context.Context) TrafficMirrorSessionMapOutput 298 } 299 300 type TrafficMirrorSessionMap map[string]TrafficMirrorSessionInput 301 302 func (TrafficMirrorSessionMap) ElementType() reflect.Type { 303 return reflect.TypeOf((*map[string]*TrafficMirrorSession)(nil)).Elem() 304 } 305 306 func (i TrafficMirrorSessionMap) ToTrafficMirrorSessionMapOutput() TrafficMirrorSessionMapOutput { 307 return i.ToTrafficMirrorSessionMapOutputWithContext(context.Background()) 308 } 309 310 func (i TrafficMirrorSessionMap) ToTrafficMirrorSessionMapOutputWithContext(ctx context.Context) TrafficMirrorSessionMapOutput { 311 return pulumi.ToOutputWithContext(ctx, i).(TrafficMirrorSessionMapOutput) 312 } 313 314 type TrafficMirrorSessionOutput struct{ *pulumi.OutputState } 315 316 func (TrafficMirrorSessionOutput) ElementType() reflect.Type { 317 return reflect.TypeOf((**TrafficMirrorSession)(nil)).Elem() 318 } 319 320 func (o TrafficMirrorSessionOutput) ToTrafficMirrorSessionOutput() TrafficMirrorSessionOutput { 321 return o 322 } 323 324 func (o TrafficMirrorSessionOutput) ToTrafficMirrorSessionOutputWithContext(ctx context.Context) TrafficMirrorSessionOutput { 325 return o 326 } 327 328 // The ARN of the traffic mirror session. 329 func (o TrafficMirrorSessionOutput) Arn() pulumi.StringOutput { 330 return o.ApplyT(func(v *TrafficMirrorSession) pulumi.StringOutput { return v.Arn }).(pulumi.StringOutput) 331 } 332 333 // A description of the traffic mirror session. 334 func (o TrafficMirrorSessionOutput) Description() pulumi.StringPtrOutput { 335 return o.ApplyT(func(v *TrafficMirrorSession) pulumi.StringPtrOutput { return v.Description }).(pulumi.StringPtrOutput) 336 } 337 338 // ID of the source network interface. Not all network interfaces are eligible as mirror sources. On EC2 instances only nitro based instances support mirroring. 339 func (o TrafficMirrorSessionOutput) NetworkInterfaceId() pulumi.StringOutput { 340 return o.ApplyT(func(v *TrafficMirrorSession) pulumi.StringOutput { return v.NetworkInterfaceId }).(pulumi.StringOutput) 341 } 342 343 // The AWS account ID of the session owner. 344 func (o TrafficMirrorSessionOutput) OwnerId() pulumi.StringOutput { 345 return o.ApplyT(func(v *TrafficMirrorSession) pulumi.StringOutput { return v.OwnerId }).(pulumi.StringOutput) 346 } 347 348 // 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. 349 func (o TrafficMirrorSessionOutput) PacketLength() pulumi.IntPtrOutput { 350 return o.ApplyT(func(v *TrafficMirrorSession) pulumi.IntPtrOutput { return v.PacketLength }).(pulumi.IntPtrOutput) 351 } 352 353 // 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. 354 func (o TrafficMirrorSessionOutput) SessionNumber() pulumi.IntOutput { 355 return o.ApplyT(func(v *TrafficMirrorSession) pulumi.IntOutput { return v.SessionNumber }).(pulumi.IntOutput) 356 } 357 358 // Key-value map of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 359 func (o TrafficMirrorSessionOutput) Tags() pulumi.StringMapOutput { 360 return o.ApplyT(func(v *TrafficMirrorSession) pulumi.StringMapOutput { return v.Tags }).(pulumi.StringMapOutput) 361 } 362 363 // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. 364 // 365 // Deprecated: Please use `tags` instead. 366 func (o TrafficMirrorSessionOutput) TagsAll() pulumi.StringMapOutput { 367 return o.ApplyT(func(v *TrafficMirrorSession) pulumi.StringMapOutput { return v.TagsAll }).(pulumi.StringMapOutput) 368 } 369 370 // ID of the traffic mirror filter to be used 371 func (o TrafficMirrorSessionOutput) TrafficMirrorFilterId() pulumi.StringOutput { 372 return o.ApplyT(func(v *TrafficMirrorSession) pulumi.StringOutput { return v.TrafficMirrorFilterId }).(pulumi.StringOutput) 373 } 374 375 // ID of the traffic mirror target to be used 376 func (o TrafficMirrorSessionOutput) TrafficMirrorTargetId() pulumi.StringOutput { 377 return o.ApplyT(func(v *TrafficMirrorSession) pulumi.StringOutput { return v.TrafficMirrorTargetId }).(pulumi.StringOutput) 378 } 379 380 // 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. 381 func (o TrafficMirrorSessionOutput) VirtualNetworkId() pulumi.IntOutput { 382 return o.ApplyT(func(v *TrafficMirrorSession) pulumi.IntOutput { return v.VirtualNetworkId }).(pulumi.IntOutput) 383 } 384 385 type TrafficMirrorSessionArrayOutput struct{ *pulumi.OutputState } 386 387 func (TrafficMirrorSessionArrayOutput) ElementType() reflect.Type { 388 return reflect.TypeOf((*[]*TrafficMirrorSession)(nil)).Elem() 389 } 390 391 func (o TrafficMirrorSessionArrayOutput) ToTrafficMirrorSessionArrayOutput() TrafficMirrorSessionArrayOutput { 392 return o 393 } 394 395 func (o TrafficMirrorSessionArrayOutput) ToTrafficMirrorSessionArrayOutputWithContext(ctx context.Context) TrafficMirrorSessionArrayOutput { 396 return o 397 } 398 399 func (o TrafficMirrorSessionArrayOutput) Index(i pulumi.IntInput) TrafficMirrorSessionOutput { 400 return pulumi.All(o, i).ApplyT(func(vs []interface{}) *TrafficMirrorSession { 401 return vs[0].([]*TrafficMirrorSession)[vs[1].(int)] 402 }).(TrafficMirrorSessionOutput) 403 } 404 405 type TrafficMirrorSessionMapOutput struct{ *pulumi.OutputState } 406 407 func (TrafficMirrorSessionMapOutput) ElementType() reflect.Type { 408 return reflect.TypeOf((*map[string]*TrafficMirrorSession)(nil)).Elem() 409 } 410 411 func (o TrafficMirrorSessionMapOutput) ToTrafficMirrorSessionMapOutput() TrafficMirrorSessionMapOutput { 412 return o 413 } 414 415 func (o TrafficMirrorSessionMapOutput) ToTrafficMirrorSessionMapOutputWithContext(ctx context.Context) TrafficMirrorSessionMapOutput { 416 return o 417 } 418 419 func (o TrafficMirrorSessionMapOutput) MapIndex(k pulumi.StringInput) TrafficMirrorSessionOutput { 420 return pulumi.All(o, k).ApplyT(func(vs []interface{}) *TrafficMirrorSession { 421 return vs[0].(map[string]*TrafficMirrorSession)[vs[1].(string)] 422 }).(TrafficMirrorSessionOutput) 423 } 424 425 func init() { 426 pulumi.RegisterInputType(reflect.TypeOf((*TrafficMirrorSessionInput)(nil)).Elem(), &TrafficMirrorSession{}) 427 pulumi.RegisterInputType(reflect.TypeOf((*TrafficMirrorSessionArrayInput)(nil)).Elem(), TrafficMirrorSessionArray{}) 428 pulumi.RegisterInputType(reflect.TypeOf((*TrafficMirrorSessionMapInput)(nil)).Elem(), TrafficMirrorSessionMap{}) 429 pulumi.RegisterOutputType(TrafficMirrorSessionOutput{}) 430 pulumi.RegisterOutputType(TrafficMirrorSessionArrayOutput{}) 431 pulumi.RegisterOutputType(TrafficMirrorSessionMapOutput{}) 432 }