genvid.toolbox.BastionTool
- class genvid.toolbox.BastionTool(**kwargs)
ベースクラス:
AllInOneTool
ローカル Bastion の設定、管理用ツール。
バージョン 1.20.0 で追加.
バージョン 1.30.0 で変更: :py:attr:
SETUP_LOGS
を削除。 コピーの保存先はClusterTool
ですが、使用されていません。- BACKUP_STRATEGIES = (<genvid.toolbox.backup.VersionBackup object>, <genvid.toolbox.backup.ConsulBackup object>, <genvid.toolbox.backup.VaultBackup object>, <genvid.toolbox.backup.TerraformBackup object>)
- SETUP_JOBS = ('bastion-api',)
セットアップ後実行されるジョブ。
- GENVID_SERVICES_DATADIR
ローカルサービス (Consul、Nomad、Vault) がインストールされているパス。
- GENVID_BASTION_BINDING_PORT
bastion-api がバインドするポート。
- services
bastion API のクライアント。
- setup_bastion(bastionid: Optional[str] = None, force_rename=False)
ローカル Bastion サービスを設定します。
'setup' で started とマークされているジョブをすべて開始し、適切な Bastion ID が設定されていることを確認します。
- パラメータ
bastionid -- 空白でない場合は、設定する Bastion ID。
force_rename -- すでに設定されている場合は、Bastion ID を置き換えます。
警告
Bastion ID がすでに存在する場合、提供されたものと同一である必要があります (
force_rename
がTrue
である場合は除く)。ID が提供されていない場合、サービスの Bastion ID が設定されている必要があります。バージョン 1.39.0 で変更: このバージョンから、すべてのセットアップジョブは厳密にHCLv2に準拠する必要があります。
- load_bastion_config(excluded_services: Optional[Iterable[str]] = None, reset: bool = False)
bastion 設定を bastion-api にロードします。
バージョン 1.34.0 で変更:
compress
パラメータを追加。
- start_bastion_jobs(*jobs: str)
bastion に登録したジョブを開始します。
- パラメータ
jobs -- 開始するジョブ名。
注釈
jobs
パラメータが空白のままである場合、このメソッドは 'autostarted' とマークしたすべてのジョブを開始します。
- update_terraform_repositories()
Terraform レポジトリを更新します。
このメソッドは、不足しているモジュールをレポジトリに追加し、それ以外のモジュールを更新します。
バージョン 1.20.0 で追加.
- initialize_backends()
Bastion のバックエンドを初期化します。
すでに定義されたバックエンドが存在する場合を除き、現在、このメソッドは1つのバックエンド ('default' という名称) を追加します。
すでに定義されたバックエンドが存在する場合、このメソッドは何の処理も行いません。
バージョン 1.20.0 で追加.
- update_global_tfvars()
グローバル terraform 変数の設定を更新します。
具体的には、このメソッドは次の動作を行います。
Bastion に現在の設定を問い合わせる。
'trusted_cidr' を現在の IP アドレスに更新する。
'toolbox_location' を現在の環境に更新する。
新しい設定を Bastion に戻す。
バージョン 1.20.0 で追加.
- set_default_terraform_providers(*, providers_file: str, **kwargs)
ファイルの内容を使用して、デフォルトの Terraform プロバイダを更新する。
ファイルの内容は、
BastionAPI.terraform_put_default_providers
の JSON 形式と一致する必要があります。- パラメータ
providers_file -- 新しいプロバイダが含まれるファイル。
- get_default_terraform_providers(**kwargs)
デフォルトの Terraform プロバイダ構成を表示する。
表示される JSON は
BastionAPI.terraform_get_default_providers
の形式と一致します。
- delete_default_terraform_providers(**kwargs)
デフォルトの Terraform プロバイダ構成を削除する。
- has_default_terraform_providers(**kwargs)
デフォルトの terraform プロバイダが存在するかを確認し、ブール値を返します。
- check_modules()
Genvid Default Repository
が存在しない場合は、追加します。いずれの場合も更新を行ってください。バージョン 1.13.0 で変更: すべてのリポジトリを更新しなくなりました。代わりに genvid-clusters repository-update-all を使用してください。
バージョン 1.14.0 で変更: updateall パラメータを追加する。
バージョン 1.20.0 で変更:
使用されていない updateall パラメータを削除。
- check_backends()
Bastion のバックエンドを初期化。
バージョン 1.20.0 で変更: 処理を
BastionTool.initialize_backends()
に移動。
- class bastion.BastionTool