Skip to content
DataMiner DoJo

More results...

Generic selectors
Exact matches only
Search in title
Search in content
Post Type Selectors
Search in posts
Search in pages
Search in posts
Search in pages
Log in
Menu
  • Blog
  • Questions
  • Learning
    • E-learning Courses
    • Open Classroom Training
    • Certification
      • DataMiner Fundamentals
      • DataMiner Configurator
      • DataMiner Automation
      • Scripts & Connectors Developer: HTTP Basics
      • Scripts & Connectors Developer: SNMP Basics
      • Visual Overview – Level 1
      • Verify a certificate
    • Tutorials
    • Video Library
    • Books We Like
    • >> Go to DataMiner Docs
  • Expert Center
    • Solutions & Use Cases
      • Solutions
      • Use Case Library
    • Markets & Industries
      • Media production
      • Government & defense
      • Content distribution
      • Service providers
      • Partners
      • OSS/BSS
    • DataMiner Insights
      • Security
      • Integration Studio
      • System Architecture
      • DataMiner Releases & Updates
      • DataMiner Apps
    • Agile
      • Agile Webspace
      • Everything Agile
        • The Agile Manifesto
        • Best Practices
        • Retro Recipes
      • Methodologies
        • The Scrum Framework
        • Kanban
        • Extreme Programming
      • Roles
        • The Product Owner
        • The Agile Coach
        • The Quality & UX Coach (QX)
    • DataMiner DevOps Professional Program
  • Downloads
  • More
    • Feature Suggestions
    • Climb the leaderboard!
    • Swag Shop
    • Contact
      • General Inquiries
      • DataMiner DevOps Support
      • Commercial Requests
    • Global Feedback Survey
  • PARTNERS
    • All Partners
    • Technology Partners
    • Strategic Partner Program
    • Deal Registration
  • >> Go to dataminer.services

Will the Classlibrary call “GetElements()” list elements on Agents that are unavailable?

Solved1.21K views1st September 2022class library DMSClass protocol
1
Thijs Vanovenacker [SLC] [DevOps Advocate]2.09K 1st September 2022 0 Comments

When using the ClassLibrary to figure out which elements have already been provisioned on the DMS:

IDms myDms = protocol.GetDms();
var allElements = myDms.GetElements();

Can someone tell me if this API call will then also list the elements that were created on a DataMiner that is temporarily unavailable? (for example when restarting one of the DataMiner Agents in a DMS, or Failover is ongoing, or a planned server maintenance is ongoing on some of the agents)

The scenario that I would like to cover is as follows:
Imagine a manager element or script is responsible to provision elements according to a repository list, and this sync-action happens on a timely based manner. I need to be sure that the API call to list the already created elements in the DMS will not wrongly assume elements don't exist in the case of an unavailable DataMiner agent.  Since that could mean the script or connector would try to recreate the same element again (now on another "active" agent).

In case this API call would only list the elements of the current active Agents, what would be the best solution for my use-case?
Can we detect first if all agents are up & running? Or are there other best practices you can think off?

Thanks!

Thijs Vanovenacker [SLC] [DevOps Advocate] Selected answer as best 1st September 2022

1 Answer

  • Active
  • Voted
  • Newest
  • Oldest
2
Miguel Obregon [SLC] [DevOps Catalyst]18.56K Posted 1st September 2022 1 Comment

Hi Thijs,

First of all, since you are talking about element provisioning, my first approach will be to use existing functionality provided by IDP. There are Process Automation activities that you could use to provision, update (re-apply), and delete elements.

That being said, after performing a small test I could find the following:

  • When an DMA in a cluster is stopped, the method GetElements() will still return all the elements in the cluster. The state of the elements hosted in the not-running DMA is Stopped
  • Before to perform any element provisioning you could check the state of the agents by using the method GetAgents(). This method will return all the DMAs in a cluster, regardless the state. You could use the property State to determine if an agent is running. The only problem I could find is that there is an exception when retrieving the agent name of a non-running agent. However, you could retrieve without problems the DMA ID and state of the agents
Thijs Vanovenacker [SLC] [DevOps Advocate] Posted new comment 1st September 2022
Thijs Vanovenacker [SLC] [DevOps Advocate] commented 1st September 2022

Awesome! Thanks Miguel. This is exactly the info I was looking for.
The question is related to an existing setup where the project already headed in a certain direction. I do agree IDP is the way forward for standard discovery and provisioning of the infrastructure monitoring along with the large features-set of IDP.

Please login to be able to comment or post an answer.

My DevOps rank

DevOps Members get more insights on their profile page.

My user earnings

0 Dojo credits

Spend your credits in our swag shop.

0 Reputation points

Boost your reputation, climb the leaderboard.

Promo banner DataMiner DevOps Professiona Program
DataMiner Integration Studio (DIS)
Empower Katas

Recent questions

Web Applications exception in Cube due to invalid certificate 0 Answers | 0 Votes
Redundancy Groups and Alarming – Duplicate Alarms 0 Answers | 0 Votes
Correlation Engine: “Test rule” doesn’t result in a hit, despite functional rule 1 Answer | 3 Votes

Question Tags

adl2099 (115) alarm (62) Alarm Console (82) alarms (100) alarm template (83) Automation (223) automation scipt (111) Automation script (167) backup (71) Cassandra (180) Connector (109) Correlation (69) Correlation rule (52) Cube (151) Dashboard (194) Dashboards (188) database (83) DataMiner Cube (57) DIS (81) DMS (71) DOM (140) driver (65) DVE (56) Elastic (83) Elasticsearch (115) elements (80) Failover (104) GQI (159) HTTP (76) IDP (74) LCA (152) low code app (166) low code apps (93) lowcodeapps (75) MySQL (53) protocol (203) QAction (83) security (88) SNMP (86) SRM (337) table (54) trending (87) upgrade (62) Visio (539) Visual Overview (345)
Privacy Policy • Terms & Conditions • Contact

© 2025 Skyline Communications. All rights reserved.

DOJO Q&A widget

Can't find what you need?

? Explore the Q&A DataMiner Docs

[ Placeholder content for popup link ] WordPress Download Manager - Best Download Management Plugin