genvid.toolbox.ClusterAPI

class genvid.toolbox.ClusterAPI(cluster_id='', use_wan=False, **kwargs)

ベースクラス: BaseHttpApiTool, ConsulTool

クラスタとの通信を処理します。

バージョン 1.20.0 で変更: use_wan パラメータで、サービスアドレスを TaggedAddress "wan" に置き換えます。デフォルトでは、内部登録アドレスを使用します。

バージョン 1.33.0 で変更: as_bitrate()ClusterTool に移動しました。

NAME = 'cluster-api'

このツールのロガー名。子 class (children) で再定義する必要があります。

cluster_id

Genvid クラスタサービス API のベース URL。

GENVID_CLUSTER_API_BASEURL

cluster API にアクセスするための bastion サーバーからのベース URL。

バージョン 1.12.0 で非推奨: get_base_url() はこの値を使用しなくなりました。代わりにそのメソッドをオーバーライドしてください。

jobs

JobsAPI を取得

logs

LogsAPI を取得

get_proxied_url(service: str = 'cluster-api', timeout=0.0) str

クラスタサービスの URL を取得する

バージョン 1.12.0 で変更: URL は常にスラッシュ抜きで返るようになりました。

get_base_url(timeout=0.0) str

ベース URL を取得する

is_bastion_running(timeout=0.0) bool

bastion インスタンスが実行中かどうかをチェックします。

バージョン 1.20.0 で追加.

get_cluster_id_tag() str
: 戻り値: 付加された現在のオブジェクトのcluster_id

"CLUSTER_ID:" 付き。consulate クライアントのタグ フィルタに使用するため

is_cluster_running(timeout=0.0) bool
戻り値

クラスタインスタンスが実行中のみ True

バージョン 1.30.0 で変更: Cluster-api を使用してクラスタが接続されているかをチェックします。

get_cluster_version(timeout=0.0)

このクラスタインスタンスのバージョンを取得します。

パラメータ

timeout -- サービスが準備完了になるまでの待機時間のタイムアウト。

バージョン 1.20.0 で追加.

load_project_definition(definition)

クラスタにプロジェクト定義を読み込む。

バージョン 1.29.0 で非推奨: 廃止

get_project_config(timeout=0.0)

プロジェクト設定を取得する。

パラメータ

timeout -- タイムアウト (秒)。

戻り値

プロジェクト設定。

set_project_config(config: dict, timeout=0.0)

プロジェクト構成を設定する。genvid、bastion、vault のキーは破棄されます。

パラメータ
  • config -- プロジェクト設定。

  • timeout -- タイムアウト (秒)。

delete_project_config(timeout=0.0)

設定を削除する。genvid、bastion、vault のキーは破棄されます。

パラメータ

timeout -- タイムアウト (秒)。

do_consul_template(template: str, timeout=0.0) dict

サーバーで consul-template を実行し、結果を返す。

パラメータ
  • template -- テンプレート。

  • timeout -- タイムアウト (秒)。

戻り値

例: { "data": "result", "stderr": "message"}

バージョン 1.33.0 で非推奨: render_template() に置き換わりました。

get_project_log_list(timeout=0.0) List[dict]

ログのリストを取得する。

戻り値

ログのリスト。

バージョン 1.12 で非推奨: logsLogsAPI.get_logs() を使用

set_project_log_list(logs: list, timeout=0.0)

ログのリストを返す。

パラメータ
  • logs -- ログのリストを設定する。

  • timeout -- タイムアウト (秒)。

バージョン 1.12 で非推奨: logsLogsAPI.set_logs() を使用

delete_project_log_list(timeout=0.0)

クラスタのリストを削除する。

パラメータ

timeout -- タイムアウト (秒)。

バージョン 1.12 で非推奨: logsLogsAPI.delete_logs() を使用

delete_project_log(log_id: str, timeout=0.0)

指定したログを削除する。

パラメータ
  • log_id -- ログ ID。

  • timeout -- タイムアウト (秒)。

バージョン 1.12 で非推奨: logsLogsAPI.delete_log() を使用

get_project_log_meta(name: str, timeout=0.0) dict

プロジェクトのログに関連付けられたメタデータを返す。

パラメータ
  • name -- ログ名。

  • timeout -- タイムアウト (秒)。

バージョン 1.12 で非推奨: logsLogsAPI.get_log_meta() を使用

get_project_log_stream(meta: dict, origin: str, offset: int, timeout=0.0)

