404

[ Avaa Bypassed ]




Upload:

Command:

botdev@18.222.156.75: ~ $
"""
Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
SPDX-License-Identifier: MIT-0
"""
from cfnlint.rules import CloudFormationLintRule, RuleMatch


class ImportValue(CloudFormationLintRule):
    """Check if a Output is done of another output"""

    id = "W6001"
    shortdesc = "Check Outputs using ImportValue"
    description = "Check if the Output value is set using ImportValue, so creating an Output of an Output"
    source_url = "https://github.com/aws-cloudformation/cfn-python-lint"
    tags = ["outputs", "importvalue"]

    def match(self, cfn):
        matches = []

        # Get all import values
        importvalue_trees = cfn.search_deep_keys("Fn::ImportValue")

        # Filter out the Outputs
        importvalue_trees = [x for x in importvalue_trees if x[0] == "Outputs"]

        # Check if the importvalue is set on the Value
        for importvalue_tree in importvalue_trees:
            # Skip invalid configuration, let other rules handle that
            if len(importvalue_tree) < 4:
                continue

            if importvalue_tree[2] == "Value":
                # ImportValue can be used within other intrinic function, exclude those
                if importvalue_tree[3] == "Fn::ImportValue":
                    message = "The value of output ({0}) is imported from another output ({1})"
                    matches.append(
                        RuleMatch(
                            importvalue_tree,
                            message.format(importvalue_tree[1], importvalue_tree[-1]),
                        )
                    )

        return matches

Filemanager

Name Type Size Permission Actions
__pycache__ Folder 0755
ApproachingLimitDescription.py File 1.5 KB 0644
ApproachingLimitName.py File 692 B 0644
ApproachingLimitNumber.py File 680 B 0644
Configuration.py File 5.19 KB 0644
Description.py File 1.1 KB 0644
ImportValue.py File 1.59 KB 0644
LimitDescription.py File 1.43 KB 0644
LimitName.py File 694 B 0644
LimitNumber.py File 682 B 0644
Name.py File 638 B 0644
Required.py File 1.16 KB 0644
Value.py File 3.14 KB 0644
__init__.py File 106 B 0644