Adding Netbox

This commit is contained in:
Patrick Toal
2019-05-06 00:34:45 -04:00
parent 832502de34
commit 6e2205a046
278 changed files with 12767 additions and 0 deletions

View 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

View 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`