メタで指定されたログのログストリームを返す。

パラメータ
  • meta -- ログのメタ情報。

  • origin -- ログの起点。start または end。

  • offset -- 原点へのオフセット。

  • timeout -- タイムアウト (秒)。

バージョン 1.12 で非推奨: logsLogsAPI.get_log_stream() を使用

print_project_log(name, output=None, tail=False, follow=False, lines=10, timeout=0.0)

出力時にプロジェクトログを出力する。

パラメータ
  • name -- ログ名。

  • output -- None の場合、デフォルトは stdout。

  • tail -- True の場合、ログの最後を出力する。

  • follow -- True の場合、実行中ログ表示を継続する。

  • lines -- 表示するラインの概数。

  • timeout -- タイムアウト (秒)。

バージョン 1.12 で非推奨: logsLogsAPI.print_log() を使用

get_project_jobs(timeout=0.0)

プロセスで実行中のジョブを返す。

バージョン 1.12.0 で非推奨: jobsJobsAPI.get_job_definitions() を使用

get_events_defs(timeout=0.0)

イベント定義を取得する。

パラメータ

timeout -- タイムアウト (秒)。

set_events_defs(events_defs: dict, timeout=0.0) dict

イベント定義を設定する。

パラメータ
  • events_defs -- イベント。

  • timeout -- タイムアウト (秒)。

delete_events_def(event_id: str, timeout=0.0)

イベント定義を削除する。

パラメータ
  • event_id -- 削除するイベント定義。

  • timeout -- タイムアウト (秒)。

delete_events_defs(timeout=0.0)

複数のイベント定義を削除する。

パラメータ

timeout -- タイムアウト (秒)。

get_secrets(timeout=0.0) dict

データベースのシークレットのリストを取得する。

パラメータ

timeout -- タイムアウト (秒)。

戻り値

シークレットのリスト。例: { "keys": ["command", "disco"]}

get_secret(path: str, timeout=0.0) dict

シークレットを取得する。

パラメータ
  • path -- シークレットへのパス。

  • timeout -- タイムアウト (秒)。

戻り値

シークレットに関連付けられたデータ。

set_secret(path: str, data: dict, timeout=0.0)

シークレットを設定する。

パラメータ
  • path -- シークレットへのパス。

  • data -- シークレットに関連付けられたデータ。

  • timeout -- タイムアウト (秒)。

delete_secret(path: str, timeout=0.0)

シークレットを削除する。

パラメータ
  • path -- シークレットへのパス。

  • timeout -- タイムアウト (秒)。

clear_secrets(timeout=0.0)

シークレットを削除する。

パラメータ

timeout -- タイムアウト (秒)。

run_project_job(job: str, timeout=0.0)

クラスタサービスを呼び出すことで、プロジェクトジョブを開始する。

パラメータ
  • job -- ジョブ名。

  • timeout -- タイムアウト (秒)。

バージョン 1.12.0 で非推奨: jobsJobsAPI.start_job() を使用

stop_project_job(job: str, timeout=0.0)

クラスタサービスを呼び出すことで、プロジェクトジョブを停止する。

パラメータ
  • job -- ジョブ名。

  • timeout -- タイムアウト (秒)。

バージョン 1.12.0 で非推奨: jobsJobsAPI.stop_job() を使用

run_all_project_job(timeout=0.0)

クラスタサービスを呼び出すことで、すべてのプロジェクトジョブを開始する。

パラメータ

timeout -- タイムアウト (秒)。

バージョン 1.12.0 で非推奨: jobsJobsAPI.start_all_job() を使用

stop_all_project_job(timeout=0.0)

クラスタサービスを呼び出すことで、すべてのプロジェクトジョブを停止する。

パラメータ

timeout -- タイムアウト (秒)。

バージョン 1.12.0 で非推奨: jobsJobsAPI.stop_all_job() を使用

リンクのリストを取得する。

パラメータ
  • category -- リンクのカテゴリ。

  • link_id -- リンクの ID。

  • timeout -- タイムアウト (秒)。

戻り値

文字列のリスト。

get_schema(schema: str)

指定したスキーマを取得する。

パラメータ

schema -- スキーマファイル。

戻り値

get_settings_schema() str

設定のスキーマを取得します。

バージョン 1.41.0 で追加.

set_settings_schema(schema: dict)

設定用スキーマを更新します。

バージョン 1.41.0 で追加.

