Class: Kitchen::Driver::Aws::InstanceConnect

Inherits:
Object
  • Object
show all
Defined in:
lib/kitchen/driver/aws/instance_connect.rb

Instance Method Summary collapse

Constructor Details

#initialize(config, logger) ⇒ InstanceConnect



23
24
25
26
27
# File 'lib/kitchen/driver/aws/instance_connect.rb', line 23

def initialize(config, logger)
  @config = config
  @logger = logger
  @client = ::Aws::EC2InstanceConnect::Client.new(region: config[:region])
end

Instance Method Details

#send_ssh_public_key(instance_id, username, public_key) ⇒ Object



29
30
31
32
33
34
35
36
37
38
39
40
# File 'lib/kitchen/driver/aws/instance_connect.rb', line 29

def send_ssh_public_key(instance_id, username, public_key)
  @logger.info("Sending SSH public key to instance #{instance_id} for user #{username}")

  @client.send_ssh_public_key({
    instance_id: instance_id,
    instance_os_user: username,
    ssh_public_key: public_key,
    availability_zone: @config[:availability_zone],
  })

  @logger.debug("SSH public key successfully sent to instance")
end