Skip to content

Add ruamel as default --config-tempalte outputter

Akmod requested to merge Akm0d/pop-config:ruamel into master

Use ruamel to include "help" strings as comments in the --config-template output

Previous output:

$ idem state --config-template                                                                                                                                                                          
idem:
  acct_profile: default
  batch_size: 50
  cache_dir: /home/akmod/.idem/var/cache/idem
  esm_keep_cache: false
  esm_plugin: local
  esm_profile: default
  esm_serial_plugin: msgpack
  exec: ''
  exec_args: []
  get_resource_only_with_resource_id: false
  group: number
  invert: false
  max_pending_reruns: 600
  param_sources: []
  params: []
  pending: default
  progress: true
  progress_options:
    mininterval: 1
  progress_plugin: tqdm
  reconciler: basic
  render: jinja|yaml|replacements
  root_dir: /home/akmod/.idem
  run_name: cli
  runtime: parallel
  sls: []
  sls_sources: []
  sync_sls_name_and_name_tag: false
  target: ''
  test: false
  tree: ''
  upgrade_esm: false

New ouptut:

$ idem state --config-template                                                                                                                                                                          
idem:
  # Upgrade the ESM cache to the latest version if necessary
  upgrade_esm: false
  # The esm (enforced state manager) plugin to use with a state run
  esm_plugin: local
  # The serial plugin used to store ESM data
  esm_serial_plugin: msgpack
  # Do not delete the local ESM cache after it has been flushed to the ESM plugin
  esm_keep_cache: false
  # The acct profile to use with the enforced state manager
  esm_profile: default
  # A name for this run, this is used in internal tracking and to organize events
  run_name: cli
  # list off the sources that should be used for gathering sls files and data
  sls_sources: []
  # list off the sources that should be used for gathering parameter sls files
  param_sources: []
  # Set the idem run to execute in test mode. No changes will be made, idem will only detect if changes will be made in a real run.
  test: false
  # The directory containing sls files
  tree: ''
  # The location of param.sls file containing parameter definitions
  params: []
  # The location to use for the cache directory relative to the root_dir
  cache_dir: /home/akmod/.idem/var/cache/idem
  # The root directory to run idem from. By default it will be "/" or in the case of running as non-root it is set to <HOMEDIR>/.idem
  root_dir: /home/akmod/.idem
  # The render pipe to use, this allows for the language to be specified
  render: jinja|yaml|replacements
  # Select which execution runtime to use. Default is 'parallel'
  runtime: parallel
  # A space delimited list of sls refs to execute
  sls: []
  # The name of an execution function to execute
  exec: ''
  # Arguments to pass to the named execution function
  exec_args: []
  # The profile to use when when calling exec modules and states
  acct_profile: default
  # The reconciler plugin to use, 'basic' by default
  reconciler: basic
  # The pending plugin to use within the reconciler, 'default' by default
  pending: default
  # The maximum number of executions of a pending resource during reconciliation. Default value: 600
  max_pending_reruns: 600
  # Show a progress bar
  progress: true
  # Keyword options to pass to the tqdm progress bar constructor
  progress_options:
    mininterval: 1
  # The progress bar plugin to use
  progress_plugin: tqdm
  # The group plugins, separated by pipes, to pass the data through before it gets rendered by outputters
  group: number
  # Specify a single resource declaration ID. The resource and all its dependencies will be executed.
  target: ''
  # Specify the batch size for state execution in parallel. The default batch size is 50.
  batch_size: 50
  # Idem resource provider plugins will try to get existing resource by name or other attributes that can uniquely identify a resource if resource_id is not provided. Use this option to get existing resource only if resource_id is provided in SLS or stored in ESM. 
  get_resource_only_with_resource_id: false
  # If set to true, tags for a resource will be modified to use the SLS name as a Name tag
  sync_sls_name_and_name_tag: false
  invert: false
Edited by Akmod

Merge request reports