genvid.toolbox.Clusters

class genvid.toolbox.Clusters(use_wan=False, **kwargs)

ベースクラス: BastionAPI

クラスタ管理用のベース class。

CLUSTER_MAPPED_ARGS = {'plans': 'plan_file'}
global_show()

グローバル設定を表示する。

global_update(bastion_id)

グローバル設定を更新する。

パラメータ

bastion_id -- Bastion ID。

global_tfvars_show()

グローバル terraform 変数を表示する。

global_tfvars_update(tffile: str)

グローバル terraform 変数を更新する。

cluster_list()

クラスタのリストを出力する。

cluster_exists(cluster_id: str)
cluster_create(cluster_id: str, backend: str = 'default', variable: Optional[List[str]] = None, category: str = 'cluster')

クラスタを作成する。

パラメータ
  • cluster_id (str) -- このクラスタの一意の ID。

  • backend (str) -- バックエンド ID。

  • variable (str) -- バックエンド変数。

  • category (str) -- このクラスタのカテゴリ。特殊な値は cluster で、これが cluster-api サービスをマージできるクラスタを表します。

cluster_delete(cluster_id: str, force: bool = False)

クラスタを削除する。

パラメータ
  • cluster_id --

  • force -- クラスタを強制的に削除する

cluster_show(cluster_id: str)

指定のクラスタに関する情報を表示する。

パラメータ

cluster_id --

バージョン 1.42.0 で変更: リストまたはディクショナリーの場合、適切なJSONとして値をダンプします。

cluster_static_create(cluster_id: str, output: dict, *, category: str = 'cluster')

静的クラスタを作成します。

パラメータ
  • cluster_id -- このクラスタの一意の ID。

  • output -- 出力用の辞書で、Terraform JSON output と互換性がある必要があります。

  • category -- このクラスタのカテゴリ。特殊な値は cluster で、これが cluster-api サービスをマージできるクラスタを表します。

バージョン 1.42.0 で追加.

cluster_static_update(cluster_id: str, output: dict) None

静的なクラスタを更新します。

パラメータ
  • cluster_id -- クラスタを識別する一意のID。

  • output -- 出力用の辞書で、Terraform JSON output と互換性がある必要があります。

バージョン 1.42.0 で追加.

get_instances(clusters: Optional[List[str]] = None) List[dict]

クラスタ インスタンスを取得する。

パラメータ

clusters -- クラスタのリスト。

get_instance_id(clusters: Optional[List[str]] = None, globalcontext: bool = False)

単一のインスタンス ID を取得する。

パラメータ
  • clusters -- クラスタのリスト (単一リスト)。

  • globalcontext -- グローバルコンテキスト。

戻り値

単一のインスタンスまたは例外。

Raises

インスタンス数が 1 でない場合、ValueError。

execute_global_action(action: str, globalcontext: bool = False, silent: bool = False, **kwargs)

グローバルアクションを実行する。

パラメータ
  • action -- init、plan、apply、destroy、または refresh。

  • globalcontext -- グローバルコンテキストのアクションかどうか。

  • silent -- コマンドログを出力しない。

  • kwargs --

execute_clusters_action(action: str, clusters: Optional[List[str]] = None, silent: bool = False, *, instances: Optional[List[dict]] = None, **kwargs)

同時に複数のクラスタのアクションを実行する。

パラメータ
  • action -- init、plan、apply、destroy、または refresh。

  • clusters -- クラスタのリスト。

  • silent -- コマンドログを出力しない。

  • kwargs --

戻り値

辞書

execute_action(action: Optional[str] = None, cluster_id: Optional[str] = None, instance_id: Optional[str] = None, silent: bool = False, **kwargs)

アクションを実行する。

パラメータ
  • action -- init、plan、apply、destroy、または refresh。

  • cluster_id -- クラスタ ID。グローバルコンテキストでは、empty の場合があります。

  • instance_id -- インスタンス ID。

  • silent -- コマンドログを出力しない。

  • kwargs --

戻り値

terraform_get(clusters: Optional[List[str]] = None, globalcontext: bool = False)

Terraform get を実行する。

パラメータ
  • clusters -- クラスタのリスト。

  • globalcontext -- グローバルコンテキスト。

terraform_plan(clusters: Optional[List[str]] = None, globalcontext: bool = False, destroy: bool = False, silent: bool = False, *, instances: Optional[List[dict]] = None, **kwargs)

Terraform plan を実行する。

