mirror of https://github.com/ansible/ansible.git
You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
48 lines
1.0 KiB
Python
48 lines
1.0 KiB
Python
"""Command line parsing for the `shell` command."""
|
|
from __future__ import annotations
|
|
|
|
import argparse
|
|
|
|
from ...commands.shell import (
|
|
command_shell,
|
|
)
|
|
|
|
from ...config import (
|
|
ShellConfig,
|
|
)
|
|
|
|
from ..environments import (
|
|
CompositeActionCompletionFinder,
|
|
ControllerMode,
|
|
TargetMode,
|
|
add_environments,
|
|
)
|
|
|
|
|
|
def do_shell(
|
|
subparsers,
|
|
parent, # type: argparse.ArgumentParser
|
|
completer, # type: CompositeActionCompletionFinder
|
|
):
|
|
"""Command line parsing for the `shell` command."""
|
|
parser = subparsers.add_parser(
|
|
'shell',
|
|
parents=[parent],
|
|
help='open an interactive shell',
|
|
) # type: argparse.ArgumentParser
|
|
|
|
parser.set_defaults(
|
|
func=command_shell,
|
|
config=ShellConfig,
|
|
)
|
|
|
|
shell = parser.add_argument_group(title='shell arguments')
|
|
|
|
shell.add_argument(
|
|
'--raw',
|
|
action='store_true',
|
|
help='direct to shell with no setup',
|
|
)
|
|
|
|
add_environments(parser, completer, ControllerMode.DELEGATED, TargetMode.SHELL) # shell
|