diff --git a/plugins/action/common/check_roles.py b/plugins/action/common/check_roles.py index 64fb0a6d..d2bc24a9 100644 --- a/plugins/action/common/check_roles.py +++ b/plugins/action/common/check_roles.py @@ -33,7 +33,6 @@ class ActionModule(ActionBase): def run(self, tmp=None, task_vars=None): - # self._supports_async = True results = super(ActionModule, self).run(tmp, task_vars) results['save_previous'] = False diff --git a/plugins/action/common/prepare_plugins/prep_001_list_defaults.py b/plugins/action/common/prepare_plugins/prep_001_list_defaults.py index c3fb522d..75a5f776 100644 --- a/plugins/action/common/prepare_plugins/prep_001_list_defaults.py +++ b/plugins/action/common/prepare_plugins/prep_001_list_defaults.py @@ -20,7 +20,7 @@ # SPDX-License-Identifier: MIT -from ...helper_functions import data_model_key_check +from ....plugin_utils.helper_functions import data_model_key_check def update_nested_dict(nested_dict, keys, new_value): diff --git a/plugins/action/common/prepare_plugins/prep_101_global.py b/plugins/action/common/prepare_plugins/prep_101_global.py index 1a675eb1..00ddba43 100644 --- a/plugins/action/common/prepare_plugins/prep_101_global.py +++ b/plugins/action/common/prepare_plugins/prep_101_global.py @@ -19,6 +19,7 @@ # # SPDX-License-Identifier: MIT + class PreparePlugin: def __init__(self, **kwargs): self.kwargs = kwargs diff --git a/plugins/action/common/prepare_plugins/prep_106_topology_vpc_interfaces.py b/plugins/action/common/prepare_plugins/prep_106_topology_vpc_interfaces.py index 1a2cdfaf..e4133682 100644 --- a/plugins/action/common/prepare_plugins/prep_106_topology_vpc_interfaces.py +++ b/plugins/action/common/prepare_plugins/prep_106_topology_vpc_interfaces.py @@ -22,6 +22,8 @@ # Group vPC interfaces by vpc_peers, vpc_id and switch_name # This helps in identifying vPC interfaces for a given vpc_peer, vpc_id and switch_name # Reduces the need to loop through all interfaces to find vPC interfaces in Jinja2 templates + + class PreparePlugin: def __init__(self, **kwargs): self.kwargs = kwargs diff --git a/plugins/action/dtc/update_switch_hostname_policy.py b/plugins/action/dtc/update_switch_hostname_policy.py index 450c2b23..a672b2c3 100644 --- a/plugins/action/dtc/update_switch_hostname_policy.py +++ b/plugins/action/dtc/update_switch_hostname_policy.py @@ -25,7 +25,7 @@ __metaclass__ = type from ansible.plugins.action import ActionBase -from ..helper_functions import ndfc_get_switch_policy +from ...plugin_utils.helper_functions import ndfc_get_switch_policy class ActionModule(ActionBase): diff --git a/plugins/modules/.gitkeep b/plugins/modules/.gitkeep new file mode 100644 index 00000000..e69de29b diff --git a/plugins/action/dtd/prepare_service_model.py b/plugins/modules/common/check_roles.py similarity index 64% rename from plugins/action/dtd/prepare_service_model.py rename to plugins/modules/common/check_roles.py index 2f05fd82..7bac0601 100644 --- a/plugins/action/dtd/prepare_service_model.py +++ b/plugins/modules/common/check_roles.py @@ -18,3 +18,35 @@ # CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. # # SPDX-License-Identifier: MIT + +from __future__ import absolute_import, division, print_function +__metaclass__ = type + + +DOCUMENTATION = """ +--- +module: check_roles +short_description: Action plugin to check roles for create or remove. +version_added: "0.2.0" +author: Mike Wiebe (@mikewiebe) +description: +- Action plugin to check roles for create or remove. +options: + role_list: + description: + - List of roles. + required: true + type: list + elements: str +""" + +EXAMPLES = """ + +# Perform Role Check + +- name: Check Roles + cisco.nac_dc_vxlan.common.check_roles: + role_list: "{{ role_names }}" + register: check_roles + +""" diff --git a/plugins/action/test/inventory.py b/plugins/modules/common/get_credentials.py similarity index 61% rename from plugins/action/test/inventory.py rename to plugins/modules/common/get_credentials.py index 5a0b15fe..da340631 100644 --- a/plugins/action/test/inventory.py +++ b/plugins/modules/common/get_credentials.py @@ -20,29 +20,34 @@ # SPDX-License-Identifier: MIT from __future__ import absolute_import, division, print_function - - __metaclass__ = type -from ansible.utils.display import Display -from ansible.plugins.action import ActionBase - -display = Display() - - -class ActionModule(ActionBase): - - def run(self, tmp=None, task_vars=None): - results = super(ActionModule, self).run(tmp, task_vars) - results['failed'] = False - - test_data = self._task.args['test_data']['response'] - model_data = self._task.args['model_data'] - - num_fabric_devices = len(test_data) - num_model_devices = len(model_data['vxlan']['topology']['switches']) - if num_fabric_devices != num_model_devices: - results['msg'] = 'There should be {0} switches in the fabric but only found {1}'.format(num_model_devices, num_fabric_devices) - results['failed'] = True - return results +DOCUMENTATION = """ +--- +module: get_credentials +short_description: Action plugin to get NDFC switch credentials and update inventory list. +version_added: "0.1.0" +author: Mike Wiebe (@mikewiebe) +description: +- Action plugin to get NDFC switch credentials and update inventory list. +options: + inv_list: + description: + - Inventory list. + required: true + type: list + elements: str +""" + +EXAMPLES = """ + +# Get Collection NDFC Switch Credentials and Update Inventory List + +- name: Retrieve NDFC Device Username and Password from Group Vars and update inv_config + cisco.nac_dc_vxlan.common.get_credentials: + inv_list: "{{ inv_config }}" + register: updated_inv_config + no_log: true + +""" diff --git a/plugins/modules/common/nac_dc_validate.py b/plugins/modules/common/nac_dc_validate.py new file mode 100644 index 00000000..75c87685 --- /dev/null +++ b/plugins/modules/common/nac_dc_validate.py @@ -0,0 +1,65 @@ +# Copyright (c) 2024 Cisco Systems, Inc. and its affiliates +# +# Permission is hereby granted, free of charge, to any person obtaining a copy of +# this software and associated documentation files (the "Software"), to deal in +# the Software without restriction, including without limitation the rights to +# use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +# the Software, and to permit persons to whom the Software is furnished to do so, +# subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in all +# copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +# FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +# COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +# IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +# +# SPDX-License-Identifier: MIT + +from __future__ import absolute_import, division, print_function +__metaclass__ = type + + +DOCUMENTATION = """ +--- +module: nac_dc_validate +short_description: Prepare action plugin to validate the data model against the schema and return the rendered data model. +version_added: "0.1.0" +author: + - Mike Wiebe (@mikewiebe) + - Matt Tarkington (@mtarking) +description: +- Prepare action plugin to validate the data model against the schema and return the rendered data model. +options: + schema: + description: + - The path to the schema file. + required: false + type: str + mdata: + description: + - The path to the model data dir. + required: true + type: dict + rules: + description: + - The path to the rules dir. + required: false + type: str +""" + +EXAMPLES = """ + +# Perform Required Syntax and Semantic Model Validation and Return the Model Data + +- name: Perform Required Syntax and Semantic Model Validation + cisco.nac_dc_vxlan.common.nac_dc_validate: + schema: "{{ schema_path }}" + mdata: "{{ data_path }}" + rules: "{{ rules_path }}" + register: model_data + +""" diff --git a/plugins/modules/common/prepare_plugins/prep_001_list_defaults.py b/plugins/modules/common/prepare_plugins/prep_001_list_defaults.py new file mode 100644 index 00000000..4fe2a1b7 --- /dev/null +++ b/plugins/modules/common/prepare_plugins/prep_001_list_defaults.py @@ -0,0 +1,64 @@ +# Copyright (c) 2024 Cisco Systems, Inc. and its affiliates +# +# Permission is hereby granted, free of charge, to any person obtaining a copy of +# this software and associated documentation files (the "Software"), to deal in +# the Software without restriction, including without limitation the rights to +# use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +# the Software, and to permit persons to whom the Software is furnished to do so, +# subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in all +# copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +# FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +# COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +# IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +# +# SPDX-License-Identifier: MIT + +from __future__ import absolute_import, division, print_function +__metaclass__ = type + + +DOCUMENTATION = """ +--- +module: prep_001_list_defaults +short_description: Prepare action plugin for list and nested list elementes of the extended data model. +version_added: "0.1.0" +author: Mike Wiebe (@mikewiebe) +description: +- Invoked from the main prepare action plugin prepare_service_model. +- Prepare action plugin for list and nested list elementes of the extended data model. +options: + inventory_hostname: + description: + - Ansible inventory_hostname. + required: true + type: str + hostvars: + description: + - Ansible runtime hostvars data. + required: true + type: dict + model_data: + description: + - The path to the data dir. + required: true + type: str +""" + +EXAMPLES = """ + +# Prepare Data Model and Return Extended Data Model + +- name: Perform Required Syntax and Semantic Model Validation + cisco.nac_dc_vxlan.common.prepare_service_model: + inventory_hostname: "{{ inventory_hostname }}" + hostvars: "{{ hostvars }}" + model_data: "{{ model_data['data'] }}" + register: smd + +""" diff --git a/plugins/modules/common/prepare_plugins/prep_101_global.py b/plugins/modules/common/prepare_plugins/prep_101_global.py new file mode 100644 index 00000000..ae0791e0 --- /dev/null +++ b/plugins/modules/common/prepare_plugins/prep_101_global.py @@ -0,0 +1,64 @@ +# Copyright (c) 2024 Cisco Systems, Inc. and its affiliates +# +# Permission is hereby granted, free of charge, to any person obtaining a copy of +# this software and associated documentation files (the "Software"), to deal in +# the Software without restriction, including without limitation the rights to +# use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +# the Software, and to permit persons to whom the Software is furnished to do so, +# subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in all +# copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +# FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +# COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +# IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +# +# SPDX-License-Identifier: MIT + +from __future__ import absolute_import, division, print_function +__metaclass__ = type + + +DOCUMENTATION = """ +--- +module: prep_101_global +short_description: Prepare action plugin for global elementes of the extended data model. +version_added: "0.1.0" +author: Mike Wiebe (@mikewiebe) +description: +- Invoked from the main prepare action plugin prepare_service_model. +- Prepare action plugin for global elementes of the extended data model. +options: + inventory_hostname: + description: + - Ansible inventory_hostname. + required: true + type: str + hostvars: + description: + - Ansible runtime hostvars data. + required: true + type: dict + model_data: + description: + - The path to the data dir. + required: true + type: str +""" + +EXAMPLES = """ + +# Prepare Data Model and Return Extended Data Model + +- name: Perform Required Syntax and Semantic Model Validation + cisco.nac_dc_vxlan.common.prepare_service_model: + inventory_hostname: "{{ inventory_hostname }}" + hostvars: "{{ hostvars }}" + model_data: "{{ model_data['data'] }}" + register: smd + +""" diff --git a/plugins/modules/common/prepare_plugins/prep_103_topology_switches.py b/plugins/modules/common/prepare_plugins/prep_103_topology_switches.py new file mode 100644 index 00000000..3bd39a6a --- /dev/null +++ b/plugins/modules/common/prepare_plugins/prep_103_topology_switches.py @@ -0,0 +1,64 @@ +# Copyright (c) 2024 Cisco Systems, Inc. and its affiliates +# +# Permission is hereby granted, free of charge, to any person obtaining a copy of +# this software and associated documentation files (the "Software"), to deal in +# the Software without restriction, including without limitation the rights to +# use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +# the Software, and to permit persons to whom the Software is furnished to do so, +# subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in all +# copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +# FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +# COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +# IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +# +# SPDX-License-Identifier: MIT + +from __future__ import absolute_import, division, print_function +__metaclass__ = type + + +DOCUMENTATION = """ +--- +module: prep_103_topology_switches +short_description: Prepare action plugin for topology elementes of the extended data model. +version_added: "0.1.0" +author: Rameez Rahim M (@rrahimm) +description: +- Invoked from the main prepare action plugin prepare_service_model. +- Prepare action plugin for topology elementes of the extended data model. +options: + inventory_hostname: + description: + - Ansible inventory_hostname. + required: true + type: str + hostvars: + description: + - Ansible runtime hostvars data. + required: true + type: dict + model_data: + description: + - The path to the data dir. + required: true + type: str +""" + +EXAMPLES = """ + +# Prepare Data Model and Return Extended Data Model + +- name: Perform Required Syntax and Semantic Model Validation + cisco.nac_dc_vxlan.common.prepare_service_model: + inventory_hostname: "{{ inventory_hostname }}" + hostvars: "{{ hostvars }}" + model_data: "{{ model_data['data'] }}" + register: smd + +""" diff --git a/plugins/modules/common/prepare_plugins/prep_104_fabric_overlay_services.py b/plugins/modules/common/prepare_plugins/prep_104_fabric_overlay_services.py new file mode 100644 index 00000000..f97ecda8 --- /dev/null +++ b/plugins/modules/common/prepare_plugins/prep_104_fabric_overlay_services.py @@ -0,0 +1,65 @@ +# Copyright (c) 2024 Cisco Systems, Inc. and its affiliates +# +# Permission is hereby granted, free of charge, to any person obtaining a copy of +# this software and associated documentation files (the "Software"), to deal in +# the Software without restriction, including without limitation the rights to +# use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +# the Software, and to permit persons to whom the Software is furnished to do so, +# subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in all +# copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +# FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +# COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +# IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +# +# SPDX-License-Identifier: MIT + +from __future__ import absolute_import, division, print_function +__metaclass__ = type + + +DOCUMENTATION = """ +--- +module: prep_104_fabric_overlay_services +short_description: Prepare action plugin for overlay vrf & network elementes of the extended data model. +version_added: "0.1.0" +author: Matt Tarkington (@mtarking) +description: +- Invoked from the main prepare action plugin prepare_service_model. +- Prepare action plugin for overlay vrf & network elementes of the extended data model. +- Maps the overlay vrf & network elements switch attach group entries from hostname to mgmt IP address. +options: + inventory_hostname: + description: + - Ansible inventory_hostname. + required: true + type: str + hostvars: + description: + - Ansible runtime hostvars data. + required: true + type: dict + model_data: + description: + - The path to the data dir. + required: true + type: str +""" + +EXAMPLES = """ + +# Prepare Data Model and Return Extended Data Model + +- name: Perform Required Syntax and Semantic Model Validation + cisco.nac_dc_vxlan.common.prepare_service_model: + inventory_hostname: "{{ inventory_hostname }}" + hostvars: "{{ hostvars }}" + model_data: "{{ model_data['data'] }}" + register: smd + +""" diff --git a/plugins/modules/common/prepare_plugins/prep_105_topology_interfaces.py b/plugins/modules/common/prepare_plugins/prep_105_topology_interfaces.py new file mode 100644 index 00000000..e6fee1ad --- /dev/null +++ b/plugins/modules/common/prepare_plugins/prep_105_topology_interfaces.py @@ -0,0 +1,65 @@ +# Copyright (c) 2024 Cisco Systems, Inc. and its affiliates +# +# Permission is hereby granted, free of charge, to any person obtaining a copy of +# this software and associated documentation files (the "Software"), to deal in +# the Software without restriction, including without limitation the rights to +# use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +# the Software, and to permit persons to whom the Software is furnished to do so, +# subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in all +# copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +# FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +# COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +# IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +# +# SPDX-License-Identifier: MIT + +from __future__ import absolute_import, division, print_function +__metaclass__ = type + + +DOCUMENTATION = """ +--- +module: prep_105_topology_interfaces +short_description: Prepare action plugin for interface elementes of the extended data model. +version_added: "0.1.0" +author: Rameez Rahim M (@rrahimm) +description: +- Invoked from the main prepare action plugin prepare_service_model. +- Prepare action plugin for interface elementes of the extended data model. +- Prepares count of specific interface modes/types. +options: + inventory_hostname: + description: + - Ansible inventory_hostname. + required: true + type: str + hostvars: + description: + - Ansible runtime hostvars data. + required: true + type: dict + model_data: + description: + - The path to the data dir. + required: true + type: str +""" + +EXAMPLES = """ + +# Prepare Data Model and Return Extended Data Model + +- name: Perform Required Syntax and Semantic Model Validation + cisco.nac_dc_vxlan.common.prepare_service_model: + inventory_hostname: "{{ inventory_hostname }}" + hostvars: "{{ hostvars }}" + model_data: "{{ model_data['data'] }}" + register: smd + +""" diff --git a/plugins/modules/common/prepare_plugins/prep_106_topology_vpc_interfaces.py b/plugins/modules/common/prepare_plugins/prep_106_topology_vpc_interfaces.py new file mode 100644 index 00000000..9e91bbf0 --- /dev/null +++ b/plugins/modules/common/prepare_plugins/prep_106_topology_vpc_interfaces.py @@ -0,0 +1,65 @@ +# Copyright (c) 2024 Cisco Systems, Inc. and its affiliates +# +# Permission is hereby granted, free of charge, to any person obtaining a copy of +# this software and associated documentation files (the "Software"), to deal in +# the Software without restriction, including without limitation the rights to +# use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +# the Software, and to permit persons to whom the Software is furnished to do so, +# subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in all +# copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +# FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +# COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +# IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +# +# SPDX-License-Identifier: MIT + +from __future__ import absolute_import, division, print_function +__metaclass__ = type + + +DOCUMENTATION = """ +--- +module: prep_106_topology_vpc_interfaces +short_description: Prepare action plugin for Cisco vPC interface elementes of the extended data model. +version_added: "0.1.0" +author: Rameez Rahim M (@rrahimm) +description: +- Invoked from the main prepare action plugin prepare_service_model. +- Prepare action plugin for Cisco vPC interface elementes of the extended data model. +- Prepares mapping between Cisco vPC peer1 and peer2 for interfaces. +options: + inventory_hostname: + description: + - Ansible inventory_hostname. + required: true + type: str + hostvars: + description: + - Ansible runtime hostvars data. + required: true + type: dict + model_data: + description: + - The path to the data dir. + required: true + type: str +""" + +EXAMPLES = """ + +# Prepare Data Model and Return Extended Data Model + +- name: Perform Required Syntax and Semantic Model Validation + cisco.nac_dc_vxlan.common.prepare_service_model: + inventory_hostname: "{{ inventory_hostname }}" + hostvars: "{{ hostvars }}" + model_data: "{{ model_data['data'] }}" + register: smd + +""" diff --git a/plugins/modules/common/prepare_plugins/prep_107_policy.py b/plugins/modules/common/prepare_plugins/prep_107_policy.py new file mode 100644 index 00000000..e22ace0c --- /dev/null +++ b/plugins/modules/common/prepare_plugins/prep_107_policy.py @@ -0,0 +1,65 @@ +# Copyright (c) 2024 Cisco Systems, Inc. and its affiliates +# +# Permission is hereby granted, free of charge, to any person obtaining a copy of +# this software and associated documentation files (the "Software"), to deal in +# the Software without restriction, including without limitation the rights to +# use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +# the Software, and to permit persons to whom the Software is furnished to do so, +# subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in all +# copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +# FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +# COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +# IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +# +# SPDX-License-Identifier: MIT + +from __future__ import absolute_import, division, print_function +__metaclass__ = type + + +DOCUMENTATION = """ +--- +module: prep_107_policy +short_description: Prepare action plugin for policy elementes of the extended data model. +version_added: "0.1.0" +author: Matt Tarkington (@mtarking) +description: +- Invoked from the main prepare action plugin prepare_service_model. +- Prepare action plugin for policy elementes of the extended data model. +- Prepares hostname to IP address mapping for swtich group policy. +options: + inventory_hostname: + description: + - Ansible inventory_hostname. + required: true + type: str + hostvars: + description: + - Ansible runtime hostvars data. + required: true + type: dict + model_data: + description: + - The path to the data dir. + required: true + type: str +""" + +EXAMPLES = """ + +# Prepare Data Model and Return Extended Data Model + +- name: Perform Required Syntax and Semantic Model Validation + cisco.nac_dc_vxlan.common.prepare_service_model: + inventory_hostname: "{{ inventory_hostname }}" + hostvars: "{{ hostvars }}" + model_data: "{{ model_data['data'] }}" + register: smd + +""" diff --git a/plugins/modules/common/prepare_service_model.py b/plugins/modules/common/prepare_service_model.py new file mode 100644 index 00000000..125bd9c2 --- /dev/null +++ b/plugins/modules/common/prepare_service_model.py @@ -0,0 +1,64 @@ +# Copyright (c) 2024 Cisco Systems, Inc. and its affiliates +# +# Permission is hereby granted, free of charge, to any person obtaining a copy of +# this software and associated documentation files (the "Software"), to deal in +# the Software without restriction, including without limitation the rights to +# use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +# the Software, and to permit persons to whom the Software is furnished to do so, +# subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in all +# copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +# FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +# COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +# IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +# +# SPDX-License-Identifier: MIT + +from __future__ import absolute_import, division, print_function +__metaclass__ = type + + +DOCUMENTATION = """ +--- +module: prepare_service_model +short_description: Prepare action plugin to prepare extended runtime data model. +version_added: "0.1.0" +author: Mike Wiebe (@mikewiebe) +description: +- Prepare action plugin to prepare extended runtime data model. +- Additional prepare action plugins are invoked for different parts of the data model. +options: + inventory_hostname: + description: + - Ansible inventory_hostname. + required: true + type: str + hostvars: + description: + - Ansible runtime hostvars data. + required: true + type: dict + model_data: + description: + - The path to the data dir. + required: true + type: str +""" + +EXAMPLES = """ + +# # Prepare Data Model and Return Extended Data Model + +- name: Perform Required Syntax and Semantic Model Validation + cisco.nac_dc_vxlan.common.prepare_service_model: + inventory_hostname: "{{ inventory_hostname }}" + hostvars: "{{ hostvars }}" + model_data: "{{ model_data['data'] }}" + register: smd + +""" diff --git a/plugins/modules/common/read_run_map.py b/plugins/modules/common/read_run_map.py new file mode 100644 index 00000000..f6700140 --- /dev/null +++ b/plugins/modules/common/read_run_map.py @@ -0,0 +1,51 @@ +# Copyright (c) 2024 Cisco Systems, Inc. and its affiliates +# +# Permission is hereby granted, free of charge, to any person obtaining a copy of +# this software and associated documentation files (the "Software"), to deal in +# the Software without restriction, including without limitation the rights to +# use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +# the Software, and to permit persons to whom the Software is furnished to do so, +# subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in all +# copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +# FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +# COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +# IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +# +# SPDX-License-Identifier: MIT + +from __future__ import absolute_import, division, print_function +__metaclass__ = type + + +DOCUMENTATION = """ +--- +module: read_run_map +short_description: Action plugin to read run history map from previous runs. +version_added: "0.3.0" +author: Mike Wiebe (@mikewiebe) +description: +- Action plugin to read run history map from previous runs. +options: + model_data: + description: + - The runtime data model, typically the extended data model. + required: true + type: dict +""" + +EXAMPLES = """ + +# Read Run Map From Previous Run + +- name: Read Run Map From Previous Run + cisco.nac_dc_vxlan.common.read_run_map: + model_data: "{{ MD_Extended }}" + register: run_map_read_result + +""" diff --git a/plugins/modules/common/run_map.py b/plugins/modules/common/run_map.py new file mode 100644 index 00000000..21e001ad --- /dev/null +++ b/plugins/modules/common/run_map.py @@ -0,0 +1,61 @@ +# Copyright (c) 2024 Cisco Systems, Inc. and its affiliates +# +# Permission is hereby granted, free of charge, to any person obtaining a copy of +# this software and associated documentation files (the "Software"), to deal in +# the Software without restriction, including without limitation the rights to +# use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +# the Software, and to permit persons to whom the Software is furnished to do so, +# subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in all +# copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +# FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +# COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +# IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +# +# SPDX-License-Identifier: MIT + +from __future__ import absolute_import, division, print_function +__metaclass__ = type + + +DOCUMENTATION = """ +--- +module: run_map +short_description: Action plugin used to perform updates to run map for tracking previous run state. +version_added: "0.3.0" +author: Mike Wiebe (@mikewiebe) +description: +- Action plugin used to perform updates to run map for tracking previous run state. +options: + schema: + description: + - The path to the schema file. + required: false + type: str + mdata: + description: + - The path to the model data dir. + required: true + type: dict + rules: + description: + - The path to the rules dir. + required: false + type: str +""" + +EXAMPLES = """ + +# Used to perform updates to run map for tracking previous run state + +- name: Mark Stage Role Create Completed + cisco.nac_dc_vxlan.common.run_map: + stage: role_create_completed + register: run_map + +""" diff --git a/plugins/modules/dtc/diff_model_changes.py b/plugins/modules/dtc/diff_model_changes.py new file mode 100644 index 00000000..51fd9e2d --- /dev/null +++ b/plugins/modules/dtc/diff_model_changes.py @@ -0,0 +1,62 @@ +# Copyright (c) 2024 Cisco Systems, Inc. and its affiliates +# +# Permission is hereby granted, free of charge, to any person obtaining a copy of +# this software and associated documentation files (the "Software"), to deal in +# the Software without restriction, including without limitation the rights to +# use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +# the Software, and to permit persons to whom the Software is furnished to do so, +# subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in all +# copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +# FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +# COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +# IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +# +# SPDX-License-Identifier: MIT + +from __future__ import absolute_import, division, print_function +__metaclass__ = type + + +DOCUMENTATION = """ +--- +module: diff_model_changes +short_description: Action plugin used to diff the previous and current state data files. +version_added: "0.3.0" +author: Mike Wiebe (@mikewiebe) +description: +- Action plugin used to diff the previous and current state data files. +options: + schema: + description: + - The path to the schema file. + required: false + type: str + mdata: + description: + - The path to the model data dir. + required: true + type: dict + rules: + description: + - The path to the rules dir. + required: false + type: str +""" + +EXAMPLES = """ + +# Diffs the previous and current state data files + +- name: Diff Previous and Current Data Files + cisco.nac_dc_vxlan.dtc.diff_model_changes: + file_name_previous: "{{ role_path }}/files/{{ file_name }}.old" + file_name_current: "{{ role_path }}/files/{{ file_name }}" + register: file_diff_result + +""" diff --git a/plugins/modules/dtc/update_switch_hostname_policy.py b/plugins/modules/dtc/update_switch_hostname_policy.py new file mode 100644 index 00000000..f2e21279 --- /dev/null +++ b/plugins/modules/dtc/update_switch_hostname_policy.py @@ -0,0 +1,63 @@ +# Copyright (c) 2024 Cisco Systems, Inc. and its affiliates +# +# Permission is hereby granted, free of charge, to any person obtaining a copy of +# this software and associated documentation files (the "Software"), to deal in +# the Software without restriction, including without limitation the rights to +# use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +# the Software, and to permit persons to whom the Software is furnished to do so, +# subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in all +# copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +# FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +# COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +# IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +# +# SPDX-License-Identifier: MIT + +from __future__ import absolute_import, division, print_function +__metaclass__ = type + + +DOCUMENTATION = """ +--- +module: update_switch_hostname_policy +short_description: Action plugin to parse, build, and return an updated policy payload for updating NDFC switch hostnames based on the data model. +version_added: "0.3.0" +author: Matt Tarkington (@mtarking) +description: +- Action plugin to parse, build, and return an updated policy payload for updating NDFC switch hostnames based on the data model. +options: + mdata: + description: + - The runtime data model, typically the extended data model. + required: true + type: dict + switch_serial_numbers: + description: + - List of switch serial numbers NDFC is managing. + required: true + type: list + elements: str + template_name: + description: + - NDFC template name. + required: true + type: str +""" + +EXAMPLES = """ + +# Parses, builds, and returns an updated policy payload for updating NDFC switch hostnames based on the data model. + +- name: Build Switch Hostname Policy Payload from Data Model Update + cisco.nac_dc_vxlan.dtc.update_switch_hostname_policy: + model_data: "{{ MD_Extended }}" + switch_serial_numbers: "{{ md_serial_numbers }}" + template_name: host_11_1 + +""" diff --git a/plugins/modules/dtc/verify_tags.py b/plugins/modules/dtc/verify_tags.py new file mode 100644 index 00000000..9712dde2 --- /dev/null +++ b/plugins/modules/dtc/verify_tags.py @@ -0,0 +1,59 @@ +# Copyright (c) 2024 Cisco Systems, Inc. and its affiliates +# +# Permission is hereby granted, free of charge, to any person obtaining a copy of +# this software and associated documentation files (the "Software"), to deal in +# the Software without restriction, including without limitation the rights to +# use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +# the Software, and to permit persons to whom the Software is furnished to do so, +# subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in all +# copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +# FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +# COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +# IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +# +# SPDX-License-Identifier: MIT + +from __future__ import absolute_import, division, print_function +__metaclass__ = type + + +DOCUMENTATION = """ +--- +module: verify_tags +short_description: Action plugin to verify embedded collection tags. +version_added: "0.3.0" +author: Mike Wiebe (@mikewiebe) +description: +- Action plugin to verify embedded collection tags. +- Used a dependency within the overall collection. +options: + all_tags: + description: + - All the tags supported in the collection natively. + required: true + type: dict + play_tags: + description: + - List of current play tags. + required: true + type: list + elements: str +""" + +EXAMPLES = """ + +# Perform Required Syntax and Semantic Model Validation and Return the Model Data + +- name: Verify User Tags + cisco.nac_dc_vxlan.dtc.verify_tags: + all_tags: "{{ nac_tags.all }}" + play_tags: "{{ ansible_run_tags }}" + tags: "{{ ansible_run_tags }}" + +""" diff --git a/plugins/plugin_utils/.gitkeep b/plugins/plugin_utils/.gitkeep new file mode 100644 index 00000000..e69de29b diff --git a/plugins/action/helper_functions.py b/plugins/plugin_utils/helper_functions.py similarity index 100% rename from plugins/action/helper_functions.py rename to plugins/plugin_utils/helper_functions.py diff --git a/roles/validate/tasks/manage_model_files_previous.yml b/roles/validate/tasks/manage_model_files_previous.yml index 25fa16da..99b1ccf4 100644 --- a/roles/validate/tasks/manage_model_files_previous.yml +++ b/roles/validate/tasks/manage_model_files_previous.yml @@ -21,7 +21,7 @@ --- -- name: "Check Roles" +- name: Check Roles cisco.nac_dc_vxlan.common.check_roles: role_list: "{{ role_names }}" register: check_roles diff --git a/tests/sanity/ignore-2.14.txt b/tests/sanity/ignore-2.14.txt index 18784758..9720070e 100644 --- a/tests/sanity/ignore-2.14.txt +++ b/tests/sanity/ignore-2.14.txt @@ -1,28 +1,24 @@ -plugins/action/common/check_roles.py action-plugin-docs # action plugin has no matching module to provide documentation -plugins/action/common/nac_dc_validate.py action-plugin-docs # action plugin has no matching module to provide documentation -plugins/action/common/prepare_plugins/prep_001_list_defaults.py action-plugin-docs # action plugin has no matching module to provide documentation -plugins/action/common/prepare_plugins/prep_101_global.py action-plugin-docs # action plugin has no matching module to provide documentation -plugins/action/common/prepare_plugins/prep_103_topology_switches.py action-plugin-docs # action plugin has no matching module to provide documentation -plugins/action/common/prepare_plugins/prep_104_fabric_overlay_services.py action-plugin-docs # action plugin has no matching module to provide documentation -plugins/action/common/prepare_plugins/prep_105_topology_interfaces.py action-plugin-docs # action plugin has no matching module to provide documentation -plugins/action/common/prepare_plugins/prep_106_topology_vpc_interfaces.py action-plugin-docs # action plugin has no matching module to provide documentation -plugins/action/common/prepare_plugins/prep_107_policy.py action-plugin-docs # action plugin has no matching module to provide documentation -plugins/action/common/prepare_service_model.py action-plugin-docs # action plugin has no matching module to provide documentation -plugins/action/common/get_credentials.py action-plugin-docs # action plugin has no matching module to provide documentation -plugins/action/common/run_map.py action-plugin-docs # action plugin has no matching module to provide documentation -plugins/action/common/read_run_map.py action-plugin-docs # action plugin has no matching module to provide documentation +plugins/modules/common/nac_dc_validate.py validate-modules:missing-gplv3-license # ignore license check +plugins/modules/common/prepare_plugins/prep_001_list_defaults.py validate-modules:missing-gplv3-license # ignore license check +plugins/modules/common/prepare_plugins/prep_101_global.py validate-modules:missing-gplv3-license # ignore license check +plugins/modules/common/prepare_plugins/prep_103_topology_switches.py validate-modules:missing-gplv3-license # ignore license check +plugins/modules/common/prepare_plugins/prep_104_fabric_overlay_services.py validate-modules:missing-gplv3-license # ignore license check +plugins/modules/common/prepare_plugins/prep_105_topology_interfaces.py validate-modules:missing-gplv3-license # ignore license check +plugins/modules/common/prepare_plugins/prep_106_topology_vpc_interfaces.py validate-modules:missing-gplv3-license # ignore license check +plugins/modules/common/prepare_plugins/prep_107_policy.py validate-modules:missing-gplv3-license # ignore license check +plugins/modules/common/prepare_service_model.py validate-modules:missing-gplv3-license # ignore license check +plugins/modules/common/check_roles.py validate-modules:missing-gplv3-license # ignore license check +plugins/modules/common/get_credentials.py validate-modules:missing-gplv3-license # ignore license check +plugins/modules/common/run_map.py validate-modules:missing-gplv3-license # ignore license check +plugins/modules/common/read_run_map.py validate-modules:missing-gplv3-license # ignore license check +plugins/modules/dtc/verify_tags.py validate-modules:missing-gplv3-license # ignore license check +plugins/modules/dtc/diff_model_changes.py validate-modules:missing-gplv3-license # ignore license check +plugins/modules/dtc/update_switch_hostname_policy.py validate-modules:missing-gplv3-license # ignore license check plugins/action/common/merge_defaults.py action-plugin-docs # action plugin has no matching module to provide documentation plugins/action/dtc/add_device_check.py action-plugin-docs # action plugin has no matching module to provide documentation plugins/action/dtc/vpc_pair_check.py action-plugin-docs # action plugin has no matching module to provide documentation -plugins/action/dtc/verify_tags.py action-plugin-docs # action plugin has no matching module to provide documentation -plugins/action/dtc/diff_model_changes.py action-plugin-docs # action plugin has no matching module to provide documentation -plugins/action/dtc/update_switch_hostname_policy.py action-plugin-docs # action plugin has no matching module to provide documentation plugins/action/dtc/get_poap_data.py action-plugin-docs # action plugin has no matching module to provide documentation -plugins/action/dtd/prepare_service_model.py action-plugin-docs # action plugin has no matching module to provide documentation -plugins/action/test/inventory.py action-plugin-docs # action plugin has no matching module to provide documentation -plugins/action/helper_functions.py action-plugin-docs # action plugin has no matching module to provide documentation plugins/action/common/nac_dc_validate.py import-3.10!skip -plugins/action/test/inventory.py import-3.10!skip plugins/action/common/run_map.py import-3.10!skip plugins/action/common/read_run_map.py import-3.10!skip plugins/action/dtc/diff_model_changes.py import-3.10!skip diff --git a/tests/sanity/ignore-2.15.txt b/tests/sanity/ignore-2.15.txt index 18784758..9720070e 100644 --- a/tests/sanity/ignore-2.15.txt +++ b/tests/sanity/ignore-2.15.txt @@ -1,28 +1,24 @@ -plugins/action/common/check_roles.py action-plugin-docs # action plugin has no matching module to provide documentation -plugins/action/common/nac_dc_validate.py action-plugin-docs # action plugin has no matching module to provide documentation -plugins/action/common/prepare_plugins/prep_001_list_defaults.py action-plugin-docs # action plugin has no matching module to provide documentation -plugins/action/common/prepare_plugins/prep_101_global.py action-plugin-docs # action plugin has no matching module to provide documentation -plugins/action/common/prepare_plugins/prep_103_topology_switches.py action-plugin-docs # action plugin has no matching module to provide documentation -plugins/action/common/prepare_plugins/prep_104_fabric_overlay_services.py action-plugin-docs # action plugin has no matching module to provide documentation -plugins/action/common/prepare_plugins/prep_105_topology_interfaces.py action-plugin-docs # action plugin has no matching module to provide documentation -plugins/action/common/prepare_plugins/prep_106_topology_vpc_interfaces.py action-plugin-docs # action plugin has no matching module to provide documentation -plugins/action/common/prepare_plugins/prep_107_policy.py action-plugin-docs # action plugin has no matching module to provide documentation -plugins/action/common/prepare_service_model.py action-plugin-docs # action plugin has no matching module to provide documentation -plugins/action/common/get_credentials.py action-plugin-docs # action plugin has no matching module to provide documentation -plugins/action/common/run_map.py action-plugin-docs # action plugin has no matching module to provide documentation -plugins/action/common/read_run_map.py action-plugin-docs # action plugin has no matching module to provide documentation +plugins/modules/common/nac_dc_validate.py validate-modules:missing-gplv3-license # ignore license check +plugins/modules/common/prepare_plugins/prep_001_list_defaults.py validate-modules:missing-gplv3-license # ignore license check +plugins/modules/common/prepare_plugins/prep_101_global.py validate-modules:missing-gplv3-license # ignore license check +plugins/modules/common/prepare_plugins/prep_103_topology_switches.py validate-modules:missing-gplv3-license # ignore license check +plugins/modules/common/prepare_plugins/prep_104_fabric_overlay_services.py validate-modules:missing-gplv3-license # ignore license check +plugins/modules/common/prepare_plugins/prep_105_topology_interfaces.py validate-modules:missing-gplv3-license # ignore license check +plugins/modules/common/prepare_plugins/prep_106_topology_vpc_interfaces.py validate-modules:missing-gplv3-license # ignore license check +plugins/modules/common/prepare_plugins/prep_107_policy.py validate-modules:missing-gplv3-license # ignore license check +plugins/modules/common/prepare_service_model.py validate-modules:missing-gplv3-license # ignore license check +plugins/modules/common/check_roles.py validate-modules:missing-gplv3-license # ignore license check +plugins/modules/common/get_credentials.py validate-modules:missing-gplv3-license # ignore license check +plugins/modules/common/run_map.py validate-modules:missing-gplv3-license # ignore license check +plugins/modules/common/read_run_map.py validate-modules:missing-gplv3-license # ignore license check +plugins/modules/dtc/verify_tags.py validate-modules:missing-gplv3-license # ignore license check +plugins/modules/dtc/diff_model_changes.py validate-modules:missing-gplv3-license # ignore license check +plugins/modules/dtc/update_switch_hostname_policy.py validate-modules:missing-gplv3-license # ignore license check plugins/action/common/merge_defaults.py action-plugin-docs # action plugin has no matching module to provide documentation plugins/action/dtc/add_device_check.py action-plugin-docs # action plugin has no matching module to provide documentation plugins/action/dtc/vpc_pair_check.py action-plugin-docs # action plugin has no matching module to provide documentation -plugins/action/dtc/verify_tags.py action-plugin-docs # action plugin has no matching module to provide documentation -plugins/action/dtc/diff_model_changes.py action-plugin-docs # action plugin has no matching module to provide documentation -plugins/action/dtc/update_switch_hostname_policy.py action-plugin-docs # action plugin has no matching module to provide documentation plugins/action/dtc/get_poap_data.py action-plugin-docs # action plugin has no matching module to provide documentation -plugins/action/dtd/prepare_service_model.py action-plugin-docs # action plugin has no matching module to provide documentation -plugins/action/test/inventory.py action-plugin-docs # action plugin has no matching module to provide documentation -plugins/action/helper_functions.py action-plugin-docs # action plugin has no matching module to provide documentation plugins/action/common/nac_dc_validate.py import-3.10!skip -plugins/action/test/inventory.py import-3.10!skip plugins/action/common/run_map.py import-3.10!skip plugins/action/common/read_run_map.py import-3.10!skip plugins/action/dtc/diff_model_changes.py import-3.10!skip diff --git a/tests/sanity/ignore-2.16.txt b/tests/sanity/ignore-2.16.txt index 18784758..9720070e 100644 --- a/tests/sanity/ignore-2.16.txt +++ b/tests/sanity/ignore-2.16.txt @@ -1,28 +1,24 @@ -plugins/action/common/check_roles.py action-plugin-docs # action plugin has no matching module to provide documentation -plugins/action/common/nac_dc_validate.py action-plugin-docs # action plugin has no matching module to provide documentation -plugins/action/common/prepare_plugins/prep_001_list_defaults.py action-plugin-docs # action plugin has no matching module to provide documentation -plugins/action/common/prepare_plugins/prep_101_global.py action-plugin-docs # action plugin has no matching module to provide documentation -plugins/action/common/prepare_plugins/prep_103_topology_switches.py action-plugin-docs # action plugin has no matching module to provide documentation -plugins/action/common/prepare_plugins/prep_104_fabric_overlay_services.py action-plugin-docs # action plugin has no matching module to provide documentation -plugins/action/common/prepare_plugins/prep_105_topology_interfaces.py action-plugin-docs # action plugin has no matching module to provide documentation -plugins/action/common/prepare_plugins/prep_106_topology_vpc_interfaces.py action-plugin-docs # action plugin has no matching module to provide documentation -plugins/action/common/prepare_plugins/prep_107_policy.py action-plugin-docs # action plugin has no matching module to provide documentation -plugins/action/common/prepare_service_model.py action-plugin-docs # action plugin has no matching module to provide documentation -plugins/action/common/get_credentials.py action-plugin-docs # action plugin has no matching module to provide documentation -plugins/action/common/run_map.py action-plugin-docs # action plugin has no matching module to provide documentation -plugins/action/common/read_run_map.py action-plugin-docs # action plugin has no matching module to provide documentation +plugins/modules/common/nac_dc_validate.py validate-modules:missing-gplv3-license # ignore license check +plugins/modules/common/prepare_plugins/prep_001_list_defaults.py validate-modules:missing-gplv3-license # ignore license check +plugins/modules/common/prepare_plugins/prep_101_global.py validate-modules:missing-gplv3-license # ignore license check +plugins/modules/common/prepare_plugins/prep_103_topology_switches.py validate-modules:missing-gplv3-license # ignore license check +plugins/modules/common/prepare_plugins/prep_104_fabric_overlay_services.py validate-modules:missing-gplv3-license # ignore license check +plugins/modules/common/prepare_plugins/prep_105_topology_interfaces.py validate-modules:missing-gplv3-license # ignore license check +plugins/modules/common/prepare_plugins/prep_106_topology_vpc_interfaces.py validate-modules:missing-gplv3-license # ignore license check +plugins/modules/common/prepare_plugins/prep_107_policy.py validate-modules:missing-gplv3-license # ignore license check +plugins/modules/common/prepare_service_model.py validate-modules:missing-gplv3-license # ignore license check +plugins/modules/common/check_roles.py validate-modules:missing-gplv3-license # ignore license check +plugins/modules/common/get_credentials.py validate-modules:missing-gplv3-license # ignore license check +plugins/modules/common/run_map.py validate-modules:missing-gplv3-license # ignore license check +plugins/modules/common/read_run_map.py validate-modules:missing-gplv3-license # ignore license check +plugins/modules/dtc/verify_tags.py validate-modules:missing-gplv3-license # ignore license check +plugins/modules/dtc/diff_model_changes.py validate-modules:missing-gplv3-license # ignore license check +plugins/modules/dtc/update_switch_hostname_policy.py validate-modules:missing-gplv3-license # ignore license check plugins/action/common/merge_defaults.py action-plugin-docs # action plugin has no matching module to provide documentation plugins/action/dtc/add_device_check.py action-plugin-docs # action plugin has no matching module to provide documentation plugins/action/dtc/vpc_pair_check.py action-plugin-docs # action plugin has no matching module to provide documentation -plugins/action/dtc/verify_tags.py action-plugin-docs # action plugin has no matching module to provide documentation -plugins/action/dtc/diff_model_changes.py action-plugin-docs # action plugin has no matching module to provide documentation -plugins/action/dtc/update_switch_hostname_policy.py action-plugin-docs # action plugin has no matching module to provide documentation plugins/action/dtc/get_poap_data.py action-plugin-docs # action plugin has no matching module to provide documentation -plugins/action/dtd/prepare_service_model.py action-plugin-docs # action plugin has no matching module to provide documentation -plugins/action/test/inventory.py action-plugin-docs # action plugin has no matching module to provide documentation -plugins/action/helper_functions.py action-plugin-docs # action plugin has no matching module to provide documentation plugins/action/common/nac_dc_validate.py import-3.10!skip -plugins/action/test/inventory.py import-3.10!skip plugins/action/common/run_map.py import-3.10!skip plugins/action/common/read_run_map.py import-3.10!skip plugins/action/dtc/diff_model_changes.py import-3.10!skip