mirror of
https://github.com/ansible-collections/community.general.git
synced 2025-08-22 22:11:44 -07:00
1st part of ansible config, adds ansible-config to view/manage configs (#12797)
* Start of ansible config project moved configuration definitions to external yaml file vs hardcoded * updated constants to be a data strcutures that are looped over and also return origin of setting changed to manager/data scheme for base classes new cli ansible-config to view/manage ansible configuration settings * prints green for default/unchanged and yellow for those that have been overriden * added list action to show all configurable settings and their associated ini and env var names * allows specifying config file to see what result would look like * TBD update, edit and view options removed test for functions that have been removed env_Vars are now list of dicts allows for version_added and deprecation in future added a couple of descriptions for future doc autogeneration ensure test does not fail if delete_me exists normalized 'path expansion' added yaml config to setup packaging removed unused imports better encoding handling updated as per feedback * pep8
This commit is contained in:
parent
4344132a7d
commit
74842adc07
20 changed files with 2032 additions and 575 deletions
|
@ -269,10 +269,8 @@ class CLI(with_metaclass(ABCMeta, object)):
|
|||
(op.su or op.su_user) and (op.become or op.become_user) or
|
||||
(op.sudo or op.sudo_user) and (op.become or op.become_user)):
|
||||
|
||||
self.parser.error("Sudo arguments ('--sudo', '--sudo-user', and '--ask-sudo-pass') "
|
||||
"and su arguments ('--su', '--su-user', and '--ask-su-pass') "
|
||||
"and become arguments ('--become', '--become-user', and '--ask-become-pass')"
|
||||
" are exclusive of each other")
|
||||
self.parser.error("Sudo arguments ('--sudo', '--sudo-user', and '--ask-sudo-pass') and su arguments ('--su', '--su-user', and '--ask-su-pass') "
|
||||
"and become arguments ('--become', '--become-user', and '--ask-become-pass') are exclusive of each other")
|
||||
|
||||
if fork_opts:
|
||||
if op.forks < 1:
|
||||
|
@ -283,20 +281,13 @@ class CLI(with_metaclass(ABCMeta, object)):
|
|||
setattr(parser.values, option.dest, os.path.expanduser(value))
|
||||
|
||||
@staticmethod
|
||||
def unfrack_path(option, opt, value, parser):
|
||||
setattr(parser.values, option.dest, unfrackpath(value))
|
||||
def unfrack_paths(option, opt, value, parser):
|
||||
if isinstance(value, string_types):
|
||||
setattr(parser.values, option.dest, [unfrackpath(x) for x in value.split(os.sep)])
|
||||
|
||||
@staticmethod
|
||||
def expand_paths(option, opt, value, parser):
|
||||
"""optparse action callback to convert a PATH style string arg to a list of path strings.
|
||||
|
||||
For ex, cli arg of '-p /blip/foo:/foo/bar' would be split on the
|
||||
default os.pathsep and the option value would be set to
|
||||
the list ['/blip/foo', '/foo/bar']. Each path string in the list
|
||||
will also have '~/' values expand via os.path.expanduser()."""
|
||||
path_entries = value.split(os.pathsep)
|
||||
expanded_path_entries = [os.path.expanduser(path_entry) for path_entry in path_entries]
|
||||
setattr(parser.values, option.dest, expanded_path_entries)
|
||||
def unfrack_path(option, opt, value, parser):
|
||||
setattr(parser.values, option.dest, unfrackpath(value))
|
||||
|
||||
@staticmethod
|
||||
def base_parser(usage="", output_opts=False, runas_opts=False, meta_opts=False, runtask_opts=False, vault_opts=False, module_opts=False,
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue