Class: Seira::Teleport::Request

Inherits:
Object
  • Object
show all
Defined in:
lib/seira/teleport/request.rb

Instance Method Summary collapse

Constructor Details

#initialize(roles, reviewer: nil, context: nil) ⇒ Request

Returns a new instance of Request.



4
5
6
7
8
# File 'lib/seira/teleport/request.rb', line 4

def initialize(roles, reviewer: nil, context: nil)
  @roles = roles.kind_of?(Array) ? roles.join(",") : roles
  @reviewer = reviewer
  @context = context
end

Instance Method Details

#cmdObject



14
15
16
17
18
19
20
# File 'lib/seira/teleport/request.rb', line 14

def cmd
  cmd = "request create --roles '#{@roles}'"
  cmd += " --reason '#{reason}'"
  cmd += " --reviewers #{@reviewer}" unless @reviewer.nil?
  
  cmd
end

#commandObject



26
27
28
# File 'lib/seira/teleport/request.rb', line 26

def command
  @command ||= Seira::Commands::Teleport.new(cmd, context: @context)
end

#invokeObject



10
11
12
# File 'lib/seira/teleport/request.rb', line 10

def invoke
  command.invoke
end

#reasonObject



22
23
24
# File 'lib/seira/teleport/request.rb', line 22

def reason
  "Running: seira #{@context[:cluster]} #{@context[:app]} #{@context[:category]} #{@context[:action]}"
end