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_renameTrue である場合は除く)。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' とマークしたすべてのジョブを開始します。

stop_bastion_jobs(*jobs: str)

bastion に登録したジョブを停止します。

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 で変更:

check_backends()

Bastion のバックエンドを初期化。

バージョン 1.20.0 で変更: 処理を BastionTool.initialize_backends() に移動。

class bastion.BastionTool

genvid.toolbox.BastionTool の実装