diff options
Diffstat (limited to 'lib/ansible/modules/network/vyos/vyos_lag_interfaces.py')
-rw-r--r-- | lib/ansible/modules/network/vyos/vyos_lag_interfaces.py | 561 |
1 files changed, 0 insertions, 561 deletions
diff --git a/lib/ansible/modules/network/vyos/vyos_lag_interfaces.py b/lib/ansible/modules/network/vyos/vyos_lag_interfaces.py deleted file mode 100644 index 5f79cf80b2..0000000000 --- a/lib/ansible/modules/network/vyos/vyos_lag_interfaces.py +++ /dev/null @@ -1,561 +0,0 @@ -#!/usr/bin/python -# -*- coding: utf-8 -*- -# Copyright 2019 Red Hat -# GNU General Public License v3.0+ -# (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt) - -############################################# -# WARNING # -############################################# -# -# This file is auto generated by the resource -# module builder playbook. -# -# Do not edit this file manually. -# -# Changes to this file will be over written -# by the resource module builder. -# -# Changes should be made in the model used to -# generate this file or in the resource module -# builder template. -# -############################################# - -""" -The module file for vyos_lag_interfaces -""" - -from __future__ import absolute_import, division, print_function -__metaclass__ = type - -ANSIBLE_METADATA = { - 'metadata_version': '1.1', - 'status': ['preview'], - 'supported_by': 'network' -} - -DOCUMENTATION = """ ---- -module: vyos_lag_interfaces -version_added: 2.9 -short_description: Manages attributes of link aggregation groups on VyOS network devices. -description: This module manages attributes of link aggregation groups on VyOS network devices. -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). -author: Rohit Thakur (@rohitthakur2590) -options: - config: - description: A list of link aggregation group configurations. - type: list - suboptions: - name: - description: - - Name of the link aggregation group (LAG) or bond. - type: str - required: True - mode: - description: - - LAG or bond mode. - type: str - choices: - - 802.3ad - - active-backup - - broadcast - - round-robin - - transmit-load-balance - - adaptive-load-balance - - xor-hash - members: - description: - - List of member interfaces for the LAG (bond). - type: list - suboptions: - member: - description: - - Name of the member interface. - type: str - primary: - description: - - Primary device interfaces for the LAG (bond). - type: str - hash_policy: - description: - - LAG or bonding transmit hash policy. - type: str - choices: - - layer2 - - layer2+3 - - layer3+4 - arp_monitor: - description: - - ARP Link monitoring parameters. - type: dict - suboptions: - interval: - description: - - ARP link monitoring frequency in milliseconds. - type: int - target: - description: - - IP address to use for ARP monitoring. - type: list - state: - description: - - The state of the configuration after module completion. - type: str - choices: - - merged - - replaced - - overridden - - deleted - default: merged - -""" -EXAMPLES = """ -# Using merged -# -# Before state: -# ------------- -# -# vyos@vyos:~$ show configuration commands | grep bond -# set interfaces bonding bond2 -# set interfaces bonding bond3 -# -- name: Merge provided configuration with device configuration - vyos_lag_interfaces: - config: - - name: bond2 - mode: active-backup - members: - - member: eth2 - - member: eth1 - hash_policy: layer2 - primary: eth2 - - - name: 'bond3' - mode: 'active-backup' - hash_policy: 'layer2+3' - members: - - member: eth3 - primary: 'eth3' - state: merged -# -# -# ------------------------- -# Module Execution Result -# ------------------------- -# -# "before": [ -# { -# "name": "bond2" -# }, -# { -# "name": "bond3" -# } -# ], -# -# "commands": [ -# "set interfaces bonding bond2 hash-policy 'layer2'", -# "set interfaces bonding bond2 mode 'active-backup'", -# "set interfaces ethernet eth2 bond-group bond2", -# "set interfaces ethernet eth1 bond-group bond2", -# "set interfaces bonding bond2 primary 'eth2'", -# "set interfaces bonding bond3 hash-policy 'layer2+3'", -# "set interfaces bonding bond3 mode 'active-backup'", -# "set interfaces ethernet eth3 bond-group bond3", -# "set interfaces bonding bond3 primary 'eth3'" -# ] -# -# "after": [ -# { -# "hash_policy": "layer2", -# "members": [ -# { -# "member": "eth1" -# }, -# { -# "member": "eth2" -# } -# ], -# "mode": "active-backup", -# "name": "bond2", -# "primary": "eth2" -# }, -# { -# "hash_policy": "layer2+3", -# "members": [ -# { -# "member": "eth3" -# } -# ], -# "mode": "active-backup", -# "name": "bond3", -# "primary": "eth3" -# } -# ] -# -# After state: -# ------------- -# -# vyos@vyos:~$ show configuration commands | grep bond -# set interfaces bonding bond2 hash-policy 'layer2' -# set interfaces bonding bond2 mode 'active-backup' -# set interfaces bonding bond2 primary 'eth2' -# set interfaces bonding bond3 hash-policy 'layer2+3' -# set interfaces bonding bond3 mode 'active-backup' -# set interfaces bonding bond3 primary 'eth3' -# set interfaces ethernet eth1 bond-group 'bond2' -# set interfaces ethernet eth2 bond-group 'bond2' -# set interfaces ethernet eth3 bond-group 'bond3' - - -# Using replaced -# -# Before state: -# ------------- -# -# vyos@vyos:~$ show configuration commands | grep bond -# set interfaces bonding bond2 hash-policy 'layer2' -# set interfaces bonding bond2 mode 'active-backup' -# set interfaces bonding bond2 primary 'eth2' -# set interfaces bonding bond3 hash-policy 'layer2+3' -# set interfaces bonding bond3 mode 'active-backup' -# set interfaces bonding bond3 primary 'eth3' -# set interfaces ethernet eth1 bond-group 'bond2' -# set interfaces ethernet eth2 bond-group 'bond2' -# set interfaces ethernet eth3 bond-group 'bond3' -# -- name: Replace device configurations of listed LAGs with provided configurations - vyos_lag_interfaces: - config: - - name: bond3 - mode: '802.3ad' - hash_policy: 'layer2' - members: - - member: eth3 - state: replaced -# -# -# ------------------------- -# Module Execution Result -# ------------------------- -# -# "before": [ -# { -# "hash_policy": "layer2", -# "members": [ -# { -# "member": "eth1" -# }, -# { -# "member": "eth2" -# } -# ], -# "mode": "active-backup", -# "name": "bond2", -# "primary": "eth2" -# }, -# { -# "hash_policy": "layer2+3", -# "members": [ -# { -# "member": "eth3" -# } -# ], -# "mode": "active-backup", -# "name": "bond3", -# "primary": "eth3" -# } -# ], -# -# "commands": [ -# "delete interfaces bonding bond3 primary", -# "set interfaces bonding bond3 hash-policy 'layer2'", -# "set interfaces bonding bond3 mode '802.3ad'" -# ], -# -# "after": [ -# { -# "hash_policy": "layer2", -# "members": [ -# { -# "member": "eth1" -# }, -# { -# "member": "eth2" -# } -# ], -# "mode": "active-backup", -# "name": "bond2", -# "primary": "eth2" -# }, -# { -# "hash_policy": "layer2", -# "members": [ -# { -# "member": "eth3" -# } -# ], -# "mode": "802.3ad", -# "name": "bond3" -# } -# ], -# -# After state: -# ------------- -# -# vyos@vyos:~$ show configuration commands | grep bond -# set interfaces bonding bond2 hash-policy 'layer2' -# set interfaces bonding bond2 mode 'active-backup' -# set interfaces bonding bond2 primary 'eth2' -# set interfaces bonding bond3 hash-policy 'layer2' -# set interfaces bonding bond3 mode '802.3ad' -# set interfaces ethernet eth1 bond-group 'bond2' -# set interfaces ethernet eth2 bond-group 'bond2' -# set interfaces ethernet eth3 bond-group 'bond3' - - -# Using overridden -# -# Before state -# -------------- -# -# vyos@vyos:~$ show configuration commands | grep bond -# set interfaces bonding bond2 hash-policy 'layer2' -# set interfaces bonding bond2 mode 'active-backup' -# set interfaces bonding bond2 primary 'eth2' -# set interfaces bonding bond3 hash-policy 'layer2' -# set interfaces bonding bond3 mode '802.3ad' -# set interfaces ethernet eth1 bond-group 'bond2' -# set interfaces ethernet eth2 bond-group 'bond2' -# set interfaces ethernet eth3 bond-group 'bond3' -# -- name: Overrides all device configuration with provided configuration - vyos_lag_interfaces: - config: - - name: bond3 - mode: active-backup - members: - - member: eth1 - - member: eth2 - - member: eth3 - primary: eth3 - hash_policy: layer2 - state: overridden -# -# -# ------------------------- -# Module Execution Result -# ------------------------- -# -# "before": [ -# { -# "hash_policy": "layer2", -# "members": [ -# { -# "member": "eth1" -# }, -# { -# "member": "eth2" -# } -# ], -# "mode": "active-backup", -# "name": "bond2", -# "primary": "eth2" -# }, -# { -# "hash_policy": "layer2", -# "members": [ -# { -# "member": "eth3" -# } -# ], -# "mode": "802.3ad", -# "name": "bond3" -# } -# ], -# -# "commands": [ -# "delete interfaces bonding bond2 hash-policy", -# "delete interfaces ethernet eth1 bond-group bond2", -# "delete interfaces ethernet eth2 bond-group bond2", -# "delete interfaces bonding bond2 mode", -# "delete interfaces bonding bond2 primary", -# "set interfaces bonding bond3 mode 'active-backup'", -# "set interfaces ethernet eth1 bond-group bond3", -# "set interfaces ethernet eth2 bond-group bond3", -# "set interfaces bonding bond3 primary 'eth3'" -# ], -# -# "after": [ -# { -# "name": "bond2" -# }, -# { -# "hash_policy": "layer2", -# "members": [ -# { -# "member": "eth1" -# }, -# { -# "member": "eth2" -# }, -# { -# "member": "eth3" -# } -# ], -# "mode": "active-backup", -# "name": "bond3", -# "primary": "eth3" -# } -# ], -# -# -# After state -# ------------ -# -# vyos@vyos:~$ show configuration commands | grep bond -# set interfaces bonding bond2 -# set interfaces bonding bond3 hash-policy 'layer2' -# set interfaces bonding bond3 mode 'active-backup' -# set interfaces bonding bond3 primary 'eth3' -# set interfaces ethernet eth1 bond-group 'bond3' -# set interfaces ethernet eth2 bond-group 'bond3' -# set interfaces ethernet eth3 bond-group 'bond3' - - -# Using deleted -# -# Before state -# ------------- -# -# vyos@vyos:~$ show configuration commands | grep bond -# set interfaces bonding bond2 hash-policy 'layer2' -# set interfaces bonding bond2 mode 'active-backup' -# set interfaces bonding bond2 primary 'eth2' -# set interfaces bonding bond3 hash-policy 'layer2+3' -# set interfaces bonding bond3 mode 'active-backup' -# set interfaces bonding bond3 primary 'eth3' -# set interfaces ethernet eth1 bond-group 'bond2' -# set interfaces ethernet eth2 bond-group 'bond2' -# set interfaces ethernet eth3 bond-group 'bond3' -# -- name: Delete LAG attributes of given interfaces (Note This won't delete the interface itself) - vyos_lag_interfaces: - config: - - name: bond2 - - name: bond3 - state: deleted -# -# -# ------------------------ -# Module Execution Results -# ------------------------ -# -# "before": [ -# { -# "hash_policy": "layer2", -# "members": [ -# { -# "member": "eth1" -# }, -# { -# "member": "eth2" -# } -# ], -# "mode": "active-backup", -# "name": "bond2", -# "primary": "eth2" -# }, -# { -# "hash_policy": "layer2+3", -# "members": [ -# { -# "member": "eth3" -# } -# ], -# "mode": "active-backup", -# "name": "bond3", -# "primary": "eth3" -# } -# ], -# "commands": [ -# "delete interfaces bonding bond2 hash-policy", -# "delete interfaces ethernet eth1 bond-group bond2", -# "delete interfaces ethernet eth2 bond-group bond2", -# "delete interfaces bonding bond2 mode", -# "delete interfaces bonding bond2 primary", -# "delete interfaces bonding bond3 hash-policy", -# "delete interfaces ethernet eth3 bond-group bond3", -# "delete interfaces bonding bond3 mode", -# "delete interfaces bonding bond3 primary" -# ], -# -# "after": [ -# { -# "name": "bond2" -# }, -# { -# "name": "bond3" -# } -# ], -# -# After state -# ------------ -# vyos@vyos:~$ show configuration commands | grep bond -# set interfaces bonding bond2 -# set interfaces bonding bond3 - - -""" -RETURN = """ -before: - description: The configuration as structured data prior to module invocation. - returned: always - type: list - sample: > - The configuration returned will always be in the same format - of the parameters above. -after: - description: The configuration as structured data after module completion. - returned: when changed - type: list - sample: > - The configuration returned will always be in the same format - of the parameters above. -commands: - description: The set of commands pushed to the remote device. - returned: always - type: list - sample: - - 'set interfaces bonding bond2' - - 'set interfaces bonding bond2 hash-policy layer2' -""" - - -from ansible.module_utils.basic import AnsibleModule -from ansible.module_utils.network.vyos.argspec.lag_interfaces. \ - lag_interfaces import Lag_interfacesArgs -from ansible.module_utils.network.vyos.config.lag_interfaces.lag_interfaces import Lag_interfaces - - -def main(): - """ - Main entry point for module execution - - :returns: the result form module invocation - """ - required_if = [('state', 'merged', ('config',)), - ('state', 'replaced', ('config',)), - ('state', 'overridden', ('config',))] - module = AnsibleModule(argument_spec=Lag_interfacesArgs.argument_spec, required_if=required_if, - supports_check_mode=True) - - result = Lag_interfaces(module).execute_module() - module.exit_json(**result) - - -if __name__ == '__main__': - main() |