github.com/pulumi/pulumi-aws/sdk/v6@v6.32.0/go/aws/networkmanager/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 networkmanager 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 // Resource for managing an AWS Network Manager Connect Peer. 16 // 17 // ## Example Usage 18 // 19 // ### Basic Usage 20 // 21 // <!--Start PulumiCodeChooser --> 22 // ```go 23 // package main 24 // 25 // import ( 26 // 27 // "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/networkmanager" 28 // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" 29 // 30 // ) 31 // func main() { 32 // pulumi.Run(func(ctx *pulumi.Context) error { 33 // var splat0 []interface{} 34 // for _, val0 := range exampleAwsSubnet { 35 // splat0 = append(splat0, val0.Arn) 36 // } 37 // example, err := networkmanager.NewVpcAttachment(ctx, "example", &networkmanager.VpcAttachmentArgs{ 38 // SubnetArns: toPulumiArray(splat0), 39 // CoreNetworkId: pulumi.Any(exampleAwsccNetworkmanagerCoreNetwork.Id), 40 // VpcArn: pulumi.Any(exampleAwsVpc.Arn), 41 // }) 42 // if err != nil { 43 // return err 44 // } 45 // exampleConnectAttachment, err := networkmanager.NewConnectAttachment(ctx, "example", &networkmanager.ConnectAttachmentArgs{ 46 // CoreNetworkId: pulumi.Any(exampleAwsccNetworkmanagerCoreNetwork.Id), 47 // TransportAttachmentId: example.ID(), 48 // EdgeLocation: example.EdgeLocation, 49 // Options: &networkmanager.ConnectAttachmentOptionsArgs{ 50 // Protocol: pulumi.String("GRE"), 51 // }, 52 // }) 53 // if err != nil { 54 // return err 55 // } 56 // _, err = networkmanager.NewConnectPeer(ctx, "example", &networkmanager.ConnectPeerArgs{ 57 // ConnectAttachmentId: exampleConnectAttachment.ID(), 58 // PeerAddress: pulumi.String("127.0.0.1"), 59 // BgpOptions: &networkmanager.ConnectPeerBgpOptionsArgs{ 60 // PeerAsn: pulumi.Int(65000), 61 // }, 62 // InsideCidrBlocks: pulumi.StringArray{ 63 // pulumi.String("172.16.0.0/16"), 64 // }, 65 // }) 66 // if err != nil { 67 // return err 68 // } 69 // return nil 70 // }) 71 // } 72 // func toPulumiArray(arr []) pulumi.Array { 73 // var pulumiArr pulumi.Array 74 // for _, v := range arr { 75 // pulumiArr = append(pulumiArr, pulumi.(v)) 76 // } 77 // return pulumiArr 78 // } 79 // ``` 80 // <!--End PulumiCodeChooser --> 81 // 82 // ### Usage with attachment accepter 83 // 84 // <!--Start PulumiCodeChooser --> 85 // ```go 86 // package main 87 // 88 // import ( 89 // 90 // "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/networkmanager" 91 // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" 92 // 93 // ) 94 // func main() { 95 // pulumi.Run(func(ctx *pulumi.Context) error { 96 // var splat0 []interface{} 97 // for _, val0 := range exampleAwsSubnet { 98 // splat0 = append(splat0, val0.Arn) 99 // } 100 // example, err := networkmanager.NewVpcAttachment(ctx, "example", &networkmanager.VpcAttachmentArgs{ 101 // SubnetArns: toPulumiArray(splat0), 102 // CoreNetworkId: pulumi.Any(exampleAwsccNetworkmanagerCoreNetwork.Id), 103 // VpcArn: pulumi.Any(exampleAwsVpc.Arn), 104 // }) 105 // if err != nil { 106 // return err 107 // } 108 // _, err = networkmanager.NewAttachmentAccepter(ctx, "example", &networkmanager.AttachmentAccepterArgs{ 109 // AttachmentId: example.ID(), 110 // AttachmentType: example.AttachmentType, 111 // }) 112 // if err != nil { 113 // return err 114 // } 115 // exampleConnectAttachment, err := networkmanager.NewConnectAttachment(ctx, "example", &networkmanager.ConnectAttachmentArgs{ 116 // CoreNetworkId: pulumi.Any(exampleAwsccNetworkmanagerCoreNetwork.Id), 117 // TransportAttachmentId: example.ID(), 118 // EdgeLocation: example.EdgeLocation, 119 // Options: &networkmanager.ConnectAttachmentOptionsArgs{ 120 // Protocol: pulumi.String("GRE"), 121 // }, 122 // }, pulumi.DependsOn([]pulumi.Resource{ 123 // test, 124 // })) 125 // if err != nil { 126 // return err 127 // } 128 // example2, err := networkmanager.NewAttachmentAccepter(ctx, "example2", &networkmanager.AttachmentAccepterArgs{ 129 // AttachmentId: exampleConnectAttachment.ID(), 130 // AttachmentType: exampleConnectAttachment.AttachmentType, 131 // }) 132 // if err != nil { 133 // return err 134 // } 135 // _, err = networkmanager.NewConnectPeer(ctx, "example", &networkmanager.ConnectPeerArgs{ 136 // ConnectAttachmentId: exampleConnectAttachment.ID(), 137 // PeerAddress: pulumi.String("127.0.0.1"), 138 // BgpOptions: &networkmanager.ConnectPeerBgpOptionsArgs{ 139 // PeerAsn: pulumi.Int(65500), 140 // }, 141 // InsideCidrBlocks: pulumi.StringArray{ 142 // pulumi.String("172.16.0.0/16"), 143 // }, 144 // }, pulumi.DependsOn([]pulumi.Resource{ 145 // example2, 146 // })) 147 // if err != nil { 148 // return err 149 // } 150 // return nil 151 // }) 152 // } 153 // func toPulumiArray(arr []) pulumi.Array { 154 // var pulumiArr pulumi.Array 155 // for _, v := range arr { 156 // pulumiArr = append(pulumiArr, pulumi.(v)) 157 // } 158 // return pulumiArr 159 // } 160 // ``` 161 // <!--End PulumiCodeChooser --> 162 // 163 // ### Usage with a Tunnel-less Connect attachment 164 // 165 // <!--Start PulumiCodeChooser --> 166 // ```go 167 // package main 168 // 169 // import ( 170 // 171 // "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/networkmanager" 172 // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" 173 // 174 // ) 175 // func main() { 176 // pulumi.Run(func(ctx *pulumi.Context) error { 177 // var splat0 []interface{} 178 // for _, val0 := range exampleAwsSubnet { 179 // splat0 = append(splat0, val0.Arn) 180 // } 181 // example, err := networkmanager.NewVpcAttachment(ctx, "example", &networkmanager.VpcAttachmentArgs{ 182 // SubnetArns: toPulumiArray(splat0), 183 // CoreNetworkId: pulumi.Any(exampleAwsccNetworkmanagerCoreNetwork.Id), 184 // VpcArn: pulumi.Any(exampleAwsVpc.Arn), 185 // }) 186 // if err != nil { 187 // return err 188 // } 189 // exampleConnectAttachment, err := networkmanager.NewConnectAttachment(ctx, "example", &networkmanager.ConnectAttachmentArgs{ 190 // CoreNetworkId: pulumi.Any(exampleAwsccNetworkmanagerCoreNetwork.Id), 191 // TransportAttachmentId: example.ID(), 192 // EdgeLocation: example.EdgeLocation, 193 // Options: &networkmanager.ConnectAttachmentOptionsArgs{ 194 // Protocol: pulumi.String("NO_ENCAP"), 195 // }, 196 // }) 197 // if err != nil { 198 // return err 199 // } 200 // _, err = networkmanager.NewConnectPeer(ctx, "example", &networkmanager.ConnectPeerArgs{ 201 // ConnectAttachmentId: exampleConnectAttachment.ID(), 202 // PeerAddress: pulumi.String("127.0.0.1"), 203 // BgpOptions: &networkmanager.ConnectPeerBgpOptionsArgs{ 204 // PeerAsn: pulumi.Int(65000), 205 // }, 206 // SubnetArn: pulumi.Any(test2.Arn), 207 // }) 208 // if err != nil { 209 // return err 210 // } 211 // return nil 212 // }) 213 // } 214 // func toPulumiArray(arr []) pulumi.Array { 215 // var pulumiArr pulumi.Array 216 // for _, v := range arr { 217 // pulumiArr = append(pulumiArr, pulumi.(v)) 218 // } 219 // return pulumiArr 220 // } 221 // ``` 222 // <!--End PulumiCodeChooser --> 223 // 224 // ## Import 225 // 226 // Using `pulumi import`, import `aws_networkmanager_connect_peer` using the connect peer ID. For example: 227 // 228 // ```sh 229 // $ pulumi import aws:networkmanager/connectPeer:ConnectPeer example connect-peer-061f3e96275db1acc 230 // ``` 231 type ConnectPeer struct { 232 pulumi.CustomResourceState 233 234 // The ARN of the attachment. 235 Arn pulumi.StringOutput `pulumi:"arn"` 236 // The Connect peer BGP options. 237 BgpOptions ConnectPeerBgpOptionsPtrOutput `pulumi:"bgpOptions"` 238 // The configuration of the Connect peer. 239 Configurations ConnectPeerConfigurationArrayOutput `pulumi:"configurations"` 240 // The ID of the connection attachment. 241 ConnectAttachmentId pulumi.StringOutput `pulumi:"connectAttachmentId"` 242 ConnectPeerId pulumi.StringOutput `pulumi:"connectPeerId"` 243 // A Connect peer core network address. 244 CoreNetworkAddress pulumi.StringPtrOutput `pulumi:"coreNetworkAddress"` 245 // The ID of a core network. 246 CoreNetworkId pulumi.StringOutput `pulumi:"coreNetworkId"` 247 CreatedAt pulumi.StringOutput `pulumi:"createdAt"` 248 // The Region where the peer is located. 249 EdgeLocation pulumi.StringOutput `pulumi:"edgeLocation"` 250 // The inside IP addresses used for BGP peering. Required when the Connect attachment protocol is `GRE`. See `networkmanager.ConnectAttachment` for details. 251 InsideCidrBlocks pulumi.StringArrayOutput `pulumi:"insideCidrBlocks"` 252 // The Connect peer address. 253 // 254 // The following arguments are optional: 255 PeerAddress pulumi.StringOutput `pulumi:"peerAddress"` 256 // The state of the Connect peer. 257 State pulumi.StringOutput `pulumi:"state"` 258 // The subnet ARN for the Connect peer. Required when the Connect attachment protocol is `NO_ENCAP`. See `networkmanager.ConnectAttachment` for details. 259 SubnetArn pulumi.StringPtrOutput `pulumi:"subnetArn"` 260 // Key-value tags for the attachment. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 261 Tags pulumi.StringMapOutput `pulumi:"tags"` 262 // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. 263 // 264 // Deprecated: Please use `tags` instead. 265 TagsAll pulumi.StringMapOutput `pulumi:"tagsAll"` 266 } 267 268 // NewConnectPeer registers a new resource with the given unique name, arguments, and options. 269 func NewConnectPeer(ctx *pulumi.Context, 270 name string, args *ConnectPeerArgs, opts ...pulumi.ResourceOption) (*ConnectPeer, error) { 271 if args == nil { 272 return nil, errors.New("missing one or more required arguments") 273 } 274 275 if args.ConnectAttachmentId == nil { 276 return nil, errors.New("invalid value for required argument 'ConnectAttachmentId'") 277 } 278 if args.PeerAddress == nil { 279 return nil, errors.New("invalid value for required argument 'PeerAddress'") 280 } 281 opts = internal.PkgResourceDefaultOpts(opts) 282 var resource ConnectPeer 283 err := ctx.RegisterResource("aws:networkmanager/connectPeer:ConnectPeer", name, args, &resource, opts...) 284 if err != nil { 285 return nil, err 286 } 287 return &resource, nil 288 } 289 290 // GetConnectPeer gets an existing ConnectPeer resource's state with the given name, ID, and optional 291 // state properties that are used to uniquely qualify the lookup (nil if not required). 292 func GetConnectPeer(ctx *pulumi.Context, 293 name string, id pulumi.IDInput, state *ConnectPeerState, opts ...pulumi.ResourceOption) (*ConnectPeer, error) { 294 var resource ConnectPeer 295 err := ctx.ReadResource("aws:networkmanager/connectPeer:ConnectPeer", name, id, state, &resource, opts...) 296 if err != nil { 297 return nil, err 298 } 299 return &resource, nil 300 } 301 302 // Input properties used for looking up and filtering ConnectPeer resources. 303 type connectPeerState struct { 304 // The ARN of the attachment. 305 Arn *string `pulumi:"arn"` 306 // The Connect peer BGP options. 307 BgpOptions *ConnectPeerBgpOptions `pulumi:"bgpOptions"` 308 // The configuration of the Connect peer. 309 Configurations []ConnectPeerConfiguration `pulumi:"configurations"` 310 // The ID of the connection attachment. 311 ConnectAttachmentId *string `pulumi:"connectAttachmentId"` 312 ConnectPeerId *string `pulumi:"connectPeerId"` 313 // A Connect peer core network address. 314 CoreNetworkAddress *string `pulumi:"coreNetworkAddress"` 315 // The ID of a core network. 316 CoreNetworkId *string `pulumi:"coreNetworkId"` 317 CreatedAt *string `pulumi:"createdAt"` 318 // The Region where the peer is located. 319 EdgeLocation *string `pulumi:"edgeLocation"` 320 // The inside IP addresses used for BGP peering. Required when the Connect attachment protocol is `GRE`. See `networkmanager.ConnectAttachment` for details. 321 InsideCidrBlocks []string `pulumi:"insideCidrBlocks"` 322 // The Connect peer address. 323 // 324 // The following arguments are optional: 325 PeerAddress *string `pulumi:"peerAddress"` 326 // The state of the Connect peer. 327 State *string `pulumi:"state"` 328 // The subnet ARN for the Connect peer. Required when the Connect attachment protocol is `NO_ENCAP`. See `networkmanager.ConnectAttachment` for details. 329 SubnetArn *string `pulumi:"subnetArn"` 330 // Key-value tags for the attachment. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 331 Tags map[string]string `pulumi:"tags"` 332 // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. 333 // 334 // Deprecated: Please use `tags` instead. 335 TagsAll map[string]string `pulumi:"tagsAll"` 336 } 337 338 type ConnectPeerState struct { 339 // The ARN of the attachment. 340 Arn pulumi.StringPtrInput 341 // The Connect peer BGP options. 342 BgpOptions ConnectPeerBgpOptionsPtrInput 343 // The configuration of the Connect peer. 344 Configurations ConnectPeerConfigurationArrayInput 345 // The ID of the connection attachment. 346 ConnectAttachmentId pulumi.StringPtrInput 347 ConnectPeerId pulumi.StringPtrInput 348 // A Connect peer core network address. 349 CoreNetworkAddress pulumi.StringPtrInput 350 // The ID of a core network. 351 CoreNetworkId pulumi.StringPtrInput 352 CreatedAt pulumi.StringPtrInput 353 // The Region where the peer is located. 354 EdgeLocation pulumi.StringPtrInput 355 // The inside IP addresses used for BGP peering. Required when the Connect attachment protocol is `GRE`. See `networkmanager.ConnectAttachment` for details. 356 InsideCidrBlocks pulumi.StringArrayInput 357 // The Connect peer address. 358 // 359 // The following arguments are optional: 360 PeerAddress pulumi.StringPtrInput 361 // The state of the Connect peer. 362 State pulumi.StringPtrInput 363 // The subnet ARN for the Connect peer. Required when the Connect attachment protocol is `NO_ENCAP`. See `networkmanager.ConnectAttachment` for details. 364 SubnetArn pulumi.StringPtrInput 365 // Key-value tags for the attachment. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 366 Tags pulumi.StringMapInput 367 // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. 368 // 369 // Deprecated: Please use `tags` instead. 370 TagsAll pulumi.StringMapInput 371 } 372 373 func (ConnectPeerState) ElementType() reflect.Type { 374 return reflect.TypeOf((*connectPeerState)(nil)).Elem() 375 } 376 377 type connectPeerArgs struct { 378 // The Connect peer BGP options. 379 BgpOptions *ConnectPeerBgpOptions `pulumi:"bgpOptions"` 380 // The ID of the connection attachment. 381 ConnectAttachmentId string `pulumi:"connectAttachmentId"` 382 // A Connect peer core network address. 383 CoreNetworkAddress *string `pulumi:"coreNetworkAddress"` 384 // The inside IP addresses used for BGP peering. Required when the Connect attachment protocol is `GRE`. See `networkmanager.ConnectAttachment` for details. 385 InsideCidrBlocks []string `pulumi:"insideCidrBlocks"` 386 // The Connect peer address. 387 // 388 // The following arguments are optional: 389 PeerAddress string `pulumi:"peerAddress"` 390 // The subnet ARN for the Connect peer. Required when the Connect attachment protocol is `NO_ENCAP`. See `networkmanager.ConnectAttachment` for details. 391 SubnetArn *string `pulumi:"subnetArn"` 392 // Key-value tags for the attachment. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 393 Tags map[string]string `pulumi:"tags"` 394 } 395 396 // The set of arguments for constructing a ConnectPeer resource. 397 type ConnectPeerArgs struct { 398 // The Connect peer BGP options. 399 BgpOptions ConnectPeerBgpOptionsPtrInput 400 // The ID of the connection attachment. 401 ConnectAttachmentId pulumi.StringInput 402 // A Connect peer core network address. 403 CoreNetworkAddress pulumi.StringPtrInput 404 // The inside IP addresses used for BGP peering. Required when the Connect attachment protocol is `GRE`. See `networkmanager.ConnectAttachment` for details. 405 InsideCidrBlocks pulumi.StringArrayInput 406 // The Connect peer address. 407 // 408 // The following arguments are optional: 409 PeerAddress pulumi.StringInput 410 // The subnet ARN for the Connect peer. Required when the Connect attachment protocol is `NO_ENCAP`. See `networkmanager.ConnectAttachment` for details. 411 SubnetArn pulumi.StringPtrInput 412 // Key-value tags for the attachment. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 413 Tags pulumi.StringMapInput 414 } 415 416 func (ConnectPeerArgs) ElementType() reflect.Type { 417 return reflect.TypeOf((*connectPeerArgs)(nil)).Elem() 418 } 419 420 type ConnectPeerInput interface { 421 pulumi.Input 422 423 ToConnectPeerOutput() ConnectPeerOutput 424 ToConnectPeerOutputWithContext(ctx context.Context) ConnectPeerOutput 425 } 426 427 func (*ConnectPeer) ElementType() reflect.Type { 428 return reflect.TypeOf((**ConnectPeer)(nil)).Elem() 429 } 430 431 func (i *ConnectPeer) ToConnectPeerOutput() ConnectPeerOutput { 432 return i.ToConnectPeerOutputWithContext(context.Background()) 433 } 434 435 func (i *ConnectPeer) ToConnectPeerOutputWithContext(ctx context.Context) ConnectPeerOutput { 436 return pulumi.ToOutputWithContext(ctx, i).(ConnectPeerOutput) 437 } 438 439 // ConnectPeerArrayInput is an input type that accepts ConnectPeerArray and ConnectPeerArrayOutput values. 440 // You can construct a concrete instance of `ConnectPeerArrayInput` via: 441 // 442 // ConnectPeerArray{ ConnectPeerArgs{...} } 443 type ConnectPeerArrayInput interface { 444 pulumi.Input 445 446 ToConnectPeerArrayOutput() ConnectPeerArrayOutput 447 ToConnectPeerArrayOutputWithContext(context.Context) ConnectPeerArrayOutput 448 } 449 450 type ConnectPeerArray []ConnectPeerInput 451 452 func (ConnectPeerArray) ElementType() reflect.Type { 453 return reflect.TypeOf((*[]*ConnectPeer)(nil)).Elem() 454 } 455 456 func (i ConnectPeerArray) ToConnectPeerArrayOutput() ConnectPeerArrayOutput { 457 return i.ToConnectPeerArrayOutputWithContext(context.Background()) 458 } 459 460 func (i ConnectPeerArray) ToConnectPeerArrayOutputWithContext(ctx context.Context) ConnectPeerArrayOutput { 461 return pulumi.ToOutputWithContext(ctx, i).(ConnectPeerArrayOutput) 462 } 463 464 // ConnectPeerMapInput is an input type that accepts ConnectPeerMap and ConnectPeerMapOutput values. 465 // You can construct a concrete instance of `ConnectPeerMapInput` via: 466 // 467 // ConnectPeerMap{ "key": ConnectPeerArgs{...} } 468 type ConnectPeerMapInput interface { 469 pulumi.Input 470 471 ToConnectPeerMapOutput() ConnectPeerMapOutput 472 ToConnectPeerMapOutputWithContext(context.Context) ConnectPeerMapOutput 473 } 474 475 type ConnectPeerMap map[string]ConnectPeerInput 476 477 func (ConnectPeerMap) ElementType() reflect.Type { 478 return reflect.TypeOf((*map[string]*ConnectPeer)(nil)).Elem() 479 } 480 481 func (i ConnectPeerMap) ToConnectPeerMapOutput() ConnectPeerMapOutput { 482 return i.ToConnectPeerMapOutputWithContext(context.Background()) 483 } 484 485 func (i ConnectPeerMap) ToConnectPeerMapOutputWithContext(ctx context.Context) ConnectPeerMapOutput { 486 return pulumi.ToOutputWithContext(ctx, i).(ConnectPeerMapOutput) 487 } 488 489 type ConnectPeerOutput struct{ *pulumi.OutputState } 490 491 func (ConnectPeerOutput) ElementType() reflect.Type { 492 return reflect.TypeOf((**ConnectPeer)(nil)).Elem() 493 } 494 495 func (o ConnectPeerOutput) ToConnectPeerOutput() ConnectPeerOutput { 496 return o 497 } 498 499 func (o ConnectPeerOutput) ToConnectPeerOutputWithContext(ctx context.Context) ConnectPeerOutput { 500 return o 501 } 502 503 // The ARN of the attachment. 504 func (o ConnectPeerOutput) Arn() pulumi.StringOutput { 505 return o.ApplyT(func(v *ConnectPeer) pulumi.StringOutput { return v.Arn }).(pulumi.StringOutput) 506 } 507 508 // The Connect peer BGP options. 509 func (o ConnectPeerOutput) BgpOptions() ConnectPeerBgpOptionsPtrOutput { 510 return o.ApplyT(func(v *ConnectPeer) ConnectPeerBgpOptionsPtrOutput { return v.BgpOptions }).(ConnectPeerBgpOptionsPtrOutput) 511 } 512 513 // The configuration of the Connect peer. 514 func (o ConnectPeerOutput) Configurations() ConnectPeerConfigurationArrayOutput { 515 return o.ApplyT(func(v *ConnectPeer) ConnectPeerConfigurationArrayOutput { return v.Configurations }).(ConnectPeerConfigurationArrayOutput) 516 } 517 518 // The ID of the connection attachment. 519 func (o ConnectPeerOutput) ConnectAttachmentId() pulumi.StringOutput { 520 return o.ApplyT(func(v *ConnectPeer) pulumi.StringOutput { return v.ConnectAttachmentId }).(pulumi.StringOutput) 521 } 522 523 func (o ConnectPeerOutput) ConnectPeerId() pulumi.StringOutput { 524 return o.ApplyT(func(v *ConnectPeer) pulumi.StringOutput { return v.ConnectPeerId }).(pulumi.StringOutput) 525 } 526 527 // A Connect peer core network address. 528 func (o ConnectPeerOutput) CoreNetworkAddress() pulumi.StringPtrOutput { 529 return o.ApplyT(func(v *ConnectPeer) pulumi.StringPtrOutput { return v.CoreNetworkAddress }).(pulumi.StringPtrOutput) 530 } 531 532 // The ID of a core network. 533 func (o ConnectPeerOutput) CoreNetworkId() pulumi.StringOutput { 534 return o.ApplyT(func(v *ConnectPeer) pulumi.StringOutput { return v.CoreNetworkId }).(pulumi.StringOutput) 535 } 536 537 func (o ConnectPeerOutput) CreatedAt() pulumi.StringOutput { 538 return o.ApplyT(func(v *ConnectPeer) pulumi.StringOutput { return v.CreatedAt }).(pulumi.StringOutput) 539 } 540 541 // The Region where the peer is located. 542 func (o ConnectPeerOutput) EdgeLocation() pulumi.StringOutput { 543 return o.ApplyT(func(v *ConnectPeer) pulumi.StringOutput { return v.EdgeLocation }).(pulumi.StringOutput) 544 } 545 546 // The inside IP addresses used for BGP peering. Required when the Connect attachment protocol is `GRE`. See `networkmanager.ConnectAttachment` for details. 547 func (o ConnectPeerOutput) InsideCidrBlocks() pulumi.StringArrayOutput { 548 return o.ApplyT(func(v *ConnectPeer) pulumi.StringArrayOutput { return v.InsideCidrBlocks }).(pulumi.StringArrayOutput) 549 } 550 551 // The Connect peer address. 552 // 553 // The following arguments are optional: 554 func (o ConnectPeerOutput) PeerAddress() pulumi.StringOutput { 555 return o.ApplyT(func(v *ConnectPeer) pulumi.StringOutput { return v.PeerAddress }).(pulumi.StringOutput) 556 } 557 558 // The state of the Connect peer. 559 func (o ConnectPeerOutput) State() pulumi.StringOutput { 560 return o.ApplyT(func(v *ConnectPeer) pulumi.StringOutput { return v.State }).(pulumi.StringOutput) 561 } 562 563 // The subnet ARN for the Connect peer. Required when the Connect attachment protocol is `NO_ENCAP`. See `networkmanager.ConnectAttachment` for details. 564 func (o ConnectPeerOutput) SubnetArn() pulumi.StringPtrOutput { 565 return o.ApplyT(func(v *ConnectPeer) pulumi.StringPtrOutput { return v.SubnetArn }).(pulumi.StringPtrOutput) 566 } 567 568 // Key-value tags for the attachment. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 569 func (o ConnectPeerOutput) Tags() pulumi.StringMapOutput { 570 return o.ApplyT(func(v *ConnectPeer) pulumi.StringMapOutput { return v.Tags }).(pulumi.StringMapOutput) 571 } 572 573 // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. 574 // 575 // Deprecated: Please use `tags` instead. 576 func (o ConnectPeerOutput) TagsAll() pulumi.StringMapOutput { 577 return o.ApplyT(func(v *ConnectPeer) pulumi.StringMapOutput { return v.TagsAll }).(pulumi.StringMapOutput) 578 } 579 580 type ConnectPeerArrayOutput struct{ *pulumi.OutputState } 581 582 func (ConnectPeerArrayOutput) ElementType() reflect.Type { 583 return reflect.TypeOf((*[]*ConnectPeer)(nil)).Elem() 584 } 585 586 func (o ConnectPeerArrayOutput) ToConnectPeerArrayOutput() ConnectPeerArrayOutput { 587 return o 588 } 589 590 func (o ConnectPeerArrayOutput) ToConnectPeerArrayOutputWithContext(ctx context.Context) ConnectPeerArrayOutput { 591 return o 592 } 593 594 func (o ConnectPeerArrayOutput) Index(i pulumi.IntInput) ConnectPeerOutput { 595 return pulumi.All(o, i).ApplyT(func(vs []interface{}) *ConnectPeer { 596 return vs[0].([]*ConnectPeer)[vs[1].(int)] 597 }).(ConnectPeerOutput) 598 } 599 600 type ConnectPeerMapOutput struct{ *pulumi.OutputState } 601 602 func (ConnectPeerMapOutput) ElementType() reflect.Type { 603 return reflect.TypeOf((*map[string]*ConnectPeer)(nil)).Elem() 604 } 605 606 func (o ConnectPeerMapOutput) ToConnectPeerMapOutput() ConnectPeerMapOutput { 607 return o 608 } 609 610 func (o ConnectPeerMapOutput) ToConnectPeerMapOutputWithContext(ctx context.Context) ConnectPeerMapOutput { 611 return o 612 } 613 614 func (o ConnectPeerMapOutput) MapIndex(k pulumi.StringInput) ConnectPeerOutput { 615 return pulumi.All(o, k).ApplyT(func(vs []interface{}) *ConnectPeer { 616 return vs[0].(map[string]*ConnectPeer)[vs[1].(string)] 617 }).(ConnectPeerOutput) 618 } 619 620 func init() { 621 pulumi.RegisterInputType(reflect.TypeOf((*ConnectPeerInput)(nil)).Elem(), &ConnectPeer{}) 622 pulumi.RegisterInputType(reflect.TypeOf((*ConnectPeerArrayInput)(nil)).Elem(), ConnectPeerArray{}) 623 pulumi.RegisterInputType(reflect.TypeOf((*ConnectPeerMapInput)(nil)).Elem(), ConnectPeerMap{}) 624 pulumi.RegisterOutputType(ConnectPeerOutput{}) 625 pulumi.RegisterOutputType(ConnectPeerArrayOutput{}) 626 pulumi.RegisterOutputType(ConnectPeerMapOutput{}) 627 }