github.com/pulumi/pulumi-aws/sdk/v6@v6.32.0/go/aws/ec2transitgateway/connectPeer.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  	"errors"
    11  	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/internal"
    12  	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    13  )
    14  
    15  // Manages an EC2 Transit Gateway Connect Peer.
    16  //
    17  // ## Example Usage
    18  //
    19  // <!--Start PulumiCodeChooser -->
    20  // ```go
    21  // package main
    22  //
    23  // import (
    24  //
    25  //	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2transitgateway"
    26  //	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    27  //
    28  // )
    29  //
    30  //	func main() {
    31  //		pulumi.Run(func(ctx *pulumi.Context) error {
    32  //			example, err := ec2transitgateway.NewConnect(ctx, "example", &ec2transitgateway.ConnectArgs{
    33  //				TransportAttachmentId: pulumi.Any(exampleAwsEc2TransitGatewayVpcAttachment.Id),
    34  //				TransitGatewayId:      pulumi.Any(exampleAwsEc2TransitGateway.Id),
    35  //			})
    36  //			if err != nil {
    37  //				return err
    38  //			}
    39  //			_, err = ec2transitgateway.NewConnectPeer(ctx, "example", &ec2transitgateway.ConnectPeerArgs{
    40  //				PeerAddress: pulumi.String("10.1.2.3"),
    41  //				InsideCidrBlocks: pulumi.StringArray{
    42  //					pulumi.String("169.254.100.0/29"),
    43  //				},
    44  //				TransitGatewayAttachmentId: example.ID(),
    45  //			})
    46  //			if err != nil {
    47  //				return err
    48  //			}
    49  //			return nil
    50  //		})
    51  //	}
    52  //
    53  // ```
    54  // <!--End PulumiCodeChooser -->
    55  //
    56  // ## Import
    57  //
    58  // Using `pulumi import`, import `aws_ec2_transit_gateway_connect_peer` using the EC2 Transit Gateway Connect Peer identifier. For example:
    59  //
    60  // ```sh
    61  // $ pulumi import aws:ec2transitgateway/connectPeer:ConnectPeer example tgw-connect-peer-12345678
    62  // ```
    63  type ConnectPeer struct {
    64  	pulumi.CustomResourceState
    65  
    66  	// EC2 Transit Gateway Connect Peer ARN
    67  	Arn pulumi.StringOutput `pulumi:"arn"`
    68  	// The BGP ASN number assigned customer device. If not provided, it will use the same BGP ASN as is associated with Transit Gateway.
    69  	BgpAsn pulumi.StringOutput `pulumi:"bgpAsn"`
    70  	// The IP address assigned to customer device, which is used as BGP IP address.
    71  	BgpPeerAddress pulumi.StringOutput `pulumi:"bgpPeerAddress"`
    72  	// The IP addresses assigned to Transit Gateway, which are used as BGP IP addresses.
    73  	BgpTransitGatewayAddresses pulumi.StringArrayOutput `pulumi:"bgpTransitGatewayAddresses"`
    74  	// The CIDR block that will be used for addressing within the tunnel. It must contain exactly one IPv4 CIDR block and up to one IPv6 CIDR block. The IPv4 CIDR block must be /29 size and must be within 169.254.0.0/16 range, with exception of: 169.254.0.0/29, 169.254.1.0/29, 169.254.2.0/29, 169.254.3.0/29, 169.254.4.0/29, 169.254.5.0/29, 169.254.169.248/29. The IPv6 CIDR block must be /125 size and must be within fd00::/8. The first IP from each CIDR block is assigned for customer gateway, the second and third is for Transit Gateway (An example: from range 169.254.100.0/29, .1 is assigned to customer gateway and .2 and .3 are assigned to Transit Gateway)
    75  	InsideCidrBlocks pulumi.StringArrayOutput `pulumi:"insideCidrBlocks"`
    76  	// The IP addressed assigned to customer device, which will be used as tunnel endpoint. It can be IPv4 or IPv6 address, but must be the same address family as `transitGatewayAddress`
    77  	PeerAddress pulumi.StringOutput `pulumi:"peerAddress"`
    78  	// Key-value tags for the EC2 Transit Gateway Connect Peer. 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  	// The IP address assigned to Transit Gateway, which will be used as tunnel endpoint. This address must be from associated Transit Gateway CIDR block. The address must be from the same address family as `peerAddress`. If not set explicitly, it will be selected from associated Transit Gateway CIDR blocks
    85  	TransitGatewayAddress pulumi.StringOutput `pulumi:"transitGatewayAddress"`
    86  	// The Transit Gateway Connect
    87  	TransitGatewayAttachmentId pulumi.StringOutput `pulumi:"transitGatewayAttachmentId"`
    88  }
    89  
    90  // NewConnectPeer registers a new resource with the given unique name, arguments, and options.
    91  func NewConnectPeer(ctx *pulumi.Context,
    92  	name string, args *ConnectPeerArgs, opts ...pulumi.ResourceOption) (*ConnectPeer, error) {
    93  	if args == nil {
    94  		return nil, errors.New("missing one or more required arguments")
    95  	}
    96  
    97  	if args.InsideCidrBlocks == nil {
    98  		return nil, errors.New("invalid value for required argument 'InsideCidrBlocks'")
    99  	}
   100  	if args.PeerAddress == nil {
   101  		return nil, errors.New("invalid value for required argument 'PeerAddress'")
   102  	}
   103  	if args.TransitGatewayAttachmentId == nil {
   104  		return nil, errors.New("invalid value for required argument 'TransitGatewayAttachmentId'")
   105  	}
   106  	opts = internal.PkgResourceDefaultOpts(opts)
   107  	var resource ConnectPeer
   108  	err := ctx.RegisterResource("aws:ec2transitgateway/connectPeer:ConnectPeer", name, args, &resource, opts...)
   109  	if err != nil {
   110  		return nil, err
   111  	}
   112  	return &resource, nil
   113  }
   114  
   115  // GetConnectPeer gets an existing ConnectPeer resource's state with the given name, ID, and optional
   116  // state properties that are used to uniquely qualify the lookup (nil if not required).
   117  func GetConnectPeer(ctx *pulumi.Context,
   118  	name string, id pulumi.IDInput, state *ConnectPeerState, opts ...pulumi.ResourceOption) (*ConnectPeer, error) {
   119  	var resource ConnectPeer
   120  	err := ctx.ReadResource("aws:ec2transitgateway/connectPeer:ConnectPeer", name, id, state, &resource, opts...)
   121  	if err != nil {
   122  		return nil, err
   123  	}
   124  	return &resource, nil
   125  }
   126  
   127  // Input properties used for looking up and filtering ConnectPeer resources.
   128  type connectPeerState struct {
   129  	// EC2 Transit Gateway Connect Peer ARN
   130  	Arn *string `pulumi:"arn"`
   131  	// The BGP ASN number assigned customer device. If not provided, it will use the same BGP ASN as is associated with Transit Gateway.
   132  	BgpAsn *string `pulumi:"bgpAsn"`
   133  	// The IP address assigned to customer device, which is used as BGP IP address.
   134  	BgpPeerAddress *string `pulumi:"bgpPeerAddress"`
   135  	// The IP addresses assigned to Transit Gateway, which are used as BGP IP addresses.
   136  	BgpTransitGatewayAddresses []string `pulumi:"bgpTransitGatewayAddresses"`
   137  	// The CIDR block that will be used for addressing within the tunnel. It must contain exactly one IPv4 CIDR block and up to one IPv6 CIDR block. The IPv4 CIDR block must be /29 size and must be within 169.254.0.0/16 range, with exception of: 169.254.0.0/29, 169.254.1.0/29, 169.254.2.0/29, 169.254.3.0/29, 169.254.4.0/29, 169.254.5.0/29, 169.254.169.248/29. The IPv6 CIDR block must be /125 size and must be within fd00::/8. The first IP from each CIDR block is assigned for customer gateway, the second and third is for Transit Gateway (An example: from range 169.254.100.0/29, .1 is assigned to customer gateway and .2 and .3 are assigned to Transit Gateway)
   138  	InsideCidrBlocks []string `pulumi:"insideCidrBlocks"`
   139  	// The IP addressed assigned to customer device, which will be used as tunnel endpoint. It can be IPv4 or IPv6 address, but must be the same address family as `transitGatewayAddress`
   140  	PeerAddress *string `pulumi:"peerAddress"`
   141  	// Key-value tags for the EC2 Transit Gateway Connect Peer. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
   142  	Tags map[string]string `pulumi:"tags"`
   143  	// A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
   144  	//
   145  	// Deprecated: Please use `tags` instead.
   146  	TagsAll map[string]string `pulumi:"tagsAll"`
   147  	// The IP address assigned to Transit Gateway, which will be used as tunnel endpoint. This address must be from associated Transit Gateway CIDR block. The address must be from the same address family as `peerAddress`. If not set explicitly, it will be selected from associated Transit Gateway CIDR blocks
   148  	TransitGatewayAddress *string `pulumi:"transitGatewayAddress"`
   149  	// The Transit Gateway Connect
   150  	TransitGatewayAttachmentId *string `pulumi:"transitGatewayAttachmentId"`
   151  }
   152  
   153  type ConnectPeerState struct {
   154  	// EC2 Transit Gateway Connect Peer ARN
   155  	Arn pulumi.StringPtrInput
   156  	// The BGP ASN number assigned customer device. If not provided, it will use the same BGP ASN as is associated with Transit Gateway.
   157  	BgpAsn pulumi.StringPtrInput
   158  	// The IP address assigned to customer device, which is used as BGP IP address.
   159  	BgpPeerAddress pulumi.StringPtrInput
   160  	// The IP addresses assigned to Transit Gateway, which are used as BGP IP addresses.
   161  	BgpTransitGatewayAddresses pulumi.StringArrayInput
   162  	// The CIDR block that will be used for addressing within the tunnel. It must contain exactly one IPv4 CIDR block and up to one IPv6 CIDR block. The IPv4 CIDR block must be /29 size and must be within 169.254.0.0/16 range, with exception of: 169.254.0.0/29, 169.254.1.0/29, 169.254.2.0/29, 169.254.3.0/29, 169.254.4.0/29, 169.254.5.0/29, 169.254.169.248/29. The IPv6 CIDR block must be /125 size and must be within fd00::/8. The first IP from each CIDR block is assigned for customer gateway, the second and third is for Transit Gateway (An example: from range 169.254.100.0/29, .1 is assigned to customer gateway and .2 and .3 are assigned to Transit Gateway)
   163  	InsideCidrBlocks pulumi.StringArrayInput
   164  	// The IP addressed assigned to customer device, which will be used as tunnel endpoint. It can be IPv4 or IPv6 address, but must be the same address family as `transitGatewayAddress`
   165  	PeerAddress pulumi.StringPtrInput
   166  	// Key-value tags for the EC2 Transit Gateway Connect Peer. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
   167  	Tags pulumi.StringMapInput
   168  	// A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
   169  	//
   170  	// Deprecated: Please use `tags` instead.
   171  	TagsAll pulumi.StringMapInput
   172  	// The IP address assigned to Transit Gateway, which will be used as tunnel endpoint. This address must be from associated Transit Gateway CIDR block. The address must be from the same address family as `peerAddress`. If not set explicitly, it will be selected from associated Transit Gateway CIDR blocks
   173  	TransitGatewayAddress pulumi.StringPtrInput
   174  	// The Transit Gateway Connect
   175  	TransitGatewayAttachmentId pulumi.StringPtrInput
   176  }
   177  
   178  func (ConnectPeerState) ElementType() reflect.Type {
   179  	return reflect.TypeOf((*connectPeerState)(nil)).Elem()
   180  }
   181  
   182  type connectPeerArgs struct {
   183  	// The BGP ASN number assigned customer device. If not provided, it will use the same BGP ASN as is associated with Transit Gateway.
   184  	BgpAsn *string `pulumi:"bgpAsn"`
   185  	// The CIDR block that will be used for addressing within the tunnel. It must contain exactly one IPv4 CIDR block and up to one IPv6 CIDR block. The IPv4 CIDR block must be /29 size and must be within 169.254.0.0/16 range, with exception of: 169.254.0.0/29, 169.254.1.0/29, 169.254.2.0/29, 169.254.3.0/29, 169.254.4.0/29, 169.254.5.0/29, 169.254.169.248/29. The IPv6 CIDR block must be /125 size and must be within fd00::/8. The first IP from each CIDR block is assigned for customer gateway, the second and third is for Transit Gateway (An example: from range 169.254.100.0/29, .1 is assigned to customer gateway and .2 and .3 are assigned to Transit Gateway)
   186  	InsideCidrBlocks []string `pulumi:"insideCidrBlocks"`
   187  	// The IP addressed assigned to customer device, which will be used as tunnel endpoint. It can be IPv4 or IPv6 address, but must be the same address family as `transitGatewayAddress`
   188  	PeerAddress string `pulumi:"peerAddress"`
   189  	// Key-value tags for the EC2 Transit Gateway Connect Peer. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
   190  	Tags map[string]string `pulumi:"tags"`
   191  	// The IP address assigned to Transit Gateway, which will be used as tunnel endpoint. This address must be from associated Transit Gateway CIDR block. The address must be from the same address family as `peerAddress`. If not set explicitly, it will be selected from associated Transit Gateway CIDR blocks
   192  	TransitGatewayAddress *string `pulumi:"transitGatewayAddress"`
   193  	// The Transit Gateway Connect
   194  	TransitGatewayAttachmentId string `pulumi:"transitGatewayAttachmentId"`
   195  }
   196  
   197  // The set of arguments for constructing a ConnectPeer resource.
   198  type ConnectPeerArgs struct {
   199  	// The BGP ASN number assigned customer device. If not provided, it will use the same BGP ASN as is associated with Transit Gateway.
   200  	BgpAsn pulumi.StringPtrInput
   201  	// The CIDR block that will be used for addressing within the tunnel. It must contain exactly one IPv4 CIDR block and up to one IPv6 CIDR block. The IPv4 CIDR block must be /29 size and must be within 169.254.0.0/16 range, with exception of: 169.254.0.0/29, 169.254.1.0/29, 169.254.2.0/29, 169.254.3.0/29, 169.254.4.0/29, 169.254.5.0/29, 169.254.169.248/29. The IPv6 CIDR block must be /125 size and must be within fd00::/8. The first IP from each CIDR block is assigned for customer gateway, the second and third is for Transit Gateway (An example: from range 169.254.100.0/29, .1 is assigned to customer gateway and .2 and .3 are assigned to Transit Gateway)
   202  	InsideCidrBlocks pulumi.StringArrayInput
   203  	// The IP addressed assigned to customer device, which will be used as tunnel endpoint. It can be IPv4 or IPv6 address, but must be the same address family as `transitGatewayAddress`
   204  	PeerAddress pulumi.StringInput
   205  	// Key-value tags for the EC2 Transit Gateway Connect Peer. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
   206  	Tags pulumi.StringMapInput
   207  	// The IP address assigned to Transit Gateway, which will be used as tunnel endpoint. This address must be from associated Transit Gateway CIDR block. The address must be from the same address family as `peerAddress`. If not set explicitly, it will be selected from associated Transit Gateway CIDR blocks
   208  	TransitGatewayAddress pulumi.StringPtrInput
   209  	// The Transit Gateway Connect
   210  	TransitGatewayAttachmentId pulumi.StringInput
   211  }
   212  
   213  func (ConnectPeerArgs) ElementType() reflect.Type {
   214  	return reflect.TypeOf((*connectPeerArgs)(nil)).Elem()
   215  }
   216  
   217  type ConnectPeerInput interface {
   218  	pulumi.Input
   219  
   220  	ToConnectPeerOutput() ConnectPeerOutput
   221  	ToConnectPeerOutputWithContext(ctx context.Context) ConnectPeerOutput
   222  }
   223  
   224  func (*ConnectPeer) ElementType() reflect.Type {
   225  	return reflect.TypeOf((**ConnectPeer)(nil)).Elem()
   226  }
   227  
   228  func (i *ConnectPeer) ToConnectPeerOutput() ConnectPeerOutput {
   229  	return i.ToConnectPeerOutputWithContext(context.Background())
   230  }
   231  
   232  func (i *ConnectPeer) ToConnectPeerOutputWithContext(ctx context.Context) ConnectPeerOutput {
   233  	return pulumi.ToOutputWithContext(ctx, i).(ConnectPeerOutput)
   234  }
   235  
   236  // ConnectPeerArrayInput is an input type that accepts ConnectPeerArray and ConnectPeerArrayOutput values.
   237  // You can construct a concrete instance of `ConnectPeerArrayInput` via:
   238  //
   239  //	ConnectPeerArray{ ConnectPeerArgs{...} }
   240  type ConnectPeerArrayInput interface {
   241  	pulumi.Input
   242  
   243  	ToConnectPeerArrayOutput() ConnectPeerArrayOutput
   244  	ToConnectPeerArrayOutputWithContext(context.Context) ConnectPeerArrayOutput
   245  }
   246  
   247  type ConnectPeerArray []ConnectPeerInput
   248  
   249  func (ConnectPeerArray) ElementType() reflect.Type {
   250  	return reflect.TypeOf((*[]*ConnectPeer)(nil)).Elem()
   251  }
   252  
   253  func (i ConnectPeerArray) ToConnectPeerArrayOutput() ConnectPeerArrayOutput {
   254  	return i.ToConnectPeerArrayOutputWithContext(context.Background())
   255  }
   256  
   257  func (i ConnectPeerArray) ToConnectPeerArrayOutputWithContext(ctx context.Context) ConnectPeerArrayOutput {
   258  	return pulumi.ToOutputWithContext(ctx, i).(ConnectPeerArrayOutput)
   259  }
   260  
   261  // ConnectPeerMapInput is an input type that accepts ConnectPeerMap and ConnectPeerMapOutput values.
   262  // You can construct a concrete instance of `ConnectPeerMapInput` via:
   263  //
   264  //	ConnectPeerMap{ "key": ConnectPeerArgs{...} }
   265  type ConnectPeerMapInput interface {
   266  	pulumi.Input
   267  
   268  	ToConnectPeerMapOutput() ConnectPeerMapOutput
   269  	ToConnectPeerMapOutputWithContext(context.Context) ConnectPeerMapOutput
   270  }
   271  
   272  type ConnectPeerMap map[string]ConnectPeerInput
   273  
   274  func (ConnectPeerMap) ElementType() reflect.Type {
   275  	return reflect.TypeOf((*map[string]*ConnectPeer)(nil)).Elem()
   276  }
   277  
   278  func (i ConnectPeerMap) ToConnectPeerMapOutput() ConnectPeerMapOutput {
   279  	return i.ToConnectPeerMapOutputWithContext(context.Background())
   280  }
   281  
   282  func (i ConnectPeerMap) ToConnectPeerMapOutputWithContext(ctx context.Context) ConnectPeerMapOutput {
   283  	return pulumi.ToOutputWithContext(ctx, i).(ConnectPeerMapOutput)
   284  }
   285  
   286  type ConnectPeerOutput struct{ *pulumi.OutputState }
   287  
   288  func (ConnectPeerOutput) ElementType() reflect.Type {
   289  	return reflect.TypeOf((**ConnectPeer)(nil)).Elem()
   290  }
   291  
   292  func (o ConnectPeerOutput) ToConnectPeerOutput() ConnectPeerOutput {
   293  	return o
   294  }
   295  
   296  func (o ConnectPeerOutput) ToConnectPeerOutputWithContext(ctx context.Context) ConnectPeerOutput {
   297  	return o
   298  }
   299  
   300  // EC2 Transit Gateway Connect Peer ARN
   301  func (o ConnectPeerOutput) Arn() pulumi.StringOutput {
   302  	return o.ApplyT(func(v *ConnectPeer) pulumi.StringOutput { return v.Arn }).(pulumi.StringOutput)
   303  }
   304  
   305  // The BGP ASN number assigned customer device. If not provided, it will use the same BGP ASN as is associated with Transit Gateway.
   306  func (o ConnectPeerOutput) BgpAsn() pulumi.StringOutput {
   307  	return o.ApplyT(func(v *ConnectPeer) pulumi.StringOutput { return v.BgpAsn }).(pulumi.StringOutput)
   308  }
   309  
   310  // The IP address assigned to customer device, which is used as BGP IP address.
   311  func (o ConnectPeerOutput) BgpPeerAddress() pulumi.StringOutput {
   312  	return o.ApplyT(func(v *ConnectPeer) pulumi.StringOutput { return v.BgpPeerAddress }).(pulumi.StringOutput)
   313  }
   314  
   315  // The IP addresses assigned to Transit Gateway, which are used as BGP IP addresses.
   316  func (o ConnectPeerOutput) BgpTransitGatewayAddresses() pulumi.StringArrayOutput {
   317  	return o.ApplyT(func(v *ConnectPeer) pulumi.StringArrayOutput { return v.BgpTransitGatewayAddresses }).(pulumi.StringArrayOutput)
   318  }
   319  
   320  // The CIDR block that will be used for addressing within the tunnel. It must contain exactly one IPv4 CIDR block and up to one IPv6 CIDR block. The IPv4 CIDR block must be /29 size and must be within 169.254.0.0/16 range, with exception of: 169.254.0.0/29, 169.254.1.0/29, 169.254.2.0/29, 169.254.3.0/29, 169.254.4.0/29, 169.254.5.0/29, 169.254.169.248/29. The IPv6 CIDR block must be /125 size and must be within fd00::/8. The first IP from each CIDR block is assigned for customer gateway, the second and third is for Transit Gateway (An example: from range 169.254.100.0/29, .1 is assigned to customer gateway and .2 and .3 are assigned to Transit Gateway)
   321  func (o ConnectPeerOutput) InsideCidrBlocks() pulumi.StringArrayOutput {
   322  	return o.ApplyT(func(v *ConnectPeer) pulumi.StringArrayOutput { return v.InsideCidrBlocks }).(pulumi.StringArrayOutput)
   323  }
   324  
   325  // The IP addressed assigned to customer device, which will be used as tunnel endpoint. It can be IPv4 or IPv6 address, but must be the same address family as `transitGatewayAddress`
   326  func (o ConnectPeerOutput) PeerAddress() pulumi.StringOutput {
   327  	return o.ApplyT(func(v *ConnectPeer) pulumi.StringOutput { return v.PeerAddress }).(pulumi.StringOutput)
   328  }
   329  
   330  // Key-value tags for the EC2 Transit Gateway Connect Peer. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
   331  func (o ConnectPeerOutput) Tags() pulumi.StringMapOutput {
   332  	return o.ApplyT(func(v *ConnectPeer) pulumi.StringMapOutput { return v.Tags }).(pulumi.StringMapOutput)
   333  }
   334  
   335  // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
   336  //
   337  // Deprecated: Please use `tags` instead.
   338  func (o ConnectPeerOutput) TagsAll() pulumi.StringMapOutput {
   339  	return o.ApplyT(func(v *ConnectPeer) pulumi.StringMapOutput { return v.TagsAll }).(pulumi.StringMapOutput)
   340  }
   341  
   342  // The IP address assigned to Transit Gateway, which will be used as tunnel endpoint. This address must be from associated Transit Gateway CIDR block. The address must be from the same address family as `peerAddress`. If not set explicitly, it will be selected from associated Transit Gateway CIDR blocks
   343  func (o ConnectPeerOutput) TransitGatewayAddress() pulumi.StringOutput {
   344  	return o.ApplyT(func(v *ConnectPeer) pulumi.StringOutput { return v.TransitGatewayAddress }).(pulumi.StringOutput)
   345  }
   346  
   347  // The Transit Gateway Connect
   348  func (o ConnectPeerOutput) TransitGatewayAttachmentId() pulumi.StringOutput {
   349  	return o.ApplyT(func(v *ConnectPeer) pulumi.StringOutput { return v.TransitGatewayAttachmentId }).(pulumi.StringOutput)
   350  }
   351  
   352  type ConnectPeerArrayOutput struct{ *pulumi.OutputState }
   353  
   354  func (ConnectPeerArrayOutput) ElementType() reflect.Type {
   355  	return reflect.TypeOf((*[]*ConnectPeer)(nil)).Elem()
   356  }
   357  
   358  func (o ConnectPeerArrayOutput) ToConnectPeerArrayOutput() ConnectPeerArrayOutput {
   359  	return o
   360  }
   361  
   362  func (o ConnectPeerArrayOutput) ToConnectPeerArrayOutputWithContext(ctx context.Context) ConnectPeerArrayOutput {
   363  	return o
   364  }
   365  
   366  func (o ConnectPeerArrayOutput) Index(i pulumi.IntInput) ConnectPeerOutput {
   367  	return pulumi.All(o, i).ApplyT(func(vs []interface{}) *ConnectPeer {
   368  		return vs[0].([]*ConnectPeer)[vs[1].(int)]
   369  	}).(ConnectPeerOutput)
   370  }
   371  
   372  type ConnectPeerMapOutput struct{ *pulumi.OutputState }
   373  
   374  func (ConnectPeerMapOutput) ElementType() reflect.Type {
   375  	return reflect.TypeOf((*map[string]*ConnectPeer)(nil)).Elem()
   376  }
   377  
   378  func (o ConnectPeerMapOutput) ToConnectPeerMapOutput() ConnectPeerMapOutput {
   379  	return o
   380  }
   381  
   382  func (o ConnectPeerMapOutput) ToConnectPeerMapOutputWithContext(ctx context.Context) ConnectPeerMapOutput {
   383  	return o
   384  }
   385  
   386  func (o ConnectPeerMapOutput) MapIndex(k pulumi.StringInput) ConnectPeerOutput {
   387  	return pulumi.All(o, k).ApplyT(func(vs []interface{}) *ConnectPeer {
   388  		return vs[0].(map[string]*ConnectPeer)[vs[1].(string)]
   389  	}).(ConnectPeerOutput)
   390  }
   391  
   392  func init() {
   393  	pulumi.RegisterInputType(reflect.TypeOf((*ConnectPeerInput)(nil)).Elem(), &ConnectPeer{})
   394  	pulumi.RegisterInputType(reflect.TypeOf((*ConnectPeerArrayInput)(nil)).Elem(), ConnectPeerArray{})
   395  	pulumi.RegisterInputType(reflect.TypeOf((*ConnectPeerMapInput)(nil)).Elem(), ConnectPeerMap{})
   396  	pulumi.RegisterOutputType(ConnectPeerOutput{})
   397  	pulumi.RegisterOutputType(ConnectPeerArrayOutput{})
   398  	pulumi.RegisterOutputType(ConnectPeerMapOutput{})
   399  }