genvid.toolbox.SDK¶
-
class
genvid.toolbox.
SDK
(cluster_id='', **kwargs)¶ ベースクラス:
genvid.toolbox.aws.AWSTool
,genvid.toolbox.config.ConfigTool
,genvid.toolbox.consul_template.ConsulTemplateTool
,genvid.toolbox.vault.VaultTool
,genvid.toolbox.consul.ConsulTool
SDK を設定するための一般的なコマンドです。
この class は、現在のクラスタに新しい Genvid SDK を構成するために、
ClusterAPI
とBastionAPI
をラップする。-
NAME
= 'sdk'¶
-
SDK_CONFIG_VERSION
= '1.7.0'¶
-
cluster_id
= None¶ クラスタ ID。
-
bastionAPI
= None¶ Bastion-API インスタンスへのインターフェイス。
-
clusterAPI
= None¶ Cluster-API クラスタインスタンスへのインターフェイス。
-
cluster_vault_secret
= None¶ クラスタ vault key が保存される bastion の Vault。
-
azure
¶
-
get_remote_cluster_conn
()¶ クラスタ IP とプライベートキーを返す。
-
get_remote_cluster_secrets
()¶ クラスタ vault 初期化シークレットを戻す。
-
setup
(bucket: str = None, path: str = '/', *, region=None)¶ ベース SDK サービスを開始する。
パラメータ: - bucket – バケット名。デフォルトは
get_s3_bucket_id()
の戻り値。 - path – イメージ用バケットのプレフィックスキー。
- bucket – バケット名。デフォルトは
-
clean
()¶ SDK の基本サービスを停止し、ジョブを削除して設定を消去する。
-
get_sdk_config
() → dict¶ デフォルトの SDK 設定を取得する。
-
get_config
() → dict¶ 現在のクラスタ構成を取得する。
-
set_config
(config: dict = None)¶ 指定の設定を、現在のものとマージする。:param config: マージする設定。
-
clean_config
()¶ 設定を消去する。
-
remove_config
(config: dict)¶ 設定から値を削除する。:param config: 値を削除する設定。
-
static
update_dict_no_create
(source, dest)¶
-
classmethod
merge_dict
(source, destination)¶ 2 つの辞書をマージする。
パラメータ: - source – ソースの辞書。
- destination – デスティネーションの辞書。
-
is_jobs_running
()¶ ジョブが設定されており、実行中の場合、True を返す。
-
start_jobs
(jobs: typing.Union[typing.List[str], NoneType] = None)¶ すべてのジョブ、または指定したジョブを開始する。:param jobs: 開始するジョブのリスト。
-
stop_jobs
(jobs: typing.Union[typing.List[str], NoneType] = None)¶ すべてのジョブ、または指定したジョブを停止する。
パラメータ: jobs – 停止するジョブのリスト。
-
load_config_template
(template: typing.Union[pathlib.Path, str], env: typing.Union[typing.Mapping[str, str], NoneType] = None) → typing.Mapping[str, str]¶ 設定テンプレートファイルをロードする。
consul-template
を使用して設定テンプレートファイルを処理し、辞書として返します。バージョン 1.20.0 で追加.
-
バージョン 1.21.0 で変更:
新しい
ConsulTemplateTool
を使用するように調整。
-
update_config
(config: dict = None)¶ 指定の設定を更新する。
パラメータ: config – 更新する設定。 戻り値: 更新された設定。
-
default_images_sdk_path
¶ SDK イメージのデフォルト S3 キーのプレフィックスを取得。
バージョン 1.20.0 で追加.
-
upload_images_sdk
(bucket=None, path=None, update_config: bool = False, cloud_provider: typing.Union[str, NoneType] = None, *, region=None)¶ SDK のイメージをアップロードする。
パラメータ: - bucket (str) – バケット ID (デフォルト:
get_s3_bucket_id()
)。 - path – バケットで使用するキープレフィックス。
- update_config (bool) – クラスタのイメージ設定を更新する。
- region (str) – S3 バケットを含む領域。
警告
update_config
はローカルでないクラスタで設定可能。バージョン 1.14.0 で変更: デフォルトパスを 『/』 から 『/images/sdk-{version}/』 に変更。
バージョン 1.20.0 で変更:
AWSTool
の規定に従う新しいregion
パラメータ。- bucket (str) – バケット ID (デフォルト:
-
get_s3_bucket_id
()¶ イメージ用 S3 バケット ID を取得する。
注釈
このメソッドは、AWS へのグローバル STS リクエストを行います。バケット自体の領域との混同を避けるため、領域設定はできません。
-
update_images_config
(bucket: typing.Union[str, NoneType] = None, path: str = '/images/custom', *, delete: bool = False, region: typing.Union[str, NoneType] = None)¶ クラスタのイメージ構成を更新する。
パラメータ: - bucket – バケット ID (デフォルト:
get_s3_bucket_id()
)。 - path – バケットで使用するキープレフィックス。
- delete – 構成を更新せず、削除する。
- region – S3 バケットを含む領域。
警告
このメソッドは、ローカルでないクラスタでのみ呼び出し可能。
バージョン 1.20.0 で追加.
- bucket – バケット ID (デフォルト:
-
upload_images
(prefixes: typing.List[str], bucket: typing.Union[str, NoneType] = None, path: str = '/images/custom', update_config: bool = False, basedir: typing.Union[pathlib.Path, str, NoneType] = None, cloud_provider: typing.Union[str, NoneType] = None, *, region: typing.Union[str, NoneType] = None)¶ 指定のプレフィックスをつけてイメージをアップロードする。
注釈
イメージ名は
DockerTool.RE_IMAGE_IMAGEID
と一致する必要があります。パラメータ: - prefixes – このプレフィックスのファイルのみアップロードする。
- bucket (str) – バケット ID (デフォルト:
get_s3_bucket_id()
)。 - path – バケットで使用するキープレフィックス。
- update_config (bool) – クラスタのイメージ設定を更新する。
- basedir – ソースディレクトリ (デフォルト:
ARTIFACTS_DIR
)。 - region (str) – S3 バケットを含む領域。
警告
update_config
はローカルでないクラスタで設定可能。バージョン 1.14.0 で変更: デフォルトパスを 『/』 から 『/images/custom』 に変更する。
-
バージョン 1.20.0 で変更:
basedir
パラメータを追加。エラー処理の強化。
AWSTool
の規定に従う新しいregion
パラメータ。メソッドの
update_config
部分を独自のメソッドに分割。
-
create_nats_window_package
()¶ ツールボックスのバージョンに存在しない場合、nats ウィンドウパッケージを作成します。
-
get_images_config
(bucket: typing.Union[str, NoneType] = None, path: str = '/images/custom', *, region: typing.Union[str, NoneType] = None) → dict¶ - S3 バケットや Azure コンテナからイメージ構成を取得する
- クラウド プロバイダに依存。
パラメータ: - bucket – バケット ID。
- path – バケットのキープレフィックス (デフォルト: 『/images/custom』)。
- region (str) – S3 バケット/Azure コンテナを含む領域。
重要
イメージ名は、選択される
DockerTool.RE_IMAGE_IMAGEID
と一致する必要があります。戻り値: dict
でイメージ設定。バージョン 1.14.0 で変更: デフォルトパスを 『/』 から 『/images/custom』 に変更。
バージョン 1.20.0 で変更:
AWSTool
の規定に従う新しいregion
パラメータ。
-
clean_images
(bucket: typing.Union[str, NoneType] = None, path: str = '/images/custom', update_config: bool = False, *, region: typing.Union[str, NoneType] = None)¶ S3 バケットからすべてのイメージを削除します。
パラメータ: - bucket – バケット ID (デフォルト:
get_s3_bucket_id()
)。 - path – バケットで使用するキープレフィックス。
- update_config (bool) – クラスタのイメージ設定を更新する。
- region (str) – S3 バケットを含む領域。
警告
update_config
はローカルでないクラスタで設定可能。バージョン 1.14.0 で変更: デフォルトパスを 『/』 から 『/images/custom』 に変更する。
-
バージョン 1.20.0 で変更:
AWSTool
の規定に従う新しいregion
パラメータ。update_config
に代わり、update_images_config()
となります。
- bucket – バケット ID (デフォルト:
-
update_archive
(archive: typing.Union[pathlib.Path, str], version: str = 'dev', destdir: typing.Union[pathlib.Path, str, NoneType] = None, clean: bool = True, keep: bool = False)¶ 想定されるイメージフォーマットに対応するように、バイナリアーカイブを更新します。
パラメータ: - archive – アーカイブファイルのパス。ファイル名は必ず
name.archfmt
の形式である必要があります。 - version – アーカイブのバージョン。
- destdir – 対象ディレクトリ。デフォルトはオリジナルアーカイブと同じです。
- clean – アーカイブの旧バージョンを消去 (同じ名前のもの) する。
- keep – オリジナルアーカイブを保持します。ほとんどの場合、別の
destdir
で使用する必要があります。
バージョン 1.20.0 で追加.
- archive – アーカイブファイルのパス。ファイル名は必ず
-
load_nomad_job_template
(name, job_folder)¶ 特定のディレクトリから nomad ジョブのテンプレートを読み込みます。拡張子が .nomad.tmpl のファイルのみ読み込みます。
パラメータ: - name – ファイル名 (拡張子なし)
- job_folder – ジョブが格納されたディレクトリのパス。
-
load_config
(source: typing.Union[pathlib.Path, str], *, job_template_dir: typing.Union[pathlib.Path, str, NoneType], with_consul_template: bool)¶ 設定ファイル (ディレクトリ内のすべてのファイルまたは特定のファイル) をソースから読み込みます。
パラメータ: - source – 設定ファイル/フォルダのパス。
- with_consul_template – true に設定されている場合にのみ、設定ファイル (ソースがディレクトリの場合) に対して consul-template を実行し使用する。
- job_template_dir – nomad テンプレートが読み込まれるフォルダへのパス。指定されていない場合、ジョブは読み込まれません。
- :raises FileNotFoundError : If the job_template_dir is not None and
- は有効なディレクトリではありません。
-
get_output_public_ips
() → list¶ terraform モジュールの出力からパブリック IP をすべて取得する。
戻り値: パブリック IP アドレスの一覧。
-
get_cloud_provider
() → str¶ terraform モジュールの出力からクラウドプロバイダをすべて取得する。
terraform のクラスタの出力にクラウドプロバイダが見つからない場合、デフォルトで aws が返されます。
戻り値: クラウドプロバイダ。
-