Try AWS Native preview for resources not in the classic version.
aws.ec2.getIpamPreviewNextCidr
Explore with Pulumi AI
Try AWS Native preview for resources not in the classic version.
Previews a CIDR from an IPAM address pool. Only works for private IPv4.
NOTE: This functionality is also encapsulated in a resource sharing the same name. The data source can be used when you need to use the cidr in a calculation of the same Root module,
count
for example. However, once a cidr range has been allocated that was previewed, the next refresh will find a new cidr and may force new resources downstream. Make sure to useignore_changes
if this is undesirable.
Example Usage
Basic usage
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Aws = Pulumi.Aws;
return await Deployment.RunAsync(() =>
{
var testIpamPreviewNextCidr = Aws.Ec2.GetIpamPreviewNextCidr.Invoke(new()
{
IpamPoolId = aws_vpc_ipam_pool.Test.Id,
NetmaskLength = 28,
});
var testVpcIpamPoolCidrAllocation = new Aws.Ec2.VpcIpamPoolCidrAllocation("testVpcIpamPoolCidrAllocation", new()
{
IpamPoolId = aws_vpc_ipam_pool.Test.Id,
Cidr = testIpamPreviewNextCidr.Apply(getIpamPreviewNextCidrResult => getIpamPreviewNextCidrResult.Cidr),
});
});
package main
import (
"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
testIpamPreviewNextCidr, err := ec2.GetIpamPreviewNextCidr(ctx, &ec2.GetIpamPreviewNextCidrArgs{
IpamPoolId: aws_vpc_ipam_pool.Test.Id,
NetmaskLength: pulumi.IntRef(28),
}, nil)
if err != nil {
return err
}
_, err = ec2.NewVpcIpamPoolCidrAllocation(ctx, "testVpcIpamPoolCidrAllocation", &ec2.VpcIpamPoolCidrAllocationArgs{
IpamPoolId: pulumi.Any(aws_vpc_ipam_pool.Test.Id),
Cidr: *pulumi.String(testIpamPreviewNextCidr.Cidr),
})
if err != nil {
return err
}
return nil
})
}
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.ec2.Ec2Functions;
import com.pulumi.aws.ec2.inputs.GetIpamPreviewNextCidrArgs;
import com.pulumi.aws.ec2.VpcIpamPoolCidrAllocation;
import com.pulumi.aws.ec2.VpcIpamPoolCidrAllocationArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
final var testIpamPreviewNextCidr = Ec2Functions.getIpamPreviewNextCidr(GetIpamPreviewNextCidrArgs.builder()
.ipamPoolId(aws_vpc_ipam_pool.test().id())
.netmaskLength(28)
.build());
var testVpcIpamPoolCidrAllocation = new VpcIpamPoolCidrAllocation("testVpcIpamPoolCidrAllocation", VpcIpamPoolCidrAllocationArgs.builder()
.ipamPoolId(aws_vpc_ipam_pool.test().id())
.cidr(testIpamPreviewNextCidr.applyValue(getIpamPreviewNextCidrResult -> getIpamPreviewNextCidrResult.cidr()))
.build());
}
}
import pulumi
import pulumi_aws as aws
test_ipam_preview_next_cidr = aws.ec2.get_ipam_preview_next_cidr(ipam_pool_id=aws_vpc_ipam_pool["test"]["id"],
netmask_length=28)
test_vpc_ipam_pool_cidr_allocation = aws.ec2.VpcIpamPoolCidrAllocation("testVpcIpamPoolCidrAllocation",
ipam_pool_id=aws_vpc_ipam_pool["test"]["id"],
cidr=test_ipam_preview_next_cidr.cidr)
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const testIpamPreviewNextCidr = aws.ec2.getIpamPreviewNextCidr({
ipamPoolId: aws_vpc_ipam_pool.test.id,
netmaskLength: 28,
});
const testVpcIpamPoolCidrAllocation = new aws.ec2.VpcIpamPoolCidrAllocation("testVpcIpamPoolCidrAllocation", {
ipamPoolId: aws_vpc_ipam_pool.test.id,
cidr: testIpamPreviewNextCidr.then(testIpamPreviewNextCidr => testIpamPreviewNextCidr.cidr),
});
resources:
testVpcIpamPoolCidrAllocation:
type: aws:ec2:VpcIpamPoolCidrAllocation
properties:
ipamPoolId: ${aws_vpc_ipam_pool.test.id}
cidr: ${testIpamPreviewNextCidr.cidr}
variables:
testIpamPreviewNextCidr:
fn::invoke:
Function: aws:ec2:getIpamPreviewNextCidr
Arguments:
ipamPoolId: ${aws_vpc_ipam_pool.test.id}
netmaskLength: 28
Using getIpamPreviewNextCidr
Two invocation forms are available. The direct form accepts plain arguments and either blocks until the result value is available, or returns a Promise-wrapped result. The output form accepts Input-wrapped arguments and returns an Output-wrapped result.
function getIpamPreviewNextCidr(args: GetIpamPreviewNextCidrArgs, opts?: InvokeOptions): Promise<GetIpamPreviewNextCidrResult>
function getIpamPreviewNextCidrOutput(args: GetIpamPreviewNextCidrOutputArgs, opts?: InvokeOptions): Output<GetIpamPreviewNextCidrResult>
def get_ipam_preview_next_cidr(disallowed_cidrs: Optional[Sequence[str]] = None,
ipam_pool_id: Optional[str] = None,
netmask_length: Optional[int] = None,
opts: Optional[InvokeOptions] = None) -> GetIpamPreviewNextCidrResult
def get_ipam_preview_next_cidr_output(disallowed_cidrs: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
ipam_pool_id: Optional[pulumi.Input[str]] = None,
netmask_length: Optional[pulumi.Input[int]] = None,
opts: Optional[InvokeOptions] = None) -> Output[GetIpamPreviewNextCidrResult]
func GetIpamPreviewNextCidr(ctx *Context, args *GetIpamPreviewNextCidrArgs, opts ...InvokeOption) (*GetIpamPreviewNextCidrResult, error)
func GetIpamPreviewNextCidrOutput(ctx *Context, args *GetIpamPreviewNextCidrOutputArgs, opts ...InvokeOption) GetIpamPreviewNextCidrResultOutput
> Note: This function is named GetIpamPreviewNextCidr
in the Go SDK.
public static class GetIpamPreviewNextCidr
{
public static Task<GetIpamPreviewNextCidrResult> InvokeAsync(GetIpamPreviewNextCidrArgs args, InvokeOptions? opts = null)
public static Output<GetIpamPreviewNextCidrResult> Invoke(GetIpamPreviewNextCidrInvokeArgs args, InvokeOptions? opts = null)
}
public static CompletableFuture<GetIpamPreviewNextCidrResult> getIpamPreviewNextCidr(GetIpamPreviewNextCidrArgs args, InvokeOptions options)
// Output-based functions aren't available in Java yet
fn::invoke:
function: aws:ec2/getIpamPreviewNextCidr:getIpamPreviewNextCidr
arguments:
# arguments dictionary
The following arguments are supported:
- Ipam
Pool stringId ID of the pool to which you want to assign a CIDR.
- Disallowed
Cidrs List<string> Exclude a particular CIDR range from being returned by the pool.
- Netmask
Length int Netmask length of the CIDR you would like to preview from the IPAM pool.
- Ipam
Pool stringId ID of the pool to which you want to assign a CIDR.
- Disallowed
Cidrs []string Exclude a particular CIDR range from being returned by the pool.
- Netmask
Length int Netmask length of the CIDR you would like to preview from the IPAM pool.
- ipam
Pool StringId ID of the pool to which you want to assign a CIDR.
- disallowed
Cidrs List<String> Exclude a particular CIDR range from being returned by the pool.
- netmask
Length Integer Netmask length of the CIDR you would like to preview from the IPAM pool.
- ipam
Pool stringId ID of the pool to which you want to assign a CIDR.
- disallowed
Cidrs string[] Exclude a particular CIDR range from being returned by the pool.
- netmask
Length number Netmask length of the CIDR you would like to preview from the IPAM pool.
- ipam_
pool_ strid ID of the pool to which you want to assign a CIDR.
- disallowed_
cidrs Sequence[str] Exclude a particular CIDR range from being returned by the pool.
- netmask_
length int Netmask length of the CIDR you would like to preview from the IPAM pool.
- ipam
Pool StringId ID of the pool to which you want to assign a CIDR.
- disallowed
Cidrs List<String> Exclude a particular CIDR range from being returned by the pool.
- netmask
Length Number Netmask length of the CIDR you would like to preview from the IPAM pool.
getIpamPreviewNextCidr Result
The following output properties are available:
- Cidr string
Previewed CIDR from the pool.
- Id string
The provider-assigned unique ID for this managed resource.
- Ipam
Pool stringId - Disallowed
Cidrs List<string> - Netmask
Length int
- Cidr string
Previewed CIDR from the pool.
- Id string
The provider-assigned unique ID for this managed resource.
- Ipam
Pool stringId - Disallowed
Cidrs []string - Netmask
Length int
- cidr String
Previewed CIDR from the pool.
- id String
The provider-assigned unique ID for this managed resource.
- ipam
Pool StringId - disallowed
Cidrs List<String> - netmask
Length Integer
- cidr string
Previewed CIDR from the pool.
- id string
The provider-assigned unique ID for this managed resource.
- ipam
Pool stringId - disallowed
Cidrs string[] - netmask
Length number
- cidr str
Previewed CIDR from the pool.
- id str
The provider-assigned unique ID for this managed resource.
- ipam_
pool_ strid - disallowed_
cidrs Sequence[str] - netmask_
length int
- cidr String
Previewed CIDR from the pool.
- id String
The provider-assigned unique ID for this managed resource.
- ipam
Pool StringId - disallowed
Cidrs List<String> - netmask
Length Number
Package Details
- Repository
- AWS Classic pulumi/pulumi-aws
- License
- Apache-2.0
- Notes
This Pulumi package is based on the
aws
Terraform Provider.
Try AWS Native preview for resources not in the classic version.