Class: ChefVPCToolkit::VpnConnection
- Inherits:
-
Object
- Object
- ChefVPCToolkit::VpnConnection
show all
- Defined in:
- lib/chef-vpc-toolkit/vpn_connection.rb
Constant Summary
collapse
- CERT_DIR =
File.join(ENV['HOME'], '.pki', 'openvpn')
Instance Method Summary
collapse
Constructor Details
#initialize(group, client = nil) ⇒ VpnConnection
Returns a new instance of VpnConnection.
7
8
9
10
|
# File 'lib/chef-vpc-toolkit/vpn_connection.rb', line 7
def initialize(group, client = nil)
@group = group
@client = client
end
|
Instance Method Details
#create_certs ⇒ Object
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
|
# File 'lib/chef-vpc-toolkit/vpn_connection.rb', line 12
def create_certs
@ca_cert=get_cfile('ca.crt')
@client_cert=get_cfile('client.crt')
@client_key=get_cfile('client.key')
vpn_interface = @client.vpn_network_interfaces[0]
FileUtils.mkdir_p(get_cfile)
File::chmod(0700, File.join(ENV['HOME'], '.pki'))
File::chmod(0700, CERT_DIR)
File.open(@ca_cert, 'w') { |f| f.write(vpn_interface.ca_cert) }
File.open(@client_cert, 'w') { |f| f.write(vpn_interface.client_cert) }
File.open(@client_key, 'w') do |f|
f.write(vpn_interface.client_key)
f.chmod(0600)
end
end
|
#delete_certs ⇒ Object
31
32
33
|
# File 'lib/chef-vpc-toolkit/vpn_connection.rb', line 31
def delete_certs
FileUtils.rm_rf(get_cfile)
end
|
#get_cfile(file = nil) ⇒ Object
35
36
37
38
39
40
41
|
# File 'lib/chef-vpc-toolkit/vpn_connection.rb', line 35
def get_cfile(file = nil)
if file
File.join(CERT_DIR, @group.id.to_s, file)
else
File.join(CERT_DIR, @group.id.to_s)
end
end
|