collection_opnsense icon indicating copy to clipboard operation
collection_opnsense copied to clipboard

Feature: Multi-Modules - Refactor Item-Validation

Open ansibleguy opened this issue 1 year ago • 0 comments

Link to API

Description

I came across some module-code that implements Ansible parameter-validation for items inside a dict

Example:

            extended_query=dict(type='dict', options=dict(
                attributes=dict(type='list', elements='str', required=True),
                where=dict(
                    type='list',
                    elements='dict',
                    options={
                        'attribute': dict(type='str'),
                        'is': dict(type='str', choices=["==", "!=", ">", "<", "in", "eq", "not", "more", "less"]),
                        'value': dict(type='raw'),
                        'or': dict(type='list', elements='dict', options={
                            'attribute': dict(type='str', required=True),
                            'is': dict(type='str', choices=["==", "!=", ">", "<", "in", "eq", "not", "more", "less"], required=True),
                            'value': dict(type='raw', required=True),
                        }),
                    },
                    required_together=[('attribute', 'is', 'value')],
                    mutually_exclusive=[('attribute', 'or')],
                    required_one_of=[('attribute', 'or')],
                ),
            )),

This could make the validation in multi modules simpler and therefor cleaner.

ansibleguy avatar Dec 20 '23 10:12 ansibleguy