Comments
-
sorry my PowerShell skills are beginner, and all the SolarWinds API work I've done has been in Python. Here's what I get back from invoking GetAllConnectionProfiles in Python: (scrubbed of course) a list of dictionaries, each one representing a Connection Profile, like this one: {'EnableLevel': '<No Enable Login>',…
-
hey Tdanner, now that we can trigger a config download, we also want to search configs. I see there is a verb ConfigSearch, but I can't find any reference info on the format of what we'll pass on when we invoke. I'm guessing it would look similar to what we're passing to DownloadConfig. Maybe something like this?…
-
Thanks tdanner!! Exactly the info I needed. Val
-
Hope I'm not stepping on any toes, but I went ahead and submitted a Feature Request: This is very important to our organization as well.
-
ok I'm definitely confusing things. Before I write a Python script to update the Nodes, I want to query them in SWQL Studio so I can see how many will be affected. And that's where I'm trying to use this WHERE clause (which originated from a TSQL script). SELECT Caption, DNS, SysName FROM Orion.Nodes WHERE CHARINDEX('.',…
-
Hopefully I'm not off base here, but it seems things may have changed a bit since this last post. I've recently figured out how to assign NCM Connection Profiles (thanks to tdanner) and now I'm working on assigning Device Templates. And we're successfully doing both via swis.update. Copying what davidvarnum has above, I'm…
-
sorry I probably confused this a bit. I used the reference to Alert Trigger condition to point out how I want to simulate the way you can use "Condition must exist for more than xx hours", but I need that in a query for a dashboard widget.
-
Here is a working copy of mine: interfacesPluginContext = { 'AutoImportStatus': ['Up'], # Also available: Down, Shutdown 'AutoImportVlanPortTypes': ['Trunk', 'Access', 'Unknown'], 'AutoImportVirtualTypes': ['Physical', 'Virtual'], # Also available: Unknown 'AutoImportExpressionFilter': [{'Prop': 'Name', 'Op': 'Regex',…
-
Bummer. Thanks for the quick reply though.
-
Just for confirmation, is it correct to say that there is not a way to assign NCM ConnectionProfiles with API? This would have to be done via direct SQL update? Thanks again
-
Similarly, we'd like to query the Last Config change time, along with the actual change. Seems like that is available via the UI and I'm hoping it's also available via API. This would be based on already knowing a particular NodeID. Thanks!! Val
-
That works OK, but we need to be able to search on a custom property. Not seeing how that can be done, but maybe we're missing something obvious? Thanks!!
-
Thank you Dan, that's just the info I needed!!
-
alexslv we would also very much like to review your 5 page run book. Is this something you are able to post yet?
-
here is an example of how to get the contents of a config in Python. It will contain escape sequence characters such as \r\n. But you should be able to remove those and then save the config text in your file format of choice. You'll need to get the ConfigID first (i.e. by searching) # the Config Search returns a value,…
-
I've been developing an automation script that tags nodes with a bunch of custom properties, then assigns custom pollers. It was working great until just now. After reading this post, I realized it's only because the custom poller has already been assigned (via the last time I tested the Python script). You mentioned in…
-
Our project scope has expanded and now we need the ability to use IP Ranges. tdanner can you help?
-
What's the best way to try and get some momentum behind the feature request? This is really a problem for us, not being able to automate UDT stuff.
-
also...what do you guys think about using a UnDP Transform? Like the ColumnSum, something like this: https://thwack.solarwinds.com/t5/NPM-Discussions/Transform-Undp-Table-Result-Sum/m-p/598918 I played with it just now, but couldn't figure out if it is able to sum values over time (or last records in the table)
-
sorry, I was hoping I wouldn't confuse what I'm looking for. I already know how to update Nodes via SWIS. I just showed the SQL syntax for reference. That SQL job, I want to do the same thing via API, and I'm just having issues with the WHERE clause.
-
hi Steven, After we get the NodeID's in a list, we'll modify custom properties for each node in the list. We came up with this earlier today and it does the trick. Let me know what you think: nodelist = swis.query("SELECT NodeID, Caption AS NodeName, IPAddress FROM Orion.Nodes WHERE Caption LIKE 'rtus00375%'")…
-
We use Python scripts to launch discovery via API and successfully get all the same functionality as we were previously doing in the UI. Here is the relevant part of the interfacesPluginContext: interfacesPluginContext = { 'AutoImportStatus': ['Up'], # Also available: Down, Shutdown 'AutoImportVlanPortTypes': ['Trunk',…
-
We are trying to edit the Forwardsyslog.trap file, using the SNMP Trap Editor tool. It's easy enough to use and add/modify lines. However, we are unable to make the tool use the modified SolarWinds-Traps.mib file. It seems we can only choose from .mib file that seems to be built in to the application. And that means we're…
-
That works for me - it comes back with a list of dictionaries with all the connection profile settings. It would be nice if we could get it from a table, but I'll take what I can get. Thank you tdanner!!
-
Thanks for the posts. I've read a little about NPM/NCM integration, but have been putting it off. I'll read this blog and maybe go ahead and set it up. Just realized that the title of my post says "notes" and it should be "nodes". Thanks again
-
sorry for the delay...had to put this on hold for a couple days. By the way, thanks for your help with this. We are already trying to use the approach of running discovery with AutoImport = False. I had the same assumption, that all the information about filtered interfaces would be available to ImportDiscoveryResults. But…
-
Thanks for the update. It seems like the account permission levels for NCM are just disregarded for API calls. We've also seen that an account with No NCM access can also invoke GetAllConnectionProfiles from Cirrus.Nodes and see all Connection Profile attributes - including the passwords.
-
I see what you mean. I recommend invoking the verb: GetAllConnectionProfiles Try this in Python: profiles = swis.invoke('Cirrus.Nodes', 'GetAllConnectionProfiles') Then print out the results and manipulate the data as needed. Cheers
-
Can someone provide a Python example for downloading a config from one or more nodes? I'm having a hard time translating the PowerShell examples I've seen. Would it look something like this? configProfile= { 'nodeId': 41, 'configType': Running } configx = swis.invoke('Cirrus.ConfigArchive', 'DownloadConfig',…
-
So I found out you can simply combine Bulkhosts, Subnets, and IPRanges in the corePluginContext. I've got this working with Bulklist and Subnets. For some reason it seems to be ignoring the IPRanges, and we're trying to figure out why that's not working. Fortunately, the current scope only requires Bulklist and Subnets so…