Forum Discussion

Mathew's avatar
Mathew
Icon for Cirrus rankCirrus
Aug 13, 2023

F5-SDK

def createmonitor(Node_Val😞
     pool_monitor = Node_Val[5]
     monitor= mgmt.tm.ltm.monitor
     monitor.create (partition='Common',name = pool_monitor + "_https_monitor",)
 
I am trying to create a monitor using F5 SDK and its getting error
 
raise InvalidResource(error_message)
f5.sdk_exception.InvalidResource: Only Resources support 'create'.
 
Can anyone share the link to understand the issue or please help to understand this.
  • Hi Mathew, if wanting to stick with one-off simple imperative scripts...I'd use the bigrest library over the f5-sdk, which is no longer under development or community support. But to answer the question for others, assuming this is for an https monitor, it would look something like this:

        resource = mgmt_root.tm.ltm.monitor.https_s.https.create(
            name=temp_name, partition='Common')

    where mgmt_root is whatever you instantiated your session variable as.

    If you wanted to do this in bigrest, it'd be similar to what you posted:

    from bigrest.bigip import BIGIP
    br = BIGIP('ltm3.test.local', 'admin', 'admin', session_verify=False)
    
    data = {'name': 'monitor_object', ...additional required/optional key/value pairs}
    resource = br.create('/mgmt/tm/ltm/monitor/https', data)
    

    I just moved and don't have my lab up yet, so this is untested on both counts, but should be very close to what you want. Ping back if you need additional assistance.

    If you do want to do a more mature/robust approach, what Nikoolayy1 is suggesting is a great path forward.