Hi everyone,
I received an error when trying to invoke the instance version of
enableMaintenance (below).
'TypeError: enableMaintenance() takes exactly 3 arguments (2 given)\n']
I looked at base.py and it has the following with regards to maintenance mode
for hosts:
def enableMaintenance(self, apiclient):
"""enables maintenance mode Host"""
cmd = prepareHostForMaintenance.prepareHostForMaintenanceCmd()
cmd.id = self.id
return apiclient.prepareHostForMaintenance(cmd)
@classmethod
def enableMaintenance(cls, apiclient, id):
"""enables maintenance mode Host"""
cmd = prepareHostForMaintenance.prepareHostForMaintenanceCmd()
cmd.id = id
return apiclient.prepareHostForMaintenance(cmd)
Now, I definitely have a lot more Java experience than Python, but - as far as
I know - having two methods with the same name such as this (even if one is an
instance method and the other is a class method) is not really "permitted" in
Python.
I mean, technically it's permitted, but the second one will override the first
one.
Can any of our Python people comment on this?
I was thinking I'd remove the class method (assuming my knowledge here
regarding this topic is correct).
Thanks!
Mike