Sha256: 6685969512d54f25575a250e18b3f0e05eae2c195fb1195b243dfb9214986fcd
Contents?: true
Size: 1.74 KB
Versions: 1
Compression:
Stored size: 1.74 KB
Contents
require_relative '../../common' require_relative 'role/add_command' module Kontena::Cli::Master::User class InviteCommand < Kontena::Command include Kontena::Cli::Common parameter "EMAIL ...", "List of emails" option ['-r', '--roles'], '[ROLES]', 'Comma separated list of roles to assign to the invited users' option ['-c', '--code'], :flag, 'Only output the invite code' option '--external-id', '[EXTERNAL ID]', 'Assign external id to user', hidden: true option '--return', :flag, 'Return the code', hidden: true requires_current_master requires_current_master_token def execute if self.roles roles = self.roles.split(',') else roles = [] end external_id = nil if email_list.size == 1 && self.external_id external_id = self.external_id end email_list.each do |email| begin data = { email: email, external_id: external_id, response_type: 'invite' } response = client.post('/oauth2/authorize', data) if self.code? puts response['invite_code'] elsif self.return? return response else puts "Invitation created for #{response['email']}".colorize(:green) puts " * code: #{response['invite_code']}" puts " * command: kontena master join #{current_master.url} #{response['invite_code']}" end roles.each do |role| Kontena.run("master users role add #{role.shellescape} #{email.shellescape}") end rescue => ex $stderr.puts pastel.red("Failed to invite #{email}") ENV["DEBUG"] && $stderr.puts("#{ex} : #{ex.message}\n#{ex.backtrace.join("\n ")}") end end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
kontena-cli-1.2.0.pre2 | lib/kontena/cli/master/user/invite_command.rb |