在 Ansible 中运行 json_query 时从 ASN.1 格式转换时间

如何解决在 Ansible 中运行 json_query 时从 ASN.1 格式转换时间

我有这个剧本可以从本地文件夹中查找所有证书并检查证书到期日期。虽然剧本工作得很好,但显示的时间是 ASN.1 格式。我想以人类可读的格式显示时间。使用 json_query 时我无法做到这一点。寻找包含人类可读日期时间和文件名的最佳解决方案。

 - hosts: localhost
   gather_facts: true
   tasks:
     - name: list cert files
       find:
         paths: ../CertsFolder
         file_type: file
         patterns: "*.cer"
         recurse: yes
       register: find_files
 
     - name: "Test for certificate validity for 90 days"
       openssl_certificate_info:
         path: "{{ item.path }}"
         valid_at:
           point_1: "+90d"
       register: certs_info
       with_items:
         - "{{ find_files.files }}"
 
     - name: Notify via Slack
       slack:
         token: "{{ slack_token }}"
         msg: |
           "Certificate expiry alert for the following certificate(s) : {{ item }} "
         channel: "{{ slack_channel }}"
         domain: "{{ slack_domain }}
         validate_certs: 'false'
       loop:
         - "{{ certs_info.results | json_query(jmesquery) | to_yaml }}"
       vars:
         jmesquery: "[*].{CertificateName: path,Expired: expired,ExpiryDate: not_after }"
       ignore_errors: true

电流输出

Certificate expiry alert for the following certificate(s) : -{CertificateName: certname.cer,Expired: true,ExpiryDate: 20210223120000Z}
-{CertificateName: Newcertname1.cer,ExpiryDate: 20210123120000Z}
-{CertificateName: webserver.cer,ExpiryDate: 20210325120000Z}

希望将 20210325120000Z 切换为 2021-03-25 12:00:00 之类的内容或易于阅读的内容

按照 jmespath 中的建议尝试了 regex_replace,但出现以下错误

"msg": "JMESPathError in json_query filter plugin:\nBad jmespath expression: UnkNown token

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?