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

vcd logo
vcd 3.14.1 published on Monday, Apr 14, 2025 by vmware

    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",
    });
    
    import pulumi
    import pulumi_vcd as vcd
    
    space1 = vcd.get_ip_space(org_id=data["vcd_org"]["org1"]["id"],
        name="private-ip-space")
    
    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
    	})
    }
    
    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",
        });
    
    });
    
    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());
    
        }
    }
    
    variables:
      space1:
        fn::invoke:
          function: vcd:getIpSpace
          arguments:
            orgId: ${data.vcd_org.org1.id}
            name: private-ip-space
    

    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",
    });
    
    import pulumi
    import pulumi_vcd as vcd
    
    space1 = vcd.get_ip_space(name="public-or-shared-ip-space")
    
    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
    	})
    }
    
    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",
        });
    
    });
    
    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());
    
        }
    }
    
    variables:
      space1:
        fn::invoke:
          function: vcd:getIpSpace
          arguments:
            name: public-or-shared-ip-space
    

    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>
    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]
    func LookupIpSpace(ctx *Context, args *LookupIpSpaceArgs, opts ...InvokeOption) (*LookupIpSpaceResult, error)
    func LookupIpSpaceOutput(ctx *Context, args *LookupIpSpaceOutputArgs, opts ...InvokeOption) LookupIpSpaceResultOutput

    > 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)
    }
    public static CompletableFuture<GetIpSpaceResult> getIpSpace(GetIpSpaceArgs args, InvokeOptions options)
    public static Output<GetIpSpaceResult> getIpSpace(GetIpSpaceArgs args, InvokeOptions options)
    
    fn::invoke:
      function: vcd:index/getIpSpace:getIpSpace
      arguments:
        # arguments dictionary

    The following arguments are supported:

    Name string
    The name of IP Space.
    Id string
    OrgId string
    Org ID for Private IP Space.
    Name string
    The name of IP Space.
    Id string
    OrgId string
    Org ID for Private IP Space.
    name String
    The name of IP Space.
    id String
    orgId String
    Org ID for Private IP Space.
    name string
    The name of IP Space.
    id string
    orgId string
    Org ID for Private IP Space.
    name str
    The name of IP Space.
    id str
    org_id str
    Org ID for Private IP Space.
    name 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

    GetIpSpaceIpPrefixPrefix

    FirstIp string
    Id string
    PrefixCount string
    PrefixLength string
    FirstIp string
    Id string
    PrefixCount string
    PrefixLength string
    firstIp String
    id String
    prefixCount String
    prefixLength String
    firstIp string
    id string
    prefixCount string
    prefixLength string
    firstIp String
    id String
    prefixCount String
    prefixLength String

    GetIpSpaceIpRange

    EndAddress string
    Id string
    StartAddress string
    EndAddress string
    Id string
    StartAddress string
    endAddress String
    id String
    startAddress String
    endAddress string
    id string
    startAddress string
    endAddress String
    id String
    startAddress String

    Package Details

    Repository
    vcd vmware/terraform-provider-vcd
    License
    Notes
    This Pulumi package is based on the vcd Terraform Provider.
    vcd logo
    vcd 3.14.1 published on Monday, Apr 14, 2025 by vmware