github.com/pulumi/pulumi-aws/sdk/v6@v6.32.0/go/aws/ec2/vpcIpamPoolCidrAllocation.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  // Allocates (reserves) a CIDR from an IPAM address pool, preventing usage by IPAM. Only works for private IPv4.
    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"
    28  //	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2"
    29  //	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    30  //
    31  // )
    32  //
    33  //	func main() {
    34  //		pulumi.Run(func(ctx *pulumi.Context) error {
    35  //			current, err := aws.GetRegion(ctx, nil, nil)
    36  //			if err != nil {
    37  //				return err
    38  //			}
    39  //			exampleVpcIpam, err := ec2.NewVpcIpam(ctx, "example", &ec2.VpcIpamArgs{
    40  //				OperatingRegions: ec2.VpcIpamOperatingRegionArray{
    41  //					&ec2.VpcIpamOperatingRegionArgs{
    42  //						RegionName: pulumi.String(current.Name),
    43  //					},
    44  //				},
    45  //			})
    46  //			if err != nil {
    47  //				return err
    48  //			}
    49  //			exampleVpcIpamPool, err := ec2.NewVpcIpamPool(ctx, "example", &ec2.VpcIpamPoolArgs{
    50  //				AddressFamily: pulumi.String("ipv4"),
    51  //				IpamScopeId:   exampleVpcIpam.PrivateDefaultScopeId,
    52  //				Locale:        pulumi.String(current.Name),
    53  //			})
    54  //			if err != nil {
    55  //				return err
    56  //			}
    57  //			exampleVpcIpamPoolCidr, err := ec2.NewVpcIpamPoolCidr(ctx, "example", &ec2.VpcIpamPoolCidrArgs{
    58  //				IpamPoolId: exampleVpcIpamPool.ID(),
    59  //				Cidr:       pulumi.String("172.20.0.0/16"),
    60  //			})
    61  //			if err != nil {
    62  //				return err
    63  //			}
    64  //			_, err = ec2.NewVpcIpamPoolCidrAllocation(ctx, "example", &ec2.VpcIpamPoolCidrAllocationArgs{
    65  //				IpamPoolId: exampleVpcIpamPool.ID(),
    66  //				Cidr:       pulumi.String("172.20.0.0/24"),
    67  //			}, pulumi.DependsOn([]pulumi.Resource{
    68  //				exampleVpcIpamPoolCidr,
    69  //			}))
    70  //			if err != nil {
    71  //				return err
    72  //			}
    73  //			return nil
    74  //		})
    75  //	}
    76  //
    77  // ```
    78  // <!--End PulumiCodeChooser -->
    79  //
    80  // With the `disallowedCidrs` attribute:
    81  //
    82  // <!--Start PulumiCodeChooser -->
    83  // ```go
    84  // package main
    85  //
    86  // import (
    87  //
    88  //	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws"
    89  //	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2"
    90  //	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    91  //
    92  // )
    93  //
    94  //	func main() {
    95  //		pulumi.Run(func(ctx *pulumi.Context) error {
    96  //			current, err := aws.GetRegion(ctx, nil, nil)
    97  //			if err != nil {
    98  //				return err
    99  //			}
   100  //			exampleVpcIpam, err := ec2.NewVpcIpam(ctx, "example", &ec2.VpcIpamArgs{
   101  //				OperatingRegions: ec2.VpcIpamOperatingRegionArray{
   102  //					&ec2.VpcIpamOperatingRegionArgs{
   103  //						RegionName: pulumi.String(current.Name),
   104  //					},
   105  //				},
   106  //			})
   107  //			if err != nil {
   108  //				return err
   109  //			}
   110  //			exampleVpcIpamPool, err := ec2.NewVpcIpamPool(ctx, "example", &ec2.VpcIpamPoolArgs{
   111  //				AddressFamily: pulumi.String("ipv4"),
   112  //				IpamScopeId:   exampleVpcIpam.PrivateDefaultScopeId,
   113  //				Locale:        pulumi.String(current.Name),
   114  //			})
   115  //			if err != nil {
   116  //				return err
   117  //			}
   118  //			exampleVpcIpamPoolCidr, err := ec2.NewVpcIpamPoolCidr(ctx, "example", &ec2.VpcIpamPoolCidrArgs{
   119  //				IpamPoolId: exampleVpcIpamPool.ID(),
   120  //				Cidr:       pulumi.String("172.20.0.0/16"),
   121  //			})
   122  //			if err != nil {
   123  //				return err
   124  //			}
   125  //			_, err = ec2.NewVpcIpamPoolCidrAllocation(ctx, "example", &ec2.VpcIpamPoolCidrAllocationArgs{
   126  //				IpamPoolId:    exampleVpcIpamPool.ID(),
   127  //				NetmaskLength: pulumi.Int(28),
   128  //				DisallowedCidrs: pulumi.StringArray{
   129  //					pulumi.String("172.20.0.0/28"),
   130  //				},
   131  //			}, pulumi.DependsOn([]pulumi.Resource{
   132  //				exampleVpcIpamPoolCidr,
   133  //			}))
   134  //			if err != nil {
   135  //				return err
   136  //			}
   137  //			return nil
   138  //		})
   139  //	}
   140  //
   141  // ```
   142  // <!--End PulumiCodeChooser -->
   143  //
   144  // ## Import
   145  //
   146  // Using `pulumi import`, import IPAM allocations using the allocation `id` and `pool id`, separated by `_`. For example:
   147  //
   148  // ```sh
   149  // $ pulumi import aws:ec2/vpcIpamPoolCidrAllocation:VpcIpamPoolCidrAllocation example ipam-pool-alloc-0dc6d196509c049ba8b549ff99f639736_ipam-pool-07cfb559e0921fcbe
   150  // ```
   151  type VpcIpamPoolCidrAllocation struct {
   152  	pulumi.CustomResourceState
   153  
   154  	// The CIDR you want to assign to the pool.
   155  	Cidr pulumi.StringOutput `pulumi:"cidr"`
   156  	// The description for the allocation.
   157  	Description pulumi.StringPtrOutput `pulumi:"description"`
   158  	// Exclude a particular CIDR range from being returned by the pool.
   159  	DisallowedCidrs      pulumi.StringArrayOutput `pulumi:"disallowedCidrs"`
   160  	IpamPoolAllocationId pulumi.StringOutput      `pulumi:"ipamPoolAllocationId"`
   161  	// The ID of the pool to which you want to assign a CIDR.
   162  	IpamPoolId pulumi.StringOutput `pulumi:"ipamPoolId"`
   163  	// The netmask length of the CIDR you would like to allocate to the IPAM pool. Valid Values: `0-128`.
   164  	NetmaskLength pulumi.IntPtrOutput `pulumi:"netmaskLength"`
   165  	// The ID of the resource.
   166  	ResourceId pulumi.StringOutput `pulumi:"resourceId"`
   167  	// The owner of the resource.
   168  	ResourceOwner pulumi.StringOutput `pulumi:"resourceOwner"`
   169  	// The type of the resource.
   170  	ResourceType pulumi.StringOutput `pulumi:"resourceType"`
   171  }
   172  
   173  // NewVpcIpamPoolCidrAllocation registers a new resource with the given unique name, arguments, and options.
   174  func NewVpcIpamPoolCidrAllocation(ctx *pulumi.Context,
   175  	name string, args *VpcIpamPoolCidrAllocationArgs, opts ...pulumi.ResourceOption) (*VpcIpamPoolCidrAllocation, error) {
   176  	if args == nil {
   177  		return nil, errors.New("missing one or more required arguments")
   178  	}
   179  
   180  	if args.IpamPoolId == nil {
   181  		return nil, errors.New("invalid value for required argument 'IpamPoolId'")
   182  	}
   183  	opts = internal.PkgResourceDefaultOpts(opts)
   184  	var resource VpcIpamPoolCidrAllocation
   185  	err := ctx.RegisterResource("aws:ec2/vpcIpamPoolCidrAllocation:VpcIpamPoolCidrAllocation", name, args, &resource, opts...)
   186  	if err != nil {
   187  		return nil, err
   188  	}
   189  	return &resource, nil
   190  }
   191  
   192  // GetVpcIpamPoolCidrAllocation gets an existing VpcIpamPoolCidrAllocation resource's state with the given name, ID, and optional
   193  // state properties that are used to uniquely qualify the lookup (nil if not required).
   194  func GetVpcIpamPoolCidrAllocation(ctx *pulumi.Context,
   195  	name string, id pulumi.IDInput, state *VpcIpamPoolCidrAllocationState, opts ...pulumi.ResourceOption) (*VpcIpamPoolCidrAllocation, error) {
   196  	var resource VpcIpamPoolCidrAllocation
   197  	err := ctx.ReadResource("aws:ec2/vpcIpamPoolCidrAllocation:VpcIpamPoolCidrAllocation", name, id, state, &resource, opts...)
   198  	if err != nil {
   199  		return nil, err
   200  	}
   201  	return &resource, nil
   202  }
   203  
   204  // Input properties used for looking up and filtering VpcIpamPoolCidrAllocation resources.
   205  type vpcIpamPoolCidrAllocationState struct {
   206  	// The CIDR you want to assign to the pool.
   207  	Cidr *string `pulumi:"cidr"`
   208  	// The description for the allocation.
   209  	Description *string `pulumi:"description"`
   210  	// Exclude a particular CIDR range from being returned by the pool.
   211  	DisallowedCidrs      []string `pulumi:"disallowedCidrs"`
   212  	IpamPoolAllocationId *string  `pulumi:"ipamPoolAllocationId"`
   213  	// The ID of the pool to which you want to assign a CIDR.
   214  	IpamPoolId *string `pulumi:"ipamPoolId"`
   215  	// The netmask length of the CIDR you would like to allocate to the IPAM pool. Valid Values: `0-128`.
   216  	NetmaskLength *int `pulumi:"netmaskLength"`
   217  	// The ID of the resource.
   218  	ResourceId *string `pulumi:"resourceId"`
   219  	// The owner of the resource.
   220  	ResourceOwner *string `pulumi:"resourceOwner"`
   221  	// The type of the resource.
   222  	ResourceType *string `pulumi:"resourceType"`
   223  }
   224  
   225  type VpcIpamPoolCidrAllocationState struct {
   226  	// The CIDR you want to assign to the pool.
   227  	Cidr pulumi.StringPtrInput
   228  	// The description for the allocation.
   229  	Description pulumi.StringPtrInput
   230  	// Exclude a particular CIDR range from being returned by the pool.
   231  	DisallowedCidrs      pulumi.StringArrayInput
   232  	IpamPoolAllocationId pulumi.StringPtrInput
   233  	// The ID of the pool to which you want to assign a CIDR.
   234  	IpamPoolId pulumi.StringPtrInput
   235  	// The netmask length of the CIDR you would like to allocate to the IPAM pool. Valid Values: `0-128`.
   236  	NetmaskLength pulumi.IntPtrInput
   237  	// The ID of the resource.
   238  	ResourceId pulumi.StringPtrInput
   239  	// The owner of the resource.
   240  	ResourceOwner pulumi.StringPtrInput
   241  	// The type of the resource.
   242  	ResourceType pulumi.StringPtrInput
   243  }
   244  
   245  func (VpcIpamPoolCidrAllocationState) ElementType() reflect.Type {
   246  	return reflect.TypeOf((*vpcIpamPoolCidrAllocationState)(nil)).Elem()
   247  }
   248  
   249  type vpcIpamPoolCidrAllocationArgs struct {
   250  	// The CIDR you want to assign to the pool.
   251  	Cidr *string `pulumi:"cidr"`
   252  	// The description for the allocation.
   253  	Description *string `pulumi:"description"`
   254  	// Exclude a particular CIDR range from being returned by the pool.
   255  	DisallowedCidrs []string `pulumi:"disallowedCidrs"`
   256  	// The ID of the pool to which you want to assign a CIDR.
   257  	IpamPoolId string `pulumi:"ipamPoolId"`
   258  	// The netmask length of the CIDR you would like to allocate to the IPAM pool. Valid Values: `0-128`.
   259  	NetmaskLength *int `pulumi:"netmaskLength"`
   260  }
   261  
   262  // The set of arguments for constructing a VpcIpamPoolCidrAllocation resource.
   263  type VpcIpamPoolCidrAllocationArgs struct {
   264  	// The CIDR you want to assign to the pool.
   265  	Cidr pulumi.StringPtrInput
   266  	// The description for the allocation.
   267  	Description pulumi.StringPtrInput
   268  	// Exclude a particular CIDR range from being returned by the pool.
   269  	DisallowedCidrs pulumi.StringArrayInput
   270  	// The ID of the pool to which you want to assign a CIDR.
   271  	IpamPoolId pulumi.StringInput
   272  	// The netmask length of the CIDR you would like to allocate to the IPAM pool. Valid Values: `0-128`.
   273  	NetmaskLength pulumi.IntPtrInput
   274  }
   275  
   276  func (VpcIpamPoolCidrAllocationArgs) ElementType() reflect.Type {
   277  	return reflect.TypeOf((*vpcIpamPoolCidrAllocationArgs)(nil)).Elem()
   278  }
   279  
   280  type VpcIpamPoolCidrAllocationInput interface {
   281  	pulumi.Input
   282  
   283  	ToVpcIpamPoolCidrAllocationOutput() VpcIpamPoolCidrAllocationOutput
   284  	ToVpcIpamPoolCidrAllocationOutputWithContext(ctx context.Context) VpcIpamPoolCidrAllocationOutput
   285  }
   286  
   287  func (*VpcIpamPoolCidrAllocation) ElementType() reflect.Type {
   288  	return reflect.TypeOf((**VpcIpamPoolCidrAllocation)(nil)).Elem()
   289  }
   290  
   291  func (i *VpcIpamPoolCidrAllocation) ToVpcIpamPoolCidrAllocationOutput() VpcIpamPoolCidrAllocationOutput {
   292  	return i.ToVpcIpamPoolCidrAllocationOutputWithContext(context.Background())
   293  }
   294  
   295  func (i *VpcIpamPoolCidrAllocation) ToVpcIpamPoolCidrAllocationOutputWithContext(ctx context.Context) VpcIpamPoolCidrAllocationOutput {
   296  	return pulumi.ToOutputWithContext(ctx, i).(VpcIpamPoolCidrAllocationOutput)
   297  }
   298  
   299  // VpcIpamPoolCidrAllocationArrayInput is an input type that accepts VpcIpamPoolCidrAllocationArray and VpcIpamPoolCidrAllocationArrayOutput values.
   300  // You can construct a concrete instance of `VpcIpamPoolCidrAllocationArrayInput` via:
   301  //
   302  //	VpcIpamPoolCidrAllocationArray{ VpcIpamPoolCidrAllocationArgs{...} }
   303  type VpcIpamPoolCidrAllocationArrayInput interface {
   304  	pulumi.Input
   305  
   306  	ToVpcIpamPoolCidrAllocationArrayOutput() VpcIpamPoolCidrAllocationArrayOutput
   307  	ToVpcIpamPoolCidrAllocationArrayOutputWithContext(context.Context) VpcIpamPoolCidrAllocationArrayOutput
   308  }
   309  
   310  type VpcIpamPoolCidrAllocationArray []VpcIpamPoolCidrAllocationInput
   311  
   312  func (VpcIpamPoolCidrAllocationArray) ElementType() reflect.Type {
   313  	return reflect.TypeOf((*[]*VpcIpamPoolCidrAllocation)(nil)).Elem()
   314  }
   315  
   316  func (i VpcIpamPoolCidrAllocationArray) ToVpcIpamPoolCidrAllocationArrayOutput() VpcIpamPoolCidrAllocationArrayOutput {
   317  	return i.ToVpcIpamPoolCidrAllocationArrayOutputWithContext(context.Background())
   318  }
   319  
   320  func (i VpcIpamPoolCidrAllocationArray) ToVpcIpamPoolCidrAllocationArrayOutputWithContext(ctx context.Context) VpcIpamPoolCidrAllocationArrayOutput {
   321  	return pulumi.ToOutputWithContext(ctx, i).(VpcIpamPoolCidrAllocationArrayOutput)
   322  }
   323  
   324  // VpcIpamPoolCidrAllocationMapInput is an input type that accepts VpcIpamPoolCidrAllocationMap and VpcIpamPoolCidrAllocationMapOutput values.
   325  // You can construct a concrete instance of `VpcIpamPoolCidrAllocationMapInput` via:
   326  //
   327  //	VpcIpamPoolCidrAllocationMap{ "key": VpcIpamPoolCidrAllocationArgs{...} }
   328  type VpcIpamPoolCidrAllocationMapInput interface {
   329  	pulumi.Input
   330  
   331  	ToVpcIpamPoolCidrAllocationMapOutput() VpcIpamPoolCidrAllocationMapOutput
   332  	ToVpcIpamPoolCidrAllocationMapOutputWithContext(context.Context) VpcIpamPoolCidrAllocationMapOutput
   333  }
   334  
   335  type VpcIpamPoolCidrAllocationMap map[string]VpcIpamPoolCidrAllocationInput
   336  
   337  func (VpcIpamPoolCidrAllocationMap) ElementType() reflect.Type {
   338  	return reflect.TypeOf((*map[string]*VpcIpamPoolCidrAllocation)(nil)).Elem()
   339  }
   340  
   341  func (i VpcIpamPoolCidrAllocationMap) ToVpcIpamPoolCidrAllocationMapOutput() VpcIpamPoolCidrAllocationMapOutput {
   342  	return i.ToVpcIpamPoolCidrAllocationMapOutputWithContext(context.Background())
   343  }
   344  
   345  func (i VpcIpamPoolCidrAllocationMap) ToVpcIpamPoolCidrAllocationMapOutputWithContext(ctx context.Context) VpcIpamPoolCidrAllocationMapOutput {
   346  	return pulumi.ToOutputWithContext(ctx, i).(VpcIpamPoolCidrAllocationMapOutput)
   347  }
   348  
   349  type VpcIpamPoolCidrAllocationOutput struct{ *pulumi.OutputState }
   350  
   351  func (VpcIpamPoolCidrAllocationOutput) ElementType() reflect.Type {
   352  	return reflect.TypeOf((**VpcIpamPoolCidrAllocation)(nil)).Elem()
   353  }
   354  
   355  func (o VpcIpamPoolCidrAllocationOutput) ToVpcIpamPoolCidrAllocationOutput() VpcIpamPoolCidrAllocationOutput {
   356  	return o
   357  }
   358  
   359  func (o VpcIpamPoolCidrAllocationOutput) ToVpcIpamPoolCidrAllocationOutputWithContext(ctx context.Context) VpcIpamPoolCidrAllocationOutput {
   360  	return o
   361  }
   362  
   363  // The CIDR you want to assign to the pool.
   364  func (o VpcIpamPoolCidrAllocationOutput) Cidr() pulumi.StringOutput {
   365  	return o.ApplyT(func(v *VpcIpamPoolCidrAllocation) pulumi.StringOutput { return v.Cidr }).(pulumi.StringOutput)
   366  }
   367  
   368  // The description for the allocation.
   369  func (o VpcIpamPoolCidrAllocationOutput) Description() pulumi.StringPtrOutput {
   370  	return o.ApplyT(func(v *VpcIpamPoolCidrAllocation) pulumi.StringPtrOutput { return v.Description }).(pulumi.StringPtrOutput)
   371  }
   372  
   373  // Exclude a particular CIDR range from being returned by the pool.
   374  func (o VpcIpamPoolCidrAllocationOutput) DisallowedCidrs() pulumi.StringArrayOutput {
   375  	return o.ApplyT(func(v *VpcIpamPoolCidrAllocation) pulumi.StringArrayOutput { return v.DisallowedCidrs }).(pulumi.StringArrayOutput)
   376  }
   377  
   378  func (o VpcIpamPoolCidrAllocationOutput) IpamPoolAllocationId() pulumi.StringOutput {
   379  	return o.ApplyT(func(v *VpcIpamPoolCidrAllocation) pulumi.StringOutput { return v.IpamPoolAllocationId }).(pulumi.StringOutput)
   380  }
   381  
   382  // The ID of the pool to which you want to assign a CIDR.
   383  func (o VpcIpamPoolCidrAllocationOutput) IpamPoolId() pulumi.StringOutput {
   384  	return o.ApplyT(func(v *VpcIpamPoolCidrAllocation) pulumi.StringOutput { return v.IpamPoolId }).(pulumi.StringOutput)
   385  }
   386  
   387  // The netmask length of the CIDR you would like to allocate to the IPAM pool. Valid Values: `0-128`.
   388  func (o VpcIpamPoolCidrAllocationOutput) NetmaskLength() pulumi.IntPtrOutput {
   389  	return o.ApplyT(func(v *VpcIpamPoolCidrAllocation) pulumi.IntPtrOutput { return v.NetmaskLength }).(pulumi.IntPtrOutput)
   390  }
   391  
   392  // The ID of the resource.
   393  func (o VpcIpamPoolCidrAllocationOutput) ResourceId() pulumi.StringOutput {
   394  	return o.ApplyT(func(v *VpcIpamPoolCidrAllocation) pulumi.StringOutput { return v.ResourceId }).(pulumi.StringOutput)
   395  }
   396  
   397  // The owner of the resource.
   398  func (o VpcIpamPoolCidrAllocationOutput) ResourceOwner() pulumi.StringOutput {
   399  	return o.ApplyT(func(v *VpcIpamPoolCidrAllocation) pulumi.StringOutput { return v.ResourceOwner }).(pulumi.StringOutput)
   400  }
   401  
   402  // The type of the resource.
   403  func (o VpcIpamPoolCidrAllocationOutput) ResourceType() pulumi.StringOutput {
   404  	return o.ApplyT(func(v *VpcIpamPoolCidrAllocation) pulumi.StringOutput { return v.ResourceType }).(pulumi.StringOutput)
   405  }
   406  
   407  type VpcIpamPoolCidrAllocationArrayOutput struct{ *pulumi.OutputState }
   408  
   409  func (VpcIpamPoolCidrAllocationArrayOutput) ElementType() reflect.Type {
   410  	return reflect.TypeOf((*[]*VpcIpamPoolCidrAllocation)(nil)).Elem()
   411  }
   412  
   413  func (o VpcIpamPoolCidrAllocationArrayOutput) ToVpcIpamPoolCidrAllocationArrayOutput() VpcIpamPoolCidrAllocationArrayOutput {
   414  	return o
   415  }
   416  
   417  func (o VpcIpamPoolCidrAllocationArrayOutput) ToVpcIpamPoolCidrAllocationArrayOutputWithContext(ctx context.Context) VpcIpamPoolCidrAllocationArrayOutput {
   418  	return o
   419  }
   420  
   421  func (o VpcIpamPoolCidrAllocationArrayOutput) Index(i pulumi.IntInput) VpcIpamPoolCidrAllocationOutput {
   422  	return pulumi.All(o, i).ApplyT(func(vs []interface{}) *VpcIpamPoolCidrAllocation {
   423  		return vs[0].([]*VpcIpamPoolCidrAllocation)[vs[1].(int)]
   424  	}).(VpcIpamPoolCidrAllocationOutput)
   425  }
   426  
   427  type VpcIpamPoolCidrAllocationMapOutput struct{ *pulumi.OutputState }
   428  
   429  func (VpcIpamPoolCidrAllocationMapOutput) ElementType() reflect.Type {
   430  	return reflect.TypeOf((*map[string]*VpcIpamPoolCidrAllocation)(nil)).Elem()
   431  }
   432  
   433  func (o VpcIpamPoolCidrAllocationMapOutput) ToVpcIpamPoolCidrAllocationMapOutput() VpcIpamPoolCidrAllocationMapOutput {
   434  	return o
   435  }
   436  
   437  func (o VpcIpamPoolCidrAllocationMapOutput) ToVpcIpamPoolCidrAllocationMapOutputWithContext(ctx context.Context) VpcIpamPoolCidrAllocationMapOutput {
   438  	return o
   439  }
   440  
   441  func (o VpcIpamPoolCidrAllocationMapOutput) MapIndex(k pulumi.StringInput) VpcIpamPoolCidrAllocationOutput {
   442  	return pulumi.All(o, k).ApplyT(func(vs []interface{}) *VpcIpamPoolCidrAllocation {
   443  		return vs[0].(map[string]*VpcIpamPoolCidrAllocation)[vs[1].(string)]
   444  	}).(VpcIpamPoolCidrAllocationOutput)
   445  }
   446  
   447  func init() {
   448  	pulumi.RegisterInputType(reflect.TypeOf((*VpcIpamPoolCidrAllocationInput)(nil)).Elem(), &VpcIpamPoolCidrAllocation{})
   449  	pulumi.RegisterInputType(reflect.TypeOf((*VpcIpamPoolCidrAllocationArrayInput)(nil)).Elem(), VpcIpamPoolCidrAllocationArray{})
   450  	pulumi.RegisterInputType(reflect.TypeOf((*VpcIpamPoolCidrAllocationMapInput)(nil)).Elem(), VpcIpamPoolCidrAllocationMap{})
   451  	pulumi.RegisterOutputType(VpcIpamPoolCidrAllocationOutput{})
   452  	pulumi.RegisterOutputType(VpcIpamPoolCidrAllocationArrayOutput{})
   453  	pulumi.RegisterOutputType(VpcIpamPoolCidrAllocationMapOutput{})
   454  }