52 lines
1008 B
Ruby
52 lines
1008 B
Ruby
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
|
|
|
|
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
|
|
|
|
def stack_events(stack)
|
|
[]
|
|
end
|
|
|
|
end
|
|
end
|