get_default_settings() dict

デフォルト設定を取得する。

戻り値

設定の辞書。

get_settings() dict

セッティングを取得する。

戻り値

設定の辞書。

get_settings_validation() List[str]

セッティングの検証を取得する。

戻り値

警告メッセージのリスト。

set_settings(settings: dict)

複数の構成を設定する。

パラメータ

settings -- 構成に使用する設定。Values のデフォルトは empty です。

get_jobsdefs(timeout=0.0) dict

複数のジョブの定義を取得する。

パラメータ

timeout -- タイムアウト (秒)。

戻り値

ジョブ定義に関連付けられたデータ。

バージョン 1.12.0 で非推奨: jobsJobsAPI.get_job_definitions() を使用

set_jobsdefs(data: dict, timeout=0.0)

複数のジョブの定義を設定する。

パラメータ
  • data -- ジョブ定義に関連付けられたデータ。

  • timeout -- タイムアウト (秒)。

バージョン 1.12.0 で非推奨: jobsJobsAPI.update_job_definitions() を使用

delete_jobsdefs(timeout=0.0)

複数のジョブの定義を削除する。

パラメータ

timeout -- タイムアウト (秒)。

バージョン 1.12.0 で非推奨: jobsJobsAPI.delete_job_definitions() を使用

delete_jobsdef(job_id: str, timeout=0.0)

ジョブの定義を削除する。

パラメータ

timeout -- タイムアウト (秒)。

バージョン 1.12.0 で非推奨: jobsJobsAPI.delete_job_definition() を使用

get_linksdefs(timeout=0.0) dict

複数のリンク定義を取得する。

パラメータ

timeout -- タイムアウト (秒)。

戻り値

リンク定義に関連付けられたデータ。

set_linksdefs(data: dict, timeout=0.0)

複数のリンク定義を設定する。

パラメータ
  • data -- リンク定義に関連付けられたデータ。

  • timeout -- タイムアウト (秒)。

delete_linksdefs(timeout=0.0)

複数のリンク定義を削除する。

パラメータ

timeout -- タイムアウト (秒)。

delete_linksdef(link_id: str, timeout=0.0)

リンクの定義を削除する。

パラメータ

timeout -- タイムアウト (秒)。

get_service_addresses(service: str, timeout=0.0) List[str]

サービスのアドレスを取得する

パラメータ
  • service -- サービス名

  • timeout -- タイムアウト (秒)

戻り値

IP アドレスとポートのリスト。

get_health(service: str, timeout=0.0) dict

サービスのヘルス定義を返します。

パラメータ
  • service -- サービス名

  • timeout -- タイムアウト (秒)

戻り値

サービスのプロパティを含む辞書。

get_nodes(timeout=0.0) dict

ノードのリストを返します。

Consul に登録されているノードのリストを返します。

各ノードには、以下のプロパティがあります。

  • Name

  • Status

  • NodeClass

パラメータ

timeout -- タイムアウト (秒)

戻り値

ノードプロパティの辞書の一覧。

get_node(nodeid: str, timeout=0.0) dict

ノードのプロパティを返します。

登録されたノードプロパティを返します。

パラメータ

timeout -- タイムアウト (秒)

戻り値

ノードプロパティの辞書。

get_cluster_info(timeout=0.0, retry_request=False)

クエリの結果を返します: /v1/proxy/CLUSTER_ID/cluster-api/v1/cluster/info

バージョン 1.30.0 で変更: retry_request パラメータを追加し、エラー時のリトライを可能にします。

render_template(content: Optional[str] = None, templatePath: Optional[str] = None, sources: Optional[str] = None, environment: Optional[Dict[str, str]] = None, timeout=5.0) dict

サーバーで consul-template を実行し、結果を返す。

パラメータ
  • content -- レンダリングされるテンプレートの内容。templatePath を使用する場合はNone または空でなければなりません。

  • templatePath -- ソース内のテンプレートのパス。 content が使用される場合は None 又は空に設定する必要があり、 sources は提供されなければなりません。

  • sources -- ソースのためのURL templatePath が設定されている場合は、必ず指定してください。

  • environment -- 環境変数の辞書です。キーと値は文字列であること。

  • timeout -- タイムアウト (秒)。

戻り値

例: { "data": "result", "stderr": "message"}

バージョン 1.33.0 で追加.

class cluster_api.ClusterAPI

genvid.toolbox.ClusterAPI の実装