"""
Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
SPDX-License-Identifier: MIT-0
"""
from cfnlint.rules.resources.properties.BasedOnValue import BasedOnValue


class UnwantedBasedOnValue(BasedOnValue):
    """Check Unwanted Properties are supplied when another property has a certain value"""

    id = 'E3018'
    shortdesc = 'Property is unwanted based on another properties value'
    description = (
        'When certain properties have a certain value it results in other properties not being needed. '
        'This rule will validate those unwanted properties are not specified when those values are supplied'
    )
    tags = ['resources']
    spec_type = 'UnwantedProperties'
    message = 'should not be specified'

    def _check_prop(self, prop, scenario):
        return prop in scenario.get('Object')
