salt.modules.iosconfig module
Cisco IOS configuration manipulation helpers
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
path
is 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
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.
- candidate_config
- The candidate configuration sent as text. This argument is ignored when
candidate_path
is 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_path
is set. - running_path
- 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. - saltenv:
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.
- candidate_config
- The candidate configuration sent as text. This argument is ignored when
candidate_path
is 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_path
is set. - running_path
- 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. - saltenv:
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.
- initial_config
- The initial configuration sent as text. This argument is ignored when
initial_path
is 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_path
is 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_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.
- initial_config
- The initial configuration sent as text. This argument is ignored when
initial_path
is 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_path
is 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_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.
- initial_config
- The initial configuration sent as text. This argument is ignored when
initial_path
is 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_path
is 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_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.
- config
- The configuration sent as text. This argument is ignored when
path
is 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
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