aboutsummaryrefslogtreecommitdiffstats
path: root/vicn/resource/linux/certificate.py
diff options
context:
space:
mode:
Diffstat (limited to 'vicn/resource/linux/certificate.py')
-rw-r--r--vicn/resource/linux/certificate.py9
1 files changed, 6 insertions, 3 deletions
diff --git a/vicn/resource/linux/certificate.py b/vicn/resource/linux/certificate.py
index e8750dff..7f9b8a74 100644
--- a/vicn/resource/linux/certificate.py
+++ b/vicn/resource/linux/certificate.py
@@ -31,6 +31,8 @@ DEFAULT_SUBJECT = '/CN=www.cisco.com/L=Paris/O=Cisco/C=FR'
CMD_CREATE='\n'.join([
'# Generate a new certificate',
+ 'mkdir -p $(dirname {self.key})',
+ 'mkdir -p $(dirname {self.cert})',
'openssl req -x509 -newkey rsa:' + DEFAULT_RSA_LENGTH +
' -keyout {self.key} -out {self.cert} -subj ' + DEFAULT_SUBJECT + ' -nodes'
])
@@ -40,9 +42,6 @@ class Certificate(Resource):
Resource: Certificate
Implements a SSL certificate.
-
- Todo:
- - ideally, this should be implemented as a pair of tightly coupled files.
"""
node = Attribute(Node,
description = 'Node on which the certificate is created',
@@ -53,6 +52,10 @@ class Certificate(Resource):
key = Attribute(String, description = 'Key path',
mandatory = True)
+ #--------------------------------------------------------------------------
+ # Resource lifecycle
+ #--------------------------------------------------------------------------
+
@inline_task
def __initialize__(self):
self._cert_file = File(node = Reference(self, 'node'),