github.com/pulumi/pulumi-aws/sdk/v6@v6.32.0/go/aws/ec2/vpcPeeringConnectionAccepter.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 ec2
     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  // Provides a resource to manage the accepter's side of a VPC Peering Connection.
    16  //
    17  // When a cross-account (requester's AWS account differs from the accepter's AWS account) or an inter-region
    18  // VPC Peering Connection is created, a VPC Peering Connection resource is automatically created in the
    19  // accepter's account.
    20  // The requester can use the `ec2.VpcPeeringConnection` resource to manage its side of the connection
    21  // and the accepter can use the `ec2.VpcPeeringConnectionAccepter` resource to "adopt" its side of the
    22  // connection into management.
    23  //
    24  // ## Example Usage
    25  //
    26  // <!--Start PulumiCodeChooser -->
    27  // ```go
    28  // package main
    29  //
    30  // import (
    31  //
    32  //	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws"
    33  //	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2"
    34  //	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    35  //
    36  // )
    37  //
    38  //	func main() {
    39  //		pulumi.Run(func(ctx *pulumi.Context) error {
    40  //			main, err := ec2.NewVpc(ctx, "main", &ec2.VpcArgs{
    41  //				CidrBlock: pulumi.String("10.0.0.0/16"),
    42  //			})
    43  //			if err != nil {
    44  //				return err
    45  //			}
    46  //			peerVpc, err := ec2.NewVpc(ctx, "peer", &ec2.VpcArgs{
    47  //				CidrBlock: pulumi.String("10.1.0.0/16"),
    48  //			})
    49  //			if err != nil {
    50  //				return err
    51  //			}
    52  //			peer, err := aws.GetCallerIdentity(ctx, nil, nil)
    53  //			if err != nil {
    54  //				return err
    55  //			}
    56  //			// Requester's side of the connection.
    57  //			peerVpcPeeringConnection, err := ec2.NewVpcPeeringConnection(ctx, "peer", &ec2.VpcPeeringConnectionArgs{
    58  //				VpcId:       main.ID(),
    59  //				PeerVpcId:   peerVpc.ID(),
    60  //				PeerOwnerId: pulumi.String(peer.AccountId),
    61  //				PeerRegion:  pulumi.String("us-west-2"),
    62  //				AutoAccept:  pulumi.Bool(false),
    63  //				Tags: pulumi.StringMap{
    64  //					"Side": pulumi.String("Requester"),
    65  //				},
    66  //			})
    67  //			if err != nil {
    68  //				return err
    69  //			}
    70  //			// Accepter's side of the connection.
    71  //			_, err = ec2.NewVpcPeeringConnectionAccepter(ctx, "peer", &ec2.VpcPeeringConnectionAccepterArgs{
    72  //				VpcPeeringConnectionId: peerVpcPeeringConnection.ID(),
    73  //				AutoAccept:             pulumi.Bool(true),
    74  //				Tags: pulumi.StringMap{
    75  //					"Side": pulumi.String("Accepter"),
    76  //				},
    77  //			})
    78  //			if err != nil {
    79  //				return err
    80  //			}
    81  //			return nil
    82  //		})
    83  //	}
    84  //
    85  // ```
    86  // <!--End PulumiCodeChooser -->
    87  //
    88  // ## Import
    89  //
    90  // Using `pulumi import`, import VPC Peering Connection Accepters using the Peering Connection ID. For example:
    91  //
    92  // ```sh
    93  // $ pulumi import aws:ec2/vpcPeeringConnectionAccepter:VpcPeeringConnectionAccepter example pcx-12345678
    94  // ```
    95  // Certain resource arguments, like `auto_accept`, do not have an EC2 API method for reading the information after peering connection creation. If the argument is set in the Pulumi program on an imported resource, Pulumi will always show a difference. To workaround this behavior, either omit the argument from the Pulumi program or use `ignore_changes` to hide the difference. For example:
    96  type VpcPeeringConnectionAccepter struct {
    97  	pulumi.CustomResourceState
    98  
    99  	// The status of the VPC Peering Connection request.
   100  	AcceptStatus pulumi.StringOutput `pulumi:"acceptStatus"`
   101  	// A configuration block that describes [VPC Peering Connection]
   102  	// (https://docs.aws.amazon.com/vpc/latest/peering/what-is-vpc-peering.html) options set for the accepter VPC.
   103  	Accepter VpcPeeringConnectionAccepterAccepterOutput `pulumi:"accepter"`
   104  	// Whether or not to accept the peering request. Defaults to `false`.
   105  	AutoAccept pulumi.BoolPtrOutput `pulumi:"autoAccept"`
   106  	// The AWS account ID of the owner of the requester VPC.
   107  	PeerOwnerId pulumi.StringOutput `pulumi:"peerOwnerId"`
   108  	// The region of the accepter VPC.
   109  	PeerRegion pulumi.StringOutput `pulumi:"peerRegion"`
   110  	// The ID of the requester VPC.
   111  	PeerVpcId pulumi.StringOutput `pulumi:"peerVpcId"`
   112  	// A configuration block that describes [VPC Peering Connection]
   113  	// (https://docs.aws.amazon.com/vpc/latest/peering/what-is-vpc-peering.html) options set for the requester VPC.
   114  	Requester VpcPeeringConnectionAccepterRequesterOutput `pulumi:"requester"`
   115  	// A map of tags to assign to the resource. .If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
   116  	Tags pulumi.StringMapOutput `pulumi:"tags"`
   117  	// A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
   118  	//
   119  	// Deprecated: Please use `tags` instead.
   120  	TagsAll pulumi.StringMapOutput `pulumi:"tagsAll"`
   121  	// The ID of the accepter VPC.
   122  	VpcId pulumi.StringOutput `pulumi:"vpcId"`
   123  	// The VPC Peering Connection ID to manage.
   124  	VpcPeeringConnectionId pulumi.StringOutput `pulumi:"vpcPeeringConnectionId"`
   125  }
   126  
   127  // NewVpcPeeringConnectionAccepter registers a new resource with the given unique name, arguments, and options.
   128  func NewVpcPeeringConnectionAccepter(ctx *pulumi.Context,
   129  	name string, args *VpcPeeringConnectionAccepterArgs, opts ...pulumi.ResourceOption) (*VpcPeeringConnectionAccepter, error) {
   130  	if args == nil {
   131  		return nil, errors.New("missing one or more required arguments")
   132  	}
   133  
   134  	if args.VpcPeeringConnectionId == nil {
   135  		return nil, errors.New("invalid value for required argument 'VpcPeeringConnectionId'")
   136  	}
   137  	opts = internal.PkgResourceDefaultOpts(opts)
   138  	var resource VpcPeeringConnectionAccepter
   139  	err := ctx.RegisterResource("aws:ec2/vpcPeeringConnectionAccepter:VpcPeeringConnectionAccepter", name, args, &resource, opts...)
   140  	if err != nil {
   141  		return nil, err
   142  	}
   143  	return &resource, nil
   144  }
   145  
   146  // GetVpcPeeringConnectionAccepter gets an existing VpcPeeringConnectionAccepter resource's state with the given name, ID, and optional
   147  // state properties that are used to uniquely qualify the lookup (nil if not required).
   148  func GetVpcPeeringConnectionAccepter(ctx *pulumi.Context,
   149  	name string, id pulumi.IDInput, state *VpcPeeringConnectionAccepterState, opts ...pulumi.ResourceOption) (*VpcPeeringConnectionAccepter, error) {
   150  	var resource VpcPeeringConnectionAccepter
   151  	err := ctx.ReadResource("aws:ec2/vpcPeeringConnectionAccepter:VpcPeeringConnectionAccepter", name, id, state, &resource, opts...)
   152  	if err != nil {
   153  		return nil, err
   154  	}
   155  	return &resource, nil
   156  }
   157  
   158  // Input properties used for looking up and filtering VpcPeeringConnectionAccepter resources.
   159  type vpcPeeringConnectionAccepterState struct {
   160  	// The status of the VPC Peering Connection request.
   161  	AcceptStatus *string `pulumi:"acceptStatus"`
   162  	// A configuration block that describes [VPC Peering Connection]
   163  	// (https://docs.aws.amazon.com/vpc/latest/peering/what-is-vpc-peering.html) options set for the accepter VPC.
   164  	Accepter *VpcPeeringConnectionAccepterAccepter `pulumi:"accepter"`
   165  	// Whether or not to accept the peering request. Defaults to `false`.
   166  	AutoAccept *bool `pulumi:"autoAccept"`
   167  	// The AWS account ID of the owner of the requester VPC.
   168  	PeerOwnerId *string `pulumi:"peerOwnerId"`
   169  	// The region of the accepter VPC.
   170  	PeerRegion *string `pulumi:"peerRegion"`
   171  	// The ID of the requester VPC.
   172  	PeerVpcId *string `pulumi:"peerVpcId"`
   173  	// A configuration block that describes [VPC Peering Connection]
   174  	// (https://docs.aws.amazon.com/vpc/latest/peering/what-is-vpc-peering.html) options set for the requester VPC.
   175  	Requester *VpcPeeringConnectionAccepterRequester `pulumi:"requester"`
   176  	// A map of tags to assign to the resource. .If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
   177  	Tags map[string]string `pulumi:"tags"`
   178  	// A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
   179  	//
   180  	// Deprecated: Please use `tags` instead.
   181  	TagsAll map[string]string `pulumi:"tagsAll"`
   182  	// The ID of the accepter VPC.
   183  	VpcId *string `pulumi:"vpcId"`
   184  	// The VPC Peering Connection ID to manage.
   185  	VpcPeeringConnectionId *string `pulumi:"vpcPeeringConnectionId"`
   186  }
   187  
   188  type VpcPeeringConnectionAccepterState struct {
   189  	// The status of the VPC Peering Connection request.
   190  	AcceptStatus pulumi.StringPtrInput
   191  	// A configuration block that describes [VPC Peering Connection]
   192  	// (https://docs.aws.amazon.com/vpc/latest/peering/what-is-vpc-peering.html) options set for the accepter VPC.
   193  	Accepter VpcPeeringConnectionAccepterAccepterPtrInput
   194  	// Whether or not to accept the peering request. Defaults to `false`.
   195  	AutoAccept pulumi.BoolPtrInput
   196  	// The AWS account ID of the owner of the requester VPC.
   197  	PeerOwnerId pulumi.StringPtrInput
   198  	// The region of the accepter VPC.
   199  	PeerRegion pulumi.StringPtrInput
   200  	// The ID of the requester VPC.
   201  	PeerVpcId pulumi.StringPtrInput
   202  	// A configuration block that describes [VPC Peering Connection]
   203  	// (https://docs.aws.amazon.com/vpc/latest/peering/what-is-vpc-peering.html) options set for the requester VPC.
   204  	Requester VpcPeeringConnectionAccepterRequesterPtrInput
   205  	// A map of tags to assign to the resource. .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  	// A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
   208  	//
   209  	// Deprecated: Please use `tags` instead.
   210  	TagsAll pulumi.StringMapInput
   211  	// The ID of the accepter VPC.
   212  	VpcId pulumi.StringPtrInput
   213  	// The VPC Peering Connection ID to manage.
   214  	VpcPeeringConnectionId pulumi.StringPtrInput
   215  }
   216  
   217  func (VpcPeeringConnectionAccepterState) ElementType() reflect.Type {
   218  	return reflect.TypeOf((*vpcPeeringConnectionAccepterState)(nil)).Elem()
   219  }
   220  
   221  type vpcPeeringConnectionAccepterArgs struct {
   222  	// A configuration block that describes [VPC Peering Connection]
   223  	// (https://docs.aws.amazon.com/vpc/latest/peering/what-is-vpc-peering.html) options set for the accepter VPC.
   224  	Accepter *VpcPeeringConnectionAccepterAccepter `pulumi:"accepter"`
   225  	// Whether or not to accept the peering request. Defaults to `false`.
   226  	AutoAccept *bool `pulumi:"autoAccept"`
   227  	// A configuration block that describes [VPC Peering Connection]
   228  	// (https://docs.aws.amazon.com/vpc/latest/peering/what-is-vpc-peering.html) options set for the requester VPC.
   229  	Requester *VpcPeeringConnectionAccepterRequester `pulumi:"requester"`
   230  	// A map of tags to assign to the resource. .If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
   231  	Tags map[string]string `pulumi:"tags"`
   232  	// The VPC Peering Connection ID to manage.
   233  	VpcPeeringConnectionId string `pulumi:"vpcPeeringConnectionId"`
   234  }
   235  
   236  // The set of arguments for constructing a VpcPeeringConnectionAccepter resource.
   237  type VpcPeeringConnectionAccepterArgs struct {
   238  	// A configuration block that describes [VPC Peering Connection]
   239  	// (https://docs.aws.amazon.com/vpc/latest/peering/what-is-vpc-peering.html) options set for the accepter VPC.
   240  	Accepter VpcPeeringConnectionAccepterAccepterPtrInput
   241  	// Whether or not to accept the peering request. Defaults to `false`.
   242  	AutoAccept pulumi.BoolPtrInput
   243  	// A configuration block that describes [VPC Peering Connection]
   244  	// (https://docs.aws.amazon.com/vpc/latest/peering/what-is-vpc-peering.html) options set for the requester VPC.
   245  	Requester VpcPeeringConnectionAccepterRequesterPtrInput
   246  	// A map of tags to assign to the resource. .If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
   247  	Tags pulumi.StringMapInput
   248  	// The VPC Peering Connection ID to manage.
   249  	VpcPeeringConnectionId pulumi.StringInput
   250  }
   251  
   252  func (VpcPeeringConnectionAccepterArgs) ElementType() reflect.Type {
   253  	return reflect.TypeOf((*vpcPeeringConnectionAccepterArgs)(nil)).Elem()
   254  }
   255  
   256  type VpcPeeringConnectionAccepterInput interface {
   257  	pulumi.Input
   258  
   259  	ToVpcPeeringConnectionAccepterOutput() VpcPeeringConnectionAccepterOutput
   260  	ToVpcPeeringConnectionAccepterOutputWithContext(ctx context.Context) VpcPeeringConnectionAccepterOutput
   261  }
   262  
   263  func (*VpcPeeringConnectionAccepter) ElementType() reflect.Type {
   264  	return reflect.TypeOf((**VpcPeeringConnectionAccepter)(nil)).Elem()
   265  }
   266  
   267  func (i *VpcPeeringConnectionAccepter) ToVpcPeeringConnectionAccepterOutput() VpcPeeringConnectionAccepterOutput {
   268  	return i.ToVpcPeeringConnectionAccepterOutputWithContext(context.Background())
   269  }
   270  
   271  func (i *VpcPeeringConnectionAccepter) ToVpcPeeringConnectionAccepterOutputWithContext(ctx context.Context) VpcPeeringConnectionAccepterOutput {
   272  	return pulumi.ToOutputWithContext(ctx, i).(VpcPeeringConnectionAccepterOutput)
   273  }
   274  
   275  // VpcPeeringConnectionAccepterArrayInput is an input type that accepts VpcPeeringConnectionAccepterArray and VpcPeeringConnectionAccepterArrayOutput values.
   276  // You can construct a concrete instance of `VpcPeeringConnectionAccepterArrayInput` via:
   277  //
   278  //	VpcPeeringConnectionAccepterArray{ VpcPeeringConnectionAccepterArgs{...} }
   279  type VpcPeeringConnectionAccepterArrayInput interface {
   280  	pulumi.Input
   281  
   282  	ToVpcPeeringConnectionAccepterArrayOutput() VpcPeeringConnectionAccepterArrayOutput
   283  	ToVpcPeeringConnectionAccepterArrayOutputWithContext(context.Context) VpcPeeringConnectionAccepterArrayOutput
   284  }
   285  
   286  type VpcPeeringConnectionAccepterArray []VpcPeeringConnectionAccepterInput
   287  
   288  func (VpcPeeringConnectionAccepterArray) ElementType() reflect.Type {
   289  	return reflect.TypeOf((*[]*VpcPeeringConnectionAccepter)(nil)).Elem()
   290  }
   291  
   292  func (i VpcPeeringConnectionAccepterArray) ToVpcPeeringConnectionAccepterArrayOutput() VpcPeeringConnectionAccepterArrayOutput {
   293  	return i.ToVpcPeeringConnectionAccepterArrayOutputWithContext(context.Background())
   294  }
   295  
   296  func (i VpcPeeringConnectionAccepterArray) ToVpcPeeringConnectionAccepterArrayOutputWithContext(ctx context.Context) VpcPeeringConnectionAccepterArrayOutput {
   297  	return pulumi.ToOutputWithContext(ctx, i).(VpcPeeringConnectionAccepterArrayOutput)
   298  }
   299  
   300  // VpcPeeringConnectionAccepterMapInput is an input type that accepts VpcPeeringConnectionAccepterMap and VpcPeeringConnectionAccepterMapOutput values.
   301  // You can construct a concrete instance of `VpcPeeringConnectionAccepterMapInput` via:
   302  //
   303  //	VpcPeeringConnectionAccepterMap{ "key": VpcPeeringConnectionAccepterArgs{...} }
   304  type VpcPeeringConnectionAccepterMapInput interface {
   305  	pulumi.Input
   306  
   307  	ToVpcPeeringConnectionAccepterMapOutput() VpcPeeringConnectionAccepterMapOutput
   308  	ToVpcPeeringConnectionAccepterMapOutputWithContext(context.Context) VpcPeeringConnectionAccepterMapOutput
   309  }
   310  
   311  type VpcPeeringConnectionAccepterMap map[string]VpcPeeringConnectionAccepterInput
   312  
   313  func (VpcPeeringConnectionAccepterMap) ElementType() reflect.Type {
   314  	return reflect.TypeOf((*map[string]*VpcPeeringConnectionAccepter)(nil)).Elem()
   315  }
   316  
   317  func (i VpcPeeringConnectionAccepterMap) ToVpcPeeringConnectionAccepterMapOutput() VpcPeeringConnectionAccepterMapOutput {
   318  	return i.ToVpcPeeringConnectionAccepterMapOutputWithContext(context.Background())
   319  }
   320  
   321  func (i VpcPeeringConnectionAccepterMap) ToVpcPeeringConnectionAccepterMapOutputWithContext(ctx context.Context) VpcPeeringConnectionAccepterMapOutput {
   322  	return pulumi.ToOutputWithContext(ctx, i).(VpcPeeringConnectionAccepterMapOutput)
   323  }
   324  
   325  type VpcPeeringConnectionAccepterOutput struct{ *pulumi.OutputState }
   326  
   327  func (VpcPeeringConnectionAccepterOutput) ElementType() reflect.Type {
   328  	return reflect.TypeOf((**VpcPeeringConnectionAccepter)(nil)).Elem()
   329  }
   330  
   331  func (o VpcPeeringConnectionAccepterOutput) ToVpcPeeringConnectionAccepterOutput() VpcPeeringConnectionAccepterOutput {
   332  	return o
   333  }
   334  
   335  func (o VpcPeeringConnectionAccepterOutput) ToVpcPeeringConnectionAccepterOutputWithContext(ctx context.Context) VpcPeeringConnectionAccepterOutput {
   336  	return o
   337  }
   338  
   339  // The status of the VPC Peering Connection request.
   340  func (o VpcPeeringConnectionAccepterOutput) AcceptStatus() pulumi.StringOutput {
   341  	return o.ApplyT(func(v *VpcPeeringConnectionAccepter) pulumi.StringOutput { return v.AcceptStatus }).(pulumi.StringOutput)
   342  }
   343  
   344  // A configuration block that describes [VPC Peering Connection]
   345  // (https://docs.aws.amazon.com/vpc/latest/peering/what-is-vpc-peering.html) options set for the accepter VPC.
   346  func (o VpcPeeringConnectionAccepterOutput) Accepter() VpcPeeringConnectionAccepterAccepterOutput {
   347  	return o.ApplyT(func(v *VpcPeeringConnectionAccepter) VpcPeeringConnectionAccepterAccepterOutput { return v.Accepter }).(VpcPeeringConnectionAccepterAccepterOutput)
   348  }
   349  
   350  // Whether or not to accept the peering request. Defaults to `false`.
   351  func (o VpcPeeringConnectionAccepterOutput) AutoAccept() pulumi.BoolPtrOutput {
   352  	return o.ApplyT(func(v *VpcPeeringConnectionAccepter) pulumi.BoolPtrOutput { return v.AutoAccept }).(pulumi.BoolPtrOutput)
   353  }
   354  
   355  // The AWS account ID of the owner of the requester VPC.
   356  func (o VpcPeeringConnectionAccepterOutput) PeerOwnerId() pulumi.StringOutput {
   357  	return o.ApplyT(func(v *VpcPeeringConnectionAccepter) pulumi.StringOutput { return v.PeerOwnerId }).(pulumi.StringOutput)
   358  }
   359  
   360  // The region of the accepter VPC.
   361  func (o VpcPeeringConnectionAccepterOutput) PeerRegion() pulumi.StringOutput {
   362  	return o.ApplyT(func(v *VpcPeeringConnectionAccepter) pulumi.StringOutput { return v.PeerRegion }).(pulumi.StringOutput)
   363  }
   364  
   365  // The ID of the requester VPC.
   366  func (o VpcPeeringConnectionAccepterOutput) PeerVpcId() pulumi.StringOutput {
   367  	return o.ApplyT(func(v *VpcPeeringConnectionAccepter) pulumi.StringOutput { return v.PeerVpcId }).(pulumi.StringOutput)
   368  }
   369  
   370  // A configuration block that describes [VPC Peering Connection]
   371  // (https://docs.aws.amazon.com/vpc/latest/peering/what-is-vpc-peering.html) options set for the requester VPC.
   372  func (o VpcPeeringConnectionAccepterOutput) Requester() VpcPeeringConnectionAccepterRequesterOutput {
   373  	return o.ApplyT(func(v *VpcPeeringConnectionAccepter) VpcPeeringConnectionAccepterRequesterOutput { return v.Requester }).(VpcPeeringConnectionAccepterRequesterOutput)
   374  }
   375  
   376  // A map of tags to assign to the resource. .If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
   377  func (o VpcPeeringConnectionAccepterOutput) Tags() pulumi.StringMapOutput {
   378  	return o.ApplyT(func(v *VpcPeeringConnectionAccepter) pulumi.StringMapOutput { return v.Tags }).(pulumi.StringMapOutput)
   379  }
   380  
   381  // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
   382  //
   383  // Deprecated: Please use `tags` instead.
   384  func (o VpcPeeringConnectionAccepterOutput) TagsAll() pulumi.StringMapOutput {
   385  	return o.ApplyT(func(v *VpcPeeringConnectionAccepter) pulumi.StringMapOutput { return v.TagsAll }).(pulumi.StringMapOutput)
   386  }
   387  
   388  // The ID of the accepter VPC.
   389  func (o VpcPeeringConnectionAccepterOutput) VpcId() pulumi.StringOutput {
   390  	return o.ApplyT(func(v *VpcPeeringConnectionAccepter) pulumi.StringOutput { return v.VpcId }).(pulumi.StringOutput)
   391  }
   392  
   393  // The VPC Peering Connection ID to manage.
   394  func (o VpcPeeringConnectionAccepterOutput) VpcPeeringConnectionId() pulumi.StringOutput {
   395  	return o.ApplyT(func(v *VpcPeeringConnectionAccepter) pulumi.StringOutput { return v.VpcPeeringConnectionId }).(pulumi.StringOutput)
   396  }
   397  
   398  type VpcPeeringConnectionAccepterArrayOutput struct{ *pulumi.OutputState }
   399  
   400  func (VpcPeeringConnectionAccepterArrayOutput) ElementType() reflect.Type {
   401  	return reflect.TypeOf((*[]*VpcPeeringConnectionAccepter)(nil)).Elem()
   402  }
   403  
   404  func (o VpcPeeringConnectionAccepterArrayOutput) ToVpcPeeringConnectionAccepterArrayOutput() VpcPeeringConnectionAccepterArrayOutput {
   405  	return o
   406  }
   407  
   408  func (o VpcPeeringConnectionAccepterArrayOutput) ToVpcPeeringConnectionAccepterArrayOutputWithContext(ctx context.Context) VpcPeeringConnectionAccepterArrayOutput {
   409  	return o
   410  }
   411  
   412  func (o VpcPeeringConnectionAccepterArrayOutput) Index(i pulumi.IntInput) VpcPeeringConnectionAccepterOutput {
   413  	return pulumi.All(o, i).ApplyT(func(vs []interface{}) *VpcPeeringConnectionAccepter {
   414  		return vs[0].([]*VpcPeeringConnectionAccepter)[vs[1].(int)]
   415  	}).(VpcPeeringConnectionAccepterOutput)
   416  }
   417  
   418  type VpcPeeringConnectionAccepterMapOutput struct{ *pulumi.OutputState }
   419  
   420  func (VpcPeeringConnectionAccepterMapOutput) ElementType() reflect.Type {
   421  	return reflect.TypeOf((*map[string]*VpcPeeringConnectionAccepter)(nil)).Elem()
   422  }
   423  
   424  func (o VpcPeeringConnectionAccepterMapOutput) ToVpcPeeringConnectionAccepterMapOutput() VpcPeeringConnectionAccepterMapOutput {
   425  	return o
   426  }
   427  
   428  func (o VpcPeeringConnectionAccepterMapOutput) ToVpcPeeringConnectionAccepterMapOutputWithContext(ctx context.Context) VpcPeeringConnectionAccepterMapOutput {
   429  	return o
   430  }
   431  
   432  func (o VpcPeeringConnectionAccepterMapOutput) MapIndex(k pulumi.StringInput) VpcPeeringConnectionAccepterOutput {
   433  	return pulumi.All(o, k).ApplyT(func(vs []interface{}) *VpcPeeringConnectionAccepter {
   434  		return vs[0].(map[string]*VpcPeeringConnectionAccepter)[vs[1].(string)]
   435  	}).(VpcPeeringConnectionAccepterOutput)
   436  }
   437  
   438  func init() {
   439  	pulumi.RegisterInputType(reflect.TypeOf((*VpcPeeringConnectionAccepterInput)(nil)).Elem(), &VpcPeeringConnectionAccepter{})
   440  	pulumi.RegisterInputType(reflect.TypeOf((*VpcPeeringConnectionAccepterArrayInput)(nil)).Elem(), VpcPeeringConnectionAccepterArray{})
   441  	pulumi.RegisterInputType(reflect.TypeOf((*VpcPeeringConnectionAccepterMapInput)(nil)).Elem(), VpcPeeringConnectionAccepterMap{})
   442  	pulumi.RegisterOutputType(VpcPeeringConnectionAccepterOutput{})
   443  	pulumi.RegisterOutputType(VpcPeeringConnectionAccepterArrayOutput{})
   444  	pulumi.RegisterOutputType(VpcPeeringConnectionAccepterMapOutput{})
   445  }