def create_user(o, db): added_gridmap = False try: # create canonical user user = User.get_user_by_friendly(db, o.emailaddr) if user != None: raise CLIError('EUSER', "The user already exists: %s" % (o.emailaddr)) if o.canonical_id != None: user = User.get_user(db, o.canonical_id) if user != None: raise CLIError('EUSER', "The canonical user already exists: %s" % (o.canonical_id)) user = User(db, friendly=o.emailaddr, uu=o.canonical_id, create=True) else: user = User(db, friendly=o.emailaddr, create=True) o.canonical_id = user.get_id() if not o.noaccess: if o.access_id == None: o.access_id = pynimbusauthz.random_string_gen(21) o.access_secret = pynimbusauthz.random_string_gen(42) # add to db ua1 = user.create_alias(o.access_id, pynimbusauthz.alias_type_s3, o.emailaddr, alias_data=o.access_secret) if not o.nocert: # if not give a dn we need to get it from the provided cert, or # generate a cet key pair and get it from that if o.dn == None: if o.cert == None: # generate a cert (o.cert, o.key) = generate_cert(o) # get dn o.dn = get_dn(o.cert) ua2 = user.create_alias(o.dn, pynimbusauthz.alias_type_x509, o.emailaddr) # add dn to gridmap add_gridmap(o) added_gridmap = True cloud_props(o) if o.web: if o.web_id == None: o.web_id = o.emailaddr.split("@")[0] o.url = do_web_bidnes(o) do_group_bidnes(o) db.commit() except Exception, ex1: if added_gridmap: remove_gridmap(o.dn) db.rollback() if DEBUG: traceback.print_exc(file=sys.stdout) raise ex1
def main(argv=sys.argv[1:]): try: con_str = pynimbusauthz.get_db_connection_string() db_obj = DB(con_str=con_str) (opts, args) = setup_options(argv) user_uu = None if len(args) == 1: user_uu = args[0] if opts.new: user = User(db_obj, user_uu, friendly=opts.friendlyname, create=True) pynimbusauthz.print_msg(opts, 0, "User %s added" % (user.get_id())) else: user = User(db_obj, user_uu) pynimbusauthz.print_msg(opts, 0, "User %s" % (user.get_id())) if opts.alias != None: user_alias = user.get_alias(opts.alias, opts.type) if user_alias == None: user_alias = user.create_alias(opts.alias, opts.type, opts.friendlyname) pynimbusauthz.print_msg( opts, 0, "Creating new alias %s:%s" % (opts.type, opts.alias)) if opts.genkey: data = pynimbusauthz.random_string_gen(42) pynimbusauthz.print_msg(opts, 0, "Key generated %s" % (data)) user_alias.set_data(data) elif opts.setkey != None: data = opts.setkey user_alias.set_data(data) pynimbusauthz.print_msg(opts, 0, "updated the alias key") if opts.remove_alias != None: user_alias = user.get_alias(opts.remove_alias, opts.type) user_alias.remove() if opts.remove: pynimbusauthz.print_msg(opts, 1, "Removing user %s" % (user.get_id())) if opts.force: pynimbusauthz.print_msg(opts, 1, "Removing all references") user.destroy_brutally() else: user.destroy() db_obj.commit() except AuthzException, ae: print ae return ae.get_rc()
def main(argv=sys.argv[1:]): try: con_str = pynimbusauthz.get_db_connection_string() db_obj = DB(con_str=con_str) (opts,args) = setup_options(argv) user_uu = None if len(args) == 1: user_uu = args[0] if opts.new: user = User(db_obj, user_uu, friendly=opts.friendlyname, create=True) pynimbusauthz.print_msg(opts, 0, "User %s added" % (user.get_id())) else: user = User(db_obj, user_uu) pynimbusauthz.print_msg(opts, 0, "User %s" % (user.get_id())) if opts.alias != None: user_alias = user.get_alias(opts.alias, opts.type) if user_alias == None: user_alias = user.create_alias(opts.alias, opts.type, opts.friendlyname) pynimbusauthz.print_msg(opts, 0, "Creating new alias %s:%s" % (opts.type,opts.alias)) if opts.genkey: data = pynimbusauthz.random_string_gen(42) pynimbusauthz.print_msg(opts, 0, "Key generated %s" % (data)) user_alias.set_data(data) elif opts.setkey != None: data = opts.setkey user_alias.set_data(data) pynimbusauthz.print_msg(opts, 0, "updated the alias key") if opts.remove_alias != None: user_alias = user.get_alias(opts.remove_alias, opts.type) user_alias.remove() if opts.remove: pynimbusauthz.print_msg(opts, 1, "Removing user %s" % (user.get_id())) if opts.force: pynimbusauthz.print_msg(opts, 1, "Removing all references") user.destroy_brutally() else: user.destroy() db_obj.commit() except AuthzException, ae: print ae return ae.get_rc()