We do something similar. I have some scripts which check the info before I even try to model it in Spectrum, and get additional information such as device model, etc.
I have also written some logic config which determines which landscapes the device needs to be modelled on and then checks that both landscapes can actually poll the device based on some settings.
Container placement is also determined by different logic based on where the device add request is coming from. This is based mainly on naming standards.
The scripts were written that if the landscape allocation logic changes the devices will be moved to the new landscape and removed off the old one.
Once the device is added, we look for different information on the ifAlias to extract information such as circuit ID's etc. We also use this to set if we want Spectrum to monitor a particular interface on the device.
We use Spectrums Discover Connections and automatically monitor any connected devices as well.
Once a device is modelled, We do a lot of automated daily checks:
1. Check if there are any devices which have the 'DIFFERENT TYPE MODEL' alarms. These are deleted and re-modelled automagically as this indicates that the device was upgraded/changed out.
2. We also check to see that we are at least getting some traps. We assume we should get at least 1 trap a day if properly configured.
3. We also look for devices which are down for more than X days and query these with Networks
4. If a device is in Maintenance Mode and down for more than X days we also query it as sometimes our L1 engineers forget to take them out of maintenance mode.
5. Make sure we have recent configs for devices that are using NCM
6. Make sure the backups have run successfully, and that the landscapes are in sync.
7. Flag any 'Initial' state Models. We don't like the initial state for pingable model. This hardly happens but do the check anyway Empty containers also change to 'Initial' state so easy to delete these.
8. Check for any 'Unknown trap received' events so we can map them using Event Config.
9. We generate a lot of reports from Spectrum e.g. Different types of alarms, e.g. VNM related alarms (Spectrum operation) and other critical alarm types.
10. I have a random checker that does SNMP checks to see if the device in Spectrum has everything right. The random devices get taged so can't be chosen again unless every other device has been checked.
11. Scripts are also checking and alerting if any integration isn't working - like if we don't get a specific dump file when we expect to.
12. Using trap-based auto discovery to find devices not modelled (we hide the 'New Devices' container by using a 'Hidden' security string.
There's more but can't think of much more than that.