[
    {
        "Filename": "test/fixtures/templates/quickstart/openshift.yaml",
        "Id": "f848f5cf-aae6-2c53-4ab1-7656294b2a7f",
        "Level": "Warning",
        "Location": {
            "End": {
                "ColumnNumber": 18,
                "LineNumber": 25
            },
            "Path": [
                "Mappings",
                "LinuxAMINameMap"
            ],
            "Start": {
                "ColumnNumber": 3,
                "LineNumber": 25
            }
        },
        "Message": "Mapping 'LinuxAMINameMap' is defined but not used",
        "ParentId": null,
        "Rule": {
            "Description": "Making sure the mappings defined are used",
            "Id": "W7001",
            "ShortDescription": "Check if Mappings are Used",
            "Source": "https://github.com/aws-cloudformation/cfn-lint"
        }
    },
    {
        "Filename": "test/fixtures/templates/quickstart/openshift.yaml",
        "Id": "51e323f7-f384-7b52-003d-02f606efb514",
        "Level": "Informational",
        "Location": {
            "End": {
                "ColumnNumber": 11,
                "LineNumber": 127
            },
            "Path": [
                "Outputs",
                "ContainerAccessELBName",
                "Value",
                "Fn::Join",
                0
            ],
            "Start": {
                "ColumnNumber": 9,
                "LineNumber": 127
            }
        },
        "Message": "Prefer using Fn::Sub over Fn::Join with an empty delimiter",
        "ParentId": null,
        "Rule": {
            "Description": "Prefer a sub instead of Join when using a join delimiter that is empty",
            "Id": "I1022",
            "ShortDescription": "Use Sub instead of Join",
            "Source": "https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-sub.html"
        }
    },
    {
        "Filename": "test/fixtures/templates/quickstart/openshift.yaml",
        "Id": "a6213862-0a65-08ad-d069-66683702697a",
        "Level": "Informational",
        "Location": {
            "End": {
                "ColumnNumber": 11,
                "LineNumber": 136
            },
            "Path": [
                "Outputs",
                "OpenShiftUI",
                "Value",
                "Fn::Join",
                0
            ],
            "Start": {
                "ColumnNumber": 9,
                "LineNumber": 136
            }
        },
        "Message": "Prefer using Fn::Sub over Fn::Join with an empty delimiter",
        "ParentId": null,
        "Rule": {
            "Description": "Prefer a sub instead of Join when using a join delimiter that is empty",
            "Id": "I1022",
            "ShortDescription": "Use Sub instead of Join",
            "Source": "https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-sub.html"
        }
    },
    {
        "Filename": "test/fixtures/templates/quickstart/openshift.yaml",
        "Id": "b9063806-f50b-1d67-594c-2766a605e9c9",
        "Level": "Warning",
        "Location": {
            "End": {
                "ColumnNumber": 14,
                "LineNumber": 283
            },
            "Path": [
                "Resources",
                "AnsibleConfigServer",
                "DependsOn"
            ],
            "Start": {
                "ColumnNumber": 5,
                "LineNumber": 283
            }
        },
        "Message": "'OpenShiftNodeASG' dependency already enforced by a 'Ref' at 'Resources/AnsibleConfigServer/Properties/UserData/Fn::Base64/Fn::Join/1/43'",
        "ParentId": null,
        "Rule": {
            "Description": "Check if DependsOn is specified if not needed. A Ref or a Fn::GetAtt already is an implicit dependency.",
            "Id": "W3005",
            "ShortDescription": "Check obsolete DependsOn configuration for Resources",
            "Source": "https://aws.amazon.com/blogs/devops/optimize-aws-cloudformation-templates/"
        }
    },
    {
        "Filename": "test/fixtures/templates/quickstart/openshift.yaml",
        "Id": "be900e18-b0bb-4532-6771-a8e75af8f49c",
        "Level": "Warning",
        "Location": {
            "End": {
                "ColumnNumber": 14,
                "LineNumber": 283
            },
            "Path": [
                "Resources",
                "AnsibleConfigServer",
                "DependsOn"
            ],
            "Start": {
                "ColumnNumber": 5,
                "LineNumber": 283
            }
        },
        "Message": "'OpenShiftNodeASG' dependency already enforced by a 'Ref' at 'Resources/AnsibleConfigServer/Properties/UserData/Fn::Base64/Fn::Join/1/88'",
        "ParentId": null,
        "Rule": {
            "Description": "Check if DependsOn is specified if not needed. A Ref or a Fn::GetAtt already is an implicit dependency.",
            "Id": "W3005",
            "ShortDescription": "Check obsolete DependsOn configuration for Resources",
            "Source": "https://aws.amazon.com/blogs/devops/optimize-aws-cloudformation-templates/"
        }
    },
    {
        "Filename": "test/fixtures/templates/quickstart/openshift.yaml",
        "Id": "7b0a770a-4100-2f5e-2b9d-1a8a9d886385",
        "Level": "Informational",
        "Location": {
            "End": {
                "ColumnNumber": 21,
                "LineNumber": 305
            },
            "Path": [
                "Resources",
                "AnsibleConfigServer",
                "Metadata",
                "AWS::CloudFormation::Init",
                "GetPublicKey",
                "files",
                "/root/.ssh/public.key",
                "content",
                "Fn::Join",
                0
            ],
            "Start": {
                "ColumnNumber": 19,
                "LineNumber": 305
            }
        },
        "Message": "Prefer using Fn::Sub over Fn::Join with an empty delimiter",
        "ParentId": null,
        "Rule": {
            "Description": "Prefer a sub instead of Join when using a join delimiter that is empty",
            "Id": "I1022",
            "ShortDescription": "Use Sub instead of Join",
            "Source": "https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-sub.html"
        }
    },
    {
        "Filename": "test/fixtures/templates/quickstart/openshift.yaml",
        "Id": "2cc71f2b-549e-a27a-b542-76d7d2559578",
        "Level": "Informational",
        "Location": {
            "End": {
                "ColumnNumber": 21,
                "LineNumber": 328
            },
            "Path": [
                "Resources",
                "AnsibleConfigServer",
                "Metadata",
                "AWS::CloudFormation::Init",
                "SetPrivateKey",
                "files",
                "/root/.ssh/id_rsa",
                "content",
                "Fn::Join",
                0
            ],
            "Start": {
                "ColumnNumber": 19,
                "LineNumber": 328
            }
        },
        "Message": "Prefer using Fn::Sub over Fn::Join with an empty delimiter",
        "ParentId": null,
        "Rule": {
            "Description": "Prefer a sub instead of Join when using a join delimiter that is empty",
            "Id": "I1022",
            "ShortDescription": "Use Sub instead of Join",
            "Source": "https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-sub.html"
        }
    },
    {
        "Filename": "test/fixtures/templates/quickstart/openshift.yaml",
        "Id": "940c6980-7d0b-256c-f8fd-b3f84d739e6e",
        "Level": "Error",
        "Location": {
            "End": {
                "ColumnNumber": 33,
                "LineNumber": 365
            },
            "Path": [
                "Resources",
                "AnsibleConfigServer",
                "Properties",
                "NetworkInterfaces",
                0,
                "AssociatePublicIpAddress"
            ],
            "Start": {
                "ColumnNumber": 9,
                "LineNumber": 365
            }
        },
        "Message": "'true' is not of type 'boolean'",
        "ParentId": null,
        "Rule": {
            "Description": "Checks resource property values with Primitive Types for values that match those types.",
            "Id": "E3012",
            "ShortDescription": "Check resource properties values",
            "Source": "https://github.com/aws-cloudformation/cfn-lint/blob/main/docs/cfn-schema-specification.md#type"
        }
    },
    {
        "Filename": "test/fixtures/templates/quickstart/openshift.yaml",
        "Id": "f4a3f95d-bb67-4441-5df4-a81e65a9431d",
        "Level": "Error",
        "Location": {
            "End": {
                "ColumnNumber": 28,
                "LineNumber": 366
            },
            "Path": [
                "Resources",
                "AnsibleConfigServer",
                "Properties",
                "NetworkInterfaces",
                0,
                "DeleteOnTermination"
            ],
            "Start": {
                "ColumnNumber": 9,
                "LineNumber": 366
            }
        },
        "Message": "'true' is not of type 'boolean'",
        "ParentId": null,
        "Rule": {
            "Description": "Checks resource property values with Primitive Types for values that match those types.",
            "Id": "E3012",
            "ShortDescription": "Check resource properties values",
            "Source": "https://github.com/aws-cloudformation/cfn-lint/blob/main/docs/cfn-schema-specification.md#type"
        }
    },
    {
        "Filename": "test/fixtures/templates/quickstart/openshift.yaml",
        "Id": "e2efc534-f42f-b4f8-326b-d6fdc1af6762",
        "Level": "Warning",
        "Location": {
            "End": {
                "ColumnNumber": 13,
                "LineNumber": 775
            },
            "Path": [
                "Resources",
                "GetRSA",
                "DependsOn",
                0
            ],
            "Start": {
                "ColumnNumber": 7,
                "LineNumber": 775
            }
        },
        "Message": "'KeyGen' dependency already enforced by a 'GetAtt' at 'Resources/GetRSA/Properties/ServiceToken'",
        "ParentId": null,
        "Rule": {
            "Description": "Check if DependsOn is specified if not needed. A Ref or a Fn::GetAtt already is an implicit dependency.",
            "Id": "W3005",
            "ShortDescription": "Check obsolete DependsOn configuration for Resources",
            "Source": "https://aws.amazon.com/blogs/devops/optimize-aws-cloudformation-templates/"
        }
    },
    {
        "Filename": "test/fixtures/templates/quickstart/openshift.yaml",
        "Id": "4d08be7f-87eb-7a95-c47e-db51a14f7c1e",
        "Level": "Informational",
        "Location": {
            "End": {
                "ColumnNumber": 15,
                "LineNumber": 781
            },
            "Path": [
                "Resources",
                "GetRSA",
                "Properties",
                "ResourceProperties",
                "RequestId",
                "Fn::Join",
                0
            ],
            "Start": {
                "ColumnNumber": 13,
                "LineNumber": 781
            }
        },
        "Message": "Prefer using Fn::Sub over Fn::Join with an empty delimiter",
        "ParentId": null,
        "Rule": {
            "Description": "Prefer a sub instead of Join when using a join delimiter that is empty",
            "Id": "I1022",
            "ShortDescription": "Use Sub instead of Join",
            "Source": "https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-sub.html"
        }
    },
    {
        "Filename": "test/fixtures/templates/quickstart/openshift.yaml",
        "Id": "f77be627-51a5-5c13-2173-95647f45d22a",
        "Level": "Informational",
        "Location": {
            "End": {
                "ColumnNumber": 13,
                "LineNumber": 787
            },
            "Path": [
                "Resources",
                "GetRSA",
                "Properties",
                "ResponseURL",
                "Fn::Join",
                0
            ],
            "Start": {
                "ColumnNumber": 11,
                "LineNumber": 787
            }
        },
        "Message": "Prefer using Fn::Sub over Fn::Join with an empty delimiter",
        "ParentId": null,
        "Rule": {
            "Description": "Prefer a sub instead of Join when using a join delimiter that is empty",
            "Id": "I1022",
            "ShortDescription": "Use Sub instead of Join",
            "Source": "https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-sub.html"
        }
    },
    {
        "Filename": "test/fixtures/templates/quickstart/openshift.yaml",
        "Id": "93eee50b-4524-efef-9d81-b9918acca9d8",
        "Level": "Warning",
        "Location": {
            "End": {
                "ColumnNumber": 18,
                "LineNumber": 804
            },
            "Path": [
                "Resources",
                "KeyGen",
                "Properties",
                "Code",
                "S3Key",
                "Fn::Sub"
            ],
            "Start": {
                "ColumnNumber": 11,
                "LineNumber": 804
            }
        },
        "Message": "'Fn::Sub' isn't needed because there are no variables",
        "ParentId": null,
        "Rule": {
            "Description": "Checks sub strings to see if a variable is defined.",
            "Id": "W1020",
            "ShortDescription": "Sub isn't needed if it doesn't have a variable defined",
            "Source": "https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-sub.html"
        }
    },
    {
        "Filename": "test/fixtures/templates/quickstart/openshift.yaml",
        "Id": "b6b57550-26a1-c7a4-a747-53df118e2340",
        "Level": "Warning",
        "Location": {
            "End": {
                "ColumnNumber": 14,
                "LineNumber": 810
            },
            "Path": [
                "Resources",
                "KeyGen",
                "Properties",
                "Runtime"
            ],
            "Start": {
                "ColumnNumber": 7,
                "LineNumber": 810
            }
        },
        "Message": "Runtime 'python3.8' was deprecated on '2024-10-14'. Creation was disabled on '2026-06-01' and update on '2026-07-01'. Please consider updating to 'python3.14'",
        "ParentId": null,
        "Rule": {
            "Description": "Check if an EOL Lambda Runtime is specified and give a warning if used. ",
            "Id": "W2531",
            "ShortDescription": "Check if EOL Lambda Function Runtimes are used",
            "Source": "https://docs.aws.amazon.com/lambda/latest/dg/runtime-support-policy.html"
        }
    },
    {
        "Filename": "test/fixtures/templates/quickstart/openshift.yaml",
        "Id": "29d5850e-174a-7151-9ccc-6c6b0c2f3ca5",
        "Level": "Error",
        "Location": {
            "End": {
                "ColumnNumber": 14,
                "LineNumber": 811
            },
            "Path": [
                "Resources",
                "KeyGen",
                "Properties",
                "Timeout"
            ],
            "Start": {
                "ColumnNumber": 7,
                "LineNumber": 811
            }
        },
        "Message": "'5' is not of type 'integer'",
        "ParentId": null,
        "Rule": {
            "Description": "Checks resource property values with Primitive Types for values that match those types.",
            "Id": "E3012",
            "ShortDescription": "Check resource properties values",
            "Source": "https://github.com/aws-cloudformation/cfn-lint/blob/main/docs/cfn-schema-specification.md#type"
        }
    },
    {
        "Filename": "test/fixtures/templates/quickstart/openshift.yaml",
        "Id": "7fd530ea-7a8f-2301-2772-26cc6fa68133",
        "Level": "Error",
        "Location": {
            "End": {
                "ColumnNumber": 26,
                "LineNumber": 853
            },
            "Path": [
                "Resources",
                "OpenShiftEtcdASG",
                "Properties",
                "Tags",
                0,
                "PropagateAtLaunch"
            ],
            "Start": {
                "ColumnNumber": 9,
                "LineNumber": 853
            }
        },
        "Message": "'true' is not of type 'boolean'",
        "ParentId": null,
        "Rule": {
            "Description": "Checks resource property values with Primitive Types for values that match those types.",
            "Id": "E3012",
            "ShortDescription": "Check resource properties values",
            "Source": "https://github.com/aws-cloudformation/cfn-lint/blob/main/docs/cfn-schema-specification.md#type"
        }
    },
    {
        "Filename": "test/fixtures/templates/quickstart/openshift.yaml",
        "Id": "35caed79-00ff-24f3-3165-b4842378e0a3",
        "Level": "Informational",
        "Location": {
            "End": {
                "ColumnNumber": 21,
                "LineNumber": 873
            },
            "Path": [
                "Resources",
                "OpenShiftEtcdLaunchConfig",
                "Metadata",
                "AWS::CloudFormation::Init",
                "GetPublicKey",
                "files",
                "/root/.ssh/public.key",
                "content",
                "Fn::Join",
                0
            ],
            "Start": {
                "ColumnNumber": 19,
                "LineNumber": 873
            }
        },
        "Message": "Prefer using Fn::Sub over Fn::Join with an empty delimiter",
        "ParentId": null,
        "Rule": {
            "Description": "Prefer a sub instead of Join when using a join delimiter that is empty",
            "Id": "I1022",
            "ShortDescription": "Use Sub instead of Join",
            "Source": "https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-sub.html"
        }
    },
    {
        "Filename": "test/fixtures/templates/quickstart/openshift.yaml",
        "Id": "de642f52-09c1-9a88-f71d-782ab2dfc35c",
        "Level": "Warning",
        "Location": {
            "End": {
                "ColumnNumber": 15,
                "LineNumber": 901
            },
            "Path": [
                "Resources",
                "OpenShiftEtcdLaunchConfig",
                "Properties"
            ],
            "Start": {
                "ColumnNumber": 5,
                "LineNumber": 901
            }
        },
        "Message": "Resource type 'AWS::AutoScaling::LaunchConfiguration' is from a service in maintenance mode since 2024-10-01. Consider migrating to an alternative",
        "ParentId": null,
        "Rule": {
            "Description": "Checks if a resource type belongs to an AWS service that is in maintenance mode with no new features",
            "Id": "W3697",
            "ShortDescription": "Resource type is from a service in maintenance mode",
            "Source": "https://docs.aws.amazon.com/general/latest/gr/maintenance_services.html"
        }
    },
    {
        "Filename": "test/fixtures/templates/quickstart/openshift.yaml",
        "Id": "c1d4513a-95e9-6329-bd10-d56b3fbaf78e",
        "Level": "Error",
        "Location": {
            "End": {
                "ColumnNumber": 21,
                "LineNumber": 905
            },
            "Path": [
                "Resources",
                "OpenShiftEtcdLaunchConfig",
                "Properties",
                "BlockDeviceMappings",
                0,
                "Ebs",
                "VolumeSize"
            ],
            "Start": {
                "ColumnNumber": 11,
                "LineNumber": 905
            }
        },
        "Message": "'80' is not of type 'integer'",
        "ParentId": null,
        "Rule": {
            "Description": "Checks resource property values with Primitive Types for values that match those types.",
            "Id": "E3012",
            "ShortDescription": "Check resource properties values",
            "Source": "https://github.com/aws-cloudformation/cfn-lint/blob/main/docs/cfn-schema-specification.md#type"
        }
    },
    {
        "Filename": "test/fixtures/templates/quickstart/openshift.yaml",
        "Id": "c232d5c1-cca7-c505-8464-98945bdfb832",
        "Level": "Error",
        "Location": {
            "End": {
                "ColumnNumber": 25,
                "LineNumber": 913
            },
            "Path": [
                "Resources",
                "OpenShiftEtcdLaunchConfig",
                "Properties",
                "InstanceMonitoring"
            ],
            "Start": {
                "ColumnNumber": 7,
                "LineNumber": 913
            }
        },
        "Message": "'true' is not of type 'boolean'",
        "ParentId": null,
        "Rule": {
            "Description": "Checks resource property values with Primitive Types for values that match those types.",
            "Id": "E3012",
            "ShortDescription": "Check resource properties values",
            "Source": "https://github.com/aws-cloudformation/cfn-lint/blob/main/docs/cfn-schema-specification.md#type"
        }
    },
    {
        "Filename": "test/fixtures/templates/quickstart/openshift.yaml",
        "Id": "085fb09c-ff4b-7c19-ff39-c351a4abac43",
        "Level": "Error",
        "Location": {
            "End": {
                "ColumnNumber": 26,
                "LineNumber": 1077
            },
            "Path": [
                "Resources",
                "OpenShiftMasterASG",
                "Properties",
                "Tags",
                0,
                "PropagateAtLaunch"
            ],
            "Start": {
                "ColumnNumber": 9,
                "LineNumber": 1077
            }
        },
        "Message": "'true' is not of type 'boolean'",
        "ParentId": null,
        "Rule": {
            "Description": "Checks resource property values with Primitive Types for values that match those types.",
            "Id": "E3012",
            "ShortDescription": "Check resource properties values",
            "Source": "https://github.com/aws-cloudformation/cfn-lint/blob/main/docs/cfn-schema-specification.md#type"
        }
    },
    {
        "Filename": "test/fixtures/templates/quickstart/openshift.yaml",
        "Id": "17bbea6b-fb8d-b855-4893-d7277f571210",
        "Level": "Warning",
        "Location": {
            "End": {
                "ColumnNumber": 14,
                "LineNumber": 1085
            },
            "Path": [
                "Resources",
                "OpenShiftMasterASLaunchConfig",
                "DependsOn"
            ],
            "Start": {
                "ColumnNumber": 5,
                "LineNumber": 1085
            }
        },
        "Message": "'GetRSA' dependency already enforced by a 'GetAtt' at 'Resources/OpenShiftMasterASLaunchConfig/Metadata/AWS::CloudFormation::Init/GetPublicKey/files//root/.ssh/public.key/content/Fn::Join/1/1'",
        "ParentId": null,
        "Rule": {
            "Description": "Check if DependsOn is specified if not needed. A Ref or a Fn::GetAtt already is an implicit dependency.",
            "Id": "W3005",
            "ShortDescription": "Check obsolete DependsOn configuration for Resources",
            "Source": "https://aws.amazon.com/blogs/devops/optimize-aws-cloudformation-templates/"
        }
    },
    {
        "Filename": "test/fixtures/templates/quickstart/openshift.yaml",
        "Id": "4710f893-5e6b-6609-1870-51bd82a613ad",
        "Level": "Informational",
        "Location": {
            "End": {
                "ColumnNumber": 21,
                "LineNumber": 1098
            },
            "Path": [
                "Resources",
                "OpenShiftMasterASLaunchConfig",
                "Metadata",
                "AWS::CloudFormation::Init",
                "GetPublicKey",
                "files",
                "/root/.ssh/public.key",
                "content",
                "Fn::Join",
                0
            ],
            "Start": {
                "ColumnNumber": 19,
                "LineNumber": 1098
            }
        },
        "Message": "Prefer using Fn::Sub over Fn::Join with an empty delimiter",
        "ParentId": null,
        "Rule": {
            "Description": "Prefer a sub instead of Join when using a join delimiter that is empty",
            "Id": "I1022",
            "ShortDescription": "Use Sub instead of Join",
            "Source": "https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-sub.html"
        }
    },
    {
        "Filename": "test/fixtures/templates/quickstart/openshift.yaml",
        "Id": "6d9e3fd4-2d93-8598-7f86-925d055a6952",
        "Level": "Warning",
        "Location": {
            "End": {
                "ColumnNumber": 15,
                "LineNumber": 1126
            },
            "Path": [
                "Resources",
                "OpenShiftMasterASLaunchConfig",
                "Properties"
            ],
            "Start": {
                "ColumnNumber": 5,
                "LineNumber": 1126
            }
        },
        "Message": "Resource type 'AWS::AutoScaling::LaunchConfiguration' is from a service in maintenance mode since 2024-10-01. Consider migrating to an alternative",
        "ParentId": null,
        "Rule": {
            "Description": "Checks if a resource type belongs to an AWS service that is in maintenance mode with no new features",
            "Id": "W3697",
            "ShortDescription": "Resource type is from a service in maintenance mode",
            "Source": "https://docs.aws.amazon.com/general/latest/gr/maintenance_services.html"
        }
    },
    {
        "Filename": "test/fixtures/templates/quickstart/openshift.yaml",
        "Id": "04b8bffa-37f3-eb7a-dac1-a0d0c638b096",
        "Level": "Error",
        "Location": {
            "End": {
                "ColumnNumber": 21,
                "LineNumber": 1130
            },
            "Path": [
                "Resources",
                "OpenShiftMasterASLaunchConfig",
                "Properties",
                "BlockDeviceMappings",
                0,
                "Ebs",
                "VolumeSize"
            ],
            "Start": {
                "ColumnNumber": 11,
                "LineNumber": 1130
            }
        },
        "Message": "'80' is not of type 'integer'",
        "ParentId": null,
        "Rule": {
            "Description": "Checks resource property values with Primitive Types for values that match those types.",
            "Id": "E3012",
            "ShortDescription": "Check resource properties values",
            "Source": "https://github.com/aws-cloudformation/cfn-lint/blob/main/docs/cfn-schema-specification.md#type"
        }
    },
    {
        "Filename": "test/fixtures/templates/quickstart/openshift.yaml",
        "Id": "6690f707-4a21-8308-48ec-7bf37b5072b7",
        "Level": "Error",
        "Location": {
            "End": {
                "ColumnNumber": 25,
                "LineNumber": 1138
            },
            "Path": [
                "Resources",
                "OpenShiftMasterASLaunchConfig",
                "Properties",
                "InstanceMonitoring"
            ],
            "Start": {
                "ColumnNumber": 7,
                "LineNumber": 1138
            }
        },
        "Message": "'true' is not of type 'boolean'",
        "ParentId": null,
        "Rule": {
            "Description": "Checks resource property values with Primitive Types for values that match those types.",
            "Id": "E3012",
            "ShortDescription": "Check resource properties values",
            "Source": "https://github.com/aws-cloudformation/cfn-lint/blob/main/docs/cfn-schema-specification.md#type"
        }
    },
    {
        "Filename": "test/fixtures/templates/quickstart/openshift.yaml",
        "Id": "d63e964b-abf5-38bc-6585-905883eb2508",
        "Level": "Error",
        "Location": {
            "End": {
                "ColumnNumber": 26,
                "LineNumber": 1362
            },
            "Path": [
                "Resources",
                "OpenShiftNodeASG",
                "Properties",
                "Tags",
                0,
                "PropagateAtLaunch"
            ],
            "Start": {
                "ColumnNumber": 9,
                "LineNumber": 1362
            }
        },
        "Message": "'true' is not of type 'boolean'",
        "ParentId": null,
        "Rule": {
            "Description": "Checks resource property values with Primitive Types for values that match those types.",
            "Id": "E3012",
            "ShortDescription": "Check resource properties values",
            "Source": "https://github.com/aws-cloudformation/cfn-lint/blob/main/docs/cfn-schema-specification.md#type"
        }
    },
    {
        "Filename": "test/fixtures/templates/quickstart/openshift.yaml",
        "Id": "dd955935-5d73-bc5b-9714-aaafc5c84d79",
        "Level": "Error",
        "Location": {
            "End": {
                "ColumnNumber": 17,
                "LineNumber": 1403
            },
            "Path": [
                "Resources",
                "OpenShiftNodeSecurityGroup",
                "Properties",
                "SecurityGroupIngress",
                1,
                "FromPort"
            ],
            "Start": {
                "ColumnNumber": 9,
                "LineNumber": 1403
            }
        },
        "Message": "'8080' is not of type 'integer'",
        "ParentId": null,
        "Rule": {
            "Description": "Checks resource property values with Primitive Types for values that match those types.",
            "Id": "E3012",
            "ShortDescription": "Check resource properties values",
            "Source": "https://github.com/aws-cloudformation/cfn-lint/blob/main/docs/cfn-schema-specification.md#type"
        }
    },
    {
        "Filename": "test/fixtures/templates/quickstart/openshift.yaml",
        "Id": "791b1464-9dc4-d344-ae7b-b9ae87aa29a7",
        "Level": "Error",
        "Location": {
            "End": {
                "ColumnNumber": 15,
                "LineNumber": 1405
            },
            "Path": [
                "Resources",
                "OpenShiftNodeSecurityGroup",
                "Properties",
                "SecurityGroupIngress",
                1,
                "ToPort"
            ],
            "Start": {
                "ColumnNumber": 9,
                "LineNumber": 1405
            }
        },
        "Message": "'8080' is not of type 'integer'",
        "ParentId": null,
        "Rule": {
            "Description": "Checks resource property values with Primitive Types for values that match those types.",
            "Id": "E3012",
            "ShortDescription": "Check resource properties values",
            "Source": "https://github.com/aws-cloudformation/cfn-lint/blob/main/docs/cfn-schema-specification.md#type"
        }
    },
    {
        "Filename": "test/fixtures/templates/quickstart/openshift.yaml",
        "Id": "8cf6d00f-c241-538d-2aac-e133c52482b9",
        "Level": "Error",
        "Location": {
            "End": {
                "ColumnNumber": 17,
                "LineNumber": 1408
            },
            "Path": [
                "Resources",
                "OpenShiftNodeSecurityGroup",
                "Properties",
                "SecurityGroupIngress",
                2,
                "FromPort"
            ],
            "Start": {
                "ColumnNumber": 9,
                "LineNumber": 1408
            }
        },
        "Message": "'80' is not of type 'integer'",
        "ParentId": null,
        "Rule": {
            "Description": "Checks resource property values with Primitive Types for values that match those types.",
            "Id": "E3012",
            "ShortDescription": "Check resource properties values",
            "Source": "https://github.com/aws-cloudformation/cfn-lint/blob/main/docs/cfn-schema-specification.md#type"
        }
    },
    {
        "Filename": "test/fixtures/templates/quickstart/openshift.yaml",
        "Id": "3062b8a4-c9ee-09e0-3373-3bfbb25246ed",
        "Level": "Error",
        "Location": {
            "End": {
                "ColumnNumber": 15,
                "LineNumber": 1410
            },
            "Path": [
                "Resources",
                "OpenShiftNodeSecurityGroup",
                "Properties",
                "SecurityGroupIngress",
                2,
                "ToPort"
            ],
            "Start": {
                "ColumnNumber": 9,
                "LineNumber": 1410
            }
        },
        "Message": "'80' is not of type 'integer'",
        "ParentId": null,
        "Rule": {
            "Description": "Checks resource property values with Primitive Types for values that match those types.",
            "Id": "E3012",
            "ShortDescription": "Check resource properties values",
            "Source": "https://github.com/aws-cloudformation/cfn-lint/blob/main/docs/cfn-schema-specification.md#type"
        }
    },
    {
        "Filename": "test/fixtures/templates/quickstart/openshift.yaml",
        "Id": "b3bede2f-1c8d-7646-ee22-301976b4c6fc",
        "Level": "Informational",
        "Location": {
            "End": {
                "ColumnNumber": 21,
                "LineNumber": 1427
            },
            "Path": [
                "Resources",
                "OpenShiftNodesLaunchConfig",
                "Metadata",
                "AWS::CloudFormation::Init",
                "GetPublicKey",
                "files",
                "/root/.ssh/public.key",
                "content",
                "Fn::Join",
                0
            ],
            "Start": {
                "ColumnNumber": 19,
                "LineNumber": 1427
            }
        },
        "Message": "Prefer using Fn::Sub over Fn::Join with an empty delimiter",
        "ParentId": null,
        "Rule": {
            "Description": "Prefer a sub instead of Join when using a join delimiter that is empty",
            "Id": "I1022",
            "ShortDescription": "Use Sub instead of Join",
            "Source": "https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-sub.html"
        }
    },
    {
        "Filename": "test/fixtures/templates/quickstart/openshift.yaml",
        "Id": "a8117756-992e-1fbe-4c9a-4746b06a53ce",
        "Level": "Warning",
        "Location": {
            "End": {
                "ColumnNumber": 15,
                "LineNumber": 1455
            },
            "Path": [
                "Resources",
                "OpenShiftNodesLaunchConfig",
                "Properties"
            ],
            "Start": {
                "ColumnNumber": 5,
                "LineNumber": 1455
            }
        },
        "Message": "Resource type 'AWS::AutoScaling::LaunchConfiguration' is from a service in maintenance mode since 2024-10-01. Consider migrating to an alternative",
        "ParentId": null,
        "Rule": {
            "Description": "Checks if a resource type belongs to an AWS service that is in maintenance mode with no new features",
            "Id": "W3697",
            "ShortDescription": "Resource type is from a service in maintenance mode",
            "Source": "https://docs.aws.amazon.com/general/latest/gr/maintenance_services.html"
        }
    },
    {
        "Filename": "test/fixtures/templates/quickstart/openshift.yaml",
        "Id": "113e9de5-54a5-c1c4-5186-ee5bc050d827",
        "Level": "Error",
        "Location": {
            "End": {
                "ColumnNumber": 21,
                "LineNumber": 1459
            },
            "Path": [
                "Resources",
                "OpenShiftNodesLaunchConfig",
                "Properties",
                "BlockDeviceMappings",
                0,
                "Ebs",
                "VolumeSize"
            ],
            "Start": {
                "ColumnNumber": 11,
                "LineNumber": 1459
            }
        },
        "Message": "'80' is not of type 'integer'",
        "ParentId": null,
        "Rule": {
            "Description": "Checks resource property values with Primitive Types for values that match those types.",
            "Id": "E3012",
            "ShortDescription": "Check resource properties values",
            "Source": "https://github.com/aws-cloudformation/cfn-lint/blob/main/docs/cfn-schema-specification.md#type"
        }
    },
    {
        "Filename": "test/fixtures/templates/quickstart/openshift.yaml",
        "Id": "da89743f-83aa-19a2-c381-8efe32a003aa",
        "Level": "Error",
        "Location": {
            "End": {
                "ColumnNumber": 21,
                "LineNumber": 1463
            },
            "Path": [
                "Resources",
                "OpenShiftNodesLaunchConfig",
                "Properties",
                "BlockDeviceMappings",
                1,
                "Ebs",
                "VolumeSize"
            ],
            "Start": {
                "ColumnNumber": 11,
                "LineNumber": 1463
            }
        },
        "Message": "'110' is not of type 'integer'",
        "ParentId": null,
        "Rule": {
            "Description": "Checks resource property values with Primitive Types for values that match those types.",
            "Id": "E3012",
            "ShortDescription": "Check resource properties values",
            "Source": "https://github.com/aws-cloudformation/cfn-lint/blob/main/docs/cfn-schema-specification.md#type"
        }
    },
    {
        "Filename": "test/fixtures/templates/quickstart/openshift.yaml",
        "Id": "3fdfadcb-6ca1-8ae7-0762-22171f461568",
        "Level": "Error",
        "Location": {
            "End": {
                "ColumnNumber": 25,
                "LineNumber": 1472
            },
            "Path": [
                "Resources",
                "OpenShiftNodesLaunchConfig",
                "Properties",
                "InstanceMonitoring"
            ],
            "Start": {
                "ColumnNumber": 7,
                "LineNumber": 1472
            }
        },
        "Message": "'true' is not of type 'boolean'",
        "ParentId": null,
        "Rule": {
            "Description": "Checks resource property values with Primitive Types for values that match those types.",
            "Id": "E3012",
            "ShortDescription": "Check resource properties values",
            "Source": "https://github.com/aws-cloudformation/cfn-lint/blob/main/docs/cfn-schema-specification.md#type"
        }
    },
    {
        "Filename": "test/fixtures/templates/quickstart/openshift.yaml",
        "Id": "09102fdf-72b0-7ff0-0881-01106781c0fc",
        "Level": "Error",
        "Location": {
            "End": {
                "ColumnNumber": 17,
                "LineNumber": 1645
            },
            "Path": [
                "Resources",
                "OpenShiftSecurityGroup",
                "Properties",
                "SecurityGroupIngress",
                1,
                "FromPort"
            ],
            "Start": {
                "ColumnNumber": 9,
                "LineNumber": 1645
            }
        },
        "Message": "'8443' is not of type 'integer'",
        "ParentId": null,
        "Rule": {
            "Description": "Checks resource property values with Primitive Types for values that match those types.",
            "Id": "E3012",
            "ShortDescription": "Check resource properties values",
            "Source": "https://github.com/aws-cloudformation/cfn-lint/blob/main/docs/cfn-schema-specification.md#type"
        }
    },
    {
        "Filename": "test/fixtures/templates/quickstart/openshift.yaml",
        "Id": "39dc92f1-f3f4-f980-ac79-f316bc69f843",
        "Level": "Error",
        "Location": {
            "End": {
                "ColumnNumber": 15,
                "LineNumber": 1647
            },
            "Path": [
                "Resources",
                "OpenShiftSecurityGroup",
                "Properties",
                "SecurityGroupIngress",
                1,
                "ToPort"
            ],
            "Start": {
                "ColumnNumber": 9,
                "LineNumber": 1647
            }
        },
        "Message": "'8444' is not of type 'integer'",
        "ParentId": null,
        "Rule": {
            "Description": "Checks resource property values with Primitive Types for values that match those types.",
            "Id": "E3012",
            "ShortDescription": "Check resource properties values",
            "Source": "https://github.com/aws-cloudformation/cfn-lint/blob/main/docs/cfn-schema-specification.md#type"
        }
    },
    {
        "Filename": "test/fixtures/templates/quickstart/openshift.yaml",
        "Id": "a18c9139-f21a-cb31-1eb3-7e012e11648d",
        "Level": "Error",
        "Location": {
            "End": {
                "ColumnNumber": 17,
                "LineNumber": 1650
            },
            "Path": [
                "Resources",
                "OpenShiftSecurityGroup",
                "Properties",
                "SecurityGroupIngress",
                2,
                "FromPort"
            ],
            "Start": {
                "ColumnNumber": 9,
                "LineNumber": 1650
            }
        },
        "Message": "'22' is not of type 'integer'",
        "ParentId": null,
        "Rule": {
            "Description": "Checks resource property values with Primitive Types for values that match those types.",
            "Id": "E3012",
            "ShortDescription": "Check resource properties values",
            "Source": "https://github.com/aws-cloudformation/cfn-lint/blob/main/docs/cfn-schema-specification.md#type"
        }
    },
    {
        "Filename": "test/fixtures/templates/quickstart/openshift.yaml",
        "Id": "d6aefb1e-b2de-3d1f-5c3b-ea55e63cc0ff",
        "Level": "Error",
        "Location": {
            "End": {
                "ColumnNumber": 15,
                "LineNumber": 1652
            },
            "Path": [
                "Resources",
                "OpenShiftSecurityGroup",
                "Properties",
                "SecurityGroupIngress",
                2,
                "ToPort"
            ],
            "Start": {
                "ColumnNumber": 9,
                "LineNumber": 1652
            }
        },
        "Message": "'22' is not of type 'integer'",
        "ParentId": null,
        "Rule": {
            "Description": "Checks resource property values with Primitive Types for values that match those types.",
            "Id": "E3012",
            "ShortDescription": "Check resource properties values",
            "Source": "https://github.com/aws-cloudformation/cfn-lint/blob/main/docs/cfn-schema-specification.md#type"
        }
    },
    {
        "Filename": "test/fixtures/templates/quickstart/openshift.yaml",
        "Id": "201438ca-8adc-01d0-f8fd-bd08a41a289b",
        "Level": "Informational",
        "Location": {
            "End": {
                "ColumnNumber": 22,
                "LineNumber": 1674
            },
            "Path": [
                "Resources",
                "SetupRole",
                "Properties",
                "Policies",
                0,
                "PolicyDocument",
                "Statement",
                0,
                "Resource",
                "Fn::Sub"
            ],
            "Start": {
                "ColumnNumber": 15,
                "LineNumber": 1674
            }
        },
        "Message": "ARN in Resource SetupRole contains hardcoded Partition in ARN or incorrectly placed Pseudo Parameters",
        "ParentId": null,
        "Rule": {
            "Description": "Checks Resources if ARNs use correctly placed Pseudo Parameters instead of hardcoded Partition, Region, and Account Number",
            "Id": "I3042",
            "ShortDescription": "ARNs should use correctly placed Pseudo Parameters",
            "Source": ""
        }
    }
]
