0
votes

We use the SoftLayer API to setup and tear down development VM's and the automatic setup of the ping monitor for these VM's is sending us unneeded messages for their status. Is there way to remove the monitor for a given VM via the SoftLayer API, specifically, through python? I've looked through the docs and I'm not seeing a way to add/remove monitors.

1

1 Answers

0
votes

See this code

"""
Delete network monitoring

The script makes a single call to SoftLayer_Network_Monitor_Version1_Query_Host::deleteObject
method to delete the network monitoring for more information see below

Important manual pages:
http://sldn.softlayer.com/reference/services/SoftLayer_Network_Monitor_Version1_Query_Host
http://sldn.softlayer.com/reference/services/SoftLayer_Network_Monitor_Version1_Query_Host/deleteObject

License: http://sldn.softlayer.com/article/License
Author: SoftLayer Technologies, Inc. <[email protected]>
"""
import SoftLayer.API
from pprint import pprint as pp

# Your SoftLayer API username and key.
USERNAME = 'set me'
API_KEY = 'set me'

"""
The id of the network monitor you wish to delete
to get the network monitorings on your machine use this code:
virtualGuestService = client['SoftLayer_Virtual_Guest']
virtualGuestId =  7698842
networkMonitors = virtualGuestService.getNetworkMonitors(id = virtualGuestId)
print (networkMonitors)
"""
idNetworkMonitoringToDelete = 1738019

# Declare the API client
client = SoftLayer.Client(username=USERNAME, api_key=API_KEY)
networkMonitorVersionService = client['SoftLayer_Network_Monitor_Version1_Query_Host']

# Send the request to delete the object
try:
    result = networkMonitorVersionService.deleteObject(id=idNetworkMonitoringToDelete)
    pp(result)
except SoftLayer.SoftLayerAPIError as e:
    print("Unable to delete the network monitoring "
          % (e.faultCode, e.faultString))
    exit(1)