1. Registry
  2. Packages
  3. Nsxt Provider
  4. API Docs
  5. getPolicyBaremetalServers
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 bare metal servers discovered by NSX with advanced server-side filtering capabilities including tag-based search, OS filtering, and regex support.

    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";
    
    // Get all bare metal servers
    const allServers = nsxt.getPolicyBaremetalServers({});
    // Filter by production environment using server-side tag filtering
    const prod = nsxt.getPolicyBaremetalServers({
        tagScope: "environment",
        tag: "production",
    });
    // Filter by OS name
    const redhat = nsxt.getPolicyBaremetalServers({
        osName: "redhat",
    });
    // Filter by display name using regex
    const webServers = nsxt.getPolicyBaremetalServers({
        displayName: "web-.*",
    });
    // Multiple filters
    const prodWeb = nsxt.getPolicyBaremetalServers({
        displayName: "web-.*",
        tagScope: "environment",
        tag: "production",
        osName: "ubuntu",
    });
    export const prodExternalIds = prod.then(prod => .map(s => (s.externalId)));
    
    import pulumi
    import pulumi_nsxt as nsxt
    
    # Get all bare metal servers
    all_servers = nsxt.get_policy_baremetal_servers()
    # Filter by production environment using server-side tag filtering
    prod = nsxt.get_policy_baremetal_servers(tag_scope="environment",
        tag="production")
    # Filter by OS name
    redhat = nsxt.get_policy_baremetal_servers(os_name="redhat")
    # Filter by display name using regex
    web_servers = nsxt.get_policy_baremetal_servers(display_name="web-.*")
    # Multiple filters
    prod_web = nsxt.get_policy_baremetal_servers(display_name="web-.*",
        tag_scope="environment",
        tag="production",
        os_name="ubuntu")
    pulumi.export("prodExternalIds", [s.external_id for s in prod.results])
    
    Example coming soon!
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Nsxt = Pulumi.Nsxt;
    
    return await Deployment.RunAsync(() => 
    {
        // Get all bare metal servers
        var allServers = Nsxt.GetPolicyBaremetalServers.Invoke();
    
        // Filter by production environment using server-side tag filtering
        var prod = Nsxt.GetPolicyBaremetalServers.Invoke(new()
        {
            TagScope = "environment",
            Tag = "production",
        });
    
        // Filter by OS name
        var redhat = Nsxt.GetPolicyBaremetalServers.Invoke(new()
        {
            OsName = "redhat",
        });
    
        // Filter by display name using regex
        var webServers = Nsxt.GetPolicyBaremetalServers.Invoke(new()
        {
            DisplayName = "web-.*",
        });
    
        // Multiple filters
        var prodWeb = Nsxt.GetPolicyBaremetalServers.Invoke(new()
        {
            DisplayName = "web-.*",
            TagScope = "environment",
            Tag = "production",
            OsName = "ubuntu",
        });
    
        return new Dictionary<string, object?>
        {
            ["prodExternalIds"] = .Select(s => 
            {
                return s.ExternalId;
            }).ToList(),
        };
    });
    
    Example coming soon!
    
    Example coming soon!
    
    Example coming soon!
    

    Using getPolicyBaremetalServers

    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 getPolicyBaremetalServers(args: GetPolicyBaremetalServersArgs, opts?: InvokeOptions): Promise<GetPolicyBaremetalServersResult>
    function getPolicyBaremetalServersOutput(args: GetPolicyBaremetalServersOutputArgs, opts?: InvokeOutputOptions): Output<GetPolicyBaremetalServersResult>
    def get_policy_baremetal_servers(display_name: Optional[str] = None,
                                     id: Optional[str] = None,
                                     os_name: Optional[str] = None,
                                     os_version: Optional[str] = None,
                                     source_id: Optional[str] = None,
                                     tag: Optional[str] = None,
                                     tag_scope: Optional[str] = None,
                                     opts: Optional[InvokeOptions] = None) -> GetPolicyBaremetalServersResult
    def get_policy_baremetal_servers_output(display_name: pulumi.Input[Optional[str]] = None,
                                     id: pulumi.Input[Optional[str]] = None,
                                     os_name: pulumi.Input[Optional[str]] = None,
                                     os_version: pulumi.Input[Optional[str]] = None,
                                     source_id: pulumi.Input[Optional[str]] = None,
                                     tag: pulumi.Input[Optional[str]] = None,
                                     tag_scope: pulumi.Input[Optional[str]] = None,
                                     opts: Optional[InvokeOutputOptions] = None) -> Output[GetPolicyBaremetalServersResult]
    func LookupPolicyBaremetalServers(ctx *Context, args *LookupPolicyBaremetalServersArgs, opts ...InvokeOption) (*LookupPolicyBaremetalServersResult, error)
    func LookupPolicyBaremetalServersOutput(ctx *Context, args *LookupPolicyBaremetalServersOutputArgs, opts ...InvokeOption) LookupPolicyBaremetalServersResultOutput

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

    public static class GetPolicyBaremetalServers 
    {
        public static Task<GetPolicyBaremetalServersResult> InvokeAsync(GetPolicyBaremetalServersArgs args, InvokeOptions? opts = null)
        public static Output<GetPolicyBaremetalServersResult> Invoke(GetPolicyBaremetalServersInvokeArgs args, InvokeOptions? opts = null)
        public static Output<GetPolicyBaremetalServersResult> Invoke(GetPolicyBaremetalServersInvokeArgs args, InvokeOutputOptions opts)
    }
    public static CompletableFuture<GetPolicyBaremetalServersResult> getPolicyBaremetalServers(GetPolicyBaremetalServersArgs args, InvokeOptions options)
    public static Output<GetPolicyBaremetalServersResult> getPolicyBaremetalServers(GetPolicyBaremetalServersArgs args, InvokeOptions options)
    public static Output<GetPolicyBaremetalServersResult> getPolicyBaremetalServers(GetPolicyBaremetalServersArgs args, InvokeOutputOptions options)
    
    fn::invoke:
      function: nsxt:index/getPolicyBaremetalServers:getPolicyBaremetalServers
      arguments:
        # arguments dictionary
    data "nsxt_get_policy_baremetal_servers" "name" {
        # arguments
    }

    The following arguments are supported:

    DisplayName string
    Regex pattern to filter bare metal servers by display name. Default is empty (no filtering).
    Id string
    ID of the data source.
    OsName string
    Filter by OS name (case-insensitive substring match). Default is empty (no filtering).
    OsVersion string
    Filter by OS version (case-insensitive substring match). Default is empty (no filtering).
    SourceId string
    Filter by source (bare metal controller) ID. Default is empty (no filtering).
    Tag string
    Filter by tag value. This filter is applied server-side for better performance. Default is empty (no filtering).
    TagScope string
    Filter by tag scope. This filter is applied server-side for better performance. Default is empty (no filtering).
    DisplayName string
    Regex pattern to filter bare metal servers by display name. Default is empty (no filtering).
    Id string
    ID of the data source.
    OsName string
    Filter by OS name (case-insensitive substring match). Default is empty (no filtering).
    OsVersion string
    Filter by OS version (case-insensitive substring match). Default is empty (no filtering).
    SourceId string
    Filter by source (bare metal controller) ID. Default is empty (no filtering).
    Tag string
    Filter by tag value. This filter is applied server-side for better performance. Default is empty (no filtering).
    TagScope string
    Filter by tag scope. This filter is applied server-side for better performance. Default is empty (no filtering).
    display_name string
    Regex pattern to filter bare metal servers by display name. Default is empty (no filtering).
    id string
    ID of the data source.
    os_name string
    Filter by OS name (case-insensitive substring match). Default is empty (no filtering).
    os_version string
    Filter by OS version (case-insensitive substring match). Default is empty (no filtering).
    source_id string
    Filter by source (bare metal controller) ID. Default is empty (no filtering).
    tag string
    Filter by tag value. This filter is applied server-side for better performance. Default is empty (no filtering).
    tag_scope string
    Filter by tag scope. This filter is applied server-side for better performance. Default is empty (no filtering).
    displayName String
    Regex pattern to filter bare metal servers by display name. Default is empty (no filtering).
    id String
    ID of the data source.
    osName String
    Filter by OS name (case-insensitive substring match). Default is empty (no filtering).
    osVersion String
    Filter by OS version (case-insensitive substring match). Default is empty (no filtering).
    sourceId String
    Filter by source (bare metal controller) ID. Default is empty (no filtering).
    tag String
    Filter by tag value. This filter is applied server-side for better performance. Default is empty (no filtering).
    tagScope String
    Filter by tag scope. This filter is applied server-side for better performance. Default is empty (no filtering).
    displayName string
    Regex pattern to filter bare metal servers by display name. Default is empty (no filtering).
    id string
    ID of the data source.
    osName string
    Filter by OS name (case-insensitive substring match). Default is empty (no filtering).
    osVersion string
    Filter by OS version (case-insensitive substring match). Default is empty (no filtering).
    sourceId string
    Filter by source (bare metal controller) ID. Default is empty (no filtering).
    tag string
    Filter by tag value. This filter is applied server-side for better performance. Default is empty (no filtering).
    tagScope string
    Filter by tag scope. This filter is applied server-side for better performance. Default is empty (no filtering).
    display_name str
    Regex pattern to filter bare metal servers by display name. Default is empty (no filtering).
    id str
    ID of the data source.
    os_name str
    Filter by OS name (case-insensitive substring match). Default is empty (no filtering).
    os_version str
    Filter by OS version (case-insensitive substring match). Default is empty (no filtering).
    source_id str
    Filter by source (bare metal controller) ID. Default is empty (no filtering).
    tag str
    Filter by tag value. This filter is applied server-side for better performance. Default is empty (no filtering).
    tag_scope str
    Filter by tag scope. This filter is applied server-side for better performance. Default is empty (no filtering).
    displayName String
    Regex pattern to filter bare metal servers by display name. Default is empty (no filtering).
    id String
    ID of the data source.
    osName String
    Filter by OS name (case-insensitive substring match). Default is empty (no filtering).
    osVersion String
    Filter by OS version (case-insensitive substring match). Default is empty (no filtering).
    sourceId String
    Filter by source (bare metal controller) ID. Default is empty (no filtering).
    tag String
    Filter by tag value. This filter is applied server-side for better performance. Default is empty (no filtering).
    tagScope String
    Filter by tag scope. This filter is applied server-side for better performance. Default is empty (no filtering).

    getPolicyBaremetalServers Result

    The following output properties are available:

    Id string
    ID of the data source.
    Results List<GetPolicyBaremetalServersResult>
    List of bare metal servers matching the criteria. Each server contains:
    DisplayName string
    Display name of the bare metal server.
    OsName string
    Operating system name.
    OsVersion string
    Operating system version.
    SourceId string
    Source ID of the bare metal server.
    Tag string
    Tag value.
    TagScope string
    Id string
    ID of the data source.
    Results []GetPolicyBaremetalServersResult
    List of bare metal servers matching the criteria. Each server contains:
    DisplayName string
    Display name of the bare metal server.
    OsName string
    Operating system name.
    OsVersion string
    Operating system version.
    SourceId string
    Source ID of the bare metal server.
    Tag string
    Tag value.
    TagScope string
    id string
    ID of the data source.
    results list(object)
    List of bare metal servers matching the criteria. Each server contains:
    display_name string
    Display name of the bare metal server.
    os_name string
    Operating system name.
    os_version string
    Operating system version.
    source_id string
    Source ID of the bare metal server.
    tag string
    Tag value.
    tag_scope string
    id String
    ID of the data source.
    results List<GetPolicyBaremetalServersResult>
    List of bare metal servers matching the criteria. Each server contains:
    displayName String
    Display name of the bare metal server.
    osName String
    Operating system name.
    osVersion String
    Operating system version.
    sourceId String
    Source ID of the bare metal server.
    tag String
    Tag value.
    tagScope String
    id string
    ID of the data source.
    results GetPolicyBaremetalServersResult[]
    List of bare metal servers matching the criteria. Each server contains:
    displayName string
    Display name of the bare metal server.
    osName string
    Operating system name.
    osVersion string
    Operating system version.
    sourceId string
    Source ID of the bare metal server.
    tag string
    Tag value.
    tagScope string
    id str
    ID of the data source.
    results Sequence[GetPolicyBaremetalServersResult]
    List of bare metal servers matching the criteria. Each server contains:
    display_name str
    Display name of the bare metal server.
    os_name str
    Operating system name.
    os_version str
    Operating system version.
    source_id str
    Source ID of the bare metal server.
    tag str
    Tag value.
    tag_scope str
    id String
    ID of the data source.
    results List<Property Map>
    List of bare metal servers matching the criteria. Each server contains:
    displayName String
    Display name of the bare metal server.
    osName String
    Operating system name.
    osVersion String
    Operating system version.
    sourceId String
    Source ID of the bare metal server.
    tag String
    Tag value.
    tagScope String

    Supporting Types

    GetPolicyBaremetalServersResult

    CpuCores double
    Number of CPU cores.
    DisplayName string
    Regex pattern to filter bare metal servers by display name. Default is empty (no filtering).
    ExternalId string
    External ID of the bare metal server.
    LastSyncTime double
    Last synchronization time.
    OsName string
    Filter by OS name (case-insensitive substring match). Default is empty (no filtering).
    OsVersion string
    Filter by OS version (case-insensitive substring match). Default is empty (no filtering).
    ResourceType string
    Resource type.
    SourceId string
    Filter by source (bare metal controller) ID. Default is empty (no filtering).
    Tags List<GetPolicyBaremetalServersResultTag>
    List of tags applied to the server. Each tag contains:
    CpuCores float64
    Number of CPU cores.
    DisplayName string
    Regex pattern to filter bare metal servers by display name. Default is empty (no filtering).
    ExternalId string
    External ID of the bare metal server.
    LastSyncTime float64
    Last synchronization time.
    OsName string
    Filter by OS name (case-insensitive substring match). Default is empty (no filtering).
    OsVersion string
    Filter by OS version (case-insensitive substring match). Default is empty (no filtering).
    ResourceType string
    Resource type.
    SourceId string
    Filter by source (bare metal controller) ID. Default is empty (no filtering).
    Tags []GetPolicyBaremetalServersResultTag
    List of tags applied to the server. Each tag contains:
    cpu_cores number
    Number of CPU cores.
    display_name string
    Regex pattern to filter bare metal servers by display name. Default is empty (no filtering).
    external_id string
    External ID of the bare metal server.
    last_sync_time number
    Last synchronization time.
    os_name string
    Filter by OS name (case-insensitive substring match). Default is empty (no filtering).
    os_version string
    Filter by OS version (case-insensitive substring match). Default is empty (no filtering).
    resource_type string
    Resource type.
    source_id string
    Filter by source (bare metal controller) ID. Default is empty (no filtering).
    tags list(object)
    List of tags applied to the server. Each tag contains:
    cpuCores Double
    Number of CPU cores.
    displayName String
    Regex pattern to filter bare metal servers by display name. Default is empty (no filtering).
    externalId String
    External ID of the bare metal server.
    lastSyncTime Double
    Last synchronization time.
    osName String
    Filter by OS name (case-insensitive substring match). Default is empty (no filtering).
    osVersion String
    Filter by OS version (case-insensitive substring match). Default is empty (no filtering).
    resourceType String
    Resource type.
    sourceId String
    Filter by source (bare metal controller) ID. Default is empty (no filtering).
    tags List<GetPolicyBaremetalServersResultTag>
    List of tags applied to the server. Each tag contains:
    cpuCores number
    Number of CPU cores.
    displayName string
    Regex pattern to filter bare metal servers by display name. Default is empty (no filtering).
    externalId string
    External ID of the bare metal server.
    lastSyncTime number
    Last synchronization time.
    osName string
    Filter by OS name (case-insensitive substring match). Default is empty (no filtering).
    osVersion string
    Filter by OS version (case-insensitive substring match). Default is empty (no filtering).
    resourceType string
    Resource type.
    sourceId string
    Filter by source (bare metal controller) ID. Default is empty (no filtering).
    tags GetPolicyBaremetalServersResultTag[]
    List of tags applied to the server. Each tag contains:
    cpu_cores float
    Number of CPU cores.
    display_name str
    Regex pattern to filter bare metal servers by display name. Default is empty (no filtering).
    external_id str
    External ID of the bare metal server.
    last_sync_time float
    Last synchronization time.
    os_name str
    Filter by OS name (case-insensitive substring match). Default is empty (no filtering).
    os_version str
    Filter by OS version (case-insensitive substring match). Default is empty (no filtering).
    resource_type str
    Resource type.
    source_id str
    Filter by source (bare metal controller) ID. Default is empty (no filtering).
    tags Sequence[GetPolicyBaremetalServersResultTag]
    List of tags applied to the server. Each tag contains:
    cpuCores Number
    Number of CPU cores.
    displayName String
    Regex pattern to filter bare metal servers by display name. Default is empty (no filtering).
    externalId String
    External ID of the bare metal server.
    lastSyncTime Number
    Last synchronization time.
    osName String
    Filter by OS name (case-insensitive substring match). Default is empty (no filtering).
    osVersion String
    Filter by OS version (case-insensitive substring match). Default is empty (no filtering).
    resourceType String
    Resource type.
    sourceId String
    Filter by source (bare metal controller) ID. Default is empty (no filtering).
    tags List<Property Map>
    List of tags applied to the server. Each tag contains:

    GetPolicyBaremetalServersResultTag

    Scope string
    Tag scope.
    Tag string
    Filter by tag value. This filter is applied server-side for better performance. Default is empty (no filtering).
    Scope string
    Tag scope.
    Tag string
    Filter by tag value. This filter is applied server-side for better performance. Default is empty (no filtering).
    scope string
    Tag scope.
    tag string
    Filter by tag value. This filter is applied server-side for better performance. Default is empty (no filtering).
    scope String
    Tag scope.
    tag String
    Filter by tag value. This filter is applied server-side for better performance. Default is empty (no filtering).
    scope string
    Tag scope.
    tag string
    Filter by tag value. This filter is applied server-side for better performance. Default is empty (no filtering).
    scope str
    Tag scope.
    tag str
    Filter by tag value. This filter is applied server-side for better performance. Default is empty (no filtering).
    scope String
    Tag scope.
    tag String
    Filter by tag value. This filter is applied server-side for better performance. Default is empty (no filtering).

    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