From 6cda829f673867b7efd92bb09d4bc229d4cbf90e Mon Sep 17 00:00:00 2001 From: jiangweidong Date: Thu, 19 Jan 2023 10:36:27 +0800 Subject: [PATCH] =?UTF-8?q?perf:=20=E4=BC=98=E5=8C=96=E5=88=9B=E5=BB=BA?= =?UTF-8?q?=E8=AF=81=E4=B9=A6=E6=96=87=E4=BB=B6=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/ops/ansible/inventory.py | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/apps/ops/ansible/inventory.py b/apps/ops/ansible/inventory.py index 6b0e528a5..084c1e733 100644 --- a/apps/ops/ansible/inventory.py +++ b/apps/ops/ansible/inventory.py @@ -100,26 +100,26 @@ class JMSInventory: @staticmethod def write_cert_to_file(filename, content): - if not content: - return '' with open(filename, 'w') as f: f.write(content) return filename def convert_cert_to_file(self, host, path_dir): - specific = host.get('jms_asset', {}).get('specific') - if not specific: + specific = host.get('jms_asset', {}).get('specific', {}) + cert_fields = ('ca_cert', 'client_key', 'client_cert') + filtered = list(filter(lambda x: specific.get(x), cert_fields)) + if not filtered: return host cert_dir = os.path.join(path_dir, 'certs') if not os.path.exists(cert_dir): os.makedirs(cert_dir, 0o700, True) - for i in ('ca_cert', 'client_key', 'client_cert'): + for f in filtered: result = self.write_cert_to_file( - os.path.join(cert_dir, i), specific.get(i) + os.path.join(cert_dir, f), specific.get(f) ) - host['jms_asset']['specific'][i] = result + host['jms_asset']['specific'][f] = result return host def asset_to_host(self, asset, account, automation, protocols, platform):