Terraform plan コマンドは、実際に実行することなくクラスタで行われる処理を検証します。 terraform_apply() がエラーで構成が完了せずに終了する状況を防ぐため、このコマンドを先に実行してみるとよいでしょう。

パラメータ
  • clusters -- instances パラメータが None のときに動作するクラスタ ID のオプションリスト。

  • globalcontext -- 処理をグローバルコンテキストで行うかどうか。

  • destroy -- terraform_destroy() などの処理の前に、クラスタを消滅させるかどうか。

  • silent -- コンソールに出力しない。

  • instances -- 動作するインスタンス。

警告

instancesNone でない場合、 clusters は無視されます。

バージョン 1.21.0 で変更:

  • メソッドによるインスタンスのクエリをバイパスする新しいパラメータ instances

  • 解説書の拡張と typing アノテーション。

terraform_plan_destroy(clusters: Optional[List[str]] = None, globalcontext: bool = False, silent: bool = False, *, instances: Optional[List[dict]] = None, **kwargs)

Terraform plan を実行して、クラスタを破棄する。

パラメータ
  • clusters -- instances パラメータが None のときに動作するクラスタ ID のオプションリスト。

  • globalcontext -- 処理をグローバルコンテキストで行うかどうか。

  • silent -- コンソールに出力しない。

  • instances -- 動作するインスタンス。

警告

instancesNone でない場合、 clusters は無視されます。

参考

詳細は terraform_plan() を参照してください。

バージョン 1.21.0 で変更:

  • メソッドによるインスタンスのクエリをバイパスする新しいパラメータ instances

  • 解説書の拡張と typing アノテーション。

terraform_plan_apply(clusters: Optional[List[str]] = None, globalcontext: bool = False, silent: bool = False, *, instances: Optional[List[dict]] = None, **kwargs)

Terraform plan を実行してクラスタにモジュールを適用する。

パラメータ
  • clusters -- instances パラメータが None のときに動作するクラスタ ID のオプションリスト。

  • globalcontext -- 処理をグローバルコンテキストで行うかどうか。

  • silent -- コンソールに出力しない。

  • instances -- 動作するインスタンス。

警告

instancesNone でない場合、 clusters は無視されます。

参考

詳細は terraform_plan() を参照してください。

バージョン 1.21.0 で変更:

  • メソッドによるインスタンスのクエリをバイパスする新しいパラメータ instances

  • 解説書の拡張と typing アノテーション。

terraform_import_module(clusters: Optional[List[str]] = None, module_path: str = 'cluster/default', globalcontext: bool = False, silent: bool = False, force: bool = False, *, instances: Optional[List[dict]] = None, **kwargs)

Terraform import モジュールの処理を実行する。

このコマンドは、Terraform モジュールをクラスタにインポートするために使用します。クラスタを EMPTY から DOWN に効果的に変化させ、apply の処理が実行されるのを待機します。

パラメータ
  • clusters -- instances パラメータが None のときに動作するクラスタ ID のオプションリスト。

  • module_path -- インポートする Terraform モジュールのパス。

  • globalcontext -- 処理をグローバルコンテキストで行うかどうか。

  • destroy -- terraform_destroy() などの処理の前に、クラスタを消滅させるかどうか。

  • silent -- コンソールに出力しない。

  • force -- クラスタが無効状態であっても、強制的にインポートを行う。

  • instances -- 動作するインスタンス。

警告

instancesNone でない場合、 clusters は無視されます。

バージョン 1.21.0 で変更:

  • メソッドによるインスタンスのクエリをバイパスする新しいパラメータ instances

  • 解説書の拡張と typing アノテーション。

terraform_init(clusters: Optional[List[str]] = None, globalcontext: bool = False, silent: bool = False, force: bool = False, doall: bool = False, *, instances: Optional[List[dict]] = None, **kwargs)

Terraform init を実行する。

Terraform 構成ファイルを含む作業ディレクトリを初期化または更新します。新しい Terraform 構成を書き込んだ後に最初に実行するのが、このコマンドです。

パラメータ
  • clusters -- instances パラメータが None のときに動作するクラスタ ID のオプションリスト。

  • module_path -- インポートする Terraform モジュールのパス。

  • globalcontext -- 処理をグローバルコンテキストで行うかどうか。

  • destroy -- terraform_destroy() などの処理の前に、クラスタを消滅させるかどうか。

  • silent -- コンソールに出力しない。

  • force -- クラスタが無効状態であっても、コマンドを強制実行する。

  • doall -- True の場合、 instancesclusters を無視して、すべての非静的インスタンスで動作する。

  • instances -- 動作するインスタンス。

