github.com/pulumi/pulumi-aws/sdk/v6@v6.32.0/go/aws/ec2transitgateway/transitGateway.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 ec2transitgateway 5 6 import ( 7 "context" 8 "reflect" 9 10 "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/internal" 11 "github.com/pulumi/pulumi/sdk/v3/go/pulumi" 12 ) 13 14 // Manages an EC2 Transit Gateway. 15 // 16 // ## Example Usage 17 // 18 // <!--Start PulumiCodeChooser --> 19 // ```go 20 // package main 21 // 22 // import ( 23 // 24 // "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2transitgateway" 25 // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" 26 // 27 // ) 28 // 29 // func main() { 30 // pulumi.Run(func(ctx *pulumi.Context) error { 31 // _, err := ec2transitgateway.NewTransitGateway(ctx, "example", &ec2transitgateway.TransitGatewayArgs{ 32 // Description: pulumi.String("example"), 33 // }) 34 // if err != nil { 35 // return err 36 // } 37 // return nil 38 // }) 39 // } 40 // 41 // ``` 42 // <!--End PulumiCodeChooser --> 43 // 44 // ## Import 45 // 46 // Using `pulumi import`, import `aws_ec2_transit_gateway` using the EC2 Transit Gateway identifier. For example: 47 // 48 // ```sh 49 // $ pulumi import aws:ec2transitgateway/transitGateway:TransitGateway example tgw-12345678 50 // ``` 51 type TransitGateway struct { 52 pulumi.CustomResourceState 53 54 // Private Autonomous System Number (ASN) for the Amazon side of a BGP session. The range is `64512` to `65534` for 16-bit ASNs and `4200000000` to `4294967294` for 32-bit ASNs. Default value: `64512`. 55 // 56 // > **NOTE:** Modifying `amazonSideAsn` on a Transit Gateway with active BGP sessions is [not allowed](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_ModifyTransitGatewayOptions.html). You must first delete all Transit Gateway attachments that have BGP configured prior to modifying `amazonSideAsn`. 57 AmazonSideAsn pulumi.IntPtrOutput `pulumi:"amazonSideAsn"` 58 // EC2 Transit Gateway Amazon Resource Name (ARN) 59 Arn pulumi.StringOutput `pulumi:"arn"` 60 // Identifier of the default association route table 61 AssociationDefaultRouteTableId pulumi.StringOutput `pulumi:"associationDefaultRouteTableId"` 62 // Whether resource attachment requests are automatically accepted. Valid values: `disable`, `enable`. Default value: `disable`. 63 AutoAcceptSharedAttachments pulumi.StringPtrOutput `pulumi:"autoAcceptSharedAttachments"` 64 // Whether resource attachments are automatically associated with the default association route table. Valid values: `disable`, `enable`. Default value: `enable`. 65 DefaultRouteTableAssociation pulumi.StringPtrOutput `pulumi:"defaultRouteTableAssociation"` 66 // Whether resource attachments automatically propagate routes to the default propagation route table. Valid values: `disable`, `enable`. Default value: `enable`. 67 DefaultRouteTablePropagation pulumi.StringPtrOutput `pulumi:"defaultRouteTablePropagation"` 68 // Description of the EC2 Transit Gateway. 69 Description pulumi.StringPtrOutput `pulumi:"description"` 70 // Whether DNS support is enabled. Valid values: `disable`, `enable`. Default value: `enable`. 71 DnsSupport pulumi.StringPtrOutput `pulumi:"dnsSupport"` 72 // Whether Multicast support is enabled. Required to use `ec2TransitGatewayMulticastDomain`. Valid values: `disable`, `enable`. Default value: `disable`. 73 MulticastSupport pulumi.StringPtrOutput `pulumi:"multicastSupport"` 74 // Identifier of the AWS account that owns the EC2 Transit Gateway 75 OwnerId pulumi.StringOutput `pulumi:"ownerId"` 76 // Identifier of the default propagation route table 77 PropagationDefaultRouteTableId pulumi.StringOutput `pulumi:"propagationDefaultRouteTableId"` 78 // Key-value tags for the EC2 Transit Gateway. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 79 Tags pulumi.StringMapOutput `pulumi:"tags"` 80 // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. 81 // 82 // Deprecated: Please use `tags` instead. 83 TagsAll pulumi.StringMapOutput `pulumi:"tagsAll"` 84 // One or more IPv4 or IPv6 CIDR blocks for the transit gateway. Must be a size /24 CIDR block or larger for IPv4, or a size /64 CIDR block or larger for IPv6. 85 TransitGatewayCidrBlocks pulumi.StringArrayOutput `pulumi:"transitGatewayCidrBlocks"` 86 // Whether VPN Equal Cost Multipath Protocol support is enabled. Valid values: `disable`, `enable`. Default value: `enable`. 87 VpnEcmpSupport pulumi.StringPtrOutput `pulumi:"vpnEcmpSupport"` 88 } 89 90 // NewTransitGateway registers a new resource with the given unique name, arguments, and options. 91 func NewTransitGateway(ctx *pulumi.Context, 92 name string, args *TransitGatewayArgs, opts ...pulumi.ResourceOption) (*TransitGateway, error) { 93 if args == nil { 94 args = &TransitGatewayArgs{} 95 } 96 97 opts = internal.PkgResourceDefaultOpts(opts) 98 var resource TransitGateway 99 err := ctx.RegisterResource("aws:ec2transitgateway/transitGateway:TransitGateway", name, args, &resource, opts...) 100 if err != nil { 101 return nil, err 102 } 103 return &resource, nil 104 } 105 106 // GetTransitGateway gets an existing TransitGateway resource's state with the given name, ID, and optional 107 // state properties that are used to uniquely qualify the lookup (nil if not required). 108 func GetTransitGateway(ctx *pulumi.Context, 109 name string, id pulumi.IDInput, state *TransitGatewayState, opts ...pulumi.ResourceOption) (*TransitGateway, error) { 110 var resource TransitGateway 111 err := ctx.ReadResource("aws:ec2transitgateway/transitGateway:TransitGateway", name, id, state, &resource, opts...) 112 if err != nil { 113 return nil, err 114 } 115 return &resource, nil 116 } 117 118 // Input properties used for looking up and filtering TransitGateway resources. 119 type transitGatewayState struct { 120 // Private Autonomous System Number (ASN) for the Amazon side of a BGP session. The range is `64512` to `65534` for 16-bit ASNs and `4200000000` to `4294967294` for 32-bit ASNs. Default value: `64512`. 121 // 122 // > **NOTE:** Modifying `amazonSideAsn` on a Transit Gateway with active BGP sessions is [not allowed](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_ModifyTransitGatewayOptions.html). You must first delete all Transit Gateway attachments that have BGP configured prior to modifying `amazonSideAsn`. 123 AmazonSideAsn *int `pulumi:"amazonSideAsn"` 124 // EC2 Transit Gateway Amazon Resource Name (ARN) 125 Arn *string `pulumi:"arn"` 126 // Identifier of the default association route table 127 AssociationDefaultRouteTableId *string `pulumi:"associationDefaultRouteTableId"` 128 // Whether resource attachment requests are automatically accepted. Valid values: `disable`, `enable`. Default value: `disable`. 129 AutoAcceptSharedAttachments *string `pulumi:"autoAcceptSharedAttachments"` 130 // Whether resource attachments are automatically associated with the default association route table. Valid values: `disable`, `enable`. Default value: `enable`. 131 DefaultRouteTableAssociation *string `pulumi:"defaultRouteTableAssociation"` 132 // Whether resource attachments automatically propagate routes to the default propagation route table. Valid values: `disable`, `enable`. Default value: `enable`. 133 DefaultRouteTablePropagation *string `pulumi:"defaultRouteTablePropagation"` 134 // Description of the EC2 Transit Gateway. 135 Description *string `pulumi:"description"` 136 // Whether DNS support is enabled. Valid values: `disable`, `enable`. Default value: `enable`. 137 DnsSupport *string `pulumi:"dnsSupport"` 138 // Whether Multicast support is enabled. Required to use `ec2TransitGatewayMulticastDomain`. Valid values: `disable`, `enable`. Default value: `disable`. 139 MulticastSupport *string `pulumi:"multicastSupport"` 140 // Identifier of the AWS account that owns the EC2 Transit Gateway 141 OwnerId *string `pulumi:"ownerId"` 142 // Identifier of the default propagation route table 143 PropagationDefaultRouteTableId *string `pulumi:"propagationDefaultRouteTableId"` 144 // Key-value tags for the EC2 Transit Gateway. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 145 Tags map[string]string `pulumi:"tags"` 146 // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. 147 // 148 // Deprecated: Please use `tags` instead. 149 TagsAll map[string]string `pulumi:"tagsAll"` 150 // One or more IPv4 or IPv6 CIDR blocks for the transit gateway. Must be a size /24 CIDR block or larger for IPv4, or a size /64 CIDR block or larger for IPv6. 151 TransitGatewayCidrBlocks []string `pulumi:"transitGatewayCidrBlocks"` 152 // Whether VPN Equal Cost Multipath Protocol support is enabled. Valid values: `disable`, `enable`. Default value: `enable`. 153 VpnEcmpSupport *string `pulumi:"vpnEcmpSupport"` 154 } 155 156 type TransitGatewayState struct { 157 // Private Autonomous System Number (ASN) for the Amazon side of a BGP session. The range is `64512` to `65534` for 16-bit ASNs and `4200000000` to `4294967294` for 32-bit ASNs. Default value: `64512`. 158 // 159 // > **NOTE:** Modifying `amazonSideAsn` on a Transit Gateway with active BGP sessions is [not allowed](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_ModifyTransitGatewayOptions.html). You must first delete all Transit Gateway attachments that have BGP configured prior to modifying `amazonSideAsn`. 160 AmazonSideAsn pulumi.IntPtrInput 161 // EC2 Transit Gateway Amazon Resource Name (ARN) 162 Arn pulumi.StringPtrInput 163 // Identifier of the default association route table 164 AssociationDefaultRouteTableId pulumi.StringPtrInput 165 // Whether resource attachment requests are automatically accepted. Valid values: `disable`, `enable`. Default value: `disable`. 166 AutoAcceptSharedAttachments pulumi.StringPtrInput 167 // Whether resource attachments are automatically associated with the default association route table. Valid values: `disable`, `enable`. Default value: `enable`. 168 DefaultRouteTableAssociation pulumi.StringPtrInput 169 // Whether resource attachments automatically propagate routes to the default propagation route table. Valid values: `disable`, `enable`. Default value: `enable`. 170 DefaultRouteTablePropagation pulumi.StringPtrInput 171 // Description of the EC2 Transit Gateway. 172 Description pulumi.StringPtrInput 173 // Whether DNS support is enabled. Valid values: `disable`, `enable`. Default value: `enable`. 174 DnsSupport pulumi.StringPtrInput 175 // Whether Multicast support is enabled. Required to use `ec2TransitGatewayMulticastDomain`. Valid values: `disable`, `enable`. Default value: `disable`. 176 MulticastSupport pulumi.StringPtrInput 177 // Identifier of the AWS account that owns the EC2 Transit Gateway 178 OwnerId pulumi.StringPtrInput 179 // Identifier of the default propagation route table 180 PropagationDefaultRouteTableId pulumi.StringPtrInput 181 // Key-value tags for the EC2 Transit Gateway. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 182 Tags pulumi.StringMapInput 183 // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. 184 // 185 // Deprecated: Please use `tags` instead. 186 TagsAll pulumi.StringMapInput 187 // One or more IPv4 or IPv6 CIDR blocks for the transit gateway. Must be a size /24 CIDR block or larger for IPv4, or a size /64 CIDR block or larger for IPv6. 188 TransitGatewayCidrBlocks pulumi.StringArrayInput 189 // Whether VPN Equal Cost Multipath Protocol support is enabled. Valid values: `disable`, `enable`. Default value: `enable`. 190 VpnEcmpSupport pulumi.StringPtrInput 191 } 192 193 func (TransitGatewayState) ElementType() reflect.Type { 194 return reflect.TypeOf((*transitGatewayState)(nil)).Elem() 195 } 196 197 type transitGatewayArgs struct { 198 // Private Autonomous System Number (ASN) for the Amazon side of a BGP session. The range is `64512` to `65534` for 16-bit ASNs and `4200000000` to `4294967294` for 32-bit ASNs. Default value: `64512`. 199 // 200 // > **NOTE:** Modifying `amazonSideAsn` on a Transit Gateway with active BGP sessions is [not allowed](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_ModifyTransitGatewayOptions.html). You must first delete all Transit Gateway attachments that have BGP configured prior to modifying `amazonSideAsn`. 201 AmazonSideAsn *int `pulumi:"amazonSideAsn"` 202 // Whether resource attachment requests are automatically accepted. Valid values: `disable`, `enable`. Default value: `disable`. 203 AutoAcceptSharedAttachments *string `pulumi:"autoAcceptSharedAttachments"` 204 // Whether resource attachments are automatically associated with the default association route table. Valid values: `disable`, `enable`. Default value: `enable`. 205 DefaultRouteTableAssociation *string `pulumi:"defaultRouteTableAssociation"` 206 // Whether resource attachments automatically propagate routes to the default propagation route table. Valid values: `disable`, `enable`. Default value: `enable`. 207 DefaultRouteTablePropagation *string `pulumi:"defaultRouteTablePropagation"` 208 // Description of the EC2 Transit Gateway. 209 Description *string `pulumi:"description"` 210 // Whether DNS support is enabled. Valid values: `disable`, `enable`. Default value: `enable`. 211 DnsSupport *string `pulumi:"dnsSupport"` 212 // Whether Multicast support is enabled. Required to use `ec2TransitGatewayMulticastDomain`. Valid values: `disable`, `enable`. Default value: `disable`. 213 MulticastSupport *string `pulumi:"multicastSupport"` 214 // Key-value tags for the EC2 Transit Gateway. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 215 Tags map[string]string `pulumi:"tags"` 216 // One or more IPv4 or IPv6 CIDR blocks for the transit gateway. Must be a size /24 CIDR block or larger for IPv4, or a size /64 CIDR block or larger for IPv6. 217 TransitGatewayCidrBlocks []string `pulumi:"transitGatewayCidrBlocks"` 218 // Whether VPN Equal Cost Multipath Protocol support is enabled. Valid values: `disable`, `enable`. Default value: `enable`. 219 VpnEcmpSupport *string `pulumi:"vpnEcmpSupport"` 220 } 221 222 // The set of arguments for constructing a TransitGateway resource. 223 type TransitGatewayArgs struct { 224 // Private Autonomous System Number (ASN) for the Amazon side of a BGP session. The range is `64512` to `65534` for 16-bit ASNs and `4200000000` to `4294967294` for 32-bit ASNs. Default value: `64512`. 225 // 226 // > **NOTE:** Modifying `amazonSideAsn` on a Transit Gateway with active BGP sessions is [not allowed](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_ModifyTransitGatewayOptions.html). You must first delete all Transit Gateway attachments that have BGP configured prior to modifying `amazonSideAsn`. 227 AmazonSideAsn pulumi.IntPtrInput 228 // Whether resource attachment requests are automatically accepted. Valid values: `disable`, `enable`. Default value: `disable`. 229 AutoAcceptSharedAttachments pulumi.StringPtrInput 230 // Whether resource attachments are automatically associated with the default association route table. Valid values: `disable`, `enable`. Default value: `enable`. 231 DefaultRouteTableAssociation pulumi.StringPtrInput 232 // Whether resource attachments automatically propagate routes to the default propagation route table. Valid values: `disable`, `enable`. Default value: `enable`. 233 DefaultRouteTablePropagation pulumi.StringPtrInput 234 // Description of the EC2 Transit Gateway. 235 Description pulumi.StringPtrInput 236 // Whether DNS support is enabled. Valid values: `disable`, `enable`. Default value: `enable`. 237 DnsSupport pulumi.StringPtrInput 238 // Whether Multicast support is enabled. Required to use `ec2TransitGatewayMulticastDomain`. Valid values: `disable`, `enable`. Default value: `disable`. 239 MulticastSupport pulumi.StringPtrInput 240 // Key-value tags for the EC2 Transit Gateway. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 241 Tags pulumi.StringMapInput 242 // One or more IPv4 or IPv6 CIDR blocks for the transit gateway. Must be a size /24 CIDR block or larger for IPv4, or a size /64 CIDR block or larger for IPv6. 243 TransitGatewayCidrBlocks pulumi.StringArrayInput 244 // Whether VPN Equal Cost Multipath Protocol support is enabled. Valid values: `disable`, `enable`. Default value: `enable`. 245 VpnEcmpSupport pulumi.StringPtrInput 246 } 247 248 func (TransitGatewayArgs) ElementType() reflect.Type { 249 return reflect.TypeOf((*transitGatewayArgs)(nil)).Elem() 250 } 251 252 type TransitGatewayInput interface { 253 pulumi.Input 254 255 ToTransitGatewayOutput() TransitGatewayOutput 256 ToTransitGatewayOutputWithContext(ctx context.Context) TransitGatewayOutput 257 } 258 259 func (*TransitGateway) ElementType() reflect.Type { 260 return reflect.TypeOf((**TransitGateway)(nil)).Elem() 261 } 262 263 func (i *TransitGateway) ToTransitGatewayOutput() TransitGatewayOutput { 264 return i.ToTransitGatewayOutputWithContext(context.Background()) 265 } 266 267 func (i *TransitGateway) ToTransitGatewayOutputWithContext(ctx context.Context) TransitGatewayOutput { 268 return pulumi.ToOutputWithContext(ctx, i).(TransitGatewayOutput) 269 } 270 271 // TransitGatewayArrayInput is an input type that accepts TransitGatewayArray and TransitGatewayArrayOutput values. 272 // You can construct a concrete instance of `TransitGatewayArrayInput` via: 273 // 274 // TransitGatewayArray{ TransitGatewayArgs{...} } 275 type TransitGatewayArrayInput interface { 276 pulumi.Input 277 278 ToTransitGatewayArrayOutput() TransitGatewayArrayOutput 279 ToTransitGatewayArrayOutputWithContext(context.Context) TransitGatewayArrayOutput 280 } 281 282 type TransitGatewayArray []TransitGatewayInput 283 284 func (TransitGatewayArray) ElementType() reflect.Type { 285 return reflect.TypeOf((*[]*TransitGateway)(nil)).Elem() 286 } 287 288 func (i TransitGatewayArray) ToTransitGatewayArrayOutput() TransitGatewayArrayOutput { 289 return i.ToTransitGatewayArrayOutputWithContext(context.Background()) 290 } 291 292 func (i TransitGatewayArray) ToTransitGatewayArrayOutputWithContext(ctx context.Context) TransitGatewayArrayOutput { 293 return pulumi.ToOutputWithContext(ctx, i).(TransitGatewayArrayOutput) 294 } 295 296 // TransitGatewayMapInput is an input type that accepts TransitGatewayMap and TransitGatewayMapOutput values. 297 // You can construct a concrete instance of `TransitGatewayMapInput` via: 298 // 299 // TransitGatewayMap{ "key": TransitGatewayArgs{...} } 300 type TransitGatewayMapInput interface { 301 pulumi.Input 302 303 ToTransitGatewayMapOutput() TransitGatewayMapOutput 304 ToTransitGatewayMapOutputWithContext(context.Context) TransitGatewayMapOutput 305 } 306 307 type TransitGatewayMap map[string]TransitGatewayInput 308 309 func (TransitGatewayMap) ElementType() reflect.Type { 310 return reflect.TypeOf((*map[string]*TransitGateway)(nil)).Elem() 311 } 312 313 func (i TransitGatewayMap) ToTransitGatewayMapOutput() TransitGatewayMapOutput { 314 return i.ToTransitGatewayMapOutputWithContext(context.Background()) 315 } 316 317 func (i TransitGatewayMap) ToTransitGatewayMapOutputWithContext(ctx context.Context) TransitGatewayMapOutput { 318 return pulumi.ToOutputWithContext(ctx, i).(TransitGatewayMapOutput) 319 } 320 321 type TransitGatewayOutput struct{ *pulumi.OutputState } 322 323 func (TransitGatewayOutput) ElementType() reflect.Type { 324 return reflect.TypeOf((**TransitGateway)(nil)).Elem() 325 } 326 327 func (o TransitGatewayOutput) ToTransitGatewayOutput() TransitGatewayOutput { 328 return o 329 } 330 331 func (o TransitGatewayOutput) ToTransitGatewayOutputWithContext(ctx context.Context) TransitGatewayOutput { 332 return o 333 } 334 335 // Private Autonomous System Number (ASN) for the Amazon side of a BGP session. The range is `64512` to `65534` for 16-bit ASNs and `4200000000` to `4294967294` for 32-bit ASNs. Default value: `64512`. 336 // 337 // > **NOTE:** Modifying `amazonSideAsn` on a Transit Gateway with active BGP sessions is [not allowed](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_ModifyTransitGatewayOptions.html). You must first delete all Transit Gateway attachments that have BGP configured prior to modifying `amazonSideAsn`. 338 func (o TransitGatewayOutput) AmazonSideAsn() pulumi.IntPtrOutput { 339 return o.ApplyT(func(v *TransitGateway) pulumi.IntPtrOutput { return v.AmazonSideAsn }).(pulumi.IntPtrOutput) 340 } 341 342 // EC2 Transit Gateway Amazon Resource Name (ARN) 343 func (o TransitGatewayOutput) Arn() pulumi.StringOutput { 344 return o.ApplyT(func(v *TransitGateway) pulumi.StringOutput { return v.Arn }).(pulumi.StringOutput) 345 } 346 347 // Identifier of the default association route table 348 func (o TransitGatewayOutput) AssociationDefaultRouteTableId() pulumi.StringOutput { 349 return o.ApplyT(func(v *TransitGateway) pulumi.StringOutput { return v.AssociationDefaultRouteTableId }).(pulumi.StringOutput) 350 } 351 352 // Whether resource attachment requests are automatically accepted. Valid values: `disable`, `enable`. Default value: `disable`. 353 func (o TransitGatewayOutput) AutoAcceptSharedAttachments() pulumi.StringPtrOutput { 354 return o.ApplyT(func(v *TransitGateway) pulumi.StringPtrOutput { return v.AutoAcceptSharedAttachments }).(pulumi.StringPtrOutput) 355 } 356 357 // Whether resource attachments are automatically associated with the default association route table. Valid values: `disable`, `enable`. Default value: `enable`. 358 func (o TransitGatewayOutput) DefaultRouteTableAssociation() pulumi.StringPtrOutput { 359 return o.ApplyT(func(v *TransitGateway) pulumi.StringPtrOutput { return v.DefaultRouteTableAssociation }).(pulumi.StringPtrOutput) 360 } 361 362 // Whether resource attachments automatically propagate routes to the default propagation route table. Valid values: `disable`, `enable`. Default value: `enable`. 363 func (o TransitGatewayOutput) DefaultRouteTablePropagation() pulumi.StringPtrOutput { 364 return o.ApplyT(func(v *TransitGateway) pulumi.StringPtrOutput { return v.DefaultRouteTablePropagation }).(pulumi.StringPtrOutput) 365 } 366 367 // Description of the EC2 Transit Gateway. 368 func (o TransitGatewayOutput) Description() pulumi.StringPtrOutput { 369 return o.ApplyT(func(v *TransitGateway) pulumi.StringPtrOutput { return v.Description }).(pulumi.StringPtrOutput) 370 } 371 372 // Whether DNS support is enabled. Valid values: `disable`, `enable`. Default value: `enable`. 373 func (o TransitGatewayOutput) DnsSupport() pulumi.StringPtrOutput { 374 return o.ApplyT(func(v *TransitGateway) pulumi.StringPtrOutput { return v.DnsSupport }).(pulumi.StringPtrOutput) 375 } 376 377 // Whether Multicast support is enabled. Required to use `ec2TransitGatewayMulticastDomain`. Valid values: `disable`, `enable`. Default value: `disable`. 378 func (o TransitGatewayOutput) MulticastSupport() pulumi.StringPtrOutput { 379 return o.ApplyT(func(v *TransitGateway) pulumi.StringPtrOutput { return v.MulticastSupport }).(pulumi.StringPtrOutput) 380 } 381 382 // Identifier of the AWS account that owns the EC2 Transit Gateway 383 func (o TransitGatewayOutput) OwnerId() pulumi.StringOutput { 384 return o.ApplyT(func(v *TransitGateway) pulumi.StringOutput { return v.OwnerId }).(pulumi.StringOutput) 385 } 386 387 // Identifier of the default propagation route table 388 func (o TransitGatewayOutput) PropagationDefaultRouteTableId() pulumi.StringOutput { 389 return o.ApplyT(func(v *TransitGateway) pulumi.StringOutput { return v.PropagationDefaultRouteTableId }).(pulumi.StringOutput) 390 } 391 392 // Key-value tags for the EC2 Transit Gateway. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 393 func (o TransitGatewayOutput) Tags() pulumi.StringMapOutput { 394 return o.ApplyT(func(v *TransitGateway) pulumi.StringMapOutput { return v.Tags }).(pulumi.StringMapOutput) 395 } 396 397 // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. 398 // 399 // Deprecated: Please use `tags` instead. 400 func (o TransitGatewayOutput) TagsAll() pulumi.StringMapOutput { 401 return o.ApplyT(func(v *TransitGateway) pulumi.StringMapOutput { return v.TagsAll }).(pulumi.StringMapOutput) 402 } 403 404 // One or more IPv4 or IPv6 CIDR blocks for the transit gateway. Must be a size /24 CIDR block or larger for IPv4, or a size /64 CIDR block or larger for IPv6. 405 func (o TransitGatewayOutput) TransitGatewayCidrBlocks() pulumi.StringArrayOutput { 406 return o.ApplyT(func(v *TransitGateway) pulumi.StringArrayOutput { return v.TransitGatewayCidrBlocks }).(pulumi.StringArrayOutput) 407 } 408 409 // Whether VPN Equal Cost Multipath Protocol support is enabled. Valid values: `disable`, `enable`. Default value: `enable`. 410 func (o TransitGatewayOutput) VpnEcmpSupport() pulumi.StringPtrOutput { 411 return o.ApplyT(func(v *TransitGateway) pulumi.StringPtrOutput { return v.VpnEcmpSupport }).(pulumi.StringPtrOutput) 412 } 413 414 type TransitGatewayArrayOutput struct{ *pulumi.OutputState } 415 416 func (TransitGatewayArrayOutput) ElementType() reflect.Type { 417 return reflect.TypeOf((*[]*TransitGateway)(nil)).Elem() 418 } 419 420 func (o TransitGatewayArrayOutput) ToTransitGatewayArrayOutput() TransitGatewayArrayOutput { 421 return o 422 } 423 424 func (o TransitGatewayArrayOutput) ToTransitGatewayArrayOutputWithContext(ctx context.Context) TransitGatewayArrayOutput { 425 return o 426 } 427 428 func (o TransitGatewayArrayOutput) Index(i pulumi.IntInput) TransitGatewayOutput { 429 return pulumi.All(o, i).ApplyT(func(vs []interface{}) *TransitGateway { 430 return vs[0].([]*TransitGateway)[vs[1].(int)] 431 }).(TransitGatewayOutput) 432 } 433 434 type TransitGatewayMapOutput struct{ *pulumi.OutputState } 435 436 func (TransitGatewayMapOutput) ElementType() reflect.Type { 437 return reflect.TypeOf((*map[string]*TransitGateway)(nil)).Elem() 438 } 439 440 func (o TransitGatewayMapOutput) ToTransitGatewayMapOutput() TransitGatewayMapOutput { 441 return o 442 } 443 444 func (o TransitGatewayMapOutput) ToTransitGatewayMapOutputWithContext(ctx context.Context) TransitGatewayMapOutput { 445 return o 446 } 447 448 func (o TransitGatewayMapOutput) MapIndex(k pulumi.StringInput) TransitGatewayOutput { 449 return pulumi.All(o, k).ApplyT(func(vs []interface{}) *TransitGateway { 450 return vs[0].(map[string]*TransitGateway)[vs[1].(string)] 451 }).(TransitGatewayOutput) 452 } 453 454 func init() { 455 pulumi.RegisterInputType(reflect.TypeOf((*TransitGatewayInput)(nil)).Elem(), &TransitGateway{}) 456 pulumi.RegisterInputType(reflect.TypeOf((*TransitGatewayArrayInput)(nil)).Elem(), TransitGatewayArray{}) 457 pulumi.RegisterInputType(reflect.TypeOf((*TransitGatewayMapInput)(nil)).Elem(), TransitGatewayMap{}) 458 pulumi.RegisterOutputType(TransitGatewayOutput{}) 459 pulumi.RegisterOutputType(TransitGatewayArrayOutput{}) 460 pulumi.RegisterOutputType(TransitGatewayMapOutput{}) 461 }