+++ /dev/null
-### $Id: delete_slice.py 15428 2009-10-23 15:28:03Z tmack $
-### $URL: https://svn.planet-lab.org/svn/sfa/trunk/sfacomponent/methods/delete_slice.py $
-
-from sfa.util.faults import *
-from sfa.util.misc import *
-from sfa.util.method import Method
-from sfa.util.parameter import Parameter, Mixed
-
-class delete_slice(Method):
- """
- Delete the specified slice
-
- @param cred credential string specifying the rights of the caller
- @param hrn human readable name of slice to instantiate
- @return 1 is successful, faults otherwise
- """
-
- interfaces = ['component']
-
- accepts = [
- Parameter(str, "Credential string"),
- Parameter(str, "Human readable name of slice to instantiate"),
- Mixed(Parameter(str, "Request hash"),
- Parameter(None, "Request hash not specified"))
- ]
-
- returns = [Parameter(int, "1 if successful")]
-
- def call(self, cred, hrn, request_hash=None):
- # This cred will be an slice cred, not a user, so we cant use it to
- # authenticate the caller's request_hash. Let just get the caller's gid
- # from the cred and authenticate using that
- client_gid = Credential(string=cred).get_gid_caller()
- client_gid_str = client_gid.save_to_string(save_parents=True)
- self.api.auth.authenticateGid(client_gid_str, [cred, hrn], request_hash)
- self.api.auth.check(cred, 'deleteslice')
- slicename = hrn_to_pl_slicename(hrn)
- self.api.nodemanager.Destroy(slicename)
-
- return 1