getIpamIpamPools

This data source provides Vpc Ipam Ipam Pool available to the user.What is Ipam Pool

NOTE: Available since v1.241.0.

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as alicloud from "@pulumi/alicloud";
const config = new pulumi.Config();
const name = config.get("name") || "terraform-example";
const _default = alicloud.resourcemanager.getResourceGroups({});
const defaultIpam = new alicloud.vpc.IpamIpam("defaultIpam", {operatingRegionLists: ["cn-hangzhou"]});
const parentIpamPool = new alicloud.vpc.IpamIpamPool("parentIpamPool", {
ipamScopeId: defaultIpam.privateDefaultScopeId,
poolRegionId: "cn-hangzhou",
});
const defaultIpamIpamPool = new alicloud.vpc.IpamIpamPool("default", {
ipamScopeId: defaultIpam.privateDefaultScopeId,
poolRegionId: parentIpamPool.poolRegionId,
ipamPoolName: name,
sourceIpamPoolId: parentIpamPool.id,
ipVersion: "IPv4",
ipamPoolDescription: name,
});
const defaultGetIpamIpamPools = alicloud.vpc.getIpamIpamPools({
nameRegex: defaultIpamIpamPool.name,
});
export const alicloudVpcIpamIpamPoolExampleId = defaultGetIpamIpamPools.then(defaultGetIpamIpamPools => defaultGetIpamIpamPools.pools?.[0]?.id);
import pulumi
import pulumi_alicloud as alicloud
config = pulumi.Config()
name = config.get("name")
if name is None:
name = "terraform-example"
default = alicloud.resourcemanager.get_resource_groups()
default_ipam = alicloud.vpc.IpamIpam("defaultIpam", operating_region_lists=["cn-hangzhou"])
parent_ipam_pool = alicloud.vpc.IpamIpamPool("parentIpamPool",
ipam_scope_id=default_ipam.private_default_scope_id,
pool_region_id="cn-hangzhou")
default_ipam_ipam_pool = alicloud.vpc.IpamIpamPool("default",
ipam_scope_id=default_ipam.private_default_scope_id,
pool_region_id=parent_ipam_pool.pool_region_id,
ipam_pool_name=name,
source_ipam_pool_id=parent_ipam_pool.id,
ip_version="IPv4",
ipam_pool_description=name)
default_get_ipam_ipam_pools = alicloud.vpc.get_ipam_ipam_pools(name_regex=default_ipam_ipam_pool.name)
pulumi.export("alicloudVpcIpamIpamPoolExampleId", default_get_ipam_ipam_pools.pools[0].id)
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AliCloud = Pulumi.AliCloud;
return await Deployment.RunAsync(() =>
{
var config = new Config();
var name = config.Get("name") ?? "terraform-example";
var @default = AliCloud.ResourceManager.GetResourceGroups.Invoke();
var defaultIpam = new AliCloud.Vpc.IpamIpam("defaultIpam", new()
{
OperatingRegionLists = new[]
{
"cn-hangzhou",
},
});
var parentIpamPool = new AliCloud.Vpc.IpamIpamPool("parentIpamPool", new()
{
IpamScopeId = defaultIpam.PrivateDefaultScopeId,
PoolRegionId = "cn-hangzhou",
});
var defaultIpamIpamPool = new AliCloud.Vpc.IpamIpamPool("default", new()
{
IpamScopeId = defaultIpam.PrivateDefaultScopeId,
PoolRegionId = parentIpamPool.PoolRegionId,
IpamPoolName = name,
SourceIpamPoolId = parentIpamPool.Id,
IpVersion = "IPv4",
IpamPoolDescription = name,
});
var defaultGetIpamIpamPools = AliCloud.Vpc.GetIpamIpamPools.Invoke(new()
{
NameRegex = defaultIpamIpamPool.Name,
});
return new Dictionary<string, object?>
{
["alicloudVpcIpamIpamPoolExampleId"] = defaultGetIpamIpamPools&#46;Apply(getIpamIpamPoolsResult => getIpamIpamPoolsResult&#46;Pools[0]?.Id),
};
});
package main
import (
"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/resourcemanager"
"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
cfg := config.New(ctx, "")
name := "terraform-example"
if param := cfg.Get("name"); param != "" {
name = param
}
_, err := resourcemanager.GetResourceGroups(ctx, &resourcemanager.GetResourceGroupsArgs{}, nil)
if err != nil {
return err
}
defaultIpam, err := vpc.NewIpamIpam(ctx, "defaultIpam", &vpc.IpamIpamArgs{
OperatingRegionLists: pulumi.StringArray{
pulumi.String("cn-hangzhou"),
},
})
if err != nil {
return err
}
parentIpamPool, err := vpc.NewIpamIpamPool(ctx, "parentIpamPool", &vpc.IpamIpamPoolArgs{
IpamScopeId: defaultIpam.PrivateDefaultScopeId,
PoolRegionId: pulumi.String("cn-hangzhou"),
})
if err != nil {
return err
}
defaultIpamIpamPool, err := vpc.NewIpamIpamPool(ctx, "default", &vpc.IpamIpamPoolArgs{
IpamScopeId: defaultIpam.PrivateDefaultScopeId,
PoolRegionId: parentIpamPool.PoolRegionId,
IpamPoolName: pulumi.String(name),
SourceIpamPoolId: parentIpamPool.ID(),
IpVersion: pulumi.String("IPv4"),
IpamPoolDescription: pulumi.String(name),
})
if err != nil {
return err
}
defaultGetIpamIpamPools, err := vpc.GetIpamIpamPools(ctx, &vpc.GetIpamIpamPoolsArgs{
NameRegex: pulumi.StringRef(defaultIpamIpamPool.Name),
}, nil)
if err != nil {
return err
}
ctx.Export("alicloudVpcIpamIpamPoolExampleId", defaultGetIpamIpamPools.Pools[0].Id)
return nil
})
}
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.alicloud.resourcemanager.ResourcemanagerFunctions;
import com.pulumi.alicloud.resourcemanager.inputs.GetResourceGroupsArgs;
import com.pulumi.alicloud.vpc.IpamIpam;
import com.pulumi.alicloud.vpc.IpamIpamArgs;
import com.pulumi.alicloud.vpc.IpamIpamPool;
import com.pulumi.alicloud.vpc.IpamIpamPoolArgs;
import com.pulumi.alicloud.vpc.VpcFunctions;
import com.pulumi.alicloud.vpc.inputs.GetIpamIpamPoolsArgs;
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 config = ctx.config();
final var name = config.get("name").orElse("terraform-example");
final var default = ResourcemanagerFunctions.getResourceGroups(GetResourceGroupsArgs.builder()
.build());
var defaultIpam = new IpamIpam("defaultIpam", IpamIpamArgs.builder()
.operatingRegionLists("cn-hangzhou")
.build());
var parentIpamPool = new IpamIpamPool("parentIpamPool", IpamIpamPoolArgs.builder()
.ipamScopeId(defaultIpam.privateDefaultScopeId())
.poolRegionId("cn-hangzhou")
.build());
var defaultIpamIpamPool = new IpamIpamPool("defaultIpamIpamPool", IpamIpamPoolArgs.builder()
.ipamScopeId(defaultIpam.privateDefaultScopeId())
.poolRegionId(parentIpamPool.poolRegionId())
.ipamPoolName(name)
.sourceIpamPoolId(parentIpamPool.id())
.ipVersion("IPv4")
.ipamPoolDescription(name)
.build());
final var defaultGetIpamIpamPools = VpcFunctions.getIpamIpamPools(GetIpamIpamPoolsArgs.builder()
.nameRegex(defaultIpamIpamPool.name())
.build());
ctx.export("alicloudVpcIpamIpamPoolExampleId", defaultGetIpamIpamPools.pools()[0].id());
}
}
configuration:
name:
type: string
default: terraform-example
resources:
defaultIpam:
type: alicloud:vpc:IpamIpam
properties:
operatingRegionLists:
- cn-hangzhou
parentIpamPool:
type: alicloud:vpc:IpamIpamPool
properties:
ipamScopeId: ${defaultIpam.privateDefaultScopeId}
poolRegionId: cn-hangzhou
defaultIpamIpamPool:
type: alicloud:vpc:IpamIpamPool
name: default
properties:
ipamScopeId: ${defaultIpam.privateDefaultScopeId}
poolRegionId: ${parentIpamPool.poolRegionId}
ipamPoolName: ${name}
sourceIpamPoolId: ${parentIpamPool.id}
ipVersion: IPv4
ipamPoolDescription: ${name}
variables:
default:
fn::invoke:
function: alicloud:resourcemanager:getResourceGroups
arguments: {}
defaultGetIpamIpamPools:
fn::invoke:
function: alicloud:vpc:getIpamIpamPools
arguments:
nameRegex: ${defaultIpamIpamPool.name}
outputs:
alicloudVpcIpamIpamPoolExampleId: ${defaultGetIpamIpamPools.pools[0].id}

