github.com/pulumi/pulumi-aws/sdk/v6@v6.32.0/go/aws/networkmanager/connectAttachment.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 ConnectAttachment.
    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  // _, 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  // return nil
    57  // })
    58  // }
    59  // func toPulumiArray(arr []) pulumi.Array {
    60  // var pulumiArr pulumi.Array
    61  // for _, v := range arr {
    62  // pulumiArr = append(pulumiArr, pulumi.(v))
    63  // }
    64  // return pulumiArr
    65  // }
    66  // ```
    67  // <!--End PulumiCodeChooser -->
    68  //
    69  // ### Usage with attachment accepter
    70  //
    71  // <!--Start PulumiCodeChooser -->
    72  // ```go
    73  // package main
    74  //
    75  // import (
    76  //
    77  //	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/networkmanager"
    78  //	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    79  //
    80  // )
    81  // func main() {
    82  // pulumi.Run(func(ctx *pulumi.Context) error {
    83  // var splat0 []interface{}
    84  // for _, val0 := range exampleAwsSubnet {
    85  // splat0 = append(splat0, val0.Arn)
    86  // }
    87  // example, err := networkmanager.NewVpcAttachment(ctx, "example", &networkmanager.VpcAttachmentArgs{
    88  // SubnetArns: toPulumiArray(splat0),
    89  // CoreNetworkId: pulumi.Any(exampleAwsccNetworkmanagerCoreNetwork.Id),
    90  // VpcArn: pulumi.Any(exampleAwsVpc.Arn),
    91  // })
    92  // if err != nil {
    93  // return err
    94  // }
    95  // _, err = networkmanager.NewAttachmentAccepter(ctx, "example", &networkmanager.AttachmentAccepterArgs{
    96  // AttachmentId: example.ID(),
    97  // AttachmentType: example.AttachmentType,
    98  // })
    99  // if err != nil {
   100  // return err
   101  // }
   102  // exampleConnectAttachment, err := networkmanager.NewConnectAttachment(ctx, "example", &networkmanager.ConnectAttachmentArgs{
   103  // CoreNetworkId: pulumi.Any(exampleAwsccNetworkmanagerCoreNetwork.Id),
   104  // TransportAttachmentId: example.ID(),
   105  // EdgeLocation: example.EdgeLocation,
   106  // Options: &networkmanager.ConnectAttachmentOptionsArgs{
   107  // Protocol: pulumi.String("GRE"),
   108  // },
   109  // }, pulumi.DependsOn([]pulumi.Resource{
   110  // test,
   111  // }))
   112  // if err != nil {
   113  // return err
   114  // }
   115  // _, err = networkmanager.NewAttachmentAccepter(ctx, "example2", &networkmanager.AttachmentAccepterArgs{
   116  // AttachmentId: exampleConnectAttachment.ID(),
   117  // AttachmentType: exampleConnectAttachment.AttachmentType,
   118  // })
   119  // if err != nil {
   120  // return err
   121  // }
   122  // return nil
   123  // })
   124  // }
   125  // func toPulumiArray(arr []) pulumi.Array {
   126  // var pulumiArr pulumi.Array
   127  // for _, v := range arr {
   128  // pulumiArr = append(pulumiArr, pulumi.(v))
   129  // }
   130  // return pulumiArr
   131  // }
   132  // ```
   133  // <!--End PulumiCodeChooser -->
   134  //
   135  // ## Import
   136  //
   137  // Using `pulumi import`, import `aws_networkmanager_connect_attachment` using the attachment ID. For example:
   138  //
   139  // ```sh
   140  // $ pulumi import aws:networkmanager/connectAttachment:ConnectAttachment example attachment-0f8fa60d2238d1bd8
   141  // ```
   142  type ConnectAttachment struct {
   143  	pulumi.CustomResourceState
   144  
   145  	// The ARN of the attachment.
   146  	Arn          pulumi.StringOutput `pulumi:"arn"`
   147  	AttachmentId pulumi.StringOutput `pulumi:"attachmentId"`
   148  	// The policy rule number associated with the attachment.
   149  	AttachmentPolicyRuleNumber pulumi.IntOutput `pulumi:"attachmentPolicyRuleNumber"`
   150  	// The type of attachment.
   151  	AttachmentType pulumi.StringOutput `pulumi:"attachmentType"`
   152  	// The ARN of a core network.
   153  	CoreNetworkArn pulumi.StringOutput `pulumi:"coreNetworkArn"`
   154  	// The ID of a core network where you want to create the attachment.
   155  	CoreNetworkId pulumi.StringOutput `pulumi:"coreNetworkId"`
   156  	// The Region where the edge is located.
   157  	EdgeLocation pulumi.StringOutput `pulumi:"edgeLocation"`
   158  	// Options block. See options for more information.
   159  	//
   160  	// The following arguments are optional:
   161  	Options ConnectAttachmentOptionsOutput `pulumi:"options"`
   162  	// The ID of the attachment account owner.
   163  	OwnerAccountId pulumi.StringOutput `pulumi:"ownerAccountId"`
   164  	// The attachment resource ARN.
   165  	ResourceArn pulumi.StringOutput `pulumi:"resourceArn"`
   166  	// The name of the segment attachment.
   167  	SegmentName pulumi.StringOutput `pulumi:"segmentName"`
   168  	// The state of the attachment.
   169  	State pulumi.StringOutput `pulumi:"state"`
   170  	// 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.
   171  	Tags pulumi.StringMapOutput `pulumi:"tags"`
   172  	// A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
   173  	//
   174  	// Deprecated: Please use `tags` instead.
   175  	TagsAll pulumi.StringMapOutput `pulumi:"tagsAll"`
   176  	// The ID of the attachment between the two connections.
   177  	TransportAttachmentId pulumi.StringOutput `pulumi:"transportAttachmentId"`
   178  }
   179  
   180  // NewConnectAttachment registers a new resource with the given unique name, arguments, and options.
   181  func NewConnectAttachment(ctx *pulumi.Context,
   182  	name string, args *ConnectAttachmentArgs, opts ...pulumi.ResourceOption) (*ConnectAttachment, error) {
   183  	if args == nil {
   184  		return nil, errors.New("missing one or more required arguments")
   185  	}
   186  
   187  	if args.CoreNetworkId == nil {
   188  		return nil, errors.New("invalid value for required argument 'CoreNetworkId'")
   189  	}
   190  	if args.EdgeLocation == nil {
   191  		return nil, errors.New("invalid value for required argument 'EdgeLocation'")
   192  	}
   193  	if args.Options == nil {
   194  		return nil, errors.New("invalid value for required argument 'Options'")
   195  	}
   196  	if args.TransportAttachmentId == nil {
   197  		return nil, errors.New("invalid value for required argument 'TransportAttachmentId'")
   198  	}
   199  	opts = internal.PkgResourceDefaultOpts(opts)
   200  	var resource ConnectAttachment
   201  	err := ctx.RegisterResource("aws:networkmanager/connectAttachment:ConnectAttachment", name, args, &resource, opts...)
   202  	if err != nil {
   203  		return nil, err
   204  	}
   205  	return &resource, nil
   206  }
   207  
   208  // GetConnectAttachment gets an existing ConnectAttachment resource's state with the given name, ID, and optional
   209  // state properties that are used to uniquely qualify the lookup (nil if not required).
   210  func GetConnectAttachment(ctx *pulumi.Context,
   211  	name string, id pulumi.IDInput, state *ConnectAttachmentState, opts ...pulumi.ResourceOption) (*ConnectAttachment, error) {
   212  	var resource ConnectAttachment
   213  	err := ctx.ReadResource("aws:networkmanager/connectAttachment:ConnectAttachment", name, id, state, &resource, opts...)
   214  	if err != nil {
   215  		return nil, err
   216  	}
   217  	return &resource, nil
   218  }
   219  
   220  // Input properties used for looking up and filtering ConnectAttachment resources.
   221  type connectAttachmentState struct {
   222  	// The ARN of the attachment.
   223  	Arn          *string `pulumi:"arn"`
   224  	AttachmentId *string `pulumi:"attachmentId"`
   225  	// The policy rule number associated with the attachment.
   226  	AttachmentPolicyRuleNumber *int `pulumi:"attachmentPolicyRuleNumber"`
   227  	// The type of attachment.
   228  	AttachmentType *string `pulumi:"attachmentType"`
   229  	// The ARN of a core network.
   230  	CoreNetworkArn *string `pulumi:"coreNetworkArn"`
   231  	// The ID of a core network where you want to create the attachment.
   232  	CoreNetworkId *string `pulumi:"coreNetworkId"`
   233  	// The Region where the edge is located.
   234  	EdgeLocation *string `pulumi:"edgeLocation"`
   235  	// Options block. See options for more information.
   236  	//
   237  	// The following arguments are optional:
   238  	Options *ConnectAttachmentOptions `pulumi:"options"`
   239  	// The ID of the attachment account owner.
   240  	OwnerAccountId *string `pulumi:"ownerAccountId"`
   241  	// The attachment resource ARN.
   242  	ResourceArn *string `pulumi:"resourceArn"`
   243  	// The name of the segment attachment.
   244  	SegmentName *string `pulumi:"segmentName"`
   245  	// The state of the attachment.
   246  	State *string `pulumi:"state"`
   247  	// 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.
   248  	Tags map[string]string `pulumi:"tags"`
   249  	// A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
   250  	//
   251  	// Deprecated: Please use `tags` instead.
   252  	TagsAll map[string]string `pulumi:"tagsAll"`
   253  	// The ID of the attachment between the two connections.
   254  	TransportAttachmentId *string `pulumi:"transportAttachmentId"`
   255  }
   256  
   257  type ConnectAttachmentState struct {
   258  	// The ARN of the attachment.
   259  	Arn          pulumi.StringPtrInput
   260  	AttachmentId pulumi.StringPtrInput
   261  	// The policy rule number associated with the attachment.
   262  	AttachmentPolicyRuleNumber pulumi.IntPtrInput
   263  	// The type of attachment.
   264  	AttachmentType pulumi.StringPtrInput
   265  	// The ARN of a core network.
   266  	CoreNetworkArn pulumi.StringPtrInput
   267  	// The ID of a core network where you want to create the attachment.
   268  	CoreNetworkId pulumi.StringPtrInput
   269  	// The Region where the edge is located.
   270  	EdgeLocation pulumi.StringPtrInput
   271  	// Options block. See options for more information.
   272  	//
   273  	// The following arguments are optional:
   274  	Options ConnectAttachmentOptionsPtrInput
   275  	// The ID of the attachment account owner.
   276  	OwnerAccountId pulumi.StringPtrInput
   277  	// The attachment resource ARN.
   278  	ResourceArn pulumi.StringPtrInput
   279  	// The name of the segment attachment.
   280  	SegmentName pulumi.StringPtrInput
   281  	// The state of the attachment.
   282  	State pulumi.StringPtrInput
   283  	// 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.
   284  	Tags pulumi.StringMapInput
   285  	// A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
   286  	//
   287  	// Deprecated: Please use `tags` instead.
   288  	TagsAll pulumi.StringMapInput
   289  	// The ID of the attachment between the two connections.
   290  	TransportAttachmentId pulumi.StringPtrInput
   291  }
   292  
   293  func (ConnectAttachmentState) ElementType() reflect.Type {
   294  	return reflect.TypeOf((*connectAttachmentState)(nil)).Elem()
   295  }
   296  
   297  type connectAttachmentArgs struct {
   298  	// The ID of a core network where you want to create the attachment.
   299  	CoreNetworkId string `pulumi:"coreNetworkId"`
   300  	// The Region where the edge is located.
   301  	EdgeLocation string `pulumi:"edgeLocation"`
   302  	// Options block. See options for more information.
   303  	//
   304  	// The following arguments are optional:
   305  	Options ConnectAttachmentOptions `pulumi:"options"`
   306  	// 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.
   307  	Tags map[string]string `pulumi:"tags"`
   308  	// The ID of the attachment between the two connections.
   309  	TransportAttachmentId string `pulumi:"transportAttachmentId"`
   310  }
   311  
   312  // The set of arguments for constructing a ConnectAttachment resource.
   313  type ConnectAttachmentArgs struct {
   314  	// The ID of a core network where you want to create the attachment.
   315  	CoreNetworkId pulumi.StringInput
   316  	// The Region where the edge is located.
   317  	EdgeLocation pulumi.StringInput
   318  	// Options block. See options for more information.
   319  	//
   320  	// The following arguments are optional:
   321  	Options ConnectAttachmentOptionsInput
   322  	// 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.
   323  	Tags pulumi.StringMapInput
   324  	// The ID of the attachment between the two connections.
   325  	TransportAttachmentId pulumi.StringInput
   326  }
   327  
   328  func (ConnectAttachmentArgs) ElementType() reflect.Type {
   329  	return reflect.TypeOf((*connectAttachmentArgs)(nil)).Elem()
   330  }
   331  
   332  type ConnectAttachmentInput interface {
   333  	pulumi.Input
   334  
   335  	ToConnectAttachmentOutput() ConnectAttachmentOutput
   336  	ToConnectAttachmentOutputWithContext(ctx context.Context) ConnectAttachmentOutput
   337  }
   338  
   339  func (*ConnectAttachment) ElementType() reflect.Type {
   340  	return reflect.TypeOf((**ConnectAttachment)(nil)).Elem()
   341  }
   342  
   343  func (i *ConnectAttachment) ToConnectAttachmentOutput() ConnectAttachmentOutput {
   344  	return i.ToConnectAttachmentOutputWithContext(context.Background())
   345  }
   346  
   347  func (i *ConnectAttachment) ToConnectAttachmentOutputWithContext(ctx context.Context) ConnectAttachmentOutput {
   348  	return pulumi.ToOutputWithContext(ctx, i).(ConnectAttachmentOutput)
   349  }
   350  
   351  // ConnectAttachmentArrayInput is an input type that accepts ConnectAttachmentArray and ConnectAttachmentArrayOutput values.
   352  // You can construct a concrete instance of `ConnectAttachmentArrayInput` via:
   353  //
   354  //	ConnectAttachmentArray{ ConnectAttachmentArgs{...} }
   355  type ConnectAttachmentArrayInput interface {
   356  	pulumi.Input
   357  
   358  	ToConnectAttachmentArrayOutput() ConnectAttachmentArrayOutput
   359  	ToConnectAttachmentArrayOutputWithContext(context.Context) ConnectAttachmentArrayOutput
   360  }
   361  
   362  type ConnectAttachmentArray []ConnectAttachmentInput
   363  
   364  func (ConnectAttachmentArray) ElementType() reflect.Type {
   365  	return reflect.TypeOf((*[]*ConnectAttachment)(nil)).Elem()
   366  }
   367  
   368  func (i ConnectAttachmentArray) ToConnectAttachmentArrayOutput() ConnectAttachmentArrayOutput {
   369  	return i.ToConnectAttachmentArrayOutputWithContext(context.Background())
   370  }
   371  
   372  func (i ConnectAttachmentArray) ToConnectAttachmentArrayOutputWithContext(ctx context.Context) ConnectAttachmentArrayOutput {
   373  	return pulumi.ToOutputWithContext(ctx, i).(ConnectAttachmentArrayOutput)
   374  }
   375  
   376  // ConnectAttachmentMapInput is an input type that accepts ConnectAttachmentMap and ConnectAttachmentMapOutput values.
   377  // You can construct a concrete instance of `ConnectAttachmentMapInput` via:
   378  //
   379  //	ConnectAttachmentMap{ "key": ConnectAttachmentArgs{...} }
   380  type ConnectAttachmentMapInput interface {
   381  	pulumi.Input
   382  
   383  	ToConnectAttachmentMapOutput() ConnectAttachmentMapOutput
   384  	ToConnectAttachmentMapOutputWithContext(context.Context) ConnectAttachmentMapOutput
   385  }
   386  
   387  type ConnectAttachmentMap map[string]ConnectAttachmentInput
   388  
   389  func (ConnectAttachmentMap) ElementType() reflect.Type {
   390  	return reflect.TypeOf((*map[string]*ConnectAttachment)(nil)).Elem()
   391  }
   392  
   393  func (i ConnectAttachmentMap) ToConnectAttachmentMapOutput() ConnectAttachmentMapOutput {
   394  	return i.ToConnectAttachmentMapOutputWithContext(context.Background())
   395  }
   396  
   397  func (i ConnectAttachmentMap) ToConnectAttachmentMapOutputWithContext(ctx context.Context) ConnectAttachmentMapOutput {
   398  	return pulumi.ToOutputWithContext(ctx, i).(ConnectAttachmentMapOutput)
   399  }
   400  
   401  type ConnectAttachmentOutput struct{ *pulumi.OutputState }
   402  
   403  func (ConnectAttachmentOutput) ElementType() reflect.Type {
   404  	return reflect.TypeOf((**ConnectAttachment)(nil)).Elem()
   405  }
   406  
   407  func (o ConnectAttachmentOutput) ToConnectAttachmentOutput() ConnectAttachmentOutput {
   408  	return o
   409  }
   410  
   411  func (o ConnectAttachmentOutput) ToConnectAttachmentOutputWithContext(ctx context.Context) ConnectAttachmentOutput {
   412  	return o
   413  }
   414  
   415  // The ARN of the attachment.
   416  func (o ConnectAttachmentOutput) Arn() pulumi.StringOutput {
   417  	return o.ApplyT(func(v *ConnectAttachment) pulumi.StringOutput { return v.Arn }).(pulumi.StringOutput)
   418  }
   419  
   420  func (o ConnectAttachmentOutput) AttachmentId() pulumi.StringOutput {
   421  	return o.ApplyT(func(v *ConnectAttachment) pulumi.StringOutput { return v.AttachmentId }).(pulumi.StringOutput)
   422  }
   423  
   424  // The policy rule number associated with the attachment.
   425  func (o ConnectAttachmentOutput) AttachmentPolicyRuleNumber() pulumi.IntOutput {
   426  	return o.ApplyT(func(v *ConnectAttachment) pulumi.IntOutput { return v.AttachmentPolicyRuleNumber }).(pulumi.IntOutput)
   427  }
   428  
   429  // The type of attachment.
   430  func (o ConnectAttachmentOutput) AttachmentType() pulumi.StringOutput {
   431  	return o.ApplyT(func(v *ConnectAttachment) pulumi.StringOutput { return v.AttachmentType }).(pulumi.StringOutput)
   432  }
   433  
   434  // The ARN of a core network.
   435  func (o ConnectAttachmentOutput) CoreNetworkArn() pulumi.StringOutput {
   436  	return o.ApplyT(func(v *ConnectAttachment) pulumi.StringOutput { return v.CoreNetworkArn }).(pulumi.StringOutput)
   437  }
   438  
   439  // The ID of a core network where you want to create the attachment.
   440  func (o ConnectAttachmentOutput) CoreNetworkId() pulumi.StringOutput {
   441  	return o.ApplyT(func(v *ConnectAttachment) pulumi.StringOutput { return v.CoreNetworkId }).(pulumi.StringOutput)
   442  }
   443  
   444  // The Region where the edge is located.
   445  func (o ConnectAttachmentOutput) EdgeLocation() pulumi.StringOutput {
   446  	return o.ApplyT(func(v *ConnectAttachment) pulumi.StringOutput { return v.EdgeLocation }).(pulumi.StringOutput)
   447  }
   448  
   449  // Options block. See options for more information.
   450  //
   451  // The following arguments are optional:
   452  func (o ConnectAttachmentOutput) Options() ConnectAttachmentOptionsOutput {
   453  	return o.ApplyT(func(v *ConnectAttachment) ConnectAttachmentOptionsOutput { return v.Options }).(ConnectAttachmentOptionsOutput)
   454  }
   455  
   456  // The ID of the attachment account owner.
   457  func (o ConnectAttachmentOutput) OwnerAccountId() pulumi.StringOutput {
   458  	return o.ApplyT(func(v *ConnectAttachment) pulumi.StringOutput { return v.OwnerAccountId }).(pulumi.StringOutput)
   459  }
   460  
   461  // The attachment resource ARN.
   462  func (o ConnectAttachmentOutput) ResourceArn() pulumi.StringOutput {
   463  	return o.ApplyT(func(v *ConnectAttachment) pulumi.StringOutput { return v.ResourceArn }).(pulumi.StringOutput)
   464  }
   465  
   466  // The name of the segment attachment.
   467  func (o ConnectAttachmentOutput) SegmentName() pulumi.StringOutput {
   468  	return o.ApplyT(func(v *ConnectAttachment) pulumi.StringOutput { return v.SegmentName }).(pulumi.StringOutput)
   469  }
   470  
   471  // The state of the attachment.
   472  func (o ConnectAttachmentOutput) State() pulumi.StringOutput {
   473  	return o.ApplyT(func(v *ConnectAttachment) pulumi.StringOutput { return v.State }).(pulumi.StringOutput)
   474  }
   475  
   476  // 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.
   477  func (o ConnectAttachmentOutput) Tags() pulumi.StringMapOutput {
   478  	return o.ApplyT(func(v *ConnectAttachment) pulumi.StringMapOutput { return v.Tags }).(pulumi.StringMapOutput)
   479  }
   480  
   481  // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
   482  //
   483  // Deprecated: Please use `tags` instead.
   484  func (o ConnectAttachmentOutput) TagsAll() pulumi.StringMapOutput {
   485  	return o.ApplyT(func(v *ConnectAttachment) pulumi.StringMapOutput { return v.TagsAll }).(pulumi.StringMapOutput)
   486  }
   487  
   488  // The ID of the attachment between the two connections.
   489  func (o ConnectAttachmentOutput) TransportAttachmentId() pulumi.StringOutput {
   490  	return o.ApplyT(func(v *ConnectAttachment) pulumi.StringOutput { return v.TransportAttachmentId }).(pulumi.StringOutput)
   491  }
   492  
   493  type ConnectAttachmentArrayOutput struct{ *pulumi.OutputState }
   494  
   495  func (ConnectAttachmentArrayOutput) ElementType() reflect.Type {
   496  	return reflect.TypeOf((*[]*ConnectAttachment)(nil)).Elem()
   497  }
   498  
   499  func (o ConnectAttachmentArrayOutput) ToConnectAttachmentArrayOutput() ConnectAttachmentArrayOutput {
   500  	return o
   501  }
   502  
   503  func (o ConnectAttachmentArrayOutput) ToConnectAttachmentArrayOutputWithContext(ctx context.Context) ConnectAttachmentArrayOutput {
   504  	return o
   505  }
   506  
   507  func (o ConnectAttachmentArrayOutput) Index(i pulumi.IntInput) ConnectAttachmentOutput {
   508  	return pulumi.All(o, i).ApplyT(func(vs []interface{}) *ConnectAttachment {
   509  		return vs[0].([]*ConnectAttachment)[vs[1].(int)]
   510  	}).(ConnectAttachmentOutput)
   511  }
   512  
   513  type ConnectAttachmentMapOutput struct{ *pulumi.OutputState }
   514  
   515  func (ConnectAttachmentMapOutput) ElementType() reflect.Type {
   516  	return reflect.TypeOf((*map[string]*ConnectAttachment)(nil)).Elem()
   517  }
   518  
   519  func (o ConnectAttachmentMapOutput) ToConnectAttachmentMapOutput() ConnectAttachmentMapOutput {
   520  	return o
   521  }
   522  
   523  func (o ConnectAttachmentMapOutput) ToConnectAttachmentMapOutputWithContext(ctx context.Context) ConnectAttachmentMapOutput {
   524  	return o
   525  }
   526  
   527  func (o ConnectAttachmentMapOutput) MapIndex(k pulumi.StringInput) ConnectAttachmentOutput {
   528  	return pulumi.All(o, k).ApplyT(func(vs []interface{}) *ConnectAttachment {
   529  		return vs[0].(map[string]*ConnectAttachment)[vs[1].(string)]
   530  	}).(ConnectAttachmentOutput)
   531  }
   532  
   533  func init() {
   534  	pulumi.RegisterInputType(reflect.TypeOf((*ConnectAttachmentInput)(nil)).Elem(), &ConnectAttachment{})
   535  	pulumi.RegisterInputType(reflect.TypeOf((*ConnectAttachmentArrayInput)(nil)).Elem(), ConnectAttachmentArray{})
   536  	pulumi.RegisterInputType(reflect.TypeOf((*ConnectAttachmentMapInput)(nil)).Elem(), ConnectAttachmentMap{})
   537  	pulumi.RegisterOutputType(ConnectAttachmentOutput{})
   538  	pulumi.RegisterOutputType(ConnectAttachmentArrayOutput{})
   539  	pulumi.RegisterOutputType(ConnectAttachmentMapOutput{})
   540  }