guskma / teracotta

Teracotta is a Teraterm macro framework for use when the development environment given to customers has only Teraterm and Excel.
MIT License
18 stars 0 forks source link
framework teraterm teraterm-macro

Teracotta

Teracotta(テラコッタ)は客先にTeratermとExcelしかない可愛そうなインフラエンジニア達のためのTeratermマクロフレームワークです。

Ansibleを意識したネットワーク作業の抽象化を目的としています。

# For in English (and more) users

Teracotta is a Teraterm macro framework for use when the development environment given to customers has only Teraterm and Excel.

My goal is to abstract network device settings like Ansible.

Currently, most of the text in this repository is written in Japanese. If you want to support your language, please fork this repository or discuss it in an issue.

できること

動作環境

使い方

  1. config.iniを必要に合わせて編集します。
  2. シナリオを作成し scenario フォルダ内に scenario.ini として保存します。(UTF-8) 書き方は scenario\scenario-example.ini を参照してください。
  3. インベントリを作成し、 teracotta.ttl と同じフォルダに hosts.csv として保存します。(UTF-8) 書き方は hosts-example.csv を参照してください。
  4. teracotta.ttl を実行

コマンドプロンプトからの実行について

コマンドプロンプトから teracotta.ttl を呼び出す場合、引数からシナリオとインベントリを指定することが出来ます

ttpmacro.exe teracotta.ttl [INVENTORY] [SCENARIO]

INVENTORY : インベントリ保存パス (相対または絶対パス) デフォルトは hosts.csv

SCENARIO : シナリオ名 (.ttl 抜きのファイル名のみ記述) デフォルトは scenario

ユーザAPIを作成する

作業内容に合わせてユーザ独自でAPIを作成することが出来ます(もっと別の呼び方のほうがいいような気がするが…)

シナリオから呼び出されるAPIは、user フォルダ内または user-api フォルダに格納します。 これらのフォルダはAPIの読み込み順序が異なります。

  1. user-api\[type]\[scenario].ttl
  2. user-api\[scenario].ttl
  3. api\[type]\[scenario].ttl
  4. api\[scenario].ttl

type はインベントリ内で指定してください。

該当するAPIが見つかったタイミングでそのマクロを読み込み、以降の検索は行いません。 また、 user-api はgit管理対象外となっています。

APIは lib フォルダ内に格納されている様々なマクロを利用することが出来ます。 libフォルダに格納されているマクロの使い方については、現在ドキュメントの用意はしていませんが、コメントにて使い方を記載しているので、ご確認ください。

不具合、要望など

うまく動かない、機能が不足している等、何かあったら、Issueに書き込むなどしてください。

自力でAPIを作れる人がいたら、ぜひとも開発に参加してください。