diff options
Diffstat (limited to 'lib/ansible/modules/network/skydive/skydive_capture.py')
-rw-r--r-- | lib/ansible/modules/network/skydive/skydive_capture.py | 180 |
1 files changed, 0 insertions, 180 deletions
diff --git a/lib/ansible/modules/network/skydive/skydive_capture.py b/lib/ansible/modules/network/skydive/skydive_capture.py deleted file mode 100644 index 2e6a2a2f01..0000000000 --- a/lib/ansible/modules/network/skydive/skydive_capture.py +++ /dev/null @@ -1,180 +0,0 @@ -#!/usr/bin/python -# -*- coding: utf-8 -*- - -# (c) 2019, Ansible by Red Hat, inc -# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt) - -from __future__ import absolute_import, division, print_function -__metaclass__ = type - - -ANSIBLE_METADATA = {'metadata_version': '1.1', - 'status': ['preview'], - 'supported_by': 'network'} - -DOCUMENTATION = """ ---- -module: skydive_capture -version_added: "2.8" -author: - - "Sumit Jaiswal (@sjaiswal)" -short_description: Module which manages flow capture on interfaces -description: - - This module manages flow capture on interfaces. The Gremlin - expression is continuously evaluated which means that it is - possible to define a capture on nodes that do not exist yet. - - It is useful when you want to start a capture on all OpenvSwitch - whatever the number of Skydive agents you will start. - - While starting the capture, user can specify the capture name, - capture description and capture type optionally. -requirements: - - skydive-client -extends_documentation_fragment: skydive -options: - query: - description: - - It's the complete gremlin query which the users can input, - I(G.V().Has('Name', 'eth0', 'Type', 'device')), to create - the capture. And, if the user directly inputs the gremlin - query then user is not required to input any other module - parameter as gremlin query takes care of creating the flow - capture. - required: false - interface_name: - description: - - To define flow capture interface name. - required: false - type: - description: - - To define flow capture interface type. - required: false - capture_name: - description: - - To define flow capture name. - required: false - default: "" - description: - description: - - Configures a text string to be associated with the instance - of this object. - default: "" - extra_tcp_metric: - description: - - To define flow capture ExtraTCPMetric. - type: bool - default: false - ip_defrag: - description: - - To define flow capture IPDefrag. - type: bool - default: false - reassemble_tcp: - description: - - To define flow capture ReassembleTCP. - type: bool - default: false - layer_key_mode: - description: - - To define flow capture Layer KeyMode. - type: str - default: L2 - state: - description: - - State of the flow capture. If value is I(present) flow capture - will be created else if it is I(absent) it will be deleted. - default: present - choices: - - present - - absent -""" - -EXAMPLES = """ -- name: start a new flow capture directly from gremlin query - skydive_capture: - query: G.V().Has('Name', 'eth0', 'Type', 'device') - state: present - provider: - endpoint: localhost:8082 - username: admin - password: admin - -- name: stop the flow capture directly from gremlin query - skydive_capture: - query: G.V().Has('Name', 'eth0', 'Type', 'device') - state: absent - provider: - endpoint: localhost:8082 - username: admin - password: admin - -- name: start a new flow capture from user's input - skydive_capture: - interface_name: Node1 - type: myhost - capture_name: test_capture - description: test description - extra_tcp_metric: true - ip_defrag: true - reassemble_tcp: true - state: present - provider: - endpoint: localhost:8082 - username: admin - password: admin - -- name: stop the flow capture - skydive_capture: - interface_name: Node1 - type: myhost - capture_name: test_capture - description: test description - extra_tcp_metric: true - ip_defrag: true - reassemble_tcp: true - state: absent - provider: - endpoint: localhost:8082 - username: admin - password: admin -""" - -RETURN = """ # """ - -from ansible.module_utils.basic import AnsibleModule -from ansible.module_utils.network.skydive.api import skydive_flow_capture - - -def main(): - ''' Main entry point for module execution - ''' - ib_spec = dict( - query=dict(required=False, ib_req=True), - interface_name=dict(required=False, ib_req=True), - type=dict(required=False, ib_req=True), - capture_name=dict(required=False, default='', ib_req=True), - description=dict(default='', ib_req=True), - extra_tcp_metric=dict(type='bool', required=False, ib_req=True, default=False), - ip_defrag=dict(type='bool', required=False, ib_req=True, default=False), - reassemble_tcp=dict(type='bool', required=False, ib_req=True, default=False), - layer_key_mode=dict(required=False, ib_req=True, default='L2') - ) - - argument_spec = dict( - provider=dict(required=False), - state=dict(default='present', choices=['present', 'absent']) - ) - - argument_spec.update(ib_spec) - argument_spec.update(skydive_flow_capture.provider_spec) - - module = AnsibleModule(argument_spec=argument_spec, - supports_check_mode=True) - - skydive_obj = skydive_flow_capture(module) - result = skydive_obj.run(ib_spec) - - module.exit_json(**result) - - -if __name__ == '__main__': - main() |