class EasyAwsSsh::OpsworksSsh
Public Class Methods
new(opsworks_stack_name:, instance_name:)
click to toggle source
# File lib/easy_aws_ssh/opsworks_ssh.rb, line 9 def initialize(opsworks_stack_name:, instance_name:) @stack_name = opsworks_stack_name @instance_name = instance_name raise "Invalid stack name, valid stacks are: #{all_stack_names}" unless all_stack_names.include?(opsworks_stack_name) raise "Invalid instance name, valid instance names are: #{all_stack_instance_names}" unless all_stack_instance_names.include?(instance_name) end
Public Instance Methods
ssh()
click to toggle source
# File lib/easy_aws_ssh/opsworks_ssh.rb, line 17 def ssh exec "ssh #{ENV.fetch('EASY_AWS_SSH_USER', 'ubuntu')}#{certificate}@#{instance_ip}" end
Private Instance Methods
certificate()
click to toggle source
# File lib/easy_aws_ssh/opsworks_ssh.rb, line 23 def certificate full_path = "#{ENV.fetch('EASY_AWS_SSH_CERTIFICATE_PATH', '~/.ssh')}/#{ssh_key_name}.pem" if File.exist?(full_path) " -i #{full_path} " end end