警告

instancesNone でない場合、 clusters は無視されます。

バージョン 1.14.0 で変更: doall パラメータを追加する。

バージョン 1.21.0 で変更:

  • メソッドによるインスタンスのクエリをバイパスする新しいパラメータ instances

  • 解説書の拡張と typing アノテーション。

terraform_apply(clusters: Optional[List[str]] = None, globalcontext: bool = False, silent: bool = False, *, instances: Optional[List[dict]] = None, **kwargs)

Terraform apply を実行する。

Terraform apply コマンドは、必要な構成をクラスタに適用して、Terraform モジュールに記述されたステータスにするために使用します。

パラメータ
  • clusters -- instances パラメータが None のときに動作するクラスタ ID のオプションリスト。

  • globalcontext -- 処理をグローバルコンテキストで行うかどうか。

  • silent -- コンソールに出力しない。

  • instances -- 動作するインスタンス。

警告

instancesNone でない場合、 clusters は無視されます。

バージョン 1.21.0 で変更:

  • メソッドによるインスタンスのクエリをバイパスする新しいパラメータ instances

  • 解説書の拡張と typing アノテーション。

terraform_destroy(clusters: Optional[List[str]] = None, globalcontext: bool = False, silent: bool = False, *, instances: Optional[List[dict]] = None, **kwargs)

Terraform destroy を実行する。

Terraform destroy コマンドは、直前の apply コマンドで行った作業を消去するために使用します。

パラメータ
  • clusters -- instances パラメータが None のときに動作するクラスタ ID のオプションリスト。

  • globalcontext -- 処理をグローバルコンテキストで行うかどうか。

  • silent -- コンソールに出力しない。

  • instances -- 動作するインスタンス。

警告

instancesNone でない場合、 clusters は無視されます。

バージョン 1.21.0 で変更:

  • メソッドによるインスタンスのクエリをバイパスする新しいパラメータ instances

  • 解説書の拡張と typing アノテーション。

terraform_refresh(clusters: Optional[List[str]] = None, globalcontext: bool = False, silent: bool = False, *, instances: Optional[List[dict]] = None, **kwargs)

Terraform refresh を実行する。

Terraform refresh コマンドは、クラスタの状態ファイルを実際のインフラストラクチャで更新するために使用します。

パラメータ
  • clusters -- instances パラメータが None のときに動作するクラスタ ID のオプションリスト。

  • globalcontext -- 処理をグローバルコンテキストで行うかどうか。

  • silent -- コンソールに出力しない。

  • instances -- 動作するインスタンス。

警告

instancesNone でない場合、 clusters は無視されます。

バージョン 1.21.0 で変更:

  • メソッドによるインスタンスのクエリをバイパスする新しいパラメータ instances

  • 解説書の拡張と typing アノテーション。

terraform_output(clusters: Optional[List[str]] = None, globalcontext=False, **kwargs)

Terraform output を実行する。

パラメータ
  • clusters -- クラスタのリスト。

  • globalcontext -- グローバルコンテキスト。

  • kwargs --

terraform_status(clusters: Optional[List[str]] = None, globalcontext=False)

コマンドラインにクラスタのステータスを出力する。

結果は次のようになります。

  • VOID : インスタンスが存在しません。

  • EMPTY : インスタンスが存在するが、初期化されていない。

  • DOWN : インスタンスが初期化されているが、リソースが含まれていない。

    含まれていない。

  • UP : インスタンスがリソースを制御している。

  • BUSY : インスタンスがコマンドを実行中です。

  • ERROR : ステータスの取得中にエラーが発生。

  • INVALID : インスタンスの現在のステータスが不明です。

パラメータ
  • clusters -- クラスタのリスト。

  • globalcontext -- グローバルコンテキスト。

  • kwargs --

terraform_tfvars_show(clusters: Optional[List[str]] = None, globalcontext=False, **kwargs)

terraform.tfvars.json ファイルを表示する。

パラメータ
  • clusters -- クラスタのリスト。

  • globalcontext -- グローバルコンテキスト。

  • kwargs --

terraform_tfvars_default(clusters: Optional[List[str]] = None, globalcontext=False, **kwargs)

デフォルトの terraform.tfvars.json ファイルを表示する。

パラメータ
  • clusters -- クラスタのリスト。

  • globalcontext -- グローバルコンテキスト。

  • kwargs --

terraform_schema(clusters: Optional[List[str]] = None, globalcontext=False, **kwargs)

