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()
はこの値を使用しなくなりました。代わりにそのメソッドをオーバーライドしてください。
-
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 で撤廃:
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_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 で撤廃:
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()
を使用
-
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 で追加.
- content – レンダリングされるテンプレートの内容。
-
-
class
cluster_api.
ClusterAPI
¶