+ @add_options('-x', '--xrn', dest='xrn', metavar='<xrn>', help='object hrn/urn (mandatory)')
+ @add_options('-t', '--type', dest='type', metavar='<type>', help='object type', default=None)
+ @add_options('-u', '--url', dest='url', metavar='<url>', help='URL', default=None)
+ @add_options('-d', '--description', dest='description', metavar='<description>',
+ help='Description', default=None)
+ @add_options('-k', '--key', dest='key', metavar='<key>', help='public key string or file',
+ default=None)
+ @add_options('-s', '--slices', dest='slices', metavar='<slices>', help='Set/replace slice xrns',
+ default='', type="str", action='callback', callback=optparse_listvalue_callback)
+ @add_options('-r', '--researchers', dest='researchers', metavar='<researchers>', help='Set/replace slice researchers',
+ default='', type="str", action='callback', callback=optparse_listvalue_callback)
+ @add_options('-p', '--pis', dest='pis', metavar='<PIs>',
+ help='Set/replace Principal Investigators/Project Managers',
+ default='', type="str", action='callback', callback=optparse_listvalue_callback)
+ @add_options('-X', '--extra', dest='extras', default={}, type='str', metavar="<EXTRA_ASSIGNS>",
+ action="callback", callback=optparse_dictvalue_callback, nargs=1,
+ help="set extra/testbed-dependent flags, e.g. --extra enabled=true")
+ def update(self, xrn, type=None, email='', key=None,
+ slices='', pis='', researchers='',
+ url=None, description=None, extras={}):
+ """Update an existing Registry record"""
+ record_dict = self._record_dict(xrn=xrn, type=type, email=email, key=key,
+ slices=slices, researchers=researchers, pis=pis,
+ url=url, description=description, extras=extras)
+ self.api.manager.Update(self.api, record_dict)
+
+
+ @add_options('-x', '--xrn', dest='xrn', metavar='<xrn>', help='object hrn/urn (mandatory)')
+ @add_options('-t', '--type', dest='type', metavar='<type>', help='object type', default=None)