fluke/devops-service/providers/base_provider.rb
2015-11-17 12:14:02 +03:00

57 lines
1.0 KiB
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
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