adding support for geni_speaking_for option
[sfa.git] / sfa / methods / Delete.py
index 5982f71..eed8a39 100644 (file)
@@ -16,18 +16,21 @@ class Delete(Method):
     interfaces = ['aggregate', 'slicemgr', 'component']
     
     accepts = [
-        Parameter([str], "Human readable name of slice to delete (hrn or urn)"),
-        Parameter(dict), "Credentials")),
+        Parameter(type([str]), "Human readable name of slice to delete (hrn or urn)"),
+        Parameter(type([dict]), "Credentials"),
         Parameter(dict, "options"),
         ]
 
     returns = Parameter(int, "1 if successful")
     
     def call(self, xrns, creds, options):
-        valid_creds = self.api.auth.checkCredentials(creds, 'deletesliver', xrns)
+        (speaking_for, _) = urn_to_hrn(options.get('geni_speaking_for'))
+        valid_creds = self.api.auth.checkCredentials(creds, 'deletesliver', xrns,
+                      check_sliver_callback = self.api.driver.check_sliver_credentials,
+                      speaking_for_hrn=speaking_for)
 
         #log the call
-        origin_hrn = Credential(string=valid_creds[0]).get_gid_caller().get_hrn()
+        origin_hrn = Credential(cred=valid_creds[0]).get_gid_caller().get_hrn()
         self.api.logger.info("interface: %s\tcaller-hrn: %s\ttarget-hrn: %s\tmethod-name: %s"%(self.api.interface, origin_hrn, xrns, self.name))
 
         return self.api.manager.Delete(self.api, xrns, creds, options)