diff options
| author | ansible-zuul[bot] <48994755+ansible-zuul[bot]@users.noreply.github.com> | 2020-01-16 18:56:16 +0000 | 
|---|---|---|
| committer | GitHub <noreply@github.com> | 2020-01-16 18:56:16 +0000 | 
| commit | 03addce56012d4bd360e18612d2eb3af04d8f01a (patch) | |
| tree | 9cf59872c2ddc7e99595db4f47c72a7ce08b6c10 /plugins/modules/vyos_config.py | |
| parent | d31b74ba6c74a6e3cdebd80b9eb5272aeb9b0fb4 (diff) | |
| parent | 6b6166151faa3d811ae0ec3010a89e518a26287b (diff) | |
| download | vyos.vyos-03addce56012d4bd360e18612d2eb3af04d8f01a.tar.gz vyos.vyos-03addce56012d4bd360e18612d2eb3af04d8f01a.zip | |
Merge pull request #59 from CaptTrews/master
Updated from network content collector
Reviewed-by: https://github.com/apps/ansible-zuul
Diffstat (limited to 'plugins/modules/vyos_config.py')
| -rw-r--r-- | plugins/modules/vyos_config.py | 121 | 
1 files changed, 62 insertions, 59 deletions
| diff --git a/plugins/modules/vyos_config.py b/plugins/modules/vyos_config.py index 7c9f3ab1..24fa161a 100644 --- a/plugins/modules/vyos_config.py +++ b/plugins/modules/vyos_config.py @@ -23,96 +23,89 @@ ANSIBLE_METADATA = {  } -DOCUMENTATION = """ ---- -module: vyos_config -version_added: "2.2" -author: "Nathaniel Case (@Qalthos)" +DOCUMENTATION = """module: vyos_config +author: Nathaniel Case (@Qalthos)  short_description: Manage VyOS configuration on remote device  description: -  - This module provides configuration file management of VyOS -    devices. It provides arguments for managing both the -    configuration file and state of the active configuration. All -    configuration statements are based on `set` and `delete` commands -    in the device configuration. -extends_documentation_fragment: vyos +- This module provides configuration file management of VyOS devices. It provides +  arguments for managing both the configuration file and state of the active configuration. +  All configuration statements are based on `set` and `delete` commands in the device +  configuration. +extends_documentation_fragment: +- vyos.vyos.vyos  notes: -  - Tested against VyOS 1.1.8 (helium). -  - This module works with connection C(network_cli). See L(the VyOS OS Platform Options,../network/user_guide/platform_vyos.html). +- Tested against VyOS 1.1.8 (helium). +- This module works with connection C(network_cli). See L(the VyOS OS Platform Options,../network/user_guide/platform_vyos.html).  options:    lines:      description: -      - The ordered set of configuration lines to be managed and -        compared with the existing configuration on the remote -        device. +    - The ordered set of configuration lines to be managed and compared with the existing +      configuration on the remote device.    src:      description: -      - The C(src) argument specifies the path to the source config -        file to load.  The source config file can either be in -        bracket format or set format.  The source file can include -        Jinja2 template variables. +    - The C(src) argument specifies the path to the source config file to load.  The +      source config file can either be in bracket format or set format.  The source +      file can include Jinja2 template variables.    match:      description: -      - The C(match) argument controls the method used to match -        against the current active configuration.  By default, the -        desired config is matched against the active config and the -        deltas are loaded.  If the C(match) argument is set to C(none) -        the active configuration is ignored and the configuration is -        always loaded. +    - The C(match) argument controls the method used to match against the current +      active configuration.  By default, the desired config is matched against the +      active config and the deltas are loaded.  If the C(match) argument is set to +      C(none) the active configuration is ignored and the configuration is always +      loaded.      default: line -    choices: ['line', 'none'] +    choices: +    - line +    - none    backup:      description: -      - The C(backup) argument will backup the current devices active -        configuration to the Ansible control host prior to making any -        changes. If the C(backup_options) value is not given, the -        backup file will be located in the backup folder in the playbook -        root directory or role root directory, if playbook is part of an -        ansible role. If the directory does not exist, it is created. +    - The C(backup) argument will backup the current devices active configuration +      to the Ansible control host prior to making any changes. If the C(backup_options) +      value is not given, the backup file will be located in the backup folder in +      the playbook root directory or role root directory, if playbook is part of an +      ansible role. If the directory does not exist, it is created.      type: bool      default: 'no'    comment:      description: -      - Allows a commit description to be specified to be included -        when the configuration is committed.  If the configuration is -        not changed or committed, this argument is ignored. -    default: 'configured by vyos_config' +    - Allows a commit description to be specified to be included when the configuration +      is committed.  If the configuration is not changed or committed, this argument +      is ignored. +    default: configured by vyos_config    config:      description: -      - The C(config) argument specifies the base configuration to use -        to compare against the desired configuration.  If this value -        is not specified, the module will automatically retrieve the -        current active configuration from the remote device. +    - The C(config) argument specifies the base configuration to use to compare against +      the desired configuration.  If this value is not specified, the module will +      automatically retrieve the current active configuration from the remote device.    save:      description: -      - The C(save) argument controls whether or not changes made -        to the active configuration are saved to disk.  This is -        independent of committing the config.  When set to True, the -        active configuration is saved. +    - The C(save) argument controls whether or not changes made to the active configuration +      are saved to disk.  This is independent of committing the config.  When set +      to True, the active configuration is saved.      type: bool      default: 'no'    backup_options:      description: -      - This is a dict object containing configurable options related to backup file path. -        The value of this option is read only when C(backup) is set to I(yes), if C(backup) is set -        to I(no) this option will be silently ignored. +    - This is a dict object containing configurable options related to backup file +      path. The value of this option is read only when C(backup) is set to I(yes), +      if C(backup) is set to I(no) this option will be silently ignored.      suboptions:        filename:          description: -          - The filename to be used to store the backup configuration. If the the filename -            is not given it will be generated based on the hostname, current time and date -            in format defined by <hostname>_config.<current-date>@<current-time> +        - The filename to be used to store the backup configuration. If the the filename +          is not given it will be generated based on the hostname, current time and +          date in format defined by <hostname>_config.<current-date>@<current-time>        dir_path:          description: -          - This option provides the path ending with directory name in which the backup -            configuration file will be stored. If the directory does not exist it will be first -            created and the filename is either the value of C(filename) or default filename -            as described in C(filename) options description. If the path value is not given -            in that case a I(backup) directory will be created in the current working directory -            and backup configuration will be copied in C(filename) within I(backup) directory. +        - This option provides the path ending with directory name in which the backup +          configuration file will be stored. If the directory does not exist it will +          be first created and the filename is either the value of C(filename) or +          default filename as described in C(filename) options description. If the +          path value is not given in that case a I(backup) directory will be created +          in the current working directory and backup configuration will be copied +          in C(filename) within I(backup) directory.          type: path      type: dict -    version_added: "2.8"  """  EXAMPLES = """ @@ -217,7 +210,17 @@ def get_candidate(module):  def format_commands(commands): -    return [line for line in commands if len(line.strip()) > 0] +    """ +    This function format the input commands and removes the prepend white spaces +    for command lines having 'set' or 'delete' and it skips empty lines. +    :param commands: +    :return: list of commands +    """ +    return [ +        line.strip() if line.split()[0] in ("set", "delete") else line +        for line in commands +        if len(line.strip()) > 0 +    ]  def diff_config(commands, config): | 
