class NodeSpec::CommunicationAdapters::AwsEc2
Constants
- GEMLOAD_ERROR
Public Class Methods
communicator_for(node_name, options = {})
click to toggle source
# File lib/nodespec/communication_adapters/aws_ec2.rb, line 9 def self.communicator_for(node_name, options = {}) RuntimeGemLoader.require_or_fail('aws-sdk', GEMLOAD_ERROR) do instance_name = options['instance'] || node_name ec2_instance = AWS.ec2.instances[instance_name] raise "EC2 Instance #{instance_name} is not reachable" unless ec2_instance.exists? && ec2_instance.status == :running if options.has_key?('winrm') WinrmCommunicator.new(ec2_instance.public_ip_address, options['winrm']) else SshCommunicator.new(ec2_instance.public_ip_address, options['ssh'] || {}) end end end