Writing Custom Ansible Module with PyCharm quickly
목표
The Goal
는 다음 이미지와 같이 PyCharm을 사용하여 커스터마이즈 된 Ansible 모듈을 생성하는 것입니다.
is to build custom ansible module with PyCharm like following:
tkim_ansibl_module 디렉토리 구성
파일 구조
상기의 이미지로 모든 것을 알 수 있다고 생각합니다만, 조금 보충을 하면,
위의 이미지만으로 충분히 설명하고 있다고 생각하지만, 그래도 보충하자면,
I believe that the above pycharm image shows everything enough but to say extra explanation,
play.yml
[library]
|_ tkim_host_check.py
|_ test_tkim_host_check.py
pycharm 프로젝트를 만들 때 Conda 환경을 선택했습니다.
to make a project with pycharm, I chose Conda Environment.
스크립트 내용
Ansible Script:
- hosts: localhost
tasks:
- name: tast that my module works
tkim_host_check:
register: result
- debug: var=result
tkim_host_check.py
#!/usr/bin/python
from ansible.module_utils.basic import *
def main():
module = AnsibleModule(argument_spec={})
response = {
"basic process check": "ok(dummy)",
"basic process disk": "ok(dummy)",
"basic process memory": "ok(dummy)",
"advanced configuration check": "ok(dummy)",
}
module.exit_json(changed=False, meta=response)
if __name__ == '__main__':
main()
만들려는 목적
이 모듈은 다음과 같은 경우에 사용하기 위해 구현되었습니다.
이 스크립트는 다음과 같은 경우에 사용하기 위해 구현되었습니다.
This script is encouraged for use in the following cases:
play.yml
[library]
|_ tkim_host_check.py
|_ test_tkim_host_check.py
- hosts: localhost
tasks:
- name: tast that my module works
tkim_host_check:
register: result
- debug: var=result
#!/usr/bin/python
from ansible.module_utils.basic import *
def main():
module = AnsibleModule(argument_spec={})
response = {
"basic process check": "ok(dummy)",
"basic process disk": "ok(dummy)",
"basic process memory": "ok(dummy)",
"advanced configuration check": "ok(dummy)",
}
module.exit_json(changed=False, meta=response)
if __name__ == '__main__':
main()
모든 접속된 단말에 동시에 커맨드를 던지는 단말 에뮬레이터의 기능이나 tmux와 같은 툴을 이용해도 가능합니다만, 정해져 있는 내용을 곧바로 대응하기 위해서는, Code As A Infrastructure화한다 것도 좋다고 생각합니다.
모든 연결된 터미널에 동시에 명령을 내릴 수 있는 터미널에뮬레이터의 기능이나 tmux 같은 도구를 이용해도 가능하지만, 정해져 있는 내용을 빨리 대응하기 에는
It is possible to use a terminal emulator feature that can throw commands at the same time to all connected terminals ( or server-side tool like tmux), but in order to respond quickly to the formalized script, I believe that Code As A Infrastructure is a good idea also.
Reference
이 문제에 관하여(Writing Custom Ansible Module with PyCharm quickly), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/crowdy/items/97585456885a15f7f45c텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)