Adding Netbox
This commit is contained in:
78
roles/ansible-network.cisco_ios/docs/config_manager/get.md
Normal file
78
roles/ansible-network.cisco_ios/docs/config_manager/get.md
Normal file
@@ -0,0 +1,78 @@
|
||||
# Get configuration from device
|
||||
The `config_manager/get` function will return the either the current active or current
|
||||
saved configuration from an Cisco IOS devices. This function is only
|
||||
supported over `network_cli` connections.
|
||||
|
||||
The `config_manager/get` function will also parse the device active configuration into
|
||||
a set of host facts during its execution. All of the parsed facts are stored
|
||||
in the ``cisco_ios.config`` top level facts key.
|
||||
|
||||
## How to get the device configuration
|
||||
Retrieving the configuration from the device involves just calling the
|
||||
`config_manager/get` function from the role. By default, the `config_manager/get` role will
|
||||
return the device active (running) configuraiton. The text configuration will
|
||||
be returned as a fact for the host. The configuration text is stored in the
|
||||
`configuration` fact.
|
||||
|
||||
Below is an example of calling the `config_manager/get` function from the playbook.
|
||||
|
||||
```
|
||||
- hosts: cisco_ios
|
||||
|
||||
roles:
|
||||
- name ansible-network.cisco_ios
|
||||
function: config_manager/get
|
||||
```
|
||||
|
||||
The above playbook will return the current running config from each host listed
|
||||
in the `cisco_ios` group in inventory.
|
||||
|
||||
### Get the current startup config
|
||||
By default the `config_manager/get` function will return the device running
|
||||
configuration. If you want to retrieve the device startup configuration, set
|
||||
the value of `source` to `startup`.
|
||||
|
||||
```
|
||||
- hosts: cisco_ios
|
||||
|
||||
roles:
|
||||
- name ansible-network.cisco_ios
|
||||
function: config_manager/get
|
||||
source: startup
|
||||
```
|
||||
|
||||
### Implement using tasks
|
||||
The `config_manager/get` function can also be implemented in the `tasks` during the
|
||||
playbook run using either the `include_role` or `import_role` modules as shown
|
||||
below.
|
||||
|
||||
```
|
||||
- hosts: cisco_ios
|
||||
|
||||
tasks:
|
||||
- name: collect facts from cisco ios devices
|
||||
include_role:
|
||||
name: ansible-network.cisco_ios
|
||||
tasks_from: config_manager/get
|
||||
```
|
||||
|
||||
## How to add additional parsers
|
||||
|
||||
The configuration facts are returned by this function are parsed using the
|
||||
parsers in the `parser_templates/config` folder. To add a new parser, simply
|
||||
create a PR and add the new parser to the folder. Once merged, the
|
||||
`config_manager/get` function will automatically use the new parser.
|
||||
|
||||
## Arguments
|
||||
|
||||
### source
|
||||
|
||||
Defines the configuration source to return from the device. This argument
|
||||
accepts one of `running` or `startup`. When the value is set to `running`
|
||||
(default), the current active configuration is returned. When the value is set
|
||||
to `sartup`, the device saved configuration is returned.
|
||||
|
||||
The default value is `running`
|
||||
|
||||
## Notes
|
||||
None
|
||||
86
roles/ansible-network.cisco_ios/docs/config_manager/load.md
Normal file
86
roles/ansible-network.cisco_ios/docs/config_manager/load.md
Normal file
@@ -0,0 +1,86 @@
|
||||
# Load configuration onto device
|
||||
The `config_manager/load` function will take a Cisco IOS configuration file and load it
|
||||
onto the device. This function supports either merging the configuration with
|
||||
the current active configuration or replacing the current active configuration
|
||||
with the provided configuration file.
|
||||
|
||||
The `config_manager/load` function will return the full configuration diff in the
|
||||
`ios_diff` fact.
|
||||
|
||||
NOTE: When performing a configuration replace function be sure to specify the
|
||||
entire configuration to be loaded otherwise you could end up not being able to
|
||||
reconnect to your IOS device after the configuration has been loaded.
|
||||
|
||||
## How to load and merge a configuration
|
||||
Loading and merging a configuration file is the default operation for the
|
||||
`config_manager/load` function. It will take the contents of a Cisco IOS configuration
|
||||
file and merge it with the current device active configurations.
|
||||
|
||||
Below is an example of calling the `config_manager/load` function from the playbook.
|
||||
|
||||
```
|
||||
- hosts: cisco_ios
|
||||
|
||||
roles:
|
||||
- name ansible_network.cisco_ios
|
||||
function: config_manager/load
|
||||
config_manager_text: "{{ lookup('file', 'ios.cfg') }}"
|
||||
```
|
||||
|
||||
The above playbook will load the specified configuration file onto each device
|
||||
in the `cisco_ios` host group.
|
||||
|
||||
## How to replace the current active configuration
|
||||
The `config_manager/load` function also supports replacing the current active
|
||||
configuration with the configuration file located on the Ansible controller.
|
||||
In order to replace the device's active configuration, set the value of the
|
||||
`config_manager_replace` setting to `True`.
|
||||
|
||||
```
|
||||
- hosts: cisco_ios
|
||||
|
||||
roles:
|
||||
- name ansible_network.cisco_ios
|
||||
function: config_manager/load
|
||||
config_manager_text: "{{ lookup('file', 'ios.cfg') }}"
|
||||
config_manager_replace: true
|
||||
```
|
||||
|
||||
|
||||
## Arguments
|
||||
|
||||
### config_manager_text
|
||||
|
||||
This value accepts the text form of the configuration to be loaded on to the remote device.
|
||||
The configuration file should be the native set of commands used to configure the remote device.
|
||||
|
||||
The default value is `null`
|
||||
|
||||
### config_manager_replace
|
||||
|
||||
Specifies whether or not the source configuration should replace the current
|
||||
active configuration on the target IOS device. When this value is set to
|
||||
False, the source configuration is merged with the active configuration. When
|
||||
this value is set to True, the source configuration will replace the current
|
||||
active configuration
|
||||
|
||||
The default value is `False`
|
||||
|
||||
### ios_config_remove_temp_files
|
||||
|
||||
Configures the function to remove or not remove the temp files created when
|
||||
preparing to load the configuration file. There are two locations for temp
|
||||
files, one on the Ansible controller and one on the device. This argument
|
||||
accepts a boolean value.
|
||||
|
||||
The default value is `True`
|
||||
|
||||
### ios_config_rollback_enabled
|
||||
|
||||
Configures whether or not automatic rollback is enabled during the execution of
|
||||
the function. When enabled, if an error is enountered, then the configuration
|
||||
is automatically returned to the original running-config. If disabled, then
|
||||
the rollback operation is not performed automatically.
|
||||
|
||||
The default value is `True`
|
||||
|
||||
Reference in New Issue
Block a user