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.
The configuration sent as text. This argument is ignored when path
is configured.
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.
base
Salt fileserver environment from which to retrieve the file.
Ignored if path
is not a salt://
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.
The candidate configuration sent as text. This argument is ignored when
candidate_path
is set.
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.
The running configuration sent as text. This argument is ignored when
running_path
is set.
Absolute or remote path from where to load the runing configuration
text. This argument allows any URI supported by
cp.get_url
), e.g., salt://
,
https://
, s3://
, ftp:/
, etc.
base
Salt fileserver environment from which to retrieve the file.
Ignored if candidate_path
or running_path
is not a
salt://
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.
The candidate configuration sent as text. This argument is ignored when
candidate_path
is set.
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.
The running configuration sent as text. This argument is ignored when
running_path
is set.
Absolute or remote path from where to load the runing configuration
text. This argument allows any URI supported by
cp.get_url
), e.g., salt://
,
https://
, s3://
, ftp:/
, etc.
base
Salt fileserver environment from which to retrieve the file.
Ignored if candidate_path
or running_path
is not a
salt://
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.
The initial configuration sent as text. This argument is ignored when
initial_path
is set.
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.
The config to be merged into the initial config, sent as text. This
argument is ignored when merge_path
is set.
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.
base
Salt fileserver environment from which to retrieve the file.
Ignored if initial_path
or merge_path
is not a salt://
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_config
with the merge_config
,
as plain text.
The initial configuration sent as text. This argument is ignored when
initial_path
is set.
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.
The config to be merged into the initial config, sent as text. This
argument is ignored when merge_path
is set.
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.
base
Salt fileserver environment from which to retrieve the file.
Ignored if initial_path
or merge_path
is not a salt://
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_config
with the merge_config
,
as a Python dictionary.
The initial configuration sent as text. This argument is ignored when
initial_path
is set.
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.
The config to be merged into the initial config, sent as text. This
argument is ignored when merge_path
is set.
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.
base
Salt fileserver environment from which to retrieve the file.
Ignored if initial_path
or merge_path
is not a salt://
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_tags
argument, this function may
provide different views, valuable in different situations.
The configuration sent as text. This argument is ignored when path
is configured.
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.
False
Whether this function should return a detailed view, with tags.
base
Salt fileserver environment from which to retrieve the file.
Ignored if path
is not a salt://
URL.
CLI Example:
salt '*' iosconfig.tree path=salt://path/to/my/config.txt
salt '*' iosconfig.tree path=https://bit.ly/2mAdq7z