#
# -*- coding: utf-8 -*-
# Copyright 2025 Dell Inc. or its subsidiaries. All Rights Reserved.
# GNU General Public License v3.0+
# (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)

"""
The arg spec for the sonic_qos_wred module
"""
from __future__ import (absolute_import, division, print_function)
__metaclass__ = type


class Qos_wredArgs(object):  # pylint: disable=R0903
    """The arg spec for the sonic_qos_wred module
    """

    def __init__(self, **kwargs):
        pass

    argument_spec = {
        'config': {
            'elements': 'dict',
            'options': {
                'ecn': {'choices': ['all', 'none'], 'type': 'str'},
                'green': {
                    'options': {
                        'drop_probability': {'type': 'int'},
                        'enable': {'type': 'bool'},
                        'max_threshold': {'type': 'int'},
                        'min_threshold': {'type': 'int'}
                    },
                    'type': 'dict'
                },
                'red':
                {
                    'options': {
                        'drop_probability': {'type': 'int'},
                        'enable': {'type': 'bool'},
                        'max_threshold': {'type': 'int'},
                        'min_threshold': {'type': 'int'}
                    },
                    'type': 'dict'
                },
                'yellow':
                {
                    'options': {
                        'drop_probability': {'type': 'int'},
                        'enable': {'type': 'bool'},
                        'max_threshold': {'type': 'int'},
                        'min_threshold': {'type': 'int'}
                    },
                    'type': 'dict'

                },
                'name': {'required': True, 'type': 'str'}
            },
            'type': 'list'
        },
        'state': {'choices': ['merged', 'deleted', 'overridden', 'replaced'], 'default': 'merged', 'type': 'str'}
    }  # pylint: disable=C0301
