diff options
author | Marcel Enguehard <mengueha+fdio@cisco.com> | 2017-07-19 11:26:26 +0200 |
---|---|---|
committer | Marcel Enguehard <mengueha+fdio@cisco.com> | 2017-07-19 11:51:26 +0000 |
commit | 3e6678f9c692553e8902da4d6fb1fe6c087db1f4 (patch) | |
tree | 580a46ca5de22a044319eabb295ad980d50589ec /vicn/resource/linux/file.py | |
parent | 08c4f765cf29dbd6e9a616c542552417eece14fc (diff) |
* GUI resource
* MemIf interface for VPP
* Better netmodel integration
* Draft documentation
* New tutorials
* Improved monitoring and error handling
* Refactored IP addresses and prefixes representation
* Improved image mgmt for LXD
* Various bugfixes and code refactoring
Change-Id: I90da6cf7b5716bc7deb6bf4e24d3f9f01b5a9b0f
Signed-off-by: Marcel Enguehard <mengueha+fdio@cisco.com>
Diffstat (limited to 'vicn/resource/linux/file.py')
-rw-r--r-- | vicn/resource/linux/file.py | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/vicn/resource/linux/file.py b/vicn/resource/linux/file.py index 44b4b5be..2a62f60e 100644 --- a/vicn/resource/linux/file.py +++ b/vicn/resource/linux/file.py @@ -16,11 +16,12 @@ # limitations under the License. # +from netmodel.model.key import Key from netmodel.model.type import String, Bool from vicn.core.attribute import Attribute, Multiplicity from vicn.core.exception import ResourceNotFound from vicn.core.resource import Resource -from vicn.core.task import BashTask, inline_task +from vicn.core.task import BashTask, inline_task, inherit_parent from vicn.resource.node import Node CREATE_DIR_CMD = "mkdir -p {dir}" @@ -38,22 +39,23 @@ class File(Resource): Resource: File """ filename = Attribute(String, description = 'Path to the file', - key = True, mandatory = True) node = Attribute(Node, description = 'Node on which the file is created', mandatory = True, multiplicity = Multiplicity.ManyToOne, reverse_name = 'files', - key = True, reverse_description = 'Files created on the node') overwrite = Attribute(Bool, description = 'Determines whether an existing file is overwritten', default = False) + __key__ = Key(node, filename) + #-------------------------------------------------------------------------- # Resource lifecycle #-------------------------------------------------------------------------- + @inherit_parent def __get__(self): # UGLY @inline_task @@ -72,12 +74,14 @@ class File(Resource): test = BashTask(self.node, GET_FILE_CMD, {"file": self}, parse=is_path) return test + @inherit_parent def __create__(self): ctask = BashTask(self.node, CREATE_FILE_CMD, {"file": self}) if self.overwrite: ctask = BashTask(self.node, DELETE_FILE_CMD, {'file': self}) > ctask return ctask + @inherit_parent def __delete__(self): return BashTask(self.node, DELETE_FILE_CMD, { "file" : self}) @@ -96,6 +100,8 @@ class TextFile(File): # Resource lifecycle #-------------------------------------------------------------------------- + # XXX REDUNDANT !!! + @inherit_parent def __create__(self): return BashTask(self.node, CMD_PRINT_TO_FILE, {'file': self}) |