1. Registry
  2. Packages
  3. Nsxt Provider
  4. API Docs
  5. getPolicyGroupBaremetalServerInterfaceMembers
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 a way to list effective bare metal server interface members that belong to a specific NSX-T policy group. This API is applicable only for groups containing BMSI member type. For groups containing other member types, it returns an empty list.

    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";
    
    const example = nsxt.getPolicyGroupBaremetalServerInterfaceMembers({
        domain: "default",
        groupId: "bmsi-group-id",
    });
    export const bmsiMembers = example.then(example => example.items);
    
    import pulumi
    import pulumi_nsxt as nsxt
    
    example = nsxt.get_policy_group_baremetal_server_interface_members(domain="default",
        group_id="bmsi-group-id")
    pulumi.export("bmsiMembers", example.items)
    
    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.GetPolicyGroupBaremetalServerInterfaceMembers(ctx, &nsxt.GetPolicyGroupBaremetalServerInterfaceMembersArgs{
    			Domain:  pulumi.StringRef("default"),
    			GroupId: "bmsi-group-id",
    		}, nil)
    		if err != nil {
    			return err
    		}
    		ctx.Export("bmsiMembers", example.Items)
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Nsxt = Pulumi.Nsxt;
    
    return await Deployment.RunAsync(() => 
    {
        var example = Nsxt.GetPolicyGroupBaremetalServerInterfaceMembers.Invoke(new()
        {
            Domain = "default",
            GroupId = "bmsi-group-id",
        });
    
        return new Dictionary<string, object?>
        {
            ["bmsiMembers"] = example.Apply(getPolicyGroupBaremetalServerInterfaceMembersResult => getPolicyGroupBaremetalServerInterfaceMembersResult.Items),
        };
    });
    
    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.GetPolicyGroupBaremetalServerInterfaceMembersArgs;
    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 example = NsxtFunctions.getPolicyGroupBaremetalServerInterfaceMembers(GetPolicyGroupBaremetalServerInterfaceMembersArgs.builder()
                .domain("default")
                .groupId("bmsi-group-id")
                .build());
    
            ctx.export("bmsiMembers", example.items());
        }
    }
    
    variables:
      example:
        fn::invoke:
          function: nsxt:getPolicyGroupBaremetalServerInterfaceMembers
          arguments:
            domain: default
            groupId: bmsi-group-id
    outputs:
      bmsiMembers: ${example.items}
    
    Example coming soon!
    

    With Group Reference

    import * as pulumi from "@pulumi/pulumi";
    import * as nsxt from "@pulumi/nsxt";
    
    const bmsiGroup = new nsxt.PolicyGroup("bmsi_group", {
        displayName: "bmsi-static-group",
        description: "Group for bare metal server interfaces",
        groupType: "BareMetalServer",
        criterias: [{
            externalIdExpressions: [{
                memberType: "BareMetalServerInterface",
                externalIds: ["71be0142-2ed1-1d53-9c60-02005b4b7246"],
            }],
        }],
    });
    const bmsiMembers = nsxt.getPolicyGroupBaremetalServerInterfaceMembersOutput({
        domain: "default",
        groupId: bmsiGroup.policyGroupId,
    });
    
    import pulumi
    import pulumi_nsxt as nsxt
    
    bmsi_group = nsxt.PolicyGroup("bmsi_group",
        display_name="bmsi-static-group",
        description="Group for bare metal server interfaces",
        group_type="BareMetalServer",
        criterias=[{
            "external_id_expressions": [{
                "member_type": "BareMetalServerInterface",
                "external_ids": ["71be0142-2ed1-1d53-9c60-02005b4b7246"],
            }],
        }])
    bmsi_members = nsxt.get_policy_group_baremetal_server_interface_members_output(domain="default",
        group_id=bmsi_group.policy_group_id)
    
    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 {
    		bmsiGroup, err := nsxt.NewPolicyGroup(ctx, "bmsi_group", &nsxt.PolicyGroupArgs{
    			DisplayName: pulumi.String("bmsi-static-group"),
    			Description: pulumi.String("Group for bare metal server interfaces"),
    			GroupType:   pulumi.String("BareMetalServer"),
    			Criterias: nsxt.PolicyGroupCriteriaArray{
    				&nsxt.PolicyGroupCriteriaArgs{
    					ExternalIdExpressions: nsxt.PolicyGroupCriteriaExternalIdExpressionArray{
    						&nsxt.PolicyGroupCriteriaExternalIdExpressionArgs{
    							MemberType: pulumi.String("BareMetalServerInterface"),
    							ExternalIds: pulumi.StringArray{
    								pulumi.String("71be0142-2ed1-1d53-9c60-02005b4b7246"),
    							},
    						},
    					},
    				},
    			},
    		})
    		if err != nil {
    			return err
    		}
    		_ = nsxt.GetPolicyGroupBaremetalServerInterfaceMembersOutput(ctx, nsxt.GetPolicyGroupBaremetalServerInterfaceMembersOutputArgs{
    			Domain:  pulumi.String("default"),
    			GroupId: bmsiGroup.PolicyGroupId,
    		}, nil)
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Nsxt = Pulumi.Nsxt;
    
    return await Deployment.RunAsync(() => 
    {
        var bmsiGroup = new Nsxt.PolicyGroup("bmsi_group", new()
        {
            DisplayName = "bmsi-static-group",
            Description = "Group for bare metal server interfaces",
            GroupType = "BareMetalServer",
            Criterias = new[]
            {
                new Nsxt.Inputs.PolicyGroupCriteriaArgs
                {
                    ExternalIdExpressions = new[]
                    {
                        new Nsxt.Inputs.PolicyGroupCriteriaExternalIdExpressionArgs
                        {
                            MemberType = "BareMetalServerInterface",
                            ExternalIds = new[]
                            {
                                "71be0142-2ed1-1d53-9c60-02005b4b7246",
                            },
                        },
                    },
                },
            },
        });
    
        var bmsiMembers = Nsxt.GetPolicyGroupBaremetalServerInterfaceMembers.Invoke(new()
        {
            Domain = "default",
            GroupId = bmsiGroup.PolicyGroupId,
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.nsxt.PolicyGroup;
    import com.pulumi.nsxt.PolicyGroupArgs;
    import com.pulumi.nsxt.inputs.PolicyGroupCriteriaArgs;
    import com.pulumi.nsxt.NsxtFunctions;
    import com.pulumi.nsxt.inputs.GetPolicyGroupBaremetalServerInterfaceMembersArgs;
    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 bmsiGroup = new PolicyGroup("bmsiGroup", PolicyGroupArgs.builder()
                .displayName("bmsi-static-group")
                .description("Group for bare metal server interfaces")
                .groupType("BareMetalServer")
                .criterias(PolicyGroupCriteriaArgs.builder()
                    .externalIdExpressions(PolicyGroupCriteriaExternalIdExpressionArgs.builder()
                        .memberType("BareMetalServerInterface")
                        .externalIds("71be0142-2ed1-1d53-9c60-02005b4b7246")
                        .build())
                    .build())
                .build());
    
            final var bmsiMembers = NsxtFunctions.getPolicyGroupBaremetalServerInterfaceMembers(GetPolicyGroupBaremetalServerInterfaceMembersArgs.builder()
                .domain("default")
                .groupId(bmsiGroup.policyGroupId())
                .build());
    
        }
    }
    
    resources:
      bmsiGroup:
        type: nsxt:PolicyGroup
        name: bmsi_group
        properties:
          displayName: bmsi-static-group
          description: Group for bare metal server interfaces
          groupType: BareMetalServer
          criterias:
            - externalIdExpressions:
                - memberType: BareMetalServerInterface
                  externalIds:
                    - 71be0142-2ed1-1d53-9c60-02005b4b7246
    variables:
      bmsiMembers:
        fn::invoke:
          function: nsxt:getPolicyGroupBaremetalServerInterfaceMembers
          arguments:
            domain: default
            groupId: ${bmsiGroup.policyGroupId}
    
    Example coming soon!
    

    Using getPolicyGroupBaremetalServerInterfaceMembers

    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 getPolicyGroupBaremetalServerInterfaceMembers(args: GetPolicyGroupBaremetalServerInterfaceMembersArgs, opts?: InvokeOptions): Promise<GetPolicyGroupBaremetalServerInterfaceMembersResult>
    function getPolicyGroupBaremetalServerInterfaceMembersOutput(args: GetPolicyGroupBaremetalServerInterfaceMembersOutputArgs, opts?: InvokeOutputOptions): Output<GetPolicyGroupBaremetalServerInterfaceMembersResult>
    def get_policy_group_baremetal_server_interface_members(domain: Optional[str] = None,
                                                            enforcement_point_path: Optional[str] = None,
                                                            group_id: Optional[str] = None,
                                                            id: Optional[str] = None,
                                                            opts: Optional[InvokeOptions] = None) -> GetPolicyGroupBaremetalServerInterfaceMembersResult
    def get_policy_group_baremetal_server_interface_members_output(domain: pulumi.Input[Optional[str]] = None,
                                                            enforcement_point_path: pulumi.Input[Optional[str]] = None,
                                                            group_id: pulumi.Input[Optional[str]] = None,
                                                            id: pulumi.Input[Optional[str]] = None,
                                                            opts: Optional[InvokeOutputOptions] = None) -> Output[GetPolicyGroupBaremetalServerInterfaceMembersResult]
    func GetPolicyGroupBaremetalServerInterfaceMembers(ctx *Context, args *GetPolicyGroupBaremetalServerInterfaceMembersArgs, opts ...InvokeOption) (*GetPolicyGroupBaremetalServerInterfaceMembersResult, error)
    func GetPolicyGroupBaremetalServerInterfaceMembersOutput(ctx *Context, args *GetPolicyGroupBaremetalServerInterfaceMembersOutputArgs, opts ...InvokeOption) GetPolicyGroupBaremetalServerInterfaceMembersResultOutput

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

    public static class GetPolicyGroupBaremetalServerInterfaceMembers 
    {
        public static Task<GetPolicyGroupBaremetalServerInterfaceMembersResult> InvokeAsync(GetPolicyGroupBaremetalServerInterfaceMembersArgs args, InvokeOptions? opts = null)
        public static Output<GetPolicyGroupBaremetalServerInterfaceMembersResult> Invoke(GetPolicyGroupBaremetalServerInterfaceMembersInvokeArgs args, InvokeOptions? opts = null)
        public static Output<GetPolicyGroupBaremetalServerInterfaceMembersResult> Invoke(GetPolicyGroupBaremetalServerInterfaceMembersInvokeArgs args, InvokeOutputOptions opts)
    }
    public static CompletableFuture<GetPolicyGroupBaremetalServerInterfaceMembersResult> getPolicyGroupBaremetalServerInterfaceMembers(GetPolicyGroupBaremetalServerInterfaceMembersArgs args, InvokeOptions options)
    public static Output<GetPolicyGroupBaremetalServerInterfaceMembersResult> getPolicyGroupBaremetalServerInterfaceMembers(GetPolicyGroupBaremetalServerInterfaceMembersArgs args, InvokeOptions options)
    public static Output<GetPolicyGroupBaremetalServerInterfaceMembersResult> getPolicyGroupBaremetalServerInterfaceMembers(GetPolicyGroupBaremetalServerInterfaceMembersArgs args, InvokeOutputOptions options)
    
    fn::invoke:
      function: nsxt:index/getPolicyGroupBaremetalServerInterfaceMembers:getPolicyGroupBaremetalServerInterfaceMembers
      arguments:
        # arguments dictionary
    data "nsxt_get_policy_group_baremetal_server_interface_members" "name" {
        # arguments
    }

    The following arguments are supported:

    GroupId string
    ID of the group to read effective bare metal server interface members.
    Domain string
    Domain ID for the group. Defaults to "default".
    EnforcementPointPath string
    The path of the enforcement point from which the list of members needs to be fetched.
    Id string
    ID of the group.
    GroupId string
    ID of the group to read effective bare metal server interface members.
    Domain string
    Domain ID for the group. Defaults to "default".
    EnforcementPointPath string
    The path of the enforcement point from which the list of members needs to be fetched.
    Id string
    ID of the group.
    group_id string
    ID of the group to read effective bare metal server interface members.
    domain string
    Domain ID for the group. Defaults to "default".
    enforcement_point_path string
    The path of the enforcement point from which the list of members needs to be fetched.
    id string
    ID of the group.
    groupId String
    ID of the group to read effective bare metal server interface members.
    domain String
    Domain ID for the group. Defaults to "default".
    enforcementPointPath String
    The path of the enforcement point from which the list of members needs to be fetched.
    id String
    ID of the group.
    groupId string
    ID of the group to read effective bare metal server interface members.
    domain string
    Domain ID for the group. Defaults to "default".
    enforcementPointPath string
    The path of the enforcement point from which the list of members needs to be fetched.
    id string
    ID of the group.
    group_id str
    ID of the group to read effective bare metal server interface members.
    domain str
    Domain ID for the group. Defaults to "default".
    enforcement_point_path str
    The path of the enforcement point from which the list of members needs to be fetched.
    id str
    ID of the group.
    groupId String
    ID of the group to read effective bare metal server interface members.
    domain String
    Domain ID for the group. Defaults to "default".
    enforcementPointPath String
    The path of the enforcement point from which the list of members needs to be fetched.
    id String
    ID of the group.

    getPolicyGroupBaremetalServerInterfaceMembers Result

    The following output properties are available:

    GroupId string
    Id string
    ID of the group.
    Items List<GetPolicyGroupBaremetalServerInterfaceMembersItem>
    List of bare metal server interface members in the group.
    Domain string
    EnforcementPointPath string
    GroupId string
    Id string
    ID of the group.
    Items []GetPolicyGroupBaremetalServerInterfaceMembersItem
    List of bare metal server interface members in the group.
    Domain string
    EnforcementPointPath string
    group_id string
    id string
    ID of the group.
    items list(object)
    List of bare metal server interface members in the group.
    domain string
    enforcement_point_path string
    groupId String
    id String
    ID of the group.
    items List<GetPolicyGroupBaremetalServerInterfaceMembersItem>
    List of bare metal server interface members in the group.
    domain String
    enforcementPointPath String
    groupId string
    id string
    ID of the group.
    items GetPolicyGroupBaremetalServerInterfaceMembersItem[]
    List of bare metal server interface members in the group.
    domain string
    enforcementPointPath string
    group_id str
    id str
    ID of the group.
    items Sequence[GetPolicyGroupBaremetalServerInterfaceMembersItem]
    List of bare metal server interface members in the group.
    domain str
    enforcement_point_path str
    groupId String
    id String
    ID of the group.
    items List<Property Map>
    List of bare metal server interface members in the group.
    domain String
    enforcementPointPath String

    Supporting Types

    GetPolicyGroupBaremetalServerInterfaceMembersItem

    BmsExternalId string
    External ID of the parent bare metal server.
    DisplayName string
    Display name of the bare metal server interface.
    ExternalId string
    External ID of the bare metal server interface.
    IpAddresses List<string>
    List of IP addresses assigned to the interface.
    IsMgmtInterface bool
    Whether this is a management interface.
    LastSyncTime double
    Last synchronization time.
    MacAddress string
    MAC address of the interface.
    SourceId string
    Source ID of the bare metal server interface.
    State string
    State of the interface (e.g., "UP", "DOWN").
    BmsExternalId string
    External ID of the parent bare metal server.
    DisplayName string
    Display name of the bare metal server interface.
    ExternalId string
    External ID of the bare metal server interface.
    IpAddresses []string
    List of IP addresses assigned to the interface.
    IsMgmtInterface bool
    Whether this is a management interface.
    LastSyncTime float64
    Last synchronization time.
    MacAddress string
    MAC address of the interface.
    SourceId string
    Source ID of the bare metal server interface.
    State string
    State of the interface (e.g., "UP", "DOWN").
    bms_external_id string
    External ID of the parent bare metal server.
    display_name string
    Display name of the bare metal server interface.
    external_id string
    External ID of the bare metal server interface.
    ip_addresses list(string)
    List of IP addresses assigned to the interface.
    is_mgmt_interface bool
    Whether this is a management interface.
    last_sync_time number
    Last synchronization time.
    mac_address string
    MAC address of the interface.
    source_id string
    Source ID of the bare metal server interface.
    state string
    State of the interface (e.g., "UP", "DOWN").
    bmsExternalId String
    External ID of the parent bare metal server.
    displayName String
    Display name of the bare metal server interface.
    externalId String
    External ID of the bare metal server interface.
    ipAddresses List<String>
    List of IP addresses assigned to the interface.
    isMgmtInterface Boolean
    Whether this is a management interface.
    lastSyncTime Double
    Last synchronization time.
    macAddress String
    MAC address of the interface.
    sourceId String
    Source ID of the bare metal server interface.
    state String
    State of the interface (e.g., "UP", "DOWN").
    bmsExternalId string
    External ID of the parent bare metal server.
    displayName string
    Display name of the bare metal server interface.
    externalId string
    External ID of the bare metal server interface.
    ipAddresses string[]
    List of IP addresses assigned to the interface.
    isMgmtInterface boolean
    Whether this is a management interface.
    lastSyncTime number
    Last synchronization time.
    macAddress string
    MAC address of the interface.
    sourceId string
    Source ID of the bare metal server interface.
    state string
    State of the interface (e.g., "UP", "DOWN").
    bms_external_id str
    External ID of the parent bare metal server.
    display_name str
    Display name of the bare metal server interface.
    external_id str
    External ID of the bare metal server interface.
    ip_addresses Sequence[str]
    List of IP addresses assigned to the interface.
    is_mgmt_interface bool
    Whether this is a management interface.
    last_sync_time float
    Last synchronization time.
    mac_address str
    MAC address of the interface.
    source_id str
    Source ID of the bare metal server interface.
    state str
    State of the interface (e.g., "UP", "DOWN").
    bmsExternalId String
    External ID of the parent bare metal server.
    displayName String
    Display name of the bare metal server interface.
    externalId String
    External ID of the bare metal server interface.
    ipAddresses List<String>
    List of IP addresses assigned to the interface.
    isMgmtInterface Boolean
    Whether this is a management interface.
    lastSyncTime Number
    Last synchronization time.
    macAddress String
    MAC address of the interface.
    sourceId String
    Source ID of the bare metal server interface.
    state String
    State of the interface (e.g., "UP", "DOWN").

    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