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
3 years ago
|
"""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
|