genvid.toolbox.AWSTool¶
-
class
genvid.toolbox.
AWSTool
(*, default_region=None, **kwargs)¶ ベースクラス:
genvid.toolbox.basetool.BaseTool
AWS リソースにアクセスして操作するためのユーティリティ。
パラメータ: default_region (str) – デフォルト AWS 領域を上書き。 -
バージョン 1.20.0 で変更:
解説書の更新。
セッションとインスタンスが必要に応じて遅延インスタンス化。
該当するメソッドがすべてに、キーワードのみのパラメータ region=None を追加し、処理を実行する領域を指定。
class のデフォルト領域は、 AWS 設定で定義したデフォルト領域で上書き可能。
-
NAME
= 'aws'¶
-
DESCRIPTION
= 'Utilities to access and manipulate AWS resources.'¶
-
AWS_GLOBAL_REGION
= 'global'¶ AWS グローバル領域の参照に使用するキー。
-
AMI_NAME_TMPL
= '{prefix}-{type}-{version}-{timestamp}'¶ AMI 名のテンプレート。
-
AMI_NAME_RE
= re.compile('(?P<prefix>.*)-(?P<type>[^-]*)-(?P<version>[^-]*)-(?P<timestamp>\\d{8}-\\d{6})')¶ AMI と一致する正規表現。
-
EXITCODE_MESSAGE_RE
= re.compile('ExitCode of User Data with PID: (?P<PID>\\d+) is (?P<ExitCode>\\d+)')¶ ユーザーデータスクリプトの終了コードと一致する正規表現。
-
aws_default_region
¶ 戻り値: デフォルトの領域名。
-
aws_session
¶ 戻り値: デフォルト AWS セッション 注釈
このメソッドで返されるオブジェクトについては、boto3 Session API documentation を参照してください。
-
aws_ec2
¶ 戻り値: デフォルト領域の AWS EC2 リソースサービスクライアント。 注釈
このメソッドで返されるオブジェクトについては、boto3 EC2 API documentation を参照してください。
-
aws_s3
¶ 戻り値: デフォルト領域の AWS S3 リソースサービスクライアント。 注釈
このメソッドで返されるオブジェクトについては、boto3 S3 API documentation を参照してください。
-
aws_sts
¶ 戻り値: デフォルト領域の AWS STS クライアント。 警告
リクエストは、全体ではなく、デフォルト領域に送信されます。リクエストを
sts.amazonaws.com
に送信するには、aws_sts_global()
を使用してください。注釈
このメソッドで返されるオブジェクトについては、boto3 STS API documentation を参照してください。
-
aws_sts_global
¶ 戻り値: AWS STS グローバルクライアント。 注釈
このメソッドで返されるオブジェクトについては、boto3 STS API documentation を参照してください。
-
aws_session_in
(region=None)¶ 戻り値: AWS セッション。 パラメータ: region (str) – セッションが動作する領域。 注釈
このメソッドで返されるオブジェクトについては、boto3 Session API documentation を参照してください。
-
aws_ec2_in
(region=None)¶ 戻り値: AWS EC2 リソースサービスクライアント。 パラメータ: region (str) – クライアントが動作する領域。 注釈
このメソッドで返されるオブジェクトについては、boto3 EC2 API documentation を参照してください。
-
aws_s3_in
(region=None)¶ 戻り値: AWS S3 リソースサービスクライアント。 パラメータ: region (str) – クライアントが動作する領域。 注釈
このメソッドで返されるオブジェクトについては、boto3 S3 API documentation を参照してください。
-
aws_sts_in
(region=None)¶ 戻り値: AWS STS クライアント。 パラメータ: region (str) – クライアントが動作する領域。 警告
region
がNone
の場合、リクエストは、全体ではなく、デフォルト領域に送信されます。リクエストをsts.amazonaws.com
に送信するには、aws_sts_global()
を使用してください。注釈
このメソッドで返されるオブジェクトについては、boto3 STS API documentation を参照してください。
-
aws_tag_ami_snapshot
(ami, ec2=None, *, region=None)¶ AMI タグを EBS スナップショットにコピーします。
コピーするタグ:
Name
Version
InstanceType
パラメータ: - ami – タグをスナップショットにコピーする EC2 イメージ。 .. 注意:: AMI (EC2 イメージ) の API APIは、boto3 EC2.Image API documentation からアクセスできます。
- ec2 – 使用する EC2 リソースサービスクライアント。 .. :: 1.20.0 で廃止。 このパラメータは、
region
パラメータを設定して、AWSTool に正しいクライアントを提供させるだけで、代用可能。 - region (str) – スナップショットを入れておく領域。 .. 注意::
region
パラメータは、ec2
がNone
の場合にのみ使用可能。
-
static
aws_publish_image
(ami)¶ AMI を公開します。
パラメータ: ami – 動作する EC2 イメージ。 .. 注意:: AMI (EC2 イメージ) の API は、boto3 EC2.Image API documentation からアクセスできます。
-
aws_list_amis
(ami_type: str, owner: str = '', prefix: str = '', version: str = '', *, region=None)¶ 利用可能な AMI のリスト。
パラメータ: - ami_type (str) – AMI のタイプ。以下のいずれか: *
wingame
*server
- owner (str) – 指定すると、owner でフィルタリングします。 .. 注意::
genvidtech
の値は Genvid Technologies Account の特殊なエイリアスです。 - prefix (str) – フィルタの接頭辞。 『*』 を指定可能。 .. 重要:: 指定しない場合: wingame AMI では *
default
、それ以外は *genvidtech
となります。 - version (str) – フィルタリングするバージョン。デフォルトは
GENVID_TOOLBOX_VERSION
。 - region (str) – 検索する領域を指定します。
戻り値: EC2 イメージのリスト。
- ami_type (str) – AMI のタイプ。以下のいずれか: *
-
aws_copy_ami
(ami_id, regions, public=False, force=False, *, region=None)¶ AMI を複数の領域にコピーします。
パラメータ: 戻り値: コピーを含むリスト。
-
aws_rename_ami
(ami_id, prefix, public=False, force=False, *, region=None)¶ AMI をコピーし、初期接頭辞を変更します。
パラメータ: - ami_id – ソースを検索する AMI 識別子
- prefix – コピー後に新しく付けるプレフィックス。.. 警告:: 新しい接頭辞は、
AMI_NAME_TMPL
のフォーマットに使用されます。新しい名前は、AMI_NAME_RE
で定義する正規表現と一致している必要があります。 - public (bool) – コピー後の AMI を公開するかどうか。
- force (bool) – 指定先が存在する場合は上書きされます。
- region (str) – ソース AMI 領域の指定に使用します。
戻り値: コピー後の AMI。
-
aws_ami_snapshots
(ami)¶ EC2 イメージに関連付けられた EBS スナップショットのリストを生成します。
パラメータ: ami – 動作する EC2 イメージ。 .. 注意:: AMI (EC2 イメージ) の API は、boto3 EC2.Image API documentation からアクセスできます。 バージョン 1.13.0 で追加.
-
aws_delete_ami
(ami, dryrun: bool = False, *, region=None)¶ イメージと関連するスナップショットを登録解除します。
注釈
このメソッドはすべての処理を記録します。
パラメータ: - ami – 動作する EC2 イメージ。 .. 注意:: AMI (EC2 イメージ) の API は、boto3 EC2.Image API documentation からアクセスできます。
- dryrun (bool) – 表示のみ。実際には削除されません。
- region (str) – ソース AMI 領域の指定に使用します。
バージョン 1.13.0 で追加.
-
aws_format_bucket_key
(key: str) → str¶ バケットキーが間違っていないことを確認してください。
キーが空白の場合には、」/」 で始めるものを削除し、」/」 で終わるものを追加します。
パラメータ: key (str) – フォーマットするキー。 戻り値: フォーマットされる可能性のあるキー。 バージョン 1.20.0 で追加.
-
aws_upload_file
(bucket, key: str, filepath: str, *, region=None)¶ 特定の S3 バケットにファイルをアップロードします。
パラメータ: - bucket – ファイルをアップロードする S3 バケット。 .. 注意:: S3 バケットの API は、boto3 S3.Bucket API documentation からアクセス可能。 .. 注意:: バケットの識別子
str
を提供可能。その場合、そのバケットの検索は自動で処理されます。 - key (str) – バケットの新しいファイルに追加するキー。
- filepath (str) – アップロードするファイルのパス。
- region (str) – バケット ID を使用した場合の検索領域。
- bucket – ファイルをアップロードする S3 バケット。 .. 注意:: S3 バケットの API は、boto3 S3.Bucket API documentation からアクセス可能。 .. 注意:: バケットの識別子
-
update_s3_images
(prefixes: typing.List[str], bucket_id: str, key_prefix: str, images_folder: typing.Union[pathlib.Path, str, NoneType] = None, *, region=None)¶ S3 バケットに画像をアップロードします。
警告
アップデートが必要かどうかを、ファイルサイズで決定します。新しいファイルが既存のファイルと同一サイズであった場合、アップデートは失敗します。
パラメータ: - bucket – 処理を行う S3 バケット識別子。
- key_prefix – ファイルをアップロードするプレフィックスキー。
- prefixes – このプレフィックスのファイルのみをアップデートします。 .. 警告:: プレフィックスが一致するバケット内のすべてのファイルは、 新しいバージョンで置き換えられない場合でも、すべて削除されます。
- images_folder – ソースイメージが含まれるディレクトリ。
- region (str) – バケットが存在する領域。
バージョン 1.20.0 で変更:
images_folder
パラメータを追加。
-
get_s3_images_bucket_config
(bucket: str, key_prefix='/', *, region=None) → dict¶ S3 バケットからイメージ設定を取得します。
重要
イメージ名は、選択される
DockerTool.RE_IMAGE_IMAGEID
と一致する必要があります。パラメータ: - bucket – 処理を行うバケット識別子。
- key_prefix – 比較するバケットキーのプレフィックス。
- region (str) – バケットが含まれる領域。
戻り値: 取得したイメージ設定のリスト。
-
aws_wait_for_windows_instance
(iid: str, timeout: float = 1800, expect: typing.Union[typing.Callable[[str], typing.Union[int, NoneType]], NoneType] = None, *, region=None) → int¶ Windows インスタンスの準備ができるまでお待ちください。
Windows インスタンスの準備ができていると判断するには、以下の条件を満たす必要があります。
- インスタンスが
running
である必要があります。 - インスタンスが
ok
である必要があります。 - インスタンスコンソールから最新のアウトプットが提供されている場合、提供された
expect
callable はNone
以外の値を返します。
重要
callable が
None
の場合 (提供されていない場合)、インスタンスコンソールへのアウトプットは、EXITCODE_MESSAGE_RE
と一致し、このメソッドがユーザーデータスクリプトの終了コードを取得可能です。パラメータ: - iid – AWS インスタンス ID。
- timeout – RuntimeError が発生するまでのタイムアウト (秒)。
- expect – Collable はコンソールアウトプットを引数として、
None
(準備ができていない場合) または終了コードを返します。 - region (str) – Windows インスタンスの検索領域。
戻り値: EXITCODE_MESSAGE_RE
正規表現で取得したexpect
の戻り値または終了コード。バージョン 1.19.0 で追加.
- インスタンスが
-
class
aws.
AWSTool
¶