1. Packages
  2. Vcd Provider
  3. API Docs
  4. getIpSpace
vcd 3.14.1 published on Monday, Apr 14, 2025 by vmware

vcd.getIpSpace

Explore with Pulumi AI

Provides a data source to read IP Spaces. IP Spaces provide structured approach to allocating public and private IP addresses by preventing the use of overlapping IP addresses across organizations and organization VDCs.

IP Spaces require VCD 10.4.1+ with NSX-T.

Example Usage

Private IP Space Within An Org)

import * as pulumi from "@pulumi/pulumi";
import * as vcd from "@pulumi/vcd";

const space1 = vcd.getIpSpace({
    orgId: data.vcd_org.org1.id,
    name: "private-ip-space",
});
Copy
import pulumi
import pulumi_vcd as vcd

space1 = vcd.get_ip_space(org_id=data["vcd_org"]["org1"]["id"],
    name="private-ip-space")
Copy
package main

import (
	"github.com/pulumi/pulumi-terraform-provider/sdks/go/vcd/v3/vcd"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := vcd.LookupIpSpace(ctx, &vcd.LookupIpSpaceArgs{
			OrgId: pulumi.StringRef(data.Vcd_org.Org1.Id),
			Name:  "private-ip-space",
		}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}
Copy
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Vcd = Pulumi.Vcd;

return await Deployment.RunAsync(() => 
{
    var space1 = Vcd.GetIpSpace.Invoke(new()
    {
        OrgId = data.Vcd_org.Org1.Id,
        Name = "private-ip-space",
    });

});
Copy
package generated_program;

import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.vcd.VcdFunctions;
import com.pulumi.vcd.inputs.GetIpSpaceArgs;
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 space1 = VcdFunctions.getIpSpace(GetIpSpaceArgs.builder()
            .orgId(data.vcd_org().org1().id())
            .name("private-ip-space")
            .build());

    }
}
Copy
variables:
  space1:
    fn::invoke:
      function: vcd:getIpSpace
      arguments:
        orgId: ${data.vcd_org.org1.id}
        name: private-ip-space
Copy

Public Or Shared IP Space)

import * as pulumi from "@pulumi/pulumi";
import * as vcd from "@pulumi/vcd";

const space1 = vcd.getIpSpace({
    name: "public-or-shared-ip-space",
});
Copy
import pulumi
import pulumi_vcd as vcd

space1 = vcd.get_ip_space(name="public-or-shared-ip-space")
Copy
package main

import (
	"github.com/pulumi/pulumi-terraform-provider/sdks/go/vcd/v3/vcd"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := vcd.LookupIpSpace(ctx, &vcd.LookupIpSpaceArgs{
			Name: "public-or-shared-ip-space",
		}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}
Copy
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Vcd = Pulumi.Vcd;

return await Deployment.RunAsync(() => 
{
    var space1 = Vcd.GetIpSpace.Invoke(new()
    {
        Name = "public-or-shared-ip-space",
    });

});
Copy
package generated_program;

import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.vcd.VcdFunctions;
import com.pulumi.vcd.inputs.GetIpSpaceArgs;
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 space1 = VcdFunctions.getIpSpace(GetIpSpaceArgs.builder()
            .name("public-or-shared-ip-space")
            .build());

    }
}
Copy
variables:
  space1:
    fn::invoke:
      function: vcd:getIpSpace
      arguments:
        name: public-or-shared-ip-space
Copy

Using getIpSpace

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 getIpSpace(args: GetIpSpaceArgs, opts?: InvokeOptions): Promise<GetIpSpaceResult>
function getIpSpaceOutput(args: GetIpSpaceOutputArgs, opts?: InvokeOptions): Output<GetIpSpaceResult>
Copy
def get_ip_space(id: Optional[str] = None,
                 name: Optional[str] = None,
                 org_id: Optional[str] = None,
                 opts: Optional[InvokeOptions] = None) -> GetIpSpaceResult
