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()
はこの値を使用しなくなりました。代わりにそのメソッドをオーバーライドしてください。
- get_proxied_url(service: str = 'cluster-api', timeout=0.0) str
クラスタサービスの URL を取得する
バージョン 1.12.0 で変更: URL は常にスラッシュ抜きで返るようになりました。
- 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 で非推奨:
logs
とLogsAPI.get_logs()
を使用
- set_project_log_list(logs: list, timeout=0.0)
ログのリストを返す。
- パラメータ
logs -- ログのリストを設定する。
timeout -- タイムアウト (秒)。
バージョン 1.12 で非推奨:
logs
とLogsAPI.set_logs()
を使用
- delete_project_log_list(timeout=0.0)
クラスタのリストを削除する。
- パラメータ
timeout -- タイムアウト (秒)。
バージョン 1.12 で非推奨:
logs
とLogsAPI.delete_logs()
を使用
- delete_project_log(log_id: str, timeout=0.0)
指定したログを削除する。
- パラメータ
log_id -- ログ ID。
timeout -- タイムアウト (秒)。
バージョン 1.12 で非推奨:
logs
とLogsAPI.delete_log()
を使用
- get_project_log_meta(name: str, timeout=0.0) dict
プロジェクトのログに関連付けられたメタデータを返す。
- パラメータ
name -- ログ名。
timeout -- タイムアウト (秒)。
バージョン 1.12 で非推奨:
logs
とLogsAPI.get_log_meta()
を使用
- get_project_log_stream(meta: dict, origin: str, offset: int, timeout=0.0)
メタで指定されたログのログストリームを返す。
- パラメータ
meta -- ログのメタ情報。
origin -- ログの起点。start または end。
offset -- 原点へのオフセット。
timeout -- タイムアウト (秒)。
バージョン 1.12 で非推奨:
logs
とLogsAPI.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 で非推奨:
logs
とLogsAPI.print_log()
を使用
- get_project_jobs(timeout=0.0)
プロセスで実行中のジョブを返す。
バージョン 1.12.0 で非推奨:
jobs
とJobsAPI.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 で非推奨:
jobs
とJobsAPI.start_job()
を使用
- stop_project_job(job: str, timeout=0.0)
クラスタサービスを呼び出すことで、プロジェクトジョブを停止する。
- パラメータ
job -- ジョブ名。
timeout -- タイムアウト (秒)。
バージョン 1.12.0 で非推奨:
jobs
とJobsAPI.stop_job()
を使用
- run_all_project_job(timeout=0.0)
クラスタサービスを呼び出すことで、すべてのプロジェクトジョブを開始する。
- パラメータ
timeout -- タイムアウト (秒)。
バージョン 1.12.0 で非推奨:
jobs
とJobsAPI.start_all_job()
を使用
- stop_all_project_job(timeout=0.0)
クラスタサービスを呼び出すことで、すべてのプロジェクトジョブを停止する。
- パラメータ
timeout -- タイムアウト (秒)。
バージョン 1.12.0 で非推奨:
jobs
とJobsAPI.stop_all_job()
を使用
- get_links(category: str = '', link_id: str = '', timeout=0.0)
リンクのリストを取得する。
- パラメータ
category -- リンクのカテゴリ。
link_id -- リンクの ID。
timeout -- タイムアウト (秒)。
- 戻り値
文字列のリスト。
- get_jobsdefs(timeout=0.0) dict
複数のジョブの定義を取得する。
- パラメータ
timeout -- タイムアウト (秒)。
- 戻り値
ジョブ定義に関連付けられたデータ。
バージョン 1.12.0 で非推奨:
jobs
とJobsAPI.get_job_definitions()
を使用
- set_jobsdefs(data: dict, timeout=0.0)
複数のジョブの定義を設定する。
- パラメータ
data -- ジョブ定義に関連付けられたデータ。
timeout -- タイムアウト (秒)。
バージョン 1.12.0 で非推奨:
jobs
とJobsAPI.update_job_definitions()
を使用
- delete_jobsdefs(timeout=0.0)
複数のジョブの定義を削除する。
- パラメータ
timeout -- タイムアウト (秒)。
バージョン 1.12.0 で非推奨:
jobs
とJobsAPI.delete_job_definitions()
を使用
- delete_jobsdef(job_id: str, timeout=0.0)
ジョブの定義を削除する。
- パラメータ
timeout -- タイムアウト (秒)。
バージョン 1.12.0 で非推奨:
jobs
とJobsAPI.delete_job_definition()
を使用
- set_linksdefs(data: dict, timeout=0.0)
複数のリンク定義を設定する。
- パラメータ
data -- リンク定義に関連付けられたデータ。
timeout -- タイムアウト (秒)。
- delete_linksdefs(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