from PLC.Parameter import Parameter, Mixed
from PLC.Nodes import Node, Nodes
from PLC.PCUs import PCU, PCUs
+from PLC.Sites import Site, Sites
from PLC.Auth import Auth
class DeleteNodeFromPCU(Method):
accepts = [
Auth(),
- Mixed(Node.fields['node_id'],
+ Mixed(Node.fields['node_id'],
Node.fields['hostname']),
PCU.fields['pcu_id']
]
returns = Parameter(int, '1 if successful')
- object_type = 'Node'
-
-
def call(self, auth, node_id_or_hostname, pcu_id):
- # Get node
+ # Get node
nodes = Nodes(self.api, [node_id_or_hostname])
if not nodes:
raise PLCInvalidArgument, "No such node"
break
if not ok:
raise PLCPermissionDenied, "Not allowed to update that PCU"
-
- # Removed node from PCU
-
+
+ # Removed node from PCU
+
if node['node_id'] in pcu['node_ids']:
pcu.remove_node(node)
- # Logging variables
- self.object_ids = [pcu['pcu_id']]
- self.message = 'Node %d removed from PCU %d' % \
- (node['node_id'], pcu['pcu_id'])
-
- return 1
+ # Logging variables
+ self.event_objects = {'PCU': [pcu['pcu_id']],
+ 'Node': [node['node_id']]}
+ self.message = 'Node %d removed from PCU %d' % \
+ (node['node_id'], pcu['pcu_id'])
+
+ return 1