salt.modules.iosconfig#
Cisco IOS configuration manipulation helpers
New in version 2019.2.0.
This module provides a collection of helper functions for Cisco IOS style configuration manipulation. This module does not have external dependencies and can be used from any Proxy or regular Minion.
- salt.modules.iosconfig.clean(config=None, path=None, saltenv='base')#
Return a clean version of the config, without any special signs (such as
!as an individual line) or empty lines, but just lines with significant value in the configuration of the network device.- config
The configuration sent as text. This argument is ignored when
pathis configured.- path
Absolute or remote path from where to load the configuration text. This argument allows any URI supported by
cp.get_url), e.g.,salt://,https://,s3://,ftp:/, etc.- saltenv:
base Salt fileserver environment from which to retrieve the file. Ignored if
pathis not asalt://URL.
CLI Example:
salt '*' iosconfig.clean path=salt://path/to/my/config.txt salt '*' iosconfig.clean path=https://bit.ly/2mAdq7z
- salt.modules.iosconfig.diff_text(candidate_config=None, candidate_path=None, running_config=None, running_path=None, saltenv='base')#
Return the diff, as text, between the candidate and the running config.
- candidate_config
The candidate configuration sent as text. This argument is ignored when
candidate_pathis set.- candidate_path
Absolute or remote path from where to load the candidate configuration text. This argument allows any URI supported by
cp.get_url), e.g.,salt://,https://,s3://,ftp:/, etc.- running_config
The running configuration sent as text. This argument is ignored when
running_pathis set.- running_path
Absolute or remote path from where to load the running configuration text. This argument allows any URI supported by
cp.get_url), e.g.,salt://,https://,s3://,ftp:/, etc.- saltenv:
base Salt fileserver environment from which to retrieve the file. Ignored if
candidate_pathorrunning_pathis not asalt://URL.
CLI Example:
salt '*' iosconfig.diff_text candidate_path=salt://path/to/candidate.cfg running_path=salt://path/to/running.cfg
- salt.modules.iosconfig.diff_tree(candidate_config=None, candidate_path=None, running_config=None, running_path=None, saltenv='base')#
Return the diff, as Python dictionary, between the candidate and the running configuration.
- candidate_config
The candidate configuration sent as text. This argument is ignored when
candidate_pathis set.- candidate_path
Absolute or remote path from where to load the candidate configuration text. This argument allows any URI supported by
cp.get_url), e.g.,salt://,https://,s3://,ftp:/, etc.- running_config
The running configuration sent as text. This argument is ignored when
running_pathis set.- running_path
Absolute or remote path from where to load the running configuration text. This argument allows any URI supported by
cp.get_url), e.g.,salt://,https://,s3://,ftp:/, etc.- saltenv:
base Salt fileserver environment from which to retrieve the file. Ignored if
candidate_pathorrunning_pathis not asalt://URL.
CLI Example:
salt '*' iosconfig.diff_tree candidate_path=salt://path/to/candidate.cfg running_path=salt://path/to/running.cfg
- salt.modules.iosconfig.merge_diff(initial_config=None, initial_path=None, merge_config=None, merge_path=None, saltenv='base')#
Return the merge diff, as text, after merging the merge config into the initial config.
- initial_config
The initial configuration sent as text. This argument is ignored when
initial_pathis set.- initial_path
Absolute or remote path from where to load the initial configuration text. This argument allows any URI supported by
cp.get_url), e.g.,salt://,https://,s3://,ftp:/, etc.- merge_config
The config to be merged into the initial config, sent as text. This argument is ignored when
merge_pathis set.- merge_path
Absolute or remote path from where to load the merge configuration text. This argument allows any URI supported by
cp.get_url), e.g.,salt://,https://,s3://,ftp:/, etc.- saltenv:
base Salt fileserver environment from which to retrieve the file. Ignored if
initial_pathormerge_pathis not asalt://URL.
CLI Example:
salt '*' iosconfig.merge_diff initial_path=salt://path/to/running.cfg merge_path=salt://path/to/merge.cfg
- salt.modules.iosconfig.merge_text(initial_config=None, initial_path=None, merge_config=None, merge_path=None, saltenv='base')#
Return the merge result of the
initial_configwith themerge_config, as plain text.- initial_config
The initial configuration sent as text. This argument is ignored when
initial_pathis set.- initial_path
Absolute or remote path from where to load the initial configuration text. This argument allows any URI supported by
cp.get_url), e.g.,salt://,https://,s3://,ftp:/, etc.- merge_config
The config to be merged into the initial config, sent as text. This argument is ignored when
merge_pathis set.- merge_path
Absolute or remote path from where to load the merge configuration text. This argument allows any URI supported by
cp.get_url), e.g.,salt://,https://,s3://,ftp:/, etc.- saltenv:
base Salt fileserver environment from which to retrieve the file. Ignored if
initial_pathormerge_pathis not asalt://URL.
CLI Example:
salt '*' iosconfig.merge_text initial_path=salt://path/to/running.cfg merge_path=salt://path/to/merge.cfg
- salt.modules.iosconfig.merge_tree(initial_config=None, initial_path=None, merge_config=None, merge_path=None, saltenv='base')#
Return the merge tree of the
initial_configwith themerge_config, as a Python dictionary.- initial_config
The initial configuration sent as text. This argument is ignored when
initial_pathis set.- initial_path
Absolute or remote path from where to load the initial configuration text. This argument allows any URI supported by
cp.get_url), e.g.,salt://,https://,s3://,ftp:/, etc.- merge_config
The config to be merged into the initial config, sent as text. This argument is ignored when
merge_pathis set.- merge_path
Absolute or remote path from where to load the merge configuration text. This argument allows any URI supported by
cp.get_url), e.g.,salt://,https://,s3://,ftp:/, etc.- saltenv:
base Salt fileserver environment from which to retrieve the file. Ignored if
initial_pathormerge_pathis not asalt://URL.
CLI Example:
salt '*' iosconfig.merge_tree initial_path=salt://path/to/running.cfg merge_path=salt://path/to/merge.cfg
- salt.modules.iosconfig.tree(config=None, path=None, with_tags=False, saltenv='base')#
Transform Cisco IOS style configuration to structured Python dictionary. Depending on the value of the
with_tagsargument, this function may provide different views, valuable in different situations.- config
The configuration sent as text. This argument is ignored when
pathis configured.- path
Absolute or remote path from where to load the configuration text. This argument allows any URI supported by
cp.get_url), e.g.,salt://,https://,s3://,ftp:/, etc.- with_tags:
False Whether this function should return a detailed view, with tags.
- saltenv:
base Salt fileserver environment from which to retrieve the file. Ignored if
pathis not asalt://URL.
CLI Example:
salt '*' iosconfig.tree path=salt://path/to/my/config.txt salt '*' iosconfig.tree path=https://bit.ly/2mAdq7z