0

fail2ban の構成を管理するために Python でモジュール ansible を開発する必要がありますが、プレイブックを実行するときにそれを実行することができません。

プレイブックのコード:

   - name: "test code"
  hosts: 10.7.150.113
  tasks:
  - name: "test"
      fail2ban_SSH_configurator:
        bantime: 10

モジュールコード:

from ansible.module_utils.basic import AnsibleModule  

def main(): 
    module = AnsibleModule( 
        argument_spec=dict( 
            path    = dict(required=False, type=’str’),
            bantime    = dict(required=True, type=’int’),
            findtime    = dict(required=False, type=’int’),
            maxretry    = dict(required=False, type=’int’),
            ignoreip    = dict(required=False, type=’str’),
            destemail    = dict(required=False, type=’str’),
            sender    = dict(required=False, type=’str’),
            sendername    = dict(required=False, type=’str’),
            mta    = dict(required=False, type=’str’),
            action    = dict(required=False, type=’str’),
        ) 
    )
    path_local = module.params.get('path')
    bantime_local = module.params.get('bantime')
    findtime_local = module.params.get('fintime')
    maxretry_local = module.params.get('maxretry')
    ignoreip_local = module.params.get('ignoreip')
    destmail_local = module.params.get('destmail')
    sender_local = module.params.get('sender')
    sendername_local = module.params.get('sendername')
    mta_local = module.params.get('mta')
    action_local = module.params.get('action')
    fichier = open("path", "a")
    fichier.write(" [DEFAULT]")
    fichier.write("\nbantime =")
    fichier.write("\nfindtime = ")
    fichier.write("\nmaxretry = ")
    fichier.write("\nignoreip = ")
    fichier.write("\ndestemail = ")
    fichier.write("\nsender = ")
    fichier.write("\nsendername = ")
    fichier.write("\nmta = ")
    fichier.write("\naction = ")
    fichier.close()


module.exit_json(changed=False, results=bantime_local)  

if __name__ == "__main__": 
    main()

Pythonコードはまだ終わっていません。先に進む前にテストしたかっただけです。

しかし、モジュールの実行方法がわかりません。プレイブックを起動しようとすると、次のエラーが発生します。画像の説明をここに入力してください

4

1 に答える 1