Class: Seira::Teleport::Request
- Inherits:
-
Object
- Object
- Seira::Teleport::Request
- Defined in:
- lib/seira/teleport/request.rb
Instance Method Summary collapse
- #cmd ⇒ Object
- #command ⇒ Object
-
#initialize(roles, reviewer: nil, context: nil) ⇒ Request
constructor
A new instance of Request.
- #invoke ⇒ Object
- #reason ⇒ Object
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
#cmd ⇒ Object
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 |
#command ⇒ Object
26 27 28 |
# File 'lib/seira/teleport/request.rb', line 26 def command @command ||= Seira::Commands::Teleport.new(cmd, context: @context) end |
#invoke ⇒ Object
10 11 12 |
# File 'lib/seira/teleport/request.rb', line 10 def invoke command.invoke end |
#reason ⇒ Object
22 23 24 |
# File 'lib/seira/teleport/request.rb', line 22 def reason "Running: seira #{@context[:cluster]} #{@context[:app]} #{@context[:category]} #{@context[:action]}" end |