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 }