genvid.toolbox.BastionTool

class genvid.toolbox.BastionTool(**kwargs)

ベースクラス: genvid.toolbox.allinone.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 = None

ローカルサービス (Consul、Nomad、Vault) がインストールされているパス。

GENVID_BASTION_BINDING_PORT = None

bastion-api がバインドするポート。

services = None

bastion API のクライアント。

setup_bastion(bastionid: str = '', force_rename=False)

ローカル Bastion サービスを設定します。

『setup』 で started とマークされているジョブをすべて開始し、適切な Bastion ID が設定されていることを確認します。

パラメータ:
  • bastionid – 空白でない場合は、設定する Bastion ID。
  • force_rename – すでに設定されている場合は、Bastion ID を置き換えます。

警告

Bastion ID がすでに存在する場合、提供されたものと同一である必要があります (force_renameTrue である場合は除く)。ID が提供されていない場合、サービスの Bastion ID が設定されている必要があります。

load_bastion_config(excluded_services: typing.Iterable[str] = None)

bastion 設定を bastion-api にロードします。

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 パラメータを追加する。

check_backends()

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

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

class bastion.BastionTool

genvid.toolbox.BastionTool の実装