Class: SDM::ControlPanel

Inherits:
Object
  • Object
show all
Defined in:
lib/svc.rb

Overview

ControlPanel contains all administrative controls.

Instance Method Summary collapse

Constructor Details

#initialize(host, insecure, parent) ⇒ ControlPanel

Returns a new instance of ControlPanel.



491
492
493
494
495
496
497
498
499
500
501
502
503
# File 'lib/svc.rb', line 491

def initialize(host, insecure, parent)
  begin
    if insecure
      @stub = V1::ControlPanel::Stub.new(host, :this_channel_is_insecure)
    else
      cred = GRPC::Core::ChannelCredentials.new()
      @stub = V1::ControlPanel::Stub.new(host, cred)
    end
  rescue => exception
    raise Plumbing::convert_error_to_porcelain(exception)
  end
  @parent = parent
end

Instance Method Details

#get_sshca_public_key(deadline: nil) ⇒ Object

GetSSHCAPublicKey retrieves the SSH CA public key.



506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
# File 'lib/svc.rb', line 506

def get_sshca_public_key(
  deadline: nil
)
  req = V1::ControlPanelGetSSHCAPublicKeyRequest.new()

  tries = 0
  plumbing_response = nil
  loop do
    begin
      plumbing_response = @stub.get_sshca_public_key(req, metadata: @parent.("ControlPanel.GetSSHCAPublicKey", req), deadline: deadline)
    rescue => exception
      if (@parent.shouldRetry(tries, exception))
        tries + +@parent.jitterSleep(tries)
        next
      end
      raise Plumbing::convert_error_to_porcelain(exception)
    end
    break
  end

  resp = ControlPanelGetSSHCAPublicKeyResponse.new()
  resp.meta = Plumbing::(plumbing_response.meta)
  resp.public_key = (plumbing_response.public_key)
  resp.rate_limit = Plumbing::(plumbing_response.rate_limit)
  resp
end