genvid.toolbox.Profile
プロフィールツールについての詳細は、 複数の環境の管理 を参照してください。
- class genvid.toolbox.Profile
ベースクラス:
object
プロフィール操作用 API。
GENVID_PROFILE
が定義されている場合、GENVID_PROFILES_PATH
で定義されたパスを順に検索して、一致するプロフィールを検索します。プロフィールが定義されている場合、プロフィールを含むファイルを特定するため、
GENVID_PROFILE_PATH
が設定されます。プロフィールは、以下のフォーマットの HCL ファイルです。
profile "PROFILE_NAME" { ENV_0 = "ENV_0_VALUE" ENV_1 = "ENV_1_VALUE" [...] ENV_N = "ENV_N_VALUE" }
1つのファイルが複数のプロフィールを持ったり、任意のディレクトリ構造が複数のプロフィールファイルを持ったりすることも可能。再帰的に検索を実行。
注釈
プロフィールファイルの読み込み時、
.backup
で終わるファイル名は無視されます。- 例外
RuntimeError -- 名前を付けたプロフィールが定義されているが、見つからない場合。
RuntimeError -- パス内に同一プロフィールが見つかった場合。
ValueError -- プロフィールファイルに無効な HCL が含まれる場合。
OSError -- 発生したファイルシステムエラー。
バージョン 1.20.0 で追加.
- name
ロードするプロフィール。
GENVID_PROFILE
から値を取得、または空白文字列に設定。
- lookup_paths
プロフィールファイルへのパスの順番リスト。
GENVID_PROFILES_PATH
から初期化、または~/.genvid/profile
に設定。
- path
ロードしたプロフィールを含むプロフィールファイルのパス。
解決されると、
GENVID_PROFILE_PATH
が同じ値に設定されます。注釈
GENVID_PROFILE
が空白文字列の場合、この値も空白文字列となります。
- static new(name, path)
指定のプロフィールファイルに新しい (空白の) プロフィールを作成します。
- パラメータ
name (str) -- 新しいプロフィールに付ける名前。
path -- 使用するプロフィールファイルのパス。
注釈
すでに存在していない場合に、新しいプロフィールファイルが作成されます。必要な親ディレクトリを含みます。
- 例外
OSError -- 発生したファイルシステムエラー。
- check(*, throw=False)
プロフィールがロードされているかをチェックし、必要に応じて例外処理を発生させます。
- パラメータ
throw (bool) -- プロフィールがロードされている場合に、例外処理を行うかどうか。
- 戻り値
プロフィールがロードされている場合のみ True。
- 戻り値の型
- 例外
RuntimeError -- throw が True の場合、プロフィールはロードされていません。
- apply()
ロードされたプロフィールが存在する場合、適用します。
プロフィール内で定義されている各環境変数に対して、その環境変数がまだ設定されていない場合に、その値を環境に設定します。
- insert(**environment)
key/value ペアをプロフィールに挿入し、必要に応じて上書きします。
注釈
このメソッドは、副次効果として、ディスクのプロフィールファイルを更新します。ただし先に、同一ディレクトリに、タイプスタンプ付のバックアップファイルを作成します。
- パラメータ
environment -- プロフィールに挿入する key/value ペア。
- 例外
RuntimeError -- プロフィールが使用されていない場合。
ValueError -- プロフィールファイルに無効な HCL が含まれる場合。
OSError -- 発生したファイルシステムエラー。
- remove(*variables)
プロフィールから指定した変数を削除します。
注釈
このメソッドは、副次効果として、ディスクのプロフィールファイルを更新します。ただし先に、同一ディレクトリに、タイプスタンプ付のバックアップファイルを作成します。
- パラメータ
variables -- プロフィールから削除される変数名の反復子。
- 例外
RuntimeError -- プロフィールが使用されていない場合。
RuntimeError -- プロフィールに変数が存在しない場合。
ValueError -- プロフィールファイルに無効な HCL が含まれる場合。
OSError -- 発生したファイルシステムエラー。
- class profile.Profile