published on Friday, Sep 11, 2026 by vmware
published on Friday, Sep 11, 2026 by vmware
This data source provides realization state information for a Policy Virtual Network Appliance resource on NSX Manager. It polls the per-appliance state endpoint until realization is determined as either success or a terminal error state. Use this data source when downstream configuration depends on a specific VNA node being fully realized.
This data source is available since NSX 9.1.1.
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as nsxt from "@pulumi/nsxt";
const example = new nsxt.PolicyVirtualNetworkAppliance("example", {
displayName: "example-vna",
clusterPath: exampleNsxtPolicyVirtualNetworkApplianceCluster.path,
hostname: "example-vna.example.com",
managementInterface: {
networkId: portgroupId,
ipAssignments: [{
dhcpV4: true,
}],
},
vmDeploymentConfig: {
computeManagerId: exampleNsxtComputeManager.id,
clusterOrResourcePoolId: exampleNsxtComputeCollection.cmLocalId,
datastoreId: datastoreId,
},
});
const wait = nsxt.getPolicyVirtualNetworkApplianceRealizationOutput({
path: example.path,
timeout: 1800,
});
import pulumi
import pulumi_nsxt as nsxt
example = nsxt.PolicyVirtualNetworkAppliance("example",
display_name="example-vna",
cluster_path=example_nsxt_policy_virtual_network_appliance_cluster["path"],
hostname="example-vna.example.com",
management_interface={
"network_id": portgroup_id,
"ip_assignments": [{
"dhcp_v4": True,
}],
},
vm_deployment_config={
"compute_manager_id": example_nsxt_compute_manager["id"],
"cluster_or_resource_pool_id": example_nsxt_compute_collection["cmLocalId"],
"datastore_id": datastore_id,
})
wait = nsxt.get_policy_virtual_network_appliance_realization_output(path=example.path,
timeout=1800)
package main
import (
"github.com/pulumi/pulumi-terraform-provider/sdks/go/nsxt/v3/nsxt"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
example, err := nsxt.NewPolicyVirtualNetworkAppliance(ctx, "example", &nsxt.PolicyVirtualNetworkApplianceArgs{
DisplayName: pulumi.String("example-vna"),
ClusterPath: pulumi.Any(exampleNsxtPolicyVirtualNetworkApplianceCluster.Path),
Hostname: pulumi.String("example-vna.example.com"),
ManagementInterface: &nsxt.PolicyVirtualNetworkApplianceManagementInterfaceArgs{
NetworkId: pulumi.Any(portgroupId),
IpAssignments: nsxt.PolicyVirtualNetworkApplianceManagementInterfaceIpAssignmentArray{
&nsxt.PolicyVirtualNetworkApplianceManagementInterfaceIpAssignmentArgs{
DhcpV4: pulumi.Bool(true),
},
},
},
VmDeploymentConfig: &nsxt.PolicyVirtualNetworkApplianceVmDeploymentConfigArgs{
ComputeManagerId: pulumi.Any(exampleNsxtComputeManager.Id),
ClusterOrResourcePoolId: pulumi.Any(exampleNsxtComputeCollection.CmLocalId),
DatastoreId: pulumi.Any(datastoreId),
},
})
if err != nil {
return err
}
_ = nsxt.GetPolicyVirtualNetworkApplianceRealizationOutput(ctx, nsxt.GetPolicyVirtualNetworkApplianceRealizationOutputArgs{
Path: example.Path,
Timeout: pulumi.Float64(1800),
}, nil)
return nil
})
}
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Nsxt = Pulumi.Nsxt;
return await Deployment.RunAsync(() =>
{
var example = new Nsxt.PolicyVirtualNetworkAppliance("example", new()
{
DisplayName = "example-vna",
ClusterPath = exampleNsxtPolicyVirtualNetworkApplianceCluster.Path,
Hostname = "example-vna.example.com",
ManagementInterface = new Nsxt.Inputs.PolicyVirtualNetworkApplianceManagementInterfaceArgs
{
NetworkId = portgroupId,
IpAssignments = new[]
{
new Nsxt.Inputs.PolicyVirtualNetworkApplianceManagementInterfaceIpAssignmentArgs
{
DhcpV4 = true,
},
},
},
VmDeploymentConfig = new Nsxt.Inputs.PolicyVirtualNetworkApplianceVmDeploymentConfigArgs
{
ComputeManagerId = exampleNsxtComputeManager.Id,
ClusterOrResourcePoolId = exampleNsxtComputeCollection.CmLocalId,
DatastoreId = datastoreId,
},
});
var wait = Nsxt.GetPolicyVirtualNetworkApplianceRealization.Invoke(new()
{
Path = example.Path,
Timeout = 1800,
});
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.nsxt.PolicyVirtualNetworkAppliance;
import com.pulumi.nsxt.PolicyVirtualNetworkApplianceArgs;
import com.pulumi.nsxt.inputs.PolicyVirtualNetworkApplianceManagementInterfaceArgs;
import com.pulumi.nsxt.inputs.PolicyVirtualNetworkApplianceVmDeploymentConfigArgs;
import com.pulumi.nsxt.NsxtFunctions;
import com.pulumi.nsxt.inputs.GetPolicyVirtualNetworkApplianceRealizationArgs;
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) {
var example = new PolicyVirtualNetworkAppliance("example", PolicyVirtualNetworkApplianceArgs.builder()
.displayName("example-vna")
.clusterPath(exampleNsxtPolicyVirtualNetworkApplianceCluster.path())
.hostname("example-vna.example.com")
.managementInterface(PolicyVirtualNetworkApplianceManagementInterfaceArgs.builder()
.networkId(portgroupId)
.ipAssignments(PolicyVirtualNetworkApplianceManagementInterfaceIpAssignmentArgs.builder()
.dhcpV4(true)
.build())
.build())
.vmDeploymentConfig(PolicyVirtualNetworkApplianceVmDeploymentConfigArgs.builder()
.computeManagerId(exampleNsxtComputeManager.id())
.clusterOrResourcePoolId(exampleNsxtComputeCollection.cmLocalId())
.datastoreId(datastoreId)
.build())
.build());
final var wait = NsxtFunctions.getPolicyVirtualNetworkApplianceRealization(GetPolicyVirtualNetworkApplianceRealizationArgs.builder()
.path(example.path())
.timeout(1800.0)
.build());
}
}
resources:
example:
type: nsxt:PolicyVirtualNetworkAppliance
properties:
displayName: example-vna
clusterPath: ${exampleNsxtPolicyVirtualNetworkApplianceCluster.path}
hostname: example-vna.example.com
managementInterface:
networkId: ${portgroupId}
ipAssignments:
- dhcpV4: true
vmDeploymentConfig:
computeManagerId: ${exampleNsxtComputeManager.id}
clusterOrResourcePoolId: ${exampleNsxtComputeCollection.cmLocalId}
datastoreId: ${datastoreId}
variables:
wait:
fn::invoke:
function: nsxt:getPolicyVirtualNetworkApplianceRealization
arguments:
path: ${example.path}
timeout: 1800
Example coming soon!
Using getPolicyVirtualNetworkApplianceRealization
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 getPolicyVirtualNetworkApplianceRealization(args: GetPolicyVirtualNetworkApplianceRealizationArgs, opts?: InvokeOptions): Promise<GetPolicyVirtualNetworkApplianceRealizationResult>
function getPolicyVirtualNetworkApplianceRealizationOutput(args: GetPolicyVirtualNetworkApplianceRealizationOutputArgs, opts?: InvokeOutputOptions): Output<GetPolicyVirtualNetworkApplianceRealizationResult>def get_policy_virtual_network_appliance_realization(delay: Optional[float] = None,
id: Optional[str] = None,
path: Optional[str] = None,
timeout: Optional[float] = None,
opts: Optional[InvokeOptions] = None) -> GetPolicyVirtualNetworkApplianceRealizationResult
def get_policy_virtual_network_appliance_realization_output(delay: pulumi.Input[Optional[float]] = None,
id: pulumi.Input[Optional[str]] = None,
path: pulumi.Input[Optional[str]] = None,
timeout: pulumi.Input[Optional[float]] = None,
opts: Optional[InvokeOutputOptions] = None) -> Output[GetPolicyVirtualNetworkApplianceRealizationResult]func GetPolicyVirtualNetworkApplianceRealization(ctx *Context, args *GetPolicyVirtualNetworkApplianceRealizationArgs, opts ...InvokeOption) (*GetPolicyVirtualNetworkApplianceRealizationResult, error)
func GetPolicyVirtualNetworkApplianceRealizationOutput(ctx *Context, args *GetPolicyVirtualNetworkApplianceRealizationOutputArgs, opts ...InvokeOption) GetPolicyVirtualNetworkApplianceRealizationResultOutput> Note: This function is named GetPolicyVirtualNetworkApplianceRealization in the Go SDK.
public static class GetPolicyVirtualNetworkApplianceRealization
{
public static Task<GetPolicyVirtualNetworkApplianceRealizationResult> InvokeAsync(GetPolicyVirtualNetworkApplianceRealizationArgs args, InvokeOptions? opts = null)
public static Output<GetPolicyVirtualNetworkApplianceRealizationResult> Invoke(GetPolicyVirtualNetworkApplianceRealizationInvokeArgs args, InvokeOptions? opts = null)
public static Output<GetPolicyVirtualNetworkApplianceRealizationResult> Invoke(GetPolicyVirtualNetworkApplianceRealizationInvokeArgs args, InvokeOutputOptions opts)
}public static CompletableFuture<GetPolicyVirtualNetworkApplianceRealizationResult> getPolicyVirtualNetworkApplianceRealization(GetPolicyVirtualNetworkApplianceRealizationArgs args, InvokeOptions options)
public static Output<GetPolicyVirtualNetworkApplianceRealizationResult> getPolicyVirtualNetworkApplianceRealization(GetPolicyVirtualNetworkApplianceRealizationArgs args, InvokeOptions options)
public static Output<GetPolicyVirtualNetworkApplianceRealizationResult> getPolicyVirtualNetworkApplianceRealization(GetPolicyVirtualNetworkApplianceRealizationArgs args, InvokeOutputOptions options)
fn::invoke:
function: nsxt:index/getPolicyVirtualNetworkApplianceRealization:getPolicyVirtualNetworkApplianceRealization
arguments:
# arguments dictionarydata "nsxt_get_policy_virtual_network_appliance_realization" "name" {
# arguments
}The following arguments are supported:
getPolicyVirtualNetworkApplianceRealization Result
The following output properties are available:
Package Details
- Repository
- nsxt vmware/terraform-provider-nsxt
- License
- Notes
- This Pulumi package is based on the
nsxtTerraform Provider.
published on Friday, Sep 11, 2026 by vmware