1. Registry
  2. Packages
  3. Nsxt Provider
  4. API Docs
  5. getPolicyBaremetalServer
Viewing docs for nsxt 3.12.1
published on Friday, Sep 11, 2026 by vmware
Viewing docs for nsxt 3.12.1
published on Friday, Sep 11, 2026 by vmware

    This data source provides information about a single bare metal server discovered by NSX. Use either external_id (exact match) or display_name (exact match returning exactly one result).

    This data source is applicable to NSX Policy Manager and requires NSX-T version 9.0.0 or higher (Bare Metal Server support)

    Example Usage

    import * as pulumi from "@pulumi/pulumi";
    import * as nsxt from "@pulumi/nsxt";
    
    // Find server by external ID
    const baremetalserver = nsxt.getPolicyBaremetalServer({
        externalId: "71be0142-2ed1-1d53-9c60-5564cf4b7e2e",
    });
    // Find server by display name (must return exactly one result)
    const webServer = nsxt.getPolicyBaremetalServer({
        displayName: "web-server-01",
    });
    // Use server information in other resources
    const serverTags = new nsxt.PolicyBaremetalServerTags("server_tags", {
        externalId: baremetalserver.then(baremetalserver => baremetalserver.externalId),
        tags: [{
            scope: "environment",
            tag: "production",
        }],
    });
    export const serverOs = Promise.all([baremetalserver, baremetalserver]).then(([baremetalserver, baremetalserver1]) => `${baremetalserver.osName} ${baremetalserver1.osVersion}`);
    
    import pulumi
    import pulumi_nsxt as nsxt
    
    # Find server by external ID
    baremetalserver = nsxt.get_policy_baremetal_server(external_id="71be0142-2ed1-1d53-9c60-5564cf4b7e2e")
    # Find server by display name (must return exactly one result)
    web_server = nsxt.get_policy_baremetal_server(display_name="web-server-01")
    # Use server information in other resources
    server_tags = nsxt.PolicyBaremetalServerTags("server_tags",
        external_id=baremetalserver.external_id,
        tags=[{
            "scope": "environment",
            "tag": "production",
        }])
    pulumi.export("serverOs", f"{baremetalserver.os_name} {baremetalserver.os_version}")
    
    package main
    
    import (
    	"fmt"
    
    	"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 {
    		// Find server by external ID
    		baremetalserver, err := nsxt.GetPolicyBaremetalServer(ctx, &nsxt.GetPolicyBaremetalServerArgs{
    			ExternalId: pulumi.StringRef("71be0142-2ed1-1d53-9c60-5564cf4b7e2e"),
    		}, nil)
    		if err != nil {
    			return err
    		}
    		// Find server by display name (must return exactly one result)
    		_, err = nsxt.GetPolicyBaremetalServer(ctx, &nsxt.GetPolicyBaremetalServerArgs{
    			DisplayName: pulumi.StringRef("web-server-01"),
    		}, nil)
    		if err != nil {
    			return err
    		}
    		// Use server information in other resources
    		_, err = nsxt.NewPolicyBaremetalServerTags(ctx, "server_tags", &nsxt.PolicyBaremetalServerTagsArgs{
    			ExternalId: pulumi.String(baremetalserver.ExternalId),
    			Tags: nsxt.PolicyBaremetalServerTagsTagArray{
    				&nsxt.PolicyBaremetalServerTagsTagArgs{
    					Scope: pulumi.String("environment"),
    					Tag:   pulumi.String("production"),
    				},
    			},
    		})
    		if err != nil {
    			return err
    		}
    		ctx.Export("serverOs", pulumi.Sprintf("%v %v", baremetalserver.OsName, baremetalserver.OsVersion))
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Nsxt = Pulumi.Nsxt;
    
    return await Deployment.RunAsync(() => 
    {
        // Find server by external ID
        var baremetalserver = Nsxt.GetPolicyBaremetalServer.Invoke(new()
        {
            ExternalId = "71be0142-2ed1-1d53-9c60-5564cf4b7e2e",
        });
    
        // Find server by display name (must return exactly one result)
        var webServer = Nsxt.GetPolicyBaremetalServer.Invoke(new()
        {
            DisplayName = "web-server-01",
        });
    
        // Use server information in other resources
        var serverTags = new Nsxt.PolicyBaremetalServerTags("server_tags", new()
        {
            ExternalId = baremetalserver.Apply(getPolicyBaremetalServerResult => getPolicyBaremetalServerResult.ExternalId),
            Tags = new[]
            {
                new Nsxt.Inputs.PolicyBaremetalServerTagsTagArgs
                {
                    Scope = "environment",
                    Tag = "production",
                },
            },
        });
    
        return new Dictionary<string, object?>
        {
            ["serverOs"] = Output.Tuple(baremetalserver, baremetalserver).Apply(values =>
            {
                var baremetalserver = values.Item1;
                var baremetalserver1 = values.Item2;
                return $"{baremetalserver.Apply(getPolicyBaremetalServerResult => getPolicyBaremetalServerResult.OsName)} {baremetalserver1.OsVersion}";
            }),
        };
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.nsxt.NsxtFunctions;
    import com.pulumi.nsxt.inputs.GetPolicyBaremetalServerArgs;
    import com.pulumi.nsxt.PolicyBaremetalServerTags;
    import com.pulumi.nsxt.PolicyBaremetalServerTagsArgs;
    import com.pulumi.nsxt.inputs.PolicyBaremetalServerTagsTagArgs;
    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) {
            // Find server by external ID
            final var baremetalserver = NsxtFunctions.getPolicyBaremetalServer(GetPolicyBaremetalServerArgs.builder()
                .externalId("71be0142-2ed1-1d53-9c60-5564cf4b7e2e")
                .build());
    
            // Find server by display name (must return exactly one result)
            final var webServer = NsxtFunctions.getPolicyBaremetalServer(GetPolicyBaremetalServerArgs.builder()
                .displayName("web-server-01")
                .build());
    
            // Use server information in other resources
            var serverTags = new PolicyBaremetalServerTags("serverTags", PolicyBaremetalServerTagsArgs.builder()
                .externalId(baremetalserver.externalId())
                .tags(PolicyBaremetalServerTagsTagArgs.builder()
                    .scope("environment")
                    .tag("production")
                    .build())
                .build());
    
            ctx.export("serverOs", String.format("%s %s", baremetalserver.osName(),baremetalserver.osVersion()));
        }
    }
    
    resources:
      # Use server information in other resources
      serverTags:
        type: nsxt:PolicyBaremetalServerTags
        name: server_tags
        properties:
          externalId: ${baremetalserver.externalId}
          tags:
            - scope: environment
              tag: production
    variables:
      # Find server by external ID
      baremetalserver:
        fn::invoke:
          function: nsxt:getPolicyBaremetalServer
          arguments:
            externalId: 71be0142-2ed1-1d53-9c60-5564cf4b7e2e
      # Find server by display name (must return exactly one result)
      webServer:
        fn::invoke:
          function: nsxt:getPolicyBaremetalServer
          arguments:
            displayName: web-server-01
    outputs:
      serverOs: ${baremetalserver.osName} ${baremetalserver.osVersion}
    
    Example coming soon!
    

    Using getPolicyBaremetalServer

    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 getPolicyBaremetalServer(args: GetPolicyBaremetalServerArgs, opts?: InvokeOptions): Promise<GetPolicyBaremetalServerResult>
    function getPolicyBaremetalServerOutput(args: GetPolicyBaremetalServerOutputArgs, opts?: InvokeOutputOptions): Output<GetPolicyBaremetalServerResult>
    def get_policy_baremetal_server(display_name: Optional[str] = None,
                                    external_id: Optional[str] = None,
                                    id: Optional[str] = None,
                                    opts: Optional[InvokeOptions] = None) -> GetPolicyBaremetalServerResult
    def get_policy_baremetal_server_output(display_name: pulumi.Input[Optional[str]] = None,
                                    external_id: pulumi.Input[Optional[str]] = None,
                                    id: pulumi.Input[Optional[str]] = None,
                                    opts: Optional[InvokeOutputOptions] = None) -> Output[GetPolicyBaremetalServerResult]
    func GetPolicyBaremetalServer(ctx *Context, args *GetPolicyBaremetalServerArgs, opts ...InvokeOption) (*GetPolicyBaremetalServerResult, error)
    func GetPolicyBaremetalServerOutput(ctx *Context, args *GetPolicyBaremetalServerOutputArgs, opts ...InvokeOption) GetPolicyBaremetalServerResultOutput

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

    public static class GetPolicyBaremetalServer 
    {
        public static Task<GetPolicyBaremetalServerResult> InvokeAsync(GetPolicyBaremetalServerArgs args, InvokeOptions? opts = null)
        public static Output<GetPolicyBaremetalServerResult> Invoke(GetPolicyBaremetalServerInvokeArgs args, InvokeOptions? opts = null)
        public static Output<GetPolicyBaremetalServerResult> Invoke(GetPolicyBaremetalServerInvokeArgs args, InvokeOutputOptions opts)
    }
    public static CompletableFuture<GetPolicyBaremetalServerResult> getPolicyBaremetalServer(GetPolicyBaremetalServerArgs args, InvokeOptions options)
    public static Output<GetPolicyBaremetalServerResult> getPolicyBaremetalServer(GetPolicyBaremetalServerArgs args, InvokeOptions options)
    public static Output<GetPolicyBaremetalServerResult> getPolicyBaremetalServer(GetPolicyBaremetalServerArgs args, InvokeOutputOptions options)
    
    fn::invoke:
      function: nsxt:index/getPolicyBaremetalServer:getPolicyBaremetalServer
      arguments:
        # arguments dictionary
    data "nsxt_get_policy_baremetal_server" "name" {
        # arguments
    }

    The following arguments are supported:

    DisplayName string

    Display name of the bare metal server for exact match lookup. Default is empty (must specify either external_id or display_name).

    Note: Either external_id or display_name must be specified. If using display_name, exactly one server must match.

    ExternalId string
    External ID of the bare metal server for exact match lookup. Default is empty (must specify either external_id or display_name).
    Id string
    ID of the data source.
    DisplayName string

    Display name of the bare metal server for exact match lookup. Default is empty (must specify either external_id or display_name).

    Note: Either external_id or display_name must be specified. If using display_name, exactly one server must match.

    ExternalId string
    External ID of the bare metal server for exact match lookup. Default is empty (must specify either external_id or display_name).
    Id string
    ID of the data source.
    display_name string

    Display name of the bare metal server for exact match lookup. Default is empty (must specify either external_id or display_name).

    Note: Either external_id or display_name must be specified. If using display_name, exactly one server must match.

    external_id string
    External ID of the bare metal server for exact match lookup. Default is empty (must specify either external_id or display_name).
    id string
    ID of the data source.
    displayName String

    Display name of the bare metal server for exact match lookup. Default is empty (must specify either external_id or display_name).

    Note: Either external_id or display_name must be specified. If using display_name, exactly one server must match.

    externalId String
    External ID of the bare metal server for exact match lookup. Default is empty (must specify either external_id or display_name).
    id String
    ID of the data source.
    displayName string

    Display name of the bare metal server for exact match lookup. Default is empty (must specify either external_id or display_name).

    Note: Either external_id or display_name must be specified. If using display_name, exactly one server must match.

    externalId string
    External ID of the bare metal server for exact match lookup. Default is empty (must specify either external_id or display_name).
    id string
    ID of the data source.
    display_name str

    Display name of the bare metal server for exact match lookup. Default is empty (must specify either external_id or display_name).

    Note: Either external_id or display_name must be specified. If using display_name, exactly one server must match.

    external_id str
    External ID of the bare metal server for exact match lookup. Default is empty (must specify either external_id or display_name).
    id str
    ID of the data source.
    displayName String

    Display name of the bare metal server for exact match lookup. Default is empty (must specify either external_id or display_name).

    Note: Either external_id or display_name must be specified. If using display_name, exactly one server must match.

    externalId String
    External ID of the bare metal server for exact match lookup. Default is empty (must specify either external_id or display_name).
    id String
    ID of the data source.

    getPolicyBaremetalServer Result

    The following output properties are available:

    CpuCores double
    Number of CPU cores.
    Id string
    ID of the data source.
    LastSyncTime double
    Last synchronization time.
    OsName string
    Operating system name.
    OsVersion string
    Operating system version.
    ResourceType string
    Resource type.
    SourceId string
    Source ID of the bare metal server.
    Tags List<GetPolicyBaremetalServerTag>
    List of tags applied to the server. Each tag contains:
    DisplayName string
    ExternalId string
    CpuCores float64
    Number of CPU cores.
    Id string
    ID of the data source.
    LastSyncTime float64
    Last synchronization time.
    OsName string
    Operating system name.
    OsVersion string
    Operating system version.
    ResourceType string
    Resource type.
    SourceId string
    Source ID of the bare metal server.
    Tags []GetPolicyBaremetalServerTag
    List of tags applied to the server. Each tag contains:
    DisplayName string
    ExternalId string
    cpu_cores number
    Number of CPU cores.
    id string
    ID of the data source.
    last_sync_time number
    Last synchronization time.
    os_name string
    Operating system name.
    os_version string
    Operating system version.
    resource_type string
    Resource type.
    source_id string
    Source ID of the bare metal server.
    tags list(object)
    List of tags applied to the server. Each tag contains:
    display_name string
    external_id string
    cpuCores Double
    Number of CPU cores.
    id String
    ID of the data source.
    lastSyncTime Double
    Last synchronization time.
    osName String
    Operating system name.
    osVersion String
    Operating system version.
    resourceType String
    Resource type.
    sourceId String
    Source ID of the bare metal server.
    tags List<GetPolicyBaremetalServerTag>
    List of tags applied to the server. Each tag contains:
    displayName String
    externalId String
    cpuCores number
    Number of CPU cores.
    id string
    ID of the data source.
    lastSyncTime number
    Last synchronization time.
    osName string
    Operating system name.
    osVersion string
    Operating system version.
    resourceType string
    Resource type.
    sourceId string
    Source ID of the bare metal server.
    tags GetPolicyBaremetalServerTag[]
    List of tags applied to the server. Each tag contains:
    displayName string
    externalId string
    cpu_cores float
    Number of CPU cores.
    id str
    ID of the data source.
    last_sync_time float
    Last synchronization time.
    os_name str
    Operating system name.
    os_version str
    Operating system version.
    resource_type str
    Resource type.
    source_id str
    Source ID of the bare metal server.
    tags Sequence[GetPolicyBaremetalServerTag]
    List of tags applied to the server. Each tag contains:
    display_name str
    external_id str
    cpuCores Number
    Number of CPU cores.
    id String
    ID of the data source.
    lastSyncTime Number
    Last synchronization time.
    osName String
    Operating system name.
    osVersion String
    Operating system version.
    resourceType String
    Resource type.
    sourceId String
    Source ID of the bare metal server.
    tags List<Property Map>
    List of tags applied to the server. Each tag contains:
    displayName String
    externalId String

    Supporting Types

    GetPolicyBaremetalServerTag

    Scope string
    Tag scope.
    Tag string
    Tag value.
    Scope string
    Tag scope.
    Tag string
    Tag value.
    scope string
    Tag scope.
    tag string
    Tag value.
    scope String
    Tag scope.
    tag String
    Tag value.
    scope string
    Tag scope.
    tag string
    Tag value.
    scope str
    Tag scope.
    tag str
    Tag value.
    scope String
    Tag scope.
    tag String
    Tag value.

    Package Details

    Repository
    nsxt vmware/terraform-provider-nsxt
    License
    Notes
    This Pulumi package is based on the nsxt Terraform Provider.
    Viewing docs for nsxt 3.12.1
    published on Friday, Sep 11, 2026 by vmware

      Try Pulumi Cloud free.
      Your team will thank you.

      Start free trial