class Kontena::Machine::Aws::KeypairProvisioner
Attributes
ec2[R]
keypair_name[R]
public_key[R]
region[R]
Public Class Methods
new(access_key_id, secret_key, region)
click to toggle source
@param [String] access_key_id aws_access_key_id @param [String] secret_key aws_secret_access_key @param [String] region
# File lib/kontena/machine/aws/keypair_provisioner.rb, line 11 def initialize(access_key_id, secret_key, region) @ec2 = ::Aws::EC2::Resource.new( region: region, credentials: ::Aws::Credentials.new(access_key_id, secret_key) ) end
Public Instance Methods
run!(opts)
click to toggle source
@param [Hash] opts
# File lib/kontena/machine/aws/keypair_provisioner.rb, line 28 def run!(opts) validate_opts!(opts) ec2.import_key_pair( key_name: keypair_name, public_key_material: public_key, dry_run: false ) end
validate_opts!(opts)
click to toggle source
# File lib/kontena/machine/aws/keypair_provisioner.rb, line 17 def validate_opts!(opts) if opts[:public_key] @public_key = opts[:public_key] else raise "Missing public key" end @keypair_name = opts[:keypair_name] || "kontena-#{SecureRandom.hex(4)}-#{Time.now.strftime '%Y-%m-%d'}" end