def get_ip_space_output(id: Optional[pulumi.Input[str]] = None,
                 name: Optional[pulumi.Input[str]] = None,
                 org_id: Optional[pulumi.Input[str]] = None,
                 opts: Optional[InvokeOptions] = None) -> Output[GetIpSpaceResult]
Copy
func LookupIpSpace(ctx *Context, args *LookupIpSpaceArgs, opts ...InvokeOption) (*LookupIpSpaceResult, error)
func LookupIpSpaceOutput(ctx *Context, args *LookupIpSpaceOutputArgs, opts ...InvokeOption) LookupIpSpaceResultOutput
Copy

> Note: This function is named LookupIpSpace in the Go SDK.

public static class GetIpSpace 
{
    public static Task<GetIpSpaceResult> InvokeAsync(GetIpSpaceArgs args, InvokeOptions? opts = null)
    public static Output<GetIpSpaceResult> Invoke(GetIpSpaceInvokeArgs args, InvokeOptions? opts = null)
}
Copy
public static CompletableFuture<GetIpSpaceResult> getIpSpace(GetIpSpaceArgs args, InvokeOptions options)
public static Output<GetIpSpaceResult> getIpSpace(GetIpSpaceArgs args, InvokeOptions options)
Copy
fn::invoke:
  function: vcd:index/getIpSpace:getIpSpace
  arguments:
    # arguments dictionary
Copy

The following arguments are supported:

Name This property is required. string
The name of IP Space.
Id string
OrgId string
Org ID for Private IP Space.
Name This property is required. string
The name of IP Space.
Id string
OrgId string
Org ID for Private IP Space.
name This property is required. String
The name of IP Space.
id String
orgId String
Org ID for Private IP Space.
name This property is required. string
The name of IP Space.
id string
orgId string
Org ID for Private IP Space.
name This property is required. str
The name of IP Space.
id str
org_id str
Org ID for Private IP Space.
name This property is required. String
The name of IP Space.
id String
orgId String
Org ID for Private IP Space.

getIpSpace Result

The following output properties are available:

Supporting Types

GetIpSpaceIpPrefix

DefaultQuota This property is required. string
Prefixes This property is required. List<GetIpSpaceIpPrefixPrefix>
DefaultQuota This property is required. string
Prefixes This property is required. []GetIpSpaceIpPrefixPrefix
defaultQuota This property is required. String
prefixes This property is required. List<GetIpSpaceIpPrefixPrefix>
defaultQuota This property is required. string
prefixes This property is required. GetIpSpaceIpPrefixPrefix[]
default_quota This property is required. str
prefixes This property is required. Sequence[GetIpSpaceIpPrefixPrefix]
defaultQuota This property is required. String
prefixes This property is required. List<Property Map>

GetIpSpaceIpPrefixPrefix

FirstIp This property is required. string
Id This property is required. string
PrefixCount This property is required. string
PrefixLength This property is required. string
FirstIp This property is required. string
Id This property is required. string
PrefixCount This property is required. string
PrefixLength This property is required. string
firstIp This property is required. String
id This property is required. String
prefixCount This property is required. String
prefixLength This property is required. String
firstIp This property is required. string
id This property is required. string
prefixCount This property is required. string
prefixLength This property is required. string
first_ip This property is required. str
id This property is required. str
prefix_count This property is required. str
prefix_length This property is required. str
firstIp This property is required. String
id This property is required. String
prefixCount This property is required. String
prefixLength This property is required. String

GetIpSpaceIpRange

EndAddress This property is required. string
Id This property is required. string
StartAddress This property is required. string
EndAddress This property is required. string
Id This property is required. string
StartAddress This property is required. string
endAddress This property is required. String
id This property is required. String
startAddress This property is required. String
endAddress This property is required. string
id This property is required. string
startAddress This property is required. string
end_address This property is required. str
id This property is required. str
start_address This property is required. str
endAddress This property is required. String
id This property is required. String
startAddress This property is required. String

Package Details

Repository
vcd vmware/terraform-provider-vcd
License
Notes
This Pulumi package is based on the vcd Terraform Provider.