github.com/pulumi/pulumi-aws/sdk/v6@v6.32.0/go/aws/ec2/defaultVpc.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  	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/internal"
    11  	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    12  )
    13  
    14  // Provides a resource to manage the [default AWS VPC](http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/default-vpc.html)
    15  // in the current AWS Region.
    16  //
    17  // If you created your AWS account after 2013-12-04 you have a default VPC in each AWS Region.
    18  //
    19  // **This is an advanced resource** and has special caveats to be aware of when using it. Please read this document in its entirety before using this resource.
    20  //
    21  // The `ec2.DefaultVpc` resource behaves differently from normal resources in that if a default VPC exists, this provider does not _create_ this resource, but instead "adopts" it into management.
    22  // If no default VPC exists, the provider creates a new default VPC, which leads to the implicit creation of [other resources](https://docs.aws.amazon.com/vpc/latest/userguide/default-vpc.html#default-vpc-components).
    23  // By default, `pulumi destroy` does not delete the default VPC but does remove the resource from the state.
    24  // Set the `forceDestroy` argument to `true` to delete the default VPC.
    25  //
    26  // ## Example Usage
    27  //
    28  // Basic usage with tags:
    29  //
    30  // <!--Start PulumiCodeChooser -->
    31  // ```go
    32  // package main
    33  //
    34  // import (
    35  //
    36  //	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2"
    37  //	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    38  //
    39  // )
    40  //
    41  //	func main() {
    42  //		pulumi.Run(func(ctx *pulumi.Context) error {
    43  //			_, err := ec2.NewDefaultVpc(ctx, "default", &ec2.DefaultVpcArgs{
    44  //				Tags: pulumi.StringMap{
    45  //					"Name": pulumi.String("Default VPC"),
    46  //				},
    47  //			})
    48  //			if err != nil {
    49  //				return err
    50  //			}
    51  //			return nil
    52  //		})
    53  //	}
    54  //
    55  // ```
    56  // <!--End PulumiCodeChooser -->
    57  //
    58  // ## Import
    59  //
    60  // Using `pulumi import`, import Default VPCs using the VPC `id`. For example:
    61  //
    62  // ```sh
    63  // $ pulumi import aws:ec2/defaultVpc:DefaultVpc default vpc-a01106c2
    64  // ```
    65  type DefaultVpc struct {
    66  	pulumi.CustomResourceState
    67  
    68  	Arn                          pulumi.StringOutput  `pulumi:"arn"`
    69  	AssignGeneratedIpv6CidrBlock pulumi.BoolPtrOutput `pulumi:"assignGeneratedIpv6CidrBlock"`
    70  	// The primary IPv4 CIDR block for the VPC
    71  	CidrBlock                        pulumi.StringOutput  `pulumi:"cidrBlock"`
    72  	DefaultNetworkAclId              pulumi.StringOutput  `pulumi:"defaultNetworkAclId"`
    73  	DefaultRouteTableId              pulumi.StringOutput  `pulumi:"defaultRouteTableId"`
    74  	DefaultSecurityGroupId           pulumi.StringOutput  `pulumi:"defaultSecurityGroupId"`
    75  	DhcpOptionsId                    pulumi.StringOutput  `pulumi:"dhcpOptionsId"`
    76  	EnableDnsHostnames               pulumi.BoolPtrOutput `pulumi:"enableDnsHostnames"`
    77  	EnableDnsSupport                 pulumi.BoolPtrOutput `pulumi:"enableDnsSupport"`
    78  	EnableNetworkAddressUsageMetrics pulumi.BoolOutput    `pulumi:"enableNetworkAddressUsageMetrics"`
    79  	ExistingDefaultVpc               pulumi.BoolOutput    `pulumi:"existingDefaultVpc"`
    80  	// Whether destroying the resource deletes the default VPC. Default: `false`
    81  	ForceDestroy pulumi.BoolPtrOutput `pulumi:"forceDestroy"`
    82  	// The allowed tenancy of instances launched into the VPC
    83  	InstanceTenancy                 pulumi.StringOutput    `pulumi:"instanceTenancy"`
    84  	Ipv6AssociationId               pulumi.StringOutput    `pulumi:"ipv6AssociationId"`
    85  	Ipv6CidrBlock                   pulumi.StringOutput    `pulumi:"ipv6CidrBlock"`
    86  	Ipv6CidrBlockNetworkBorderGroup pulumi.StringOutput    `pulumi:"ipv6CidrBlockNetworkBorderGroup"`
    87  	Ipv6IpamPoolId                  pulumi.StringPtrOutput `pulumi:"ipv6IpamPoolId"`
    88  	Ipv6NetmaskLength               pulumi.IntPtrOutput    `pulumi:"ipv6NetmaskLength"`
    89  	MainRouteTableId                pulumi.StringOutput    `pulumi:"mainRouteTableId"`
    90  	OwnerId                         pulumi.StringOutput    `pulumi:"ownerId"`
    91  	Tags                            pulumi.StringMapOutput `pulumi:"tags"`
    92  	// Deprecated: Please use `tags` instead.
    93  	TagsAll pulumi.StringMapOutput `pulumi:"tagsAll"`
    94  }
    95  
    96  // NewDefaultVpc registers a new resource with the given unique name, arguments, and options.
    97  func NewDefaultVpc(ctx *pulumi.Context,
    98  	name string, args *DefaultVpcArgs, opts ...pulumi.ResourceOption) (*DefaultVpc, error) {
    99  	if args == nil {
   100  		args = &DefaultVpcArgs{}
   101  	}
   102  
   103  	opts = internal.PkgResourceDefaultOpts(opts)
   104  	var resource DefaultVpc
   105  	err := ctx.RegisterResource("aws:ec2/defaultVpc:DefaultVpc", name, args, &resource, opts...)
   106  	if err != nil {
   107  		return nil, err
   108  	}
   109  	return &resource, nil
   110  }
   111  
   112  // GetDefaultVpc gets an existing DefaultVpc resource's state with the given name, ID, and optional
   113  // state properties that are used to uniquely qualify the lookup (nil if not required).
   114  func GetDefaultVpc(ctx *pulumi.Context,
   115  	name string, id pulumi.IDInput, state *DefaultVpcState, opts ...pulumi.ResourceOption) (*DefaultVpc, error) {
   116  	var resource DefaultVpc
   117  	err := ctx.ReadResource("aws:ec2/defaultVpc:DefaultVpc", name, id, state, &resource, opts...)
   118  	if err != nil {
   119  		return nil, err
   120  	}
   121  	return &resource, nil
   122  }
   123  
   124  // Input properties used for looking up and filtering DefaultVpc resources.
   125  type defaultVpcState struct {
   126  	Arn                          *string `pulumi:"arn"`
   127  	AssignGeneratedIpv6CidrBlock *bool   `pulumi:"assignGeneratedIpv6CidrBlock"`
   128  	// The primary IPv4 CIDR block for the VPC
   129  	CidrBlock                        *string `pulumi:"cidrBlock"`
   130  	DefaultNetworkAclId              *string `pulumi:"defaultNetworkAclId"`
   131  	DefaultRouteTableId              *string `pulumi:"defaultRouteTableId"`
   132  	DefaultSecurityGroupId           *string `pulumi:"defaultSecurityGroupId"`
   133  	DhcpOptionsId                    *string `pulumi:"dhcpOptionsId"`
   134  	EnableDnsHostnames               *bool   `pulumi:"enableDnsHostnames"`
   135  	EnableDnsSupport                 *bool   `pulumi:"enableDnsSupport"`
   136  	EnableNetworkAddressUsageMetrics *bool   `pulumi:"enableNetworkAddressUsageMetrics"`
   137  	ExistingDefaultVpc               *bool   `pulumi:"existingDefaultVpc"`
   138  	// Whether destroying the resource deletes the default VPC. Default: `false`
   139  	ForceDestroy *bool `pulumi:"forceDestroy"`
   140  	// The allowed tenancy of instances launched into the VPC
   141  	InstanceTenancy                 *string           `pulumi:"instanceTenancy"`
   142  	Ipv6AssociationId               *string           `pulumi:"ipv6AssociationId"`
   143  	Ipv6CidrBlock                   *string           `pulumi:"ipv6CidrBlock"`
   144  	Ipv6CidrBlockNetworkBorderGroup *string           `pulumi:"ipv6CidrBlockNetworkBorderGroup"`
   145  	Ipv6IpamPoolId                  *string           `pulumi:"ipv6IpamPoolId"`
   146  	Ipv6NetmaskLength               *int              `pulumi:"ipv6NetmaskLength"`
   147  	MainRouteTableId                *string           `pulumi:"mainRouteTableId"`
   148  	OwnerId                         *string           `pulumi:"ownerId"`
   149  	Tags                            map[string]string `pulumi:"tags"`
   150  	// Deprecated: Please use `tags` instead.
   151  	TagsAll map[string]string `pulumi:"tagsAll"`
   152  }
   153  
   154  type DefaultVpcState struct {
   155  	Arn                          pulumi.StringPtrInput
   156  	AssignGeneratedIpv6CidrBlock pulumi.BoolPtrInput
   157  	// The primary IPv4 CIDR block for the VPC
   158  	CidrBlock                        pulumi.StringPtrInput
   159  	DefaultNetworkAclId              pulumi.StringPtrInput
   160  	DefaultRouteTableId              pulumi.StringPtrInput
   161  	DefaultSecurityGroupId           pulumi.StringPtrInput
   162  	DhcpOptionsId                    pulumi.StringPtrInput
   163  	EnableDnsHostnames               pulumi.BoolPtrInput
   164  	EnableDnsSupport                 pulumi.BoolPtrInput
   165  	EnableNetworkAddressUsageMetrics pulumi.BoolPtrInput
   166  	ExistingDefaultVpc               pulumi.BoolPtrInput
   167  	// Whether destroying the resource deletes the default VPC. Default: `false`
   168  	ForceDestroy pulumi.BoolPtrInput
   169  	// The allowed tenancy of instances launched into the VPC
   170  	InstanceTenancy                 pulumi.StringPtrInput
   171  	Ipv6AssociationId               pulumi.StringPtrInput
   172  	Ipv6CidrBlock                   pulumi.StringPtrInput
   173  	Ipv6CidrBlockNetworkBorderGroup pulumi.StringPtrInput
   174  	Ipv6IpamPoolId                  pulumi.StringPtrInput
   175  	Ipv6NetmaskLength               pulumi.IntPtrInput
   176  	MainRouteTableId                pulumi.StringPtrInput
   177  	OwnerId                         pulumi.StringPtrInput
   178  	Tags                            pulumi.StringMapInput
   179  	// Deprecated: Please use `tags` instead.
   180  	TagsAll pulumi.StringMapInput
   181  }
   182  
   183  func (DefaultVpcState) ElementType() reflect.Type {
   184  	return reflect.TypeOf((*defaultVpcState)(nil)).Elem()
   185  }
   186  
   187  type defaultVpcArgs struct {
   188  	AssignGeneratedIpv6CidrBlock     *bool `pulumi:"assignGeneratedIpv6CidrBlock"`
   189  	EnableDnsHostnames               *bool `pulumi:"enableDnsHostnames"`
   190  	EnableDnsSupport                 *bool `pulumi:"enableDnsSupport"`
   191  	EnableNetworkAddressUsageMetrics *bool `pulumi:"enableNetworkAddressUsageMetrics"`
   192  	// Whether destroying the resource deletes the default VPC. Default: `false`
   193  	ForceDestroy                    *bool             `pulumi:"forceDestroy"`
   194  	Ipv6CidrBlock                   *string           `pulumi:"ipv6CidrBlock"`
   195  	Ipv6CidrBlockNetworkBorderGroup *string           `pulumi:"ipv6CidrBlockNetworkBorderGroup"`
   196  	Ipv6IpamPoolId                  *string           `pulumi:"ipv6IpamPoolId"`
   197  	Ipv6NetmaskLength               *int              `pulumi:"ipv6NetmaskLength"`
   198  	Tags                            map[string]string `pulumi:"tags"`
   199  }
   200  
   201  // The set of arguments for constructing a DefaultVpc resource.
   202  type DefaultVpcArgs struct {
   203  	AssignGeneratedIpv6CidrBlock     pulumi.BoolPtrInput
   204  	EnableDnsHostnames               pulumi.BoolPtrInput
   205  	EnableDnsSupport                 pulumi.BoolPtrInput
   206  	EnableNetworkAddressUsageMetrics pulumi.BoolPtrInput
   207  	// Whether destroying the resource deletes the default VPC. Default: `false`
   208  	ForceDestroy                    pulumi.BoolPtrInput
   209  	Ipv6CidrBlock                   pulumi.StringPtrInput
   210  	Ipv6CidrBlockNetworkBorderGroup pulumi.StringPtrInput
   211  	Ipv6IpamPoolId                  pulumi.StringPtrInput
   212  	Ipv6NetmaskLength               pulumi.IntPtrInput
   213  	Tags                            pulumi.StringMapInput
   214  }
   215  
   216  func (DefaultVpcArgs) ElementType() reflect.Type {
   217  	return reflect.TypeOf((*defaultVpcArgs)(nil)).Elem()
   218  }
   219  
   220  type DefaultVpcInput interface {
   221  	pulumi.Input
   222  
   223  	ToDefaultVpcOutput() DefaultVpcOutput
   224  	ToDefaultVpcOutputWithContext(ctx context.Context) DefaultVpcOutput
   225  }
   226  
   227  func (*DefaultVpc) ElementType() reflect.Type {
   228  	return reflect.TypeOf((**DefaultVpc)(nil)).Elem()
   229  }
   230  
   231  func (i *DefaultVpc) ToDefaultVpcOutput() DefaultVpcOutput {
   232  	return i.ToDefaultVpcOutputWithContext(context.Background())
   233  }
   234  
   235  func (i *DefaultVpc) ToDefaultVpcOutputWithContext(ctx context.Context) DefaultVpcOutput {
   236  	return pulumi.ToOutputWithContext(ctx, i).(DefaultVpcOutput)
   237  }
   238  
   239  // DefaultVpcArrayInput is an input type that accepts DefaultVpcArray and DefaultVpcArrayOutput values.
   240  // You can construct a concrete instance of `DefaultVpcArrayInput` via:
   241  //
   242  //	DefaultVpcArray{ DefaultVpcArgs{...} }
   243  type DefaultVpcArrayInput interface {
   244  	pulumi.Input
   245  
   246  	ToDefaultVpcArrayOutput() DefaultVpcArrayOutput
   247  	ToDefaultVpcArrayOutputWithContext(context.Context) DefaultVpcArrayOutput
   248  }
   249  
   250  type DefaultVpcArray []DefaultVpcInput
   251  
   252  func (DefaultVpcArray) ElementType() reflect.Type {
   253  	return reflect.TypeOf((*[]*DefaultVpc)(nil)).Elem()
   254  }
   255  
   256  func (i DefaultVpcArray) ToDefaultVpcArrayOutput() DefaultVpcArrayOutput {
   257  	return i.ToDefaultVpcArrayOutputWithContext(context.Background())
   258  }
   259  
   260  func (i DefaultVpcArray) ToDefaultVpcArrayOutputWithContext(ctx context.Context) DefaultVpcArrayOutput {
   261  	return pulumi.ToOutputWithContext(ctx, i).(DefaultVpcArrayOutput)
   262  }
   263  
   264  // DefaultVpcMapInput is an input type that accepts DefaultVpcMap and DefaultVpcMapOutput values.
   265  // You can construct a concrete instance of `DefaultVpcMapInput` via:
   266  //
   267  //	DefaultVpcMap{ "key": DefaultVpcArgs{...} }
   268  type DefaultVpcMapInput interface {
   269  	pulumi.Input
   270  
   271  	ToDefaultVpcMapOutput() DefaultVpcMapOutput
   272  	ToDefaultVpcMapOutputWithContext(context.Context) DefaultVpcMapOutput
   273  }
   274  
   275  type DefaultVpcMap map[string]DefaultVpcInput
   276  
   277  func (DefaultVpcMap) ElementType() reflect.Type {
   278  	return reflect.TypeOf((*map[string]*DefaultVpc)(nil)).Elem()
   279  }
   280  
   281  func (i DefaultVpcMap) ToDefaultVpcMapOutput() DefaultVpcMapOutput {
   282  	return i.ToDefaultVpcMapOutputWithContext(context.Background())
   283  }
   284  
   285  func (i DefaultVpcMap) ToDefaultVpcMapOutputWithContext(ctx context.Context) DefaultVpcMapOutput {
   286  	return pulumi.ToOutputWithContext(ctx, i).(DefaultVpcMapOutput)
   287  }
   288  
   289  type DefaultVpcOutput struct{ *pulumi.OutputState }
   290  
   291  func (DefaultVpcOutput) ElementType() reflect.Type {
   292  	return reflect.TypeOf((**DefaultVpc)(nil)).Elem()
   293  }
   294  
   295  func (o DefaultVpcOutput) ToDefaultVpcOutput() DefaultVpcOutput {
   296  	return o
   297  }
   298  
   299  func (o DefaultVpcOutput) ToDefaultVpcOutputWithContext(ctx context.Context) DefaultVpcOutput {
   300  	return o
   301  }
   302  
   303  func (o DefaultVpcOutput) Arn() pulumi.StringOutput {
   304  	return o.ApplyT(func(v *DefaultVpc) pulumi.StringOutput { return v.Arn }).(pulumi.StringOutput)
   305  }
   306  
   307  func (o DefaultVpcOutput) AssignGeneratedIpv6CidrBlock() pulumi.BoolPtrOutput {
   308  	return o.ApplyT(func(v *DefaultVpc) pulumi.BoolPtrOutput { return v.AssignGeneratedIpv6CidrBlock }).(pulumi.BoolPtrOutput)
   309  }
   310  
   311  // The primary IPv4 CIDR block for the VPC
   312  func (o DefaultVpcOutput) CidrBlock() pulumi.StringOutput {
   313  	return o.ApplyT(func(v *DefaultVpc) pulumi.StringOutput { return v.CidrBlock }).(pulumi.StringOutput)
   314  }
   315  
   316  func (o DefaultVpcOutput) DefaultNetworkAclId() pulumi.StringOutput {
   317  	return o.ApplyT(func(v *DefaultVpc) pulumi.StringOutput { return v.DefaultNetworkAclId }).(pulumi.StringOutput)
   318  }
   319  
   320  func (o DefaultVpcOutput) DefaultRouteTableId() pulumi.StringOutput {
   321  	return o.ApplyT(func(v *DefaultVpc) pulumi.StringOutput { return v.DefaultRouteTableId }).(pulumi.StringOutput)
   322  }
   323  
   324  func (o DefaultVpcOutput) DefaultSecurityGroupId() pulumi.StringOutput {
   325  	return o.ApplyT(func(v *DefaultVpc) pulumi.StringOutput { return v.DefaultSecurityGroupId }).(pulumi.StringOutput)
   326  }
   327  
   328  func (o DefaultVpcOutput) DhcpOptionsId() pulumi.StringOutput {
   329  	return o.ApplyT(func(v *DefaultVpc) pulumi.StringOutput { return v.DhcpOptionsId }).(pulumi.StringOutput)
   330  }
   331  
   332  func (o DefaultVpcOutput) EnableDnsHostnames() pulumi.BoolPtrOutput {
   333  	return o.ApplyT(func(v *DefaultVpc) pulumi.BoolPtrOutput { return v.EnableDnsHostnames }).(pulumi.BoolPtrOutput)
   334  }
   335  
   336  func (o DefaultVpcOutput) EnableDnsSupport() pulumi.BoolPtrOutput {
   337  	return o.ApplyT(func(v *DefaultVpc) pulumi.BoolPtrOutput { return v.EnableDnsSupport }).(pulumi.BoolPtrOutput)
   338  }
   339  
   340  func (o DefaultVpcOutput) EnableNetworkAddressUsageMetrics() pulumi.BoolOutput {
   341  	return o.ApplyT(func(v *DefaultVpc) pulumi.BoolOutput { return v.EnableNetworkAddressUsageMetrics }).(pulumi.BoolOutput)
   342  }
   343  
   344  func (o DefaultVpcOutput) ExistingDefaultVpc() pulumi.BoolOutput {
   345  	return o.ApplyT(func(v *DefaultVpc) pulumi.BoolOutput { return v.ExistingDefaultVpc }).(pulumi.BoolOutput)
   346  }
   347  
   348  // Whether destroying the resource deletes the default VPC. Default: `false`
   349  func (o DefaultVpcOutput) ForceDestroy() pulumi.BoolPtrOutput {
   350  	return o.ApplyT(func(v *DefaultVpc) pulumi.BoolPtrOutput { return v.ForceDestroy }).(pulumi.BoolPtrOutput)
   351  }
   352  
   353  // The allowed tenancy of instances launched into the VPC
   354  func (o DefaultVpcOutput) InstanceTenancy() pulumi.StringOutput {
   355  	return o.ApplyT(func(v *DefaultVpc) pulumi.StringOutput { return v.InstanceTenancy }).(pulumi.StringOutput)
   356  }
   357  
   358  func (o DefaultVpcOutput) Ipv6AssociationId() pulumi.StringOutput {
   359  	return o.ApplyT(func(v *DefaultVpc) pulumi.StringOutput { return v.Ipv6AssociationId }).(pulumi.StringOutput)
   360  }
   361  
   362  func (o DefaultVpcOutput) Ipv6CidrBlock() pulumi.StringOutput {
   363  	return o.ApplyT(func(v *DefaultVpc) pulumi.StringOutput { return v.Ipv6CidrBlock }).(pulumi.StringOutput)
   364  }
   365  
   366  func (o DefaultVpcOutput) Ipv6CidrBlockNetworkBorderGroup() pulumi.StringOutput {
   367  	return o.ApplyT(func(v *DefaultVpc) pulumi.StringOutput { return v.Ipv6CidrBlockNetworkBorderGroup }).(pulumi.StringOutput)
   368  }
   369  
   370  func (o DefaultVpcOutput) Ipv6IpamPoolId() pulumi.StringPtrOutput {
   371  	return o.ApplyT(func(v *DefaultVpc) pulumi.StringPtrOutput { return v.Ipv6IpamPoolId }).(pulumi.StringPtrOutput)
   372  }
   373  
   374  func (o DefaultVpcOutput) Ipv6NetmaskLength() pulumi.IntPtrOutput {
   375  	return o.ApplyT(func(v *DefaultVpc) pulumi.IntPtrOutput { return v.Ipv6NetmaskLength }).(pulumi.IntPtrOutput)
   376  }
   377  
   378  func (o DefaultVpcOutput) MainRouteTableId() pulumi.StringOutput {
   379  	return o.ApplyT(func(v *DefaultVpc) pulumi.StringOutput { return v.MainRouteTableId }).(pulumi.StringOutput)
   380  }
   381  
   382  func (o DefaultVpcOutput) OwnerId() pulumi.StringOutput {
   383  	return o.ApplyT(func(v *DefaultVpc) pulumi.StringOutput { return v.OwnerId }).(pulumi.StringOutput)
   384  }
   385  
   386  func (o DefaultVpcOutput) Tags() pulumi.StringMapOutput {
   387  	return o.ApplyT(func(v *DefaultVpc) pulumi.StringMapOutput { return v.Tags }).(pulumi.StringMapOutput)
   388  }
   389  
   390  // Deprecated: Please use `tags` instead.
   391  func (o DefaultVpcOutput) TagsAll() pulumi.StringMapOutput {
   392  	return o.ApplyT(func(v *DefaultVpc) pulumi.StringMapOutput { return v.TagsAll }).(pulumi.StringMapOutput)
   393  }
   394  
   395  type DefaultVpcArrayOutput struct{ *pulumi.OutputState }
   396  
   397  func (DefaultVpcArrayOutput) ElementType() reflect.Type {
   398  	return reflect.TypeOf((*[]*DefaultVpc)(nil)).Elem()
   399  }
   400  
   401  func (o DefaultVpcArrayOutput) ToDefaultVpcArrayOutput() DefaultVpcArrayOutput {
   402  	return o
   403  }
   404  
   405  func (o DefaultVpcArrayOutput) ToDefaultVpcArrayOutputWithContext(ctx context.Context) DefaultVpcArrayOutput {
   406  	return o
   407  }
   408  
   409  func (o DefaultVpcArrayOutput) Index(i pulumi.IntInput) DefaultVpcOutput {
   410  	return pulumi.All(o, i).ApplyT(func(vs []interface{}) *DefaultVpc {
   411  		return vs[0].([]*DefaultVpc)[vs[1].(int)]
   412  	}).(DefaultVpcOutput)
   413  }
   414  
   415  type DefaultVpcMapOutput struct{ *pulumi.OutputState }
   416  
   417  func (DefaultVpcMapOutput) ElementType() reflect.Type {
   418  	return reflect.TypeOf((*map[string]*DefaultVpc)(nil)).Elem()
   419  }
   420  
   421  func (o DefaultVpcMapOutput) ToDefaultVpcMapOutput() DefaultVpcMapOutput {
   422  	return o
   423  }
   424  
   425  func (o DefaultVpcMapOutput) ToDefaultVpcMapOutputWithContext(ctx context.Context) DefaultVpcMapOutput {
   426  	return o
   427  }
   428  
   429  func (o DefaultVpcMapOutput) MapIndex(k pulumi.StringInput) DefaultVpcOutput {
   430  	return pulumi.All(o, k).ApplyT(func(vs []interface{}) *DefaultVpc {
   431  		return vs[0].(map[string]*DefaultVpc)[vs[1].(string)]
   432  	}).(DefaultVpcOutput)
   433  }
   434  
   435  func init() {
   436  	pulumi.RegisterInputType(reflect.TypeOf((*DefaultVpcInput)(nil)).Elem(), &DefaultVpc{})
   437  	pulumi.RegisterInputType(reflect.TypeOf((*DefaultVpcArrayInput)(nil)).Elem(), DefaultVpcArray{})
   438  	pulumi.RegisterInputType(reflect.TypeOf((*DefaultVpcMapInput)(nil)).Elem(), DefaultVpcMap{})
   439  	pulumi.RegisterOutputType(DefaultVpcOutput{})
   440  	pulumi.RegisterOutputType(DefaultVpcArrayOutput{})
   441  	pulumi.RegisterOutputType(DefaultVpcMapOutput{})
   442  }