github.com/pulumi/pulumi-aws/sdk/v6@v6.32.0/go/aws/directconnect/transitVirtualInterface.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 directconnect 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 a Direct Connect transit virtual interface resource. 16 // A transit virtual interface is a VLAN that transports traffic from a Direct Connect gateway to one or more transit gateways. 17 // 18 // ## Example Usage 19 // 20 // <!--Start PulumiCodeChooser --> 21 // ```go 22 // package main 23 // 24 // import ( 25 // 26 // "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/directconnect" 27 // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" 28 // 29 // ) 30 // 31 // func main() { 32 // pulumi.Run(func(ctx *pulumi.Context) error { 33 // example, err := directconnect.NewGateway(ctx, "example", &directconnect.GatewayArgs{ 34 // Name: pulumi.String("tf-dxg-example"), 35 // AmazonSideAsn: pulumi.String("64512"), 36 // }) 37 // if err != nil { 38 // return err 39 // } 40 // _, err = directconnect.NewTransitVirtualInterface(ctx, "example", &directconnect.TransitVirtualInterfaceArgs{ 41 // ConnectionId: pulumi.Any(exampleAwsDxConnection.Id), 42 // DxGatewayId: example.ID(), 43 // Name: pulumi.String("tf-transit-vif-example"), 44 // Vlan: pulumi.Int(4094), 45 // AddressFamily: pulumi.String("ipv4"), 46 // BgpAsn: pulumi.Int(65352), 47 // }) 48 // if err != nil { 49 // return err 50 // } 51 // return nil 52 // }) 53 // } 54 // 55 // ``` 56 // <!--End PulumiCodeChooser --> 57 // 58 // ## Import 59 // 60 // Using `pulumi import`, import Direct Connect transit virtual interfaces using the VIF `id`. For example: 61 // 62 // ```sh 63 // $ pulumi import aws:directconnect/transitVirtualInterface:TransitVirtualInterface test dxvif-33cc44dd 64 // ``` 65 type TransitVirtualInterface struct { 66 pulumi.CustomResourceState 67 68 // The address family for the BGP peer. ` ipv4 ` or `ipv6`. 69 AddressFamily pulumi.StringOutput `pulumi:"addressFamily"` 70 // The IPv4 CIDR address to use to send traffic to Amazon. Required for IPv4 BGP peers. 71 AmazonAddress pulumi.StringOutput `pulumi:"amazonAddress"` 72 AmazonSideAsn pulumi.StringOutput `pulumi:"amazonSideAsn"` 73 // The ARN of the virtual interface. 74 Arn pulumi.StringOutput `pulumi:"arn"` 75 // The Direct Connect endpoint on which the virtual interface terminates. 76 AwsDevice pulumi.StringOutput `pulumi:"awsDevice"` 77 // The autonomous system (AS) number for Border Gateway Protocol (BGP) configuration. 78 BgpAsn pulumi.IntOutput `pulumi:"bgpAsn"` 79 // The authentication key for BGP configuration. 80 BgpAuthKey pulumi.StringOutput `pulumi:"bgpAuthKey"` 81 // The ID of the Direct Connect connection (or LAG) on which to create the virtual interface. 82 ConnectionId pulumi.StringOutput `pulumi:"connectionId"` 83 // The IPv4 CIDR destination address to which Amazon should send traffic. Required for IPv4 BGP peers. 84 CustomerAddress pulumi.StringOutput `pulumi:"customerAddress"` 85 // The ID of the Direct Connect gateway to which to connect the virtual interface. 86 DxGatewayId pulumi.StringOutput `pulumi:"dxGatewayId"` 87 // Indicates whether jumbo frames (8500 MTU) are supported. 88 JumboFrameCapable pulumi.BoolOutput `pulumi:"jumboFrameCapable"` 89 // The maximum transmission unit (MTU) is the size, in bytes, of the largest permissible packet that can be passed over the connection. 90 // The MTU of a virtual transit interface can be either `1500` or `8500` (jumbo frames). Default is `1500`. 91 Mtu pulumi.IntPtrOutput `pulumi:"mtu"` 92 // The name for the virtual interface. 93 Name pulumi.StringOutput `pulumi:"name"` 94 // Indicates whether to enable or disable SiteLink. 95 SitelinkEnabled pulumi.BoolPtrOutput `pulumi:"sitelinkEnabled"` 96 // A map of tags to assign to the resource. .If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 97 Tags pulumi.StringMapOutput `pulumi:"tags"` 98 // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. 99 // 100 // Deprecated: Please use `tags` instead. 101 TagsAll pulumi.StringMapOutput `pulumi:"tagsAll"` 102 // The VLAN ID. 103 Vlan pulumi.IntOutput `pulumi:"vlan"` 104 } 105 106 // NewTransitVirtualInterface registers a new resource with the given unique name, arguments, and options. 107 func NewTransitVirtualInterface(ctx *pulumi.Context, 108 name string, args *TransitVirtualInterfaceArgs, opts ...pulumi.ResourceOption) (*TransitVirtualInterface, error) { 109 if args == nil { 110 return nil, errors.New("missing one or more required arguments") 111 } 112 113 if args.AddressFamily == nil { 114 return nil, errors.New("invalid value for required argument 'AddressFamily'") 115 } 116 if args.BgpAsn == nil { 117 return nil, errors.New("invalid value for required argument 'BgpAsn'") 118 } 119 if args.ConnectionId == nil { 120 return nil, errors.New("invalid value for required argument 'ConnectionId'") 121 } 122 if args.DxGatewayId == nil { 123 return nil, errors.New("invalid value for required argument 'DxGatewayId'") 124 } 125 if args.Vlan == nil { 126 return nil, errors.New("invalid value for required argument 'Vlan'") 127 } 128 opts = internal.PkgResourceDefaultOpts(opts) 129 var resource TransitVirtualInterface 130 err := ctx.RegisterResource("aws:directconnect/transitVirtualInterface:TransitVirtualInterface", name, args, &resource, opts...) 131 if err != nil { 132 return nil, err 133 } 134 return &resource, nil 135 } 136 137 // GetTransitVirtualInterface gets an existing TransitVirtualInterface resource's state with the given name, ID, and optional 138 // state properties that are used to uniquely qualify the lookup (nil if not required). 139 func GetTransitVirtualInterface(ctx *pulumi.Context, 140 name string, id pulumi.IDInput, state *TransitVirtualInterfaceState, opts ...pulumi.ResourceOption) (*TransitVirtualInterface, error) { 141 var resource TransitVirtualInterface 142 err := ctx.ReadResource("aws:directconnect/transitVirtualInterface:TransitVirtualInterface", name, id, state, &resource, opts...) 143 if err != nil { 144 return nil, err 145 } 146 return &resource, nil 147 } 148 149 // Input properties used for looking up and filtering TransitVirtualInterface resources. 150 type transitVirtualInterfaceState struct { 151 // The address family for the BGP peer. ` ipv4 ` or `ipv6`. 152 AddressFamily *string `pulumi:"addressFamily"` 153 // The IPv4 CIDR address to use to send traffic to Amazon. Required for IPv4 BGP peers. 154 AmazonAddress *string `pulumi:"amazonAddress"` 155 AmazonSideAsn *string `pulumi:"amazonSideAsn"` 156 // The ARN of the virtual interface. 157 Arn *string `pulumi:"arn"` 158 // The Direct Connect endpoint on which the virtual interface terminates. 159 AwsDevice *string `pulumi:"awsDevice"` 160 // The autonomous system (AS) number for Border Gateway Protocol (BGP) configuration. 161 BgpAsn *int `pulumi:"bgpAsn"` 162 // The authentication key for BGP configuration. 163 BgpAuthKey *string `pulumi:"bgpAuthKey"` 164 // The ID of the Direct Connect connection (or LAG) on which to create the virtual interface. 165 ConnectionId *string `pulumi:"connectionId"` 166 // The IPv4 CIDR destination address to which Amazon should send traffic. Required for IPv4 BGP peers. 167 CustomerAddress *string `pulumi:"customerAddress"` 168 // The ID of the Direct Connect gateway to which to connect the virtual interface. 169 DxGatewayId *string `pulumi:"dxGatewayId"` 170 // Indicates whether jumbo frames (8500 MTU) are supported. 171 JumboFrameCapable *bool `pulumi:"jumboFrameCapable"` 172 // The maximum transmission unit (MTU) is the size, in bytes, of the largest permissible packet that can be passed over the connection. 173 // The MTU of a virtual transit interface can be either `1500` or `8500` (jumbo frames). Default is `1500`. 174 Mtu *int `pulumi:"mtu"` 175 // The name for the virtual interface. 176 Name *string `pulumi:"name"` 177 // Indicates whether to enable or disable SiteLink. 178 SitelinkEnabled *bool `pulumi:"sitelinkEnabled"` 179 // A map of tags to assign to the resource. .If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 180 Tags map[string]string `pulumi:"tags"` 181 // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. 182 // 183 // Deprecated: Please use `tags` instead. 184 TagsAll map[string]string `pulumi:"tagsAll"` 185 // The VLAN ID. 186 Vlan *int `pulumi:"vlan"` 187 } 188 189 type TransitVirtualInterfaceState struct { 190 // The address family for the BGP peer. ` ipv4 ` or `ipv6`. 191 AddressFamily pulumi.StringPtrInput 192 // The IPv4 CIDR address to use to send traffic to Amazon. Required for IPv4 BGP peers. 193 AmazonAddress pulumi.StringPtrInput 194 AmazonSideAsn pulumi.StringPtrInput 195 // The ARN of the virtual interface. 196 Arn pulumi.StringPtrInput 197 // The Direct Connect endpoint on which the virtual interface terminates. 198 AwsDevice pulumi.StringPtrInput 199 // The autonomous system (AS) number for Border Gateway Protocol (BGP) configuration. 200 BgpAsn pulumi.IntPtrInput 201 // The authentication key for BGP configuration. 202 BgpAuthKey pulumi.StringPtrInput 203 // The ID of the Direct Connect connection (or LAG) on which to create the virtual interface. 204 ConnectionId pulumi.StringPtrInput 205 // The IPv4 CIDR destination address to which Amazon should send traffic. Required for IPv4 BGP peers. 206 CustomerAddress pulumi.StringPtrInput 207 // The ID of the Direct Connect gateway to which to connect the virtual interface. 208 DxGatewayId pulumi.StringPtrInput 209 // Indicates whether jumbo frames (8500 MTU) are supported. 210 JumboFrameCapable pulumi.BoolPtrInput 211 // The maximum transmission unit (MTU) is the size, in bytes, of the largest permissible packet that can be passed over the connection. 212 // The MTU of a virtual transit interface can be either `1500` or `8500` (jumbo frames). Default is `1500`. 213 Mtu pulumi.IntPtrInput 214 // The name for the virtual interface. 215 Name pulumi.StringPtrInput 216 // Indicates whether to enable or disable SiteLink. 217 SitelinkEnabled pulumi.BoolPtrInput 218 // A map of tags to assign to the resource. .If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 219 Tags pulumi.StringMapInput 220 // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. 221 // 222 // Deprecated: Please use `tags` instead. 223 TagsAll pulumi.StringMapInput 224 // The VLAN ID. 225 Vlan pulumi.IntPtrInput 226 } 227 228 func (TransitVirtualInterfaceState) ElementType() reflect.Type { 229 return reflect.TypeOf((*transitVirtualInterfaceState)(nil)).Elem() 230 } 231 232 type transitVirtualInterfaceArgs struct { 233 // The address family for the BGP peer. ` ipv4 ` or `ipv6`. 234 AddressFamily string `pulumi:"addressFamily"` 235 // The IPv4 CIDR address to use to send traffic to Amazon. Required for IPv4 BGP peers. 236 AmazonAddress *string `pulumi:"amazonAddress"` 237 // The autonomous system (AS) number for Border Gateway Protocol (BGP) configuration. 238 BgpAsn int `pulumi:"bgpAsn"` 239 // The authentication key for BGP configuration. 240 BgpAuthKey *string `pulumi:"bgpAuthKey"` 241 // The ID of the Direct Connect connection (or LAG) on which to create the virtual interface. 242 ConnectionId string `pulumi:"connectionId"` 243 // The IPv4 CIDR destination address to which Amazon should send traffic. Required for IPv4 BGP peers. 244 CustomerAddress *string `pulumi:"customerAddress"` 245 // The ID of the Direct Connect gateway to which to connect the virtual interface. 246 DxGatewayId string `pulumi:"dxGatewayId"` 247 // The maximum transmission unit (MTU) is the size, in bytes, of the largest permissible packet that can be passed over the connection. 248 // The MTU of a virtual transit interface can be either `1500` or `8500` (jumbo frames). Default is `1500`. 249 Mtu *int `pulumi:"mtu"` 250 // The name for the virtual interface. 251 Name *string `pulumi:"name"` 252 // Indicates whether to enable or disable SiteLink. 253 SitelinkEnabled *bool `pulumi:"sitelinkEnabled"` 254 // A map of tags to assign to the resource. .If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 255 Tags map[string]string `pulumi:"tags"` 256 // The VLAN ID. 257 Vlan int `pulumi:"vlan"` 258 } 259 260 // The set of arguments for constructing a TransitVirtualInterface resource. 261 type TransitVirtualInterfaceArgs struct { 262 // The address family for the BGP peer. ` ipv4 ` or `ipv6`. 263 AddressFamily pulumi.StringInput 264 // The IPv4 CIDR address to use to send traffic to Amazon. Required for IPv4 BGP peers. 265 AmazonAddress pulumi.StringPtrInput 266 // The autonomous system (AS) number for Border Gateway Protocol (BGP) configuration. 267 BgpAsn pulumi.IntInput 268 // The authentication key for BGP configuration. 269 BgpAuthKey pulumi.StringPtrInput 270 // The ID of the Direct Connect connection (or LAG) on which to create the virtual interface. 271 ConnectionId pulumi.StringInput 272 // The IPv4 CIDR destination address to which Amazon should send traffic. Required for IPv4 BGP peers. 273 CustomerAddress pulumi.StringPtrInput 274 // The ID of the Direct Connect gateway to which to connect the virtual interface. 275 DxGatewayId pulumi.StringInput 276 // The maximum transmission unit (MTU) is the size, in bytes, of the largest permissible packet that can be passed over the connection. 277 // The MTU of a virtual transit interface can be either `1500` or `8500` (jumbo frames). Default is `1500`. 278 Mtu pulumi.IntPtrInput 279 // The name for the virtual interface. 280 Name pulumi.StringPtrInput 281 // Indicates whether to enable or disable SiteLink. 282 SitelinkEnabled pulumi.BoolPtrInput 283 // A map of tags to assign to the resource. .If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 284 Tags pulumi.StringMapInput 285 // The VLAN ID. 286 Vlan pulumi.IntInput 287 } 288 289 func (TransitVirtualInterfaceArgs) ElementType() reflect.Type { 290 return reflect.TypeOf((*transitVirtualInterfaceArgs)(nil)).Elem() 291 } 292 293 type TransitVirtualInterfaceInput interface { 294 pulumi.Input 295 296 ToTransitVirtualInterfaceOutput() TransitVirtualInterfaceOutput 297 ToTransitVirtualInterfaceOutputWithContext(ctx context.Context) TransitVirtualInterfaceOutput 298 } 299 300 func (*TransitVirtualInterface) ElementType() reflect.Type { 301 return reflect.TypeOf((**TransitVirtualInterface)(nil)).Elem() 302 } 303 304 func (i *TransitVirtualInterface) ToTransitVirtualInterfaceOutput() TransitVirtualInterfaceOutput { 305 return i.ToTransitVirtualInterfaceOutputWithContext(context.Background()) 306 } 307 308 func (i *TransitVirtualInterface) ToTransitVirtualInterfaceOutputWithContext(ctx context.Context) TransitVirtualInterfaceOutput { 309 return pulumi.ToOutputWithContext(ctx, i).(TransitVirtualInterfaceOutput) 310 } 311 312 // TransitVirtualInterfaceArrayInput is an input type that accepts TransitVirtualInterfaceArray and TransitVirtualInterfaceArrayOutput values. 313 // You can construct a concrete instance of `TransitVirtualInterfaceArrayInput` via: 314 // 315 // TransitVirtualInterfaceArray{ TransitVirtualInterfaceArgs{...} } 316 type TransitVirtualInterfaceArrayInput interface { 317 pulumi.Input 318 319 ToTransitVirtualInterfaceArrayOutput() TransitVirtualInterfaceArrayOutput 320 ToTransitVirtualInterfaceArrayOutputWithContext(context.Context) TransitVirtualInterfaceArrayOutput 321 } 322 323 type TransitVirtualInterfaceArray []TransitVirtualInterfaceInput 324 325 func (TransitVirtualInterfaceArray) ElementType() reflect.Type { 326 return reflect.TypeOf((*[]*TransitVirtualInterface)(nil)).Elem() 327 } 328 329 func (i TransitVirtualInterfaceArray) ToTransitVirtualInterfaceArrayOutput() TransitVirtualInterfaceArrayOutput { 330 return i.ToTransitVirtualInterfaceArrayOutputWithContext(context.Background()) 331 } 332 333 func (i TransitVirtualInterfaceArray) ToTransitVirtualInterfaceArrayOutputWithContext(ctx context.Context) TransitVirtualInterfaceArrayOutput { 334 return pulumi.ToOutputWithContext(ctx, i).(TransitVirtualInterfaceArrayOutput) 335 } 336 337 // TransitVirtualInterfaceMapInput is an input type that accepts TransitVirtualInterfaceMap and TransitVirtualInterfaceMapOutput values. 338 // You can construct a concrete instance of `TransitVirtualInterfaceMapInput` via: 339 // 340 // TransitVirtualInterfaceMap{ "key": TransitVirtualInterfaceArgs{...} } 341 type TransitVirtualInterfaceMapInput interface { 342 pulumi.Input 343 344 ToTransitVirtualInterfaceMapOutput() TransitVirtualInterfaceMapOutput 345 ToTransitVirtualInterfaceMapOutputWithContext(context.Context) TransitVirtualInterfaceMapOutput 346 } 347 348 type TransitVirtualInterfaceMap map[string]TransitVirtualInterfaceInput 349 350 func (TransitVirtualInterfaceMap) ElementType() reflect.Type { 351 return reflect.TypeOf((*map[string]*TransitVirtualInterface)(nil)).Elem() 352 } 353 354 func (i TransitVirtualInterfaceMap) ToTransitVirtualInterfaceMapOutput() TransitVirtualInterfaceMapOutput { 355 return i.ToTransitVirtualInterfaceMapOutputWithContext(context.Background()) 356 } 357 358 func (i TransitVirtualInterfaceMap) ToTransitVirtualInterfaceMapOutputWithContext(ctx context.Context) TransitVirtualInterfaceMapOutput { 359 return pulumi.ToOutputWithContext(ctx, i).(TransitVirtualInterfaceMapOutput) 360 } 361 362 type TransitVirtualInterfaceOutput struct{ *pulumi.OutputState } 363 364 func (TransitVirtualInterfaceOutput) ElementType() reflect.Type { 365 return reflect.TypeOf((**TransitVirtualInterface)(nil)).Elem() 366 } 367 368 func (o TransitVirtualInterfaceOutput) ToTransitVirtualInterfaceOutput() TransitVirtualInterfaceOutput { 369 return o 370 } 371 372 func (o TransitVirtualInterfaceOutput) ToTransitVirtualInterfaceOutputWithContext(ctx context.Context) TransitVirtualInterfaceOutput { 373 return o 374 } 375 376 // The address family for the BGP peer. ` ipv4 ` or `ipv6`. 377 func (o TransitVirtualInterfaceOutput) AddressFamily() pulumi.StringOutput { 378 return o.ApplyT(func(v *TransitVirtualInterface) pulumi.StringOutput { return v.AddressFamily }).(pulumi.StringOutput) 379 } 380 381 // The IPv4 CIDR address to use to send traffic to Amazon. Required for IPv4 BGP peers. 382 func (o TransitVirtualInterfaceOutput) AmazonAddress() pulumi.StringOutput { 383 return o.ApplyT(func(v *TransitVirtualInterface) pulumi.StringOutput { return v.AmazonAddress }).(pulumi.StringOutput) 384 } 385 386 func (o TransitVirtualInterfaceOutput) AmazonSideAsn() pulumi.StringOutput { 387 return o.ApplyT(func(v *TransitVirtualInterface) pulumi.StringOutput { return v.AmazonSideAsn }).(pulumi.StringOutput) 388 } 389 390 // The ARN of the virtual interface. 391 func (o TransitVirtualInterfaceOutput) Arn() pulumi.StringOutput { 392 return o.ApplyT(func(v *TransitVirtualInterface) pulumi.StringOutput { return v.Arn }).(pulumi.StringOutput) 393 } 394 395 // The Direct Connect endpoint on which the virtual interface terminates. 396 func (o TransitVirtualInterfaceOutput) AwsDevice() pulumi.StringOutput { 397 return o.ApplyT(func(v *TransitVirtualInterface) pulumi.StringOutput { return v.AwsDevice }).(pulumi.StringOutput) 398 } 399 400 // The autonomous system (AS) number for Border Gateway Protocol (BGP) configuration. 401 func (o TransitVirtualInterfaceOutput) BgpAsn() pulumi.IntOutput { 402 return o.ApplyT(func(v *TransitVirtualInterface) pulumi.IntOutput { return v.BgpAsn }).(pulumi.IntOutput) 403 } 404 405 // The authentication key for BGP configuration. 406 func (o TransitVirtualInterfaceOutput) BgpAuthKey() pulumi.StringOutput { 407 return o.ApplyT(func(v *TransitVirtualInterface) pulumi.StringOutput { return v.BgpAuthKey }).(pulumi.StringOutput) 408 } 409 410 // The ID of the Direct Connect connection (or LAG) on which to create the virtual interface. 411 func (o TransitVirtualInterfaceOutput) ConnectionId() pulumi.StringOutput { 412 return o.ApplyT(func(v *TransitVirtualInterface) pulumi.StringOutput { return v.ConnectionId }).(pulumi.StringOutput) 413 } 414 415 // The IPv4 CIDR destination address to which Amazon should send traffic. Required for IPv4 BGP peers. 416 func (o TransitVirtualInterfaceOutput) CustomerAddress() pulumi.StringOutput { 417 return o.ApplyT(func(v *TransitVirtualInterface) pulumi.StringOutput { return v.CustomerAddress }).(pulumi.StringOutput) 418 } 419 420 // The ID of the Direct Connect gateway to which to connect the virtual interface. 421 func (o TransitVirtualInterfaceOutput) DxGatewayId() pulumi.StringOutput { 422 return o.ApplyT(func(v *TransitVirtualInterface) pulumi.StringOutput { return v.DxGatewayId }).(pulumi.StringOutput) 423 } 424 425 // Indicates whether jumbo frames (8500 MTU) are supported. 426 func (o TransitVirtualInterfaceOutput) JumboFrameCapable() pulumi.BoolOutput { 427 return o.ApplyT(func(v *TransitVirtualInterface) pulumi.BoolOutput { return v.JumboFrameCapable }).(pulumi.BoolOutput) 428 } 429 430 // The maximum transmission unit (MTU) is the size, in bytes, of the largest permissible packet that can be passed over the connection. 431 // The MTU of a virtual transit interface can be either `1500` or `8500` (jumbo frames). Default is `1500`. 432 func (o TransitVirtualInterfaceOutput) Mtu() pulumi.IntPtrOutput { 433 return o.ApplyT(func(v *TransitVirtualInterface) pulumi.IntPtrOutput { return v.Mtu }).(pulumi.IntPtrOutput) 434 } 435 436 // The name for the virtual interface. 437 func (o TransitVirtualInterfaceOutput) Name() pulumi.StringOutput { 438 return o.ApplyT(func(v *TransitVirtualInterface) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) 439 } 440 441 // Indicates whether to enable or disable SiteLink. 442 func (o TransitVirtualInterfaceOutput) SitelinkEnabled() pulumi.BoolPtrOutput { 443 return o.ApplyT(func(v *TransitVirtualInterface) pulumi.BoolPtrOutput { return v.SitelinkEnabled }).(pulumi.BoolPtrOutput) 444 } 445 446 // A map of tags to assign to the resource. .If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 447 func (o TransitVirtualInterfaceOutput) Tags() pulumi.StringMapOutput { 448 return o.ApplyT(func(v *TransitVirtualInterface) pulumi.StringMapOutput { return v.Tags }).(pulumi.StringMapOutput) 449 } 450 451 // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. 452 // 453 // Deprecated: Please use `tags` instead. 454 func (o TransitVirtualInterfaceOutput) TagsAll() pulumi.StringMapOutput { 455 return o.ApplyT(func(v *TransitVirtualInterface) pulumi.StringMapOutput { return v.TagsAll }).(pulumi.StringMapOutput) 456 } 457 458 // The VLAN ID. 459 func (o TransitVirtualInterfaceOutput) Vlan() pulumi.IntOutput { 460 return o.ApplyT(func(v *TransitVirtualInterface) pulumi.IntOutput { return v.Vlan }).(pulumi.IntOutput) 461 } 462 463 type TransitVirtualInterfaceArrayOutput struct{ *pulumi.OutputState } 464 465 func (TransitVirtualInterfaceArrayOutput) ElementType() reflect.Type { 466 return reflect.TypeOf((*[]*TransitVirtualInterface)(nil)).Elem() 467 } 468 469 func (o TransitVirtualInterfaceArrayOutput) ToTransitVirtualInterfaceArrayOutput() TransitVirtualInterfaceArrayOutput { 470 return o 471 } 472 473 func (o TransitVirtualInterfaceArrayOutput) ToTransitVirtualInterfaceArrayOutputWithContext(ctx context.Context) TransitVirtualInterfaceArrayOutput { 474 return o 475 } 476 477 func (o TransitVirtualInterfaceArrayOutput) Index(i pulumi.IntInput) TransitVirtualInterfaceOutput { 478 return pulumi.All(o, i).ApplyT(func(vs []interface{}) *TransitVirtualInterface { 479 return vs[0].([]*TransitVirtualInterface)[vs[1].(int)] 480 }).(TransitVirtualInterfaceOutput) 481 } 482 483 type TransitVirtualInterfaceMapOutput struct{ *pulumi.OutputState } 484 485 func (TransitVirtualInterfaceMapOutput) ElementType() reflect.Type { 486 return reflect.TypeOf((*map[string]*TransitVirtualInterface)(nil)).Elem() 487 } 488 489 func (o TransitVirtualInterfaceMapOutput) ToTransitVirtualInterfaceMapOutput() TransitVirtualInterfaceMapOutput { 490 return o 491 } 492 493 func (o TransitVirtualInterfaceMapOutput) ToTransitVirtualInterfaceMapOutputWithContext(ctx context.Context) TransitVirtualInterfaceMapOutput { 494 return o 495 } 496 497 func (o TransitVirtualInterfaceMapOutput) MapIndex(k pulumi.StringInput) TransitVirtualInterfaceOutput { 498 return pulumi.All(o, k).ApplyT(func(vs []interface{}) *TransitVirtualInterface { 499 return vs[0].(map[string]*TransitVirtualInterface)[vs[1].(string)] 500 }).(TransitVirtualInterfaceOutput) 501 } 502 503 func init() { 504 pulumi.RegisterInputType(reflect.TypeOf((*TransitVirtualInterfaceInput)(nil)).Elem(), &TransitVirtualInterface{}) 505 pulumi.RegisterInputType(reflect.TypeOf((*TransitVirtualInterfaceArrayInput)(nil)).Elem(), TransitVirtualInterfaceArray{}) 506 pulumi.RegisterInputType(reflect.TypeOf((*TransitVirtualInterfaceMapInput)(nil)).Elem(), TransitVirtualInterfaceMap{}) 507 pulumi.RegisterOutputType(TransitVirtualInterfaceOutput{}) 508 pulumi.RegisterOutputType(TransitVirtualInterfaceArrayOutput{}) 509 pulumi.RegisterOutputType(TransitVirtualInterfaceMapOutput{}) 510 }