Sha256: 248fbd242441897db75057f5ce7e3a0246cd57288197ece80651442ccdce74c7

Contents?: true

Size: 1.49 KB

Versions: 21

Compression:

Stored size: 1.49 KB

Contents

require_relative '../../common'
require_relative 'roles/add_command'

module Kontena::Cli::Master::Users
  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 '--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

      email_list.each do |email|
        begin
          data = { email: email, 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
          STDERR.puts "Failed to invite #{email}".colorize(:red)
          ENV["DEBUG"] && puts("#{$!} - #{$!.message} -- #{$!.backtrace}")
        end
      end
    end
  end
end

Version data entries

21 entries across 21 versions & 1 rubygems

Version Path
kontena-cli-1.0.0.pre2 lib/kontena/cli/master/users/invite_command.rb
kontena-cli-1.0.0.pre1 lib/kontena/cli/master/users/invite_command.rb
kontena-cli-0.17.0.pre5 lib/kontena/cli/master/users/invite_command.rb
kontena-cli-0.17.0.pre4 lib/kontena/cli/master/users/invite_command.rb
kontena-cli-0.17.0.pre3 lib/kontena/cli/master/users/invite_command.rb
kontena-cli-0.17.0.pre2 lib/kontena/cli/master/users/invite_command.rb
kontena-cli-0.17.0.pre1 lib/kontena/cli/master/users/invite_command.rb
kontena-cli-0.16.3 lib/kontena/cli/master/users/invite_command.rb
kontena-cli-0.16.3.rc1 lib/kontena/cli/master/users/invite_command.rb
kontena-cli-0.16.2 lib/kontena/cli/master/users/invite_command.rb
kontena-cli-0.16.2.rc1 lib/kontena/cli/master/users/invite_command.rb
kontena-cli-0.16.1 lib/kontena/cli/master/users/invite_command.rb
kontena-cli-0.16.1.rc3 lib/kontena/cli/master/users/invite_command.rb
kontena-cli-0.16.1.rc2 lib/kontena/cli/master/users/invite_command.rb
kontena-cli-0.16.1.rc1 lib/kontena/cli/master/users/invite_command.rb
kontena-cli-0.16.0 lib/kontena/cli/master/users/invite_command.rb
kontena-cli-0.16.0.rc3 lib/kontena/cli/master/users/invite_command.rb
kontena-cli-0.16.0.rc2 lib/kontena/cli/master/users/invite_command.rb
kontena-cli-0.16.0.rc1 lib/kontena/cli/master/users/invite_command.rb
kontena-cli-0.16.0.pre9 lib/kontena/cli/master/users/invite_command.rb