published on Friday, Sep 11, 2026 by vmware
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 dictionarydata "nsxt_get_policy_baremetal_server" "name" {
# arguments
}The following arguments are supported:
- 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_idordisplay_namemust be specified. If usingdisplay_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.
- 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_idordisplay_namemust be specified. If usingdisplay_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.
- 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_idordisplay_namemust be specified. If usingdisplay_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.
- 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_idordisplay_namemust be specified. If usingdisplay_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.
- 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_idordisplay_namemust be specified. If usingdisplay_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.
- 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_idordisplay_namemust be specified. If usingdisplay_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.
- 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_idordisplay_namemust be specified. If usingdisplay_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.
getPolicyBaremetalServer Result
The following output properties are available:
- Cpu
Cores double - Number of CPU cores.
- Id string
- ID of the data source.
- Last
Sync doubleTime - 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.
-
List<Get
Policy Baremetal Server Tag> - List of tags applied to the server. Each tag contains:
- Display
Name string - External
Id string
- Cpu
Cores float64 - Number of CPU cores.
- Id string
- ID of the data source.
- Last
Sync float64Time - 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.
-
[]Get
Policy Baremetal Server Tag - List of tags applied to the server. Each tag contains:
- Display
Name string - External
Id string
- cpu_
cores number - Number of CPU cores.
- id string
- ID of the data source.
- last_
sync_ numbertime - 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.
- list(object)
- List of tags applied to the server. Each tag contains:
- display_
name string - external_
id string
- cpu
Cores Double - Number of CPU cores.
- id String
- ID of the data source.
- last
Sync DoubleTime - 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.
-
List<Get
Policy Baremetal Server Tag> - List of tags applied to the server. Each tag contains:
- display
Name String - external
Id String
- cpu
Cores number - Number of CPU cores.
- id string
- ID of the data source.
- last
Sync numberTime - 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.
-
Get
Policy Baremetal Server Tag[] - List of tags applied to the server. Each tag contains:
- display
Name string - external
Id string
- cpu_
cores float - Number of CPU cores.
- id str
- ID of the data source.
- last_
sync_ floattime - 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.
-
Sequence[Get
Policy Baremetal Server Tag] - List of tags applied to the server. Each tag contains:
- display_
name str - external_
id str
- cpu
Cores Number - Number of CPU cores.
- id String
- ID of the data source.
- last
Sync NumberTime - 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.
- List<Property Map>
- List of tags applied to the server. Each tag contains:
- display
Name String - external
Id String
Supporting Types
GetPolicyBaremetalServerTag
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