Return

A collection of values returned by getIpamIpamPools.

Parameters

argument

A collection of arguments for invoking getIpamIpamPools.


suspend fun getIpamIpamPools(ids: List<String>? = null, ipamPoolId: String? = null, ipamPoolName: String? = null, ipamScopeId: String? = null, nameRegex: String? = null, outputFile: String? = null, poolRegionId: String? = null, resourceGroupId: String? = null, sourceIpamPoolId: String? = null, tags: Map<String, String>? = null): GetIpamIpamPoolsResult

Return

A collection of values returned by getIpamIpamPools.

Parameters

ids

A list of Ipam Pool IDs.

ipamPoolId

The first ID of the resource.

ipamPoolName

The name of the resource.

ipamScopeId

Ipam scope id.

nameRegex

A regex string to filter results by Group Metric Rule name.

outputFile

File name where to save data source results (after running pulumi preview).

poolRegionId

The effective region of the IPAM address pool.

resourceGroupId

The ID of the resource group.

sourceIpamPoolId

The instance ID of the source IPAM address pool.> If this parameter is not entered, the created address pool is the parent address pool.

tags

The tag of the resource.

See also


Return

A collection of values returned by getIpamIpamPools.

Parameters

argument

Builder for com.pulumi.alicloud.vpc.kotlin.inputs.GetIpamIpamPoolsPlainArgs.

See also