diff options
author | Kenny Woodson <kwoodson@redhat.com> | 2016-03-31 16:29:20 -0400 |
---|---|---|
committer | Kenny Woodson <kwoodson@redhat.com> | 2016-04-04 12:27:37 -0400 |
commit | fcf8e6f1af68797e4a54efb22a47095fc4e3bedf (patch) | |
tree | 4339ee6a75490cf5cba20a278545d9932a2b0bab /roles/lib_openshift_api/build/src/edit.py | |
parent | 9451e288a77ed09cad19ef4fe27479f5b808277f (diff) | |
download | openshift-fcf8e6f1af68797e4a54efb22a47095fc4e3bedf.tar.gz openshift-fcf8e6f1af68797e4a54efb22a47095fc4e3bedf.tar.bz2 openshift-fcf8e6f1af68797e4a54efb22a47095fc4e3bedf.tar.xz openshift-fcf8e6f1af68797e4a54efb22a47095fc4e3bedf.zip |
Yedit enhancements
Diffstat (limited to 'roles/lib_openshift_api/build/src/edit.py')
-rw-r--r-- | roles/lib_openshift_api/build/src/edit.py | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/roles/lib_openshift_api/build/src/edit.py b/roles/lib_openshift_api/build/src/edit.py new file mode 100644 index 000000000..7020ace47 --- /dev/null +++ b/roles/lib_openshift_api/build/src/edit.py @@ -0,0 +1,49 @@ +# pylint: skip-file + +class Edit(OpenShiftCLI): + ''' Class to wrap the oc command line tools + ''' + # pylint: disable=too-many-arguments + def __init__(self, + kind, + namespace, + resource_name=None, + kubeconfig='/etc/origin/master/admin.kubeconfig', + verbose=False): + ''' Constructor for OpenshiftOC ''' + super(Edit, self).__init__(namespace, kubeconfig) + self.namespace = namespace + self.kind = kind + self.name = resource_name + self.kubeconfig = kubeconfig + self.verbose = verbose + + def get(self): + '''return a secret by name ''' + return self._get(self.kind, self.name) + + def update(self, file_name, content, force=False, content_type='yaml'): + '''run update ''' + if file_name: + if content_type == 'yaml': + data = yaml.load(open(file_name)) + elif content_type == 'json': + data = json.loads(open(file_name).read()) + + changes = [] + yed = Yedit(file_name, data) + for key, value in content.items(): + changes.append(yed.put(key, value)) + + if any([not change[0] for change in changes]): + return {'returncode': 0, 'updated': False} + + yed.write() + + atexit.register(Utils.cleanup, [file_name]) + + return self._replace(file_name, force=force) + + return self._replace_content(self.kind, self.name, content, force=force) + + |