31 lines
1.1 KiB
Python
31 lines
1.1 KiB
Python
|
# -*- coding: utf-8 -*-
|
||
|
#
|
||
|
# Copyright: (c) 2020, Felix Fontein <felix@fontein.de>
|
||
|
# 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
|
||
|
|
||
|
|
||
|
from ansible.module_utils.basic import AnsibleModule
|
||
|
|
||
|
|
||
|
class ArgumentSpec:
|
||
|
def __init__(self, argument_spec, mutually_exclusive=None, required_together=None, required_one_of=None, required_if=None, required_by=None):
|
||
|
self.argument_spec = argument_spec
|
||
|
self.mutually_exclusive = mutually_exclusive or []
|
||
|
self.required_together = required_together or []
|
||
|
self.required_one_of = required_one_of or []
|
||
|
self.required_if = required_if or []
|
||
|
self.required_by = required_by or {}
|
||
|
|
||
|
def create_ansible_module(self, **kwargs):
|
||
|
return AnsibleModule(
|
||
|
argument_spec=self.argument_spec,
|
||
|
mutually_exclusive=self.mutually_exclusive,
|
||
|
required_together=self.required_together,
|
||
|
required_one_of=self.required_one_of,
|
||
|
required_if=self.required_if,
|
||
|
required_by=self.required_by,
|
||
|
**kwargs)
|