genvid.toolbox.ClusterAPI

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

ベースクラス: genvid.toolbox.httpapi.BaseHttpApiTool, genvid.toolbox.consul.ConsulTool

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

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

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

NAME = 'cluster-api'
cluster_id = None

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

GENVID_CLUSTER_API_BASEURL = None

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

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

jobs = None

JobsAPI を取得

logs = None

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) → typing.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_default_settings() → dict

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

戻り値:設定の辞書。
get_settings() → dict

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

戻り値:設定の辞書。
get_settings_validation() → typing.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) → typing.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: typing.Union[str, NoneType] = None, templatePath: typing.Union[str, NoneType] = None, sources: typing.Union[str, NoneType] = None, environment: typing.Union[typing.Dict[str, str], NoneType] = 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 の実装