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  }