require "fog" Dir["providers/exceptions/*.rb"].each {|file| require file } module Provider class BaseProvider attr_accessor :ssh_key, :certificate_path, :connection_options, :run_list def create_default_chef_node_name s "#{self.ssh_key}-#{s.project}-#{s.deploy_env}-#{Time.now.to_i}" end def create_default_stack_name s "stack_#{self.ssh_key}-#{s.project}-#{s.deploy_env}-#{Time.now.to_i}" end def networks_detail filters={} networks(filters) end def networks filters={} [] end def groups filters={} {} end protected def connection_compute options Fog::Compute.new( options ) end def connection_network options Fog::Network.new( options ) end def configured? !(empty_param?(self.ssh_key) or empty_param?(self.certificate_path)) end def empty_param? param param.nil? or param.empty? end def set_tags instance_id, tags end def unset_tags instance_id, tags end def set_server_tags server end def set_stack_tags stack, out="" end end end