Module materialize.cli.scratch.mine

Expand source code Browse git
# Copyright Materialize, Inc. and contributors. All rights reserved.
#
# Use of this software is governed by the Business Source License
# included in the LICENSE file at the root of this repository.
#
# As of the Change Date specified in that file, in accordance with
# the Business Source License, use of this software will be governed
# by the Apache License, Version 2.0.

import argparse

import boto3
from mypy_boto3_ec2.type_defs import FilterTypeDef

from materialize.cli.scratch import check_required_vars
from materialize.scratch import print_instances, whoami


def configure_parser(parser: argparse.ArgumentParser) -> None:
    check_required_vars()
    parser.add_argument(
        "who",
        nargs="*",
        help="Whose instances to show (defaults to yourself)",
    )
    parser.add_argument("--all", help="Show all instances", action="store_true")
    parser.add_argument("--output-format", choices=["table", "csv"], default="table")


def run(args: argparse.Namespace) -> None:
    filters: list[FilterTypeDef] = []
    if not args.all:
        filters.append({"Name": "tag:LaunchedBy", "Values": args.who or [whoami()]})
    print_instances(
        list(boto3.resource("ec2").instances.filter(Filters=filters)),
        args.output_format,
    )

Functions

def configure_parser(parser: argparse.ArgumentParser) ‑> None
Expand source code Browse git
def configure_parser(parser: argparse.ArgumentParser) -> None:
    check_required_vars()
    parser.add_argument(
        "who",
        nargs="*",
        help="Whose instances to show (defaults to yourself)",
    )
    parser.add_argument("--all", help="Show all instances", action="store_true")
    parser.add_argument("--output-format", choices=["table", "csv"], default="table")
def run(args: argparse.Namespace) ‑> None
Expand source code Browse git
def run(args: argparse.Namespace) -> None:
    filters: list[FilterTypeDef] = []
    if not args.all:
        filters.append({"Name": "tag:LaunchedBy", "Values": args.who or [whoami()]})
    print_instances(
        list(boto3.resource("ec2").instances.filter(Filters=filters)),
        args.output_format,
    )