genvid.toolbox.TerraformTool

警告

このモジュールは廃止されました。古いモデルでは、まだコードが交差しますが、最新の Bastion API では動作しない可能性があります。新しい genvid-bastion ツールを使用してください。

class genvid.toolbox.TerraformTool(**kwargs)

ベースクラス: genvid.toolbox.runtime.RuntimeTool, genvid.toolbox.docker.DockerTool

Terraform を使用してクラウド環境を管理するためのメインツール。

バージョン 1.33.0 で撤廃: クラスを非推奨にする

NAME = 'terraform'
DESCRIPTION = 'Genvidtech Terraform Utility'
ARTIFACTS_URL_TEMPLATE = '{images_domain_name}/'

Docker イメージを読み込むためのベース URL のテンプレート。 terraform_config プロパティの情報でフォーマットされる。

SERVER_CLASSES = ('server', 'public_worker', 'internal_worker')

サーバーノード classes のリスト。

TF

Terraform 実行ファイルの場所。

TFS3DIR

terraform-s3-dir 実行ファイルの場所。

terraform_config

Terraform アウトプットと変数の辞書。

refresh() を呼び出して更新する。

status(*jobs)
refresh()

terraform_config 値を更新する。

get_ip()
get_consul_ip()
ssh_shell(ip=None)
ssh_config()

メインサーバーに接続するための、SSH コマンドラインパラメータを返す。

None が渡された場合、1 つ目のサーバー IP を使用する。

ssh(*cmd, ip=None)

SSH を使用して、IP で指定したサーバーで cmd を実行する。

None が渡された場合、1 つ目のサーバー IP を使用する。

run_nomad_fs(*args, ip=None, **kwargs)

SSH を使用して、サーバーで nomad fs を実行する。

これにより、リバースプロキシからのみ利用可能なノードで nomad fs が実行できる。

get_cluster_ips(public=False)

クラスタのすべてのノードのプライベート IP のリストを返す。

public が True の場合、パブリック IP を返す。

setup_jobs(**kwargs)
update_images()

Terraform 設定で、すべての Docker イメージを更新する。

run_tf(*args, cwd=None, **kwargs)

渡された引数で Terraform を実行する。

指定されていない場合、cwd は self.ROOTDIR に設定されます。

plan_cluster(*args, **kwargs)

Terraform plan を実行する。

apply_cluster(*args, **kwargs)

Terraform apply を実行する。

destroy_cluster(*args, **kwargs)

Terraform destroy を実行する。

output_cluster(*args, check=False, **kwargs)

Terraform output を実行する。

show_cluster(*args, **kwargs)

Terraform show を実行する。

add_terraform_commands()

TerraformTool から利用可能なすべてのコマンドを追加する。

add_commands() から実行し、Terraform から利用可能なすべてのコマンドをパーサーに追加する。 TerraformTool から利用可能なその他のコマンドについては、 RuntimeTool.add_runtime_commands() を参照してください。

run_terraform_command(command, options)

コマンドが Terraform コマンドかどうかを検出し、実行する。

run_command() から呼び出し、Terraform コマンドを処理する。 add_terraform_commands() により、Terraform コマンドが追加される。

戻り値:

handled, result: コマンドを処理したかどうかを示す、ブール値のトプル。
処理した場合は結果を返す。
add_commands()
run_command(command, options)