github.com/pulumi/pulumi-aws/sdk/v6@v6.32.0/go/aws/ec2transitgateway/getTransitGateway.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 // Get information on an EC2 Transit Gateway. 15 // 16 // ## Example Usage 17 // 18 // ### By Filter 19 // 20 // <!--Start PulumiCodeChooser --> 21 // ```go 22 // package main 23 // 24 // import ( 25 // 26 // "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2transitgateway" 27 // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" 28 // 29 // ) 30 // 31 // func main() { 32 // pulumi.Run(func(ctx *pulumi.Context) error { 33 // _, err := ec2transitgateway.LookupTransitGateway(ctx, &ec2transitgateway.LookupTransitGatewayArgs{ 34 // Filters: []ec2transitgateway.GetTransitGatewayFilter{ 35 // { 36 // Name: "options.amazon-side-asn", 37 // Values: []string{ 38 // "64512", 39 // }, 40 // }, 41 // }, 42 // }, nil) 43 // if err != nil { 44 // return err 45 // } 46 // return nil 47 // }) 48 // } 49 // 50 // ``` 51 // <!--End PulumiCodeChooser --> 52 // 53 // ### By Identifier 54 // 55 // <!--Start PulumiCodeChooser --> 56 // ```go 57 // package main 58 // 59 // import ( 60 // 61 // "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2transitgateway" 62 // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" 63 // 64 // ) 65 // 66 // func main() { 67 // pulumi.Run(func(ctx *pulumi.Context) error { 68 // _, err := ec2transitgateway.LookupTransitGateway(ctx, &ec2transitgateway.LookupTransitGatewayArgs{ 69 // Id: pulumi.StringRef("tgw-12345678"), 70 // }, nil) 71 // if err != nil { 72 // return err 73 // } 74 // return nil 75 // }) 76 // } 77 // 78 // ``` 79 // <!--End PulumiCodeChooser --> 80 func LookupTransitGateway(ctx *pulumi.Context, args *LookupTransitGatewayArgs, opts ...pulumi.InvokeOption) (*LookupTransitGatewayResult, error) { 81 opts = internal.PkgInvokeDefaultOpts(opts) 82 var rv LookupTransitGatewayResult 83 err := ctx.Invoke("aws:ec2transitgateway/getTransitGateway:getTransitGateway", args, &rv, opts...) 84 if err != nil { 85 return nil, err 86 } 87 return &rv, nil 88 } 89 90 // A collection of arguments for invoking getTransitGateway. 91 type LookupTransitGatewayArgs struct { 92 // One or more configuration blocks containing name-values filters. Detailed below. 93 Filters []GetTransitGatewayFilter `pulumi:"filters"` 94 // Identifier of the EC2 Transit Gateway. 95 Id *string `pulumi:"id"` 96 // Key-value tags for the EC2 Transit Gateway 97 Tags map[string]string `pulumi:"tags"` 98 } 99 100 // A collection of values returned by getTransitGateway. 101 type LookupTransitGatewayResult struct { 102 // Private Autonomous System Number (ASN) for the Amazon side of a BGP session 103 AmazonSideAsn int `pulumi:"amazonSideAsn"` 104 // EC2 Transit Gateway ARN 105 Arn string `pulumi:"arn"` 106 // Identifier of the default association route table 107 AssociationDefaultRouteTableId string `pulumi:"associationDefaultRouteTableId"` 108 // Whether resource attachment requests are automatically accepted 109 AutoAcceptSharedAttachments string `pulumi:"autoAcceptSharedAttachments"` 110 // Whether resource attachments are automatically associated with the default association route table 111 DefaultRouteTableAssociation string `pulumi:"defaultRouteTableAssociation"` 112 // Whether resource attachments automatically propagate routes to the default propagation route table 113 DefaultRouteTablePropagation string `pulumi:"defaultRouteTablePropagation"` 114 // Description of the EC2 Transit Gateway 115 Description string `pulumi:"description"` 116 // Whether DNS support is enabled 117 DnsSupport string `pulumi:"dnsSupport"` 118 Filters []GetTransitGatewayFilter `pulumi:"filters"` 119 // EC2 Transit Gateway identifier 120 Id string `pulumi:"id"` 121 // Whether Multicast support is enabled 122 MulticastSupport string `pulumi:"multicastSupport"` 123 // Identifier of the AWS account that owns the EC2 Transit Gateway 124 OwnerId string `pulumi:"ownerId"` 125 // Identifier of the default propagation route table 126 PropagationDefaultRouteTableId string `pulumi:"propagationDefaultRouteTableId"` 127 // Key-value tags for the EC2 Transit Gateway 128 Tags map[string]string `pulumi:"tags"` 129 // The list of associated CIDR blocks 130 TransitGatewayCidrBlocks []string `pulumi:"transitGatewayCidrBlocks"` 131 // Whether VPN Equal Cost Multipath Protocol support is enabled 132 VpnEcmpSupport string `pulumi:"vpnEcmpSupport"` 133 } 134 135 func LookupTransitGatewayOutput(ctx *pulumi.Context, args LookupTransitGatewayOutputArgs, opts ...pulumi.InvokeOption) LookupTransitGatewayResultOutput { 136 return pulumi.ToOutputWithContext(context.Background(), args). 137 ApplyT(func(v interface{}) (LookupTransitGatewayResult, error) { 138 args := v.(LookupTransitGatewayArgs) 139 r, err := LookupTransitGateway(ctx, &args, opts...) 140 var s LookupTransitGatewayResult 141 if r != nil { 142 s = *r 143 } 144 return s, err 145 }).(LookupTransitGatewayResultOutput) 146 } 147 148 // A collection of arguments for invoking getTransitGateway. 149 type LookupTransitGatewayOutputArgs struct { 150 // One or more configuration blocks containing name-values filters. Detailed below. 151 Filters GetTransitGatewayFilterArrayInput `pulumi:"filters"` 152 // Identifier of the EC2 Transit Gateway. 153 Id pulumi.StringPtrInput `pulumi:"id"` 154 // Key-value tags for the EC2 Transit Gateway 155 Tags pulumi.StringMapInput `pulumi:"tags"` 156 } 157 158 func (LookupTransitGatewayOutputArgs) ElementType() reflect.Type { 159 return reflect.TypeOf((*LookupTransitGatewayArgs)(nil)).Elem() 160 } 161 162 // A collection of values returned by getTransitGateway. 163 type LookupTransitGatewayResultOutput struct{ *pulumi.OutputState } 164 165 func (LookupTransitGatewayResultOutput) ElementType() reflect.Type { 166 return reflect.TypeOf((*LookupTransitGatewayResult)(nil)).Elem() 167 } 168 169 func (o LookupTransitGatewayResultOutput) ToLookupTransitGatewayResultOutput() LookupTransitGatewayResultOutput { 170 return o 171 } 172 173 func (o LookupTransitGatewayResultOutput) ToLookupTransitGatewayResultOutputWithContext(ctx context.Context) LookupTransitGatewayResultOutput { 174 return o 175 } 176 177 // Private Autonomous System Number (ASN) for the Amazon side of a BGP session 178 func (o LookupTransitGatewayResultOutput) AmazonSideAsn() pulumi.IntOutput { 179 return o.ApplyT(func(v LookupTransitGatewayResult) int { return v.AmazonSideAsn }).(pulumi.IntOutput) 180 } 181 182 // EC2 Transit Gateway ARN 183 func (o LookupTransitGatewayResultOutput) Arn() pulumi.StringOutput { 184 return o.ApplyT(func(v LookupTransitGatewayResult) string { return v.Arn }).(pulumi.StringOutput) 185 } 186 187 // Identifier of the default association route table 188 func (o LookupTransitGatewayResultOutput) AssociationDefaultRouteTableId() pulumi.StringOutput { 189 return o.ApplyT(func(v LookupTransitGatewayResult) string { return v.AssociationDefaultRouteTableId }).(pulumi.StringOutput) 190 } 191 192 // Whether resource attachment requests are automatically accepted 193 func (o LookupTransitGatewayResultOutput) AutoAcceptSharedAttachments() pulumi.StringOutput { 194 return o.ApplyT(func(v LookupTransitGatewayResult) string { return v.AutoAcceptSharedAttachments }).(pulumi.StringOutput) 195 } 196 197 // Whether resource attachments are automatically associated with the default association route table 198 func (o LookupTransitGatewayResultOutput) DefaultRouteTableAssociation() pulumi.StringOutput { 199 return o.ApplyT(func(v LookupTransitGatewayResult) string { return v.DefaultRouteTableAssociation }).(pulumi.StringOutput) 200 } 201 202 // Whether resource attachments automatically propagate routes to the default propagation route table 203 func (o LookupTransitGatewayResultOutput) DefaultRouteTablePropagation() pulumi.StringOutput { 204 return o.ApplyT(func(v LookupTransitGatewayResult) string { return v.DefaultRouteTablePropagation }).(pulumi.StringOutput) 205 } 206 207 // Description of the EC2 Transit Gateway 208 func (o LookupTransitGatewayResultOutput) Description() pulumi.StringOutput { 209 return o.ApplyT(func(v LookupTransitGatewayResult) string { return v.Description }).(pulumi.StringOutput) 210 } 211 212 // Whether DNS support is enabled 213 func (o LookupTransitGatewayResultOutput) DnsSupport() pulumi.StringOutput { 214 return o.ApplyT(func(v LookupTransitGatewayResult) string { return v.DnsSupport }).(pulumi.StringOutput) 215 } 216 217 func (o LookupTransitGatewayResultOutput) Filters() GetTransitGatewayFilterArrayOutput { 218 return o.ApplyT(func(v LookupTransitGatewayResult) []GetTransitGatewayFilter { return v.Filters }).(GetTransitGatewayFilterArrayOutput) 219 } 220 221 // EC2 Transit Gateway identifier 222 func (o LookupTransitGatewayResultOutput) Id() pulumi.StringOutput { 223 return o.ApplyT(func(v LookupTransitGatewayResult) string { return v.Id }).(pulumi.StringOutput) 224 } 225 226 // Whether Multicast support is enabled 227 func (o LookupTransitGatewayResultOutput) MulticastSupport() pulumi.StringOutput { 228 return o.ApplyT(func(v LookupTransitGatewayResult) string { return v.MulticastSupport }).(pulumi.StringOutput) 229 } 230 231 // Identifier of the AWS account that owns the EC2 Transit Gateway 232 func (o LookupTransitGatewayResultOutput) OwnerId() pulumi.StringOutput { 233 return o.ApplyT(func(v LookupTransitGatewayResult) string { return v.OwnerId }).(pulumi.StringOutput) 234 } 235 236 // Identifier of the default propagation route table 237 func (o LookupTransitGatewayResultOutput) PropagationDefaultRouteTableId() pulumi.StringOutput { 238 return o.ApplyT(func(v LookupTransitGatewayResult) string { return v.PropagationDefaultRouteTableId }).(pulumi.StringOutput) 239 } 240 241 // Key-value tags for the EC2 Transit Gateway 242 func (o LookupTransitGatewayResultOutput) Tags() pulumi.StringMapOutput { 243 return o.ApplyT(func(v LookupTransitGatewayResult) map[string]string { return v.Tags }).(pulumi.StringMapOutput) 244 } 245 246 // The list of associated CIDR blocks 247 func (o LookupTransitGatewayResultOutput) TransitGatewayCidrBlocks() pulumi.StringArrayOutput { 248 return o.ApplyT(func(v LookupTransitGatewayResult) []string { return v.TransitGatewayCidrBlocks }).(pulumi.StringArrayOutput) 249 } 250 251 // Whether VPN Equal Cost Multipath Protocol support is enabled 252 func (o LookupTransitGatewayResultOutput) VpnEcmpSupport() pulumi.StringOutput { 253 return o.ApplyT(func(v LookupTransitGatewayResult) string { return v.VpnEcmpSupport }).(pulumi.StringOutput) 254 } 255 256 func init() { 257 pulumi.RegisterOutputType(LookupTransitGatewayResultOutput{}) 258 }