デフォルトの terraform.tfvars.json ファイルを表示する。

パラメータ
  • clusters -- クラスタのリスト。

  • globalcontext -- グローバルコンテキスト。

  • kwargs --

terraform_tfvars_update(clusters: Optional[List[str]] = None, globalcontext=False, tffile: str = '', **kwargs)

terraform.tfvars.json ファイルを更新する。

パラメータ
  • clusters -- クラスタのリスト。

  • globalcontext -- グローバルコンテキスト。

  • file -- アップデートするソースファイル。

  • kwargs --

set_terraform_providers(clusters: Optional[Iterable[str]] = None, *, providers_file: str, **kwargs)

ファイルの内容を使用して、Terraform プロバイダを更新する。

ファイルの内容は、 BastionAPI.terraform_put_providers の JSON 形式と一致する必要があります。

パラメータ
  • clusters -- 動作するクラスタの ID。

  • providers_file -- 新しいプロバイダが含まれるファイル。

get_terraform_providers(clusters: Optional[Iterable[str]] = None, **kwargs)

クラスタの Terraform プロバイダ構成を表示する。

表示される JSON は BastionAPI.terraform_get_providers の形式と一致します。

パラメータ

clusters -- 動作するクラスタの ID。

delete_terraform_providers(clusters: Optional[Iterable[str]] = None, **kwargs)

クラスタに構成された Terraform プロバイダを削除する。

パラメータ

clusters -- 動作するクラスタの ID。

commands_list(clusters: Optional[List[str]] = None, globalcontext: bool = False, *, instances: Optional[List[dict]] = None, **kwargs)

利用可能なコマンドのリストを表示する。

パラメータ
  • clusters -- instances パラメータが None のときに動作するクラスタ ID のオプションリスト。

  • globalcontext -- グローバルコンテキストからコマンドをリストするかどうか。

  • instances -- 動作するインスタンス。

警告

instancesNone でない場合、 clusters は無視されます。

バージョン 1.21.0 で変更:

  • 複数のクラスタでの処理のサポートを追加。

  • メソッドによるインスタンスのクエリをバイパスする新しいパラメータ instances

  • 解説書の拡張と typing アノテーション。

commands_log(clusters: Optional[List[str]] = None, globalcontext=False, command_id: str = '', **kwargs)

コマンドログを出力する。

パラメータ
  • clusters -- クラスタのリスト。

  • globalcontext -- グローバルコンテキスト。

  • command_id -- コマンド ID。

  • kwargs --

commands_latest(clusters: Optional[List[str]] = None, globalcontext=False, **kwargs)

最新のコマンドログを出力する。

パラメータ
  • clusters -- クラスタのリスト。

  • globalcontext -- グローバルコンテキスト。

  • kwargs --

repository_list()

すべての terraform レポジトリ構成のリスト。

path_to_uri(url)

パスが、ファイルではなく、実際の URI になっていることを確認してください。

URL で指定されるファイルが、実際に存在している必要があります。

repository_add(repository: str, url: str)

レポジトリを追加する。

パラメータ
  • repository -- レポジトリの一意の名前。

  • url -- レポジトリの URL (bastion からアクセスできる必要があります)。

戻り値

レポジトリ設定。

repository_update(repository: str, url: str = '')

既存のレポジトリを更新する。

パラメータ
  • repository -- レポジトリ名。

  • url -- レポジトリの URL (オプション)。

戻り値

レポジトリ設定。

repository_remove(repository: str)

レポジトリを削除する。

パラメータ

name -- レポジトリ名。

戻り値

レポジトリ設定。

repository_update_all()

登録したすべてのレポジトリを更新する。

repository_clean()

登録したすべてのレポジトリを削除する。

backend_list()

すべてのバックエンドテンプレートのリストを取得する。

backend_add(backend_id: str, backend_type: str, variables: Optional[dict] = None)

新しいバックエンドテンプレートを追加。

パラメータ
  • backend_id -- バックエンド ID

  • backend_type -- バックエンドのタイプ。

  • variables -- バックエンドのデフォルト値のリスト。

backend_update(backend_id: str, backend_type: str, variables: Optional[dict] = None)

既存のバックエンドテンプレートを更新する。

パラメータ
  • backend_id -- バックエンド ID

  • backend_type -- バックエンドのタイプ。

  • variables -- バックエンドのデフォルト値のリスト。

backend_remove(backend_id: str)

バックエンドテンプレートを削除する。

パラメータ

backend_id -- バックエンド ID

wait_command(command)