Merge branch '15924-import-path'
[arvados.git] / services / api / script / setup-new-user.rb
index ebff19263e92129e04d93d7aa5898ddb7ac0dd89..1e033667dcbc4b78646065b35648c684973ce3eb 100755 (executable)
@@ -1,14 +1,17 @@
 #!/usr/bin/env ruby
+# Copyright (C) The Arvados Authors. All rights reserved.
+#
+# SPDX-License-Identifier: AGPL-3.0
 
 abort 'Error: Ruby >= 1.9.3 required.' if RUBY_VERSION < '1.9.3'
 
 require 'logger'
-require 'trollop'
+require 'optimist'
 
 log = Logger.new STDERR
 log.progname = $0.split('/').last
 
-opts = Trollop::options do
+opts = Optimist::options do
   banner ''
   banner "Usage: #{log.progname} " +
     "{user_uuid_or_email} {user_and_repo_name} {vm_uuid}"
@@ -21,12 +24,15 @@ If creating a new user record, require authentication from an OpenID \
 with this OpenID prefix *and* a matching email address in order to \
 claim the account.
   eos
+  opt :send_notification_email, <<-eos, default: 'true'
+Send notification email after successfully setting up the user.
+  eos
 end
 
 log.level = (ENV['DEBUG'] || opts.debug) ? Logger::DEBUG : Logger::WARN
 
 if ARGV.count != 3
-  Trollop::die "required arguments are missing"
+  Optimist::die "required arguments are missing"
 end
 
 user_arg, user_repo_name, vm_uuid = ARGV
@@ -55,10 +61,12 @@ end
 # Invoke user setup method
 if (found_user)
   user = arv.user.setup uuid: found_user[:uuid], repo_name: user_repo_name,
-        vm_uuid: vm_uuid, openid_prefix: opts.openid_prefix
+          vm_uuid: vm_uuid, openid_prefix: opts.openid_prefix,
+          send_notification_email: opts.send_notification_email
 else
   user = arv.user.setup user: {email: user_arg}, repo_name: user_repo_name,
-        vm_uuid: vm_uuid, openid_prefix: opts.openid_prefix
+          vm_uuid: vm_uuid, openid_prefix: opts.openid_prefix,
+          send_notification_email: opts.send_notification_email
 end
 
 log.info {"user uuid: " + user[:uuid]}