netaddr 0.5.1 published on Tuesday, Apr 15, 2025 by ferlab-ste-justine
netaddr.getRangeKeyspaceIpv4
Explore with Pulumi AI
netaddr 0.5.1 published on Tuesday, Apr 15, 2025 by ferlab-ste-justine
Retrieves the lower level keyspace details of an ipv4 addresses space. See github repo README for details about the keyspace
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as netaddr from "@pulumi/netaddr";
const testRangeIpv4 = netaddr.getRangeIpv4({
keyPrefix: "/test/ipv4/",
});
const testRangeKeyspaceIpv4 = testRangeIpv4.then(testRangeIpv4 => netaddr.getRangeKeyspaceIpv4({
rangeId: testRangeIpv4.id,
}));
export const firstAddress = testRangeKeyspaceIpv4.then(testRangeKeyspaceIpv4 => testRangeKeyspaceIpv4.firstAddress);
export const lastAddress = testRangeKeyspaceIpv4.then(testRangeKeyspaceIpv4 => testRangeKeyspaceIpv4.lastAddress);
export const nextAddress = testRangeKeyspaceIpv4.then(testRangeKeyspaceIpv4 => testRangeKeyspaceIpv4.nextAddress);
export const addresses = testRangeKeyspaceIpv4.then(testRangeKeyspaceIpv4 => testRangeKeyspaceIpv4.addresses);
export const generatedAddresses = testRangeKeyspaceIpv4.then(testRangeKeyspaceIpv4 => testRangeKeyspaceIpv4.generatedAddresses);
export const hardcodedAddresses = testRangeKeyspaceIpv4.then(testRangeKeyspaceIpv4 => testRangeKeyspaceIpv4.hardcodedAddresses);
export const deletedAddresses = testRangeKeyspaceIpv4.then(testRangeKeyspaceIpv4 => testRangeKeyspaceIpv4.deletedAddresses);
import pulumi
import pulumi_netaddr as netaddr
test_range_ipv4 = netaddr.get_range_ipv4(key_prefix="/test/ipv4/")
test_range_keyspace_ipv4 = netaddr.get_range_keyspace_ipv4(range_id=test_range_ipv4.id)
pulumi.export("firstAddress", test_range_keyspace_ipv4.first_address)
pulumi.export("lastAddress", test_range_keyspace_ipv4.last_address)
pulumi.export("nextAddress", test_range_keyspace_ipv4.next_address)
pulumi.export("addresses", test_range_keyspace_ipv4.addresses)
pulumi.export("generatedAddresses", test_range_keyspace_ipv4.generated_addresses)
pulumi.export("hardcodedAddresses", test_range_keyspace_ipv4.hardcoded_addresses)
pulumi.export("deletedAddresses", test_range_keyspace_ipv4.deleted_addresses)
package main
import (
"github.com/pulumi/pulumi-terraform-provider/sdks/go/netaddr/netaddr"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
testRangeIpv4, err := netaddr.LookupRangeIpv4(ctx, &netaddr.LookupRangeIpv4Args{
KeyPrefix: "/test/ipv4/",
}, nil)
if err != nil {
return err
}
testRangeKeyspaceIpv4, err := netaddr.GetRangeKeyspaceIpv4(ctx, &netaddr.GetRangeKeyspaceIpv4Args{
RangeId: testRangeIpv4.Id,
}, nil)
if err != nil {
return err
}
ctx.Export("firstAddress", testRangeKeyspaceIpv4.FirstAddress)
ctx.Export("lastAddress", testRangeKeyspaceIpv4.LastAddress)
ctx.Export("nextAddress", testRangeKeyspaceIpv4.NextAddress)
ctx.Export("addresses", testRangeKeyspaceIpv4.Addresses)
ctx.Export("generatedAddresses", testRangeKeyspaceIpv4.GeneratedAddresses)
ctx.Export("hardcodedAddresses", testRangeKeyspaceIpv4.HardcodedAddresses)
ctx.Export("deletedAddresses", testRangeKeyspaceIpv4.DeletedAddresses)
return nil
})
}
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Netaddr = Pulumi.Netaddr;
return await Deployment.RunAsync(() =>
{
var testRangeIpv4 = Netaddr.GetRangeIpv4.Invoke(new()
{
KeyPrefix = "/test/ipv4/",
});
var testRangeKeyspaceIpv4 = Netaddr.GetRangeKeyspaceIpv4.Invoke(new()
{
RangeId = testRangeIpv4.Apply(getRangeIpv4Result => getRangeIpv4Result.Id),
});
return new Dictionary<string, object?>
{
["firstAddress"] = testRangeKeyspaceIpv4.Apply(getRangeKeyspaceIpv4Result => getRangeKeyspaceIpv4Result.FirstAddress),
["lastAddress"] = testRangeKeyspaceIpv4.Apply(getRangeKeyspaceIpv4Result => getRangeKeyspaceIpv4Result.LastAddress),
["nextAddress"] = testRangeKeyspaceIpv4.Apply(getRangeKeyspaceIpv4Result => getRangeKeyspaceIpv4Result.NextAddress),
["addresses"] = testRangeKeyspaceIpv4.Apply(getRangeKeyspaceIpv4Result => getRangeKeyspaceIpv4Result.Addresses),
["generatedAddresses"] = testRangeKeyspaceIpv4.Apply(getRangeKeyspaceIpv4Result => getRangeKeyspaceIpv4Result.GeneratedAddresses),
["hardcodedAddresses"] = testRangeKeyspaceIpv4.Apply(getRangeKeyspaceIpv4Result => getRangeKeyspaceIpv4Result.HardcodedAddresses),
["deletedAddresses"] = testRangeKeyspaceIpv4.Apply(getRangeKeyspaceIpv4Result => getRangeKeyspaceIpv4Result.DeletedAddresses),
};
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.netaddr.NetaddrFunctions;
import com.pulumi.netaddr.inputs.GetRangeIpv4Args;
import com.pulumi.netaddr.inputs.GetRangeKeyspaceIpv4Args;
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 testRangeIpv4 = NetaddrFunctions.getRangeIpv4(GetRangeIpv4Args.builder()
.keyPrefix("/test/ipv4/")
.build());
final var testRangeKeyspaceIpv4 = NetaddrFunctions.getRangeKeyspaceIpv4(GetRangeKeyspaceIpv4Args.builder()
.rangeId(testRangeIpv4.applyValue(getRangeIpv4Result -> getRangeIpv4Result.id()))
.build());
ctx.export("firstAddress", testRangeKeyspaceIpv4.applyValue(getRangeKeyspaceIpv4Result -> getRangeKeyspaceIpv4Result.firstAddress()));
ctx.export("lastAddress", testRangeKeyspaceIpv4.applyValue(getRangeKeyspaceIpv4Result -> getRangeKeyspaceIpv4Result.lastAddress()));
ctx.export("nextAddress", testRangeKeyspaceIpv4.applyValue(getRangeKeyspaceIpv4Result -> getRangeKeyspaceIpv4Result.nextAddress()));
ctx.export("addresses", testRangeKeyspaceIpv4.applyValue(getRangeKeyspaceIpv4Result -> getRangeKeyspaceIpv4Result.addresses()));
ctx.export("generatedAddresses", testRangeKeyspaceIpv4.applyValue(getRangeKeyspaceIpv4Result -> getRangeKeyspaceIpv4Result.generatedAddresses()));
ctx.export("hardcodedAddresses", testRangeKeyspaceIpv4.applyValue(getRangeKeyspaceIpv4Result -> getRangeKeyspaceIpv4Result.hardcodedAddresses()));
ctx.export("deletedAddresses", testRangeKeyspaceIpv4.applyValue(getRangeKeyspaceIpv4Result -> getRangeKeyspaceIpv4Result.deletedAddresses()));
}
}
variables:
testRangeIpv4:
fn::invoke:
function: netaddr:getRangeIpv4
arguments:
keyPrefix: /test/ipv4/
testRangeKeyspaceIpv4:
fn::invoke:
function: netaddr:getRangeKeyspaceIpv4
arguments:
rangeId: ${testRangeIpv4.id}
outputs:
firstAddress: ${testRangeKeyspaceIpv4.firstAddress}
lastAddress: ${testRangeKeyspaceIpv4.lastAddress}
nextAddress: ${testRangeKeyspaceIpv4.nextAddress}
addresses: ${testRangeKeyspaceIpv4.addresses}
generatedAddresses: ${testRangeKeyspaceIpv4.generatedAddresses}
hardcodedAddresses: ${testRangeKeyspaceIpv4.hardcodedAddresses}
deletedAddresses: ${testRangeKeyspaceIpv4.deletedAddresses}
Using getRangeKeyspaceIpv4
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 getRangeKeyspaceIpv4(args: GetRangeKeyspaceIpv4Args, opts?: InvokeOptions): Promise<GetRangeKeyspaceIpv4Result>
function getRangeKeyspaceIpv4Output(args: GetRangeKeyspaceIpv4OutputArgs, opts?: InvokeOptions): Output<GetRangeKeyspaceIpv4Result>
def get_range_keyspace_ipv4(id: Optional[str] = None,
range_id: Optional[str] = None,
opts: Optional[InvokeOptions] = None) -> GetRangeKeyspaceIpv4Result
def get_range_keyspace_ipv4_output(id: Optional[pulumi.Input[str]] = None,
range_id: Optional[pulumi.Input[str]] = None,
opts: Optional[InvokeOptions] = None) -> Output[GetRangeKeyspaceIpv4Result]
func GetRangeKeyspaceIpv4(ctx *Context, args *GetRangeKeyspaceIpv4Args, opts ...InvokeOption) (*GetRangeKeyspaceIpv4Result, error)
func GetRangeKeyspaceIpv4Output(ctx *Context, args *GetRangeKeyspaceIpv4OutputArgs, opts ...InvokeOption) GetRangeKeyspaceIpv4ResultOutput
> Note: This function is named GetRangeKeyspaceIpv4
in the Go SDK.
public static class GetRangeKeyspaceIpv4
{
public static Task<GetRangeKeyspaceIpv4Result> InvokeAsync(GetRangeKeyspaceIpv4Args args, InvokeOptions? opts = null)
public static Output<GetRangeKeyspaceIpv4Result> Invoke(GetRangeKeyspaceIpv4InvokeArgs args, InvokeOptions? opts = null)
}
public static CompletableFuture<GetRangeKeyspaceIpv4Result> getRangeKeyspaceIpv4(GetRangeKeyspaceIpv4Args args, InvokeOptions options)
public static Output<GetRangeKeyspaceIpv4Result> getRangeKeyspaceIpv4(GetRangeKeyspaceIpv4Args args, InvokeOptions options)
fn::invoke:
function: netaddr:index/getRangeKeyspaceIpv4:getRangeKeyspaceIpv4
arguments:
# arguments dictionary
The following arguments are supported:
getRangeKeyspaceIpv4 Result
The following output properties are available:
- Addresses
List<Get
Range Keyspace Ipv4Address> - List of all addresses in the range.
- Deleted
Addresses List<GetRange Keyspace Ipv4Deleted Address> - List of all addresses that were deleted and are available to be reclaimed in the range.
- First
Address string - First assignable address in the range.
- Generated
Addresses List<GetRange Keyspace Ipv4Generated Address> - List of all addresses that are flagged as generated in the range.
- Hardcoded
Addresses List<GetRange Keyspace Ipv4Hardcoded Address> - List of all addresses that are flagged as hardcoded in the range.
- Id string
- The ID of this resource.
- Last
Address string - Last assignable address in the range.
- Next
Address string - Next assignable new address in the range.
- Range
Id string - Identifier of the address range to get the key space from.
- Addresses
[]Get
Range Keyspace Ipv4Address - List of all addresses in the range.
- Deleted
Addresses []GetRange Keyspace Ipv4Deleted Address - List of all addresses that were deleted and are available to be reclaimed in the range.
- First
Address string - First assignable address in the range.
- Generated
Addresses []GetRange Keyspace Ipv4Generated Address - List of all addresses that are flagged as generated in the range.
- Hardcoded
Addresses []GetRange Keyspace Ipv4Hardcoded Address - List of all addresses that are flagged as hardcoded in the range.
- Id string
- The ID of this resource.
- Last
Address string - Last assignable address in the range.
- Next
Address string - Next assignable new address in the range.
- Range
Id string - Identifier of the address range to get the key space from.
- addresses
List<Get
Range Keyspace Ipv4Address> - List of all addresses in the range.
- deleted
Addresses List<GetRange Keyspace Ipv4Deleted Address> - List of all addresses that were deleted and are available to be reclaimed in the range.
- first
Address String - First assignable address in the range.
- generated
Addresses List<GetRange Keyspace Ipv4Generated Address> - List of all addresses that are flagged as generated in the range.
- hardcoded
Addresses List<GetRange Keyspace Ipv4Hardcoded Address> - List of all addresses that are flagged as hardcoded in the range.
- id String
- The ID of this resource.
- last
Address String - Last assignable address in the range.
- next
Address String - Next assignable new address in the range.
- range
Id String - Identifier of the address range to get the key space from.
- addresses
Get
Range Keyspace Ipv4Address[] - List of all addresses in the range.
- deleted
Addresses GetRange Keyspace Ipv4Deleted Address[] - List of all addresses that were deleted and are available to be reclaimed in the range.
- first
Address string - First assignable address in the range.
- generated
Addresses GetRange Keyspace Ipv4Generated Address[] - List of all addresses that are flagged as generated in the range.
- hardcoded
Addresses GetRange Keyspace Ipv4Hardcoded Address[] - List of all addresses that are flagged as hardcoded in the range.
- id string
- The ID of this resource.
- last
Address string - Last assignable address in the range.
- next
Address string - Next assignable new address in the range.
- range
Id string - Identifier of the address range to get the key space from.
- addresses
Sequence[Get
Range Keyspace Ipv4Address] - List of all addresses in the range.
- deleted_
addresses Sequence[GetRange Keyspace Ipv4Deleted Address] - List of all addresses that were deleted and are available to be reclaimed in the range.
- first_
address str - First assignable address in the range.
- generated_
addresses Sequence[GetRange Keyspace Ipv4Generated Address] - List of all addresses that are flagged as generated in the range.
- hardcoded_
addresses Sequence[GetRange Keyspace Ipv4Hardcoded Address] - List of all addresses that are flagged as hardcoded in the range.
- id str
- The ID of this resource.
- last_
address str - Last assignable address in the range.
- next_
address str - Next assignable new address in the range.
- range_
id str - Identifier of the address range to get the key space from.
- addresses List<Property Map>
- List of all addresses in the range.
- deleted
Addresses List<Property Map> - List of all addresses that were deleted and are available to be reclaimed in the range.
- first
Address String - First assignable address in the range.
- generated
Addresses List<Property Map> - List of all addresses that are flagged as generated in the range.
- hardcoded
Addresses List<Property Map> - List of all addresses that are flagged as hardcoded in the range.
- id String
- The ID of this resource.
- last
Address String - Last assignable address in the range.
- next
Address String - Next assignable new address in the range.
- range
Id String - Identifier of the address range to get the key space from.
Supporting Types
GetRangeKeyspaceIpv4Address
GetRangeKeyspaceIpv4DeletedAddress
GetRangeKeyspaceIpv4GeneratedAddress
GetRangeKeyspaceIpv4HardcodedAddress
Package Details
- Repository
- netaddr ferlab-ste-justine/terraform-provider-netaddr
- License
- Notes
- This Pulumi package is based on the
netaddr
Terraform Provider.
netaddr 0.5.1 published on Tuesday, Apr 15, 2025 by ferlab-ste-justine