This discussion has been locked. The information referenced herein may be inaccurate due to age, software updates, or external references.
You can no longer post new replies to this discussion. If you have a similar question you can start a new discussion in this forum.

How to create dynamic query for application or interface based on node custom properties ?

Hi,

We like to create dynamic group for some specific interface or application.

We have already add custom properties to nodes and we like to use these properties to create interface and application group.

Node have a specific custom property: DeliveryGroup.

We are able to create a Group based on this custom property, however when we want to create an interface group we can only select interface custom properties.

Is there already a way to create a group of object (anything else node) based on node custom properties ?

Cheers

  • Unfortunately, not. Your requirement is the same as what was brought up here Create SAM group based on NPM custom properties

    The open feature request for this is

  • While you might not be able to do it through the GUI, I think you can do it through the API as that uses the navigation properties of SWQL.

    As this works:

    SELECT NodeID, InterfaceID, ObjectSubType, Name

    FROM Orion.NPM.Interfaces

    Where Interfaces.Node.CustomProperties.Building = 'ADS'

    Something like [perl snippet]

         $swis->Invoke("Orion.Container", "CreateContainer", [

                    "$sector $building interfaces",

                     "Core",

                     "60",

                     0,

                     "Group for $sector interfaces in $building",

                     "true",

                     SOAP::Data->type('xml' => "<ArrayOfMemberDefinitionInfo  xmlns='http://schemas.solarwinds.com/2008/Orion'><MemberDefinitionInfo><Name>$building interfaces</Name><Definition>filter:/Orion.Interfaces[Interfaces.Node.CustomProperties.Building='$building' AND Interfaces.Node.CustomProperties.Sector='$sector']</Definition></MemberDefinitionInfo></ArrayOfMemberDefinitionInfo>")]

                    );

          

    Might work.