def build_parser()

in patch_scripts/3.3.0/patch_parent_scope.py [0:0]


def build_parser() -> argparse.ArgumentParser:
    parser = argparse.ArgumentParser(
        description='Parent scope patch entrypoint'
    )
    sub_parsers = parser.add_subparsers(
        dest=ACTION_DESTINATION, required=True, help='Available actions'
    )
    _ = sub_parsers.add_parser(
        PATCH_ALL_SCOPE_ACTION,
        help='Patch parents with scope ALL'
    )
    patch_specific = sub_parsers.add_parser(
        PATCH_SPECIFIC_SCOPE_ACTION,
        help='Patch parents with type SPECIFIC'
    )
    patch_specific.add_argument(
        '--tenant_names', nargs='+', required=True, type=str,
        help='Tenants to patch their specific scope'
    )
    patch_specific.add_argument(
        '--types', nargs='+', required=False, type=str, default=[],
        choices=ALLOWED_TENANT_PARENT_MAP_KEYS
    )
    return parser