diff --git a/README.md b/README.md index af779afb..29cf34d1 100644 --- a/README.md +++ b/README.md @@ -4,12 +4,13 @@ Hub of all open-sourced third-party static analyzers supported by DeepSource. ## Supported Analyzers -| Analyzer name | Latest version | Language / Technology | -| :-------------------------------------------------------------- | :------------- | :--------------------- | -| [facebook/infer](https://github.com/facebook/infer) | v1.1.0 | Java, C++, Objective-C | -| [Azure/bicep](https://github.com/Azure/bicep) | v0.20.4 | Azure Resource Manager | -| [stackrox/kube-linter](https://github.com/stackrox/kube-linter) | 0.6.4 | Kubernetes, Helm | -| [crytic/slither](https://github.com/crytic/slither) | 0.10.0 | Solidity, Vyper | +| Analyzer name | Latest version | Language / Technology | +| :------------------------------------------------------------------------------ | :-------------- | :--------------------- | +| [facebook/infer](https://github.com/facebook/infer) | v1.1.0 | Java, C++, Objective-C | +| [Azure/bicep](https://github.com/Azure/bicep) | v0.20.4 | Azure Resource Manager | +| [stackrox/kube-linter](https://github.com/stackrox/kube-linter) | 0.6.4 | Kubernetes, Helm | +| [crytic/slither](https://github.com/crytic/slither) | 0.10.0 | Solidity, Vyper | +| [aws-cloudformation/cfn-lint](https://github.com/aws-cloudformation/cfn-lint) | 0.83.3 | AWS CloudFormation | --- diff --git a/analyzers/cfn-lint/.deepsource/analyzer/analyzer.toml b/analyzers/cfn-lint/.deepsource/analyzer/analyzer.toml new file mode 100644 index 00000000..b63d9f5e --- /dev/null +++ b/analyzers/cfn-lint/.deepsource/analyzer/analyzer.toml @@ -0,0 +1,7 @@ +# Analyzer Profile +category = "conf" +name = "AWS CloudFormation Linter" +shortcode = "cfn-lint" +status = "active" +tool_latest_version = "0.83.0" +description = "AWS Cloudformation Linter validates AWS CloudFormation yaml/json templates against AWS CloudFormation Resource Specification." diff --git a/analyzers/cfn-lint/.deepsource/analyzer/example_config.toml b/analyzers/cfn-lint/.deepsource/analyzer/example_config.toml new file mode 100644 index 00000000..1884169d --- /dev/null +++ b/analyzers/cfn-lint/.deepsource/analyzer/example_config.toml @@ -0,0 +1,5 @@ +version = 1 + +[[analyzers]] +name = "cfn-lint" +type = "community" diff --git a/analyzers/cfn-lint/.deepsource/analyzer/logo.svg b/analyzers/cfn-lint/.deepsource/analyzer/logo.svg new file mode 100644 index 00000000..be7d14cf --- /dev/null +++ b/analyzers/cfn-lint/.deepsource/analyzer/logo.svg @@ -0,0 +1,1503 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/analyzers/cfn-lint/.deepsource/analyzer/silencers.json b/analyzers/cfn-lint/.deepsource/analyzer/silencers.json new file mode 100644 index 00000000..e69de29b diff --git a/analyzers/cfn-lint/.deepsource/issues/CFLIN-E0002.toml b/analyzers/cfn-lint/.deepsource/issues/CFLIN-E0002.toml new file mode 100644 index 00000000..5a4ff73a --- /dev/null +++ b/analyzers/cfn-lint/.deepsource/issues/CFLIN-E0002.toml @@ -0,0 +1,12 @@ +title = "Error processing rule on the template" +verbose_name = "E0002" +severity = "major" +category = "antipattern" +weight = 70 +tags = ["base", "rule"] +description = ''' +Errors found when processing a rule on the template + +### References: +[CloudFormation Python Lint](https://github.com/aws-cloudformation/cfn-python-lint) +''' diff --git a/analyzers/cfn-lint/.deepsource/issues/CFLIN-E1001.toml b/analyzers/cfn-lint/.deepsource/issues/CFLIN-E1001.toml new file mode 100644 index 00000000..dd4673ac --- /dev/null +++ b/analyzers/cfn-lint/.deepsource/issues/CFLIN-E1001.toml @@ -0,0 +1,12 @@ +title = "Basic cloudformation template configuration" +verbose_name = "E1001" +severity = "major" +category = "antipattern" +weight = 70 +tags = ["base"] +description = ''' +Making sure the basic CloudFormation template components are properly configured + +### References: +[CloudFormation Python Lint](https://github.com/aws-cloudformation/cfn-python-lint) +''' diff --git a/analyzers/cfn-lint/.deepsource/issues/CFLIN-E1002.toml b/analyzers/cfn-lint/.deepsource/issues/CFLIN-E1002.toml new file mode 100644 index 00000000..610f273a --- /dev/null +++ b/analyzers/cfn-lint/.deepsource/issues/CFLIN-E1002.toml @@ -0,0 +1,12 @@ +title = "Template size limit" +verbose_name = "E1002" +severity = "major" +category = "antipattern" +weight = 70 +tags = ["limits"] +description = ''' +Check the size of the template is less than the upper limit + +### References: +[CloudFormation Limits](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cloudformation-limits.html) +''' diff --git a/analyzers/cfn-lint/.deepsource/issues/CFLIN-E1003.toml b/analyzers/cfn-lint/.deepsource/issues/CFLIN-E1003.toml new file mode 100644 index 00000000..79c5eb29 --- /dev/null +++ b/analyzers/cfn-lint/.deepsource/issues/CFLIN-E1003.toml @@ -0,0 +1,12 @@ +title = "Template description limit" +verbose_name = "E1003" +severity = "major" +category = "antipattern" +weight = 70 +tags = ["description", "limits"] +description = ''' +Check if the size of the template description is less than the upper limit + +### References: +[CloudFormation Limits](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cloudformation-limits.html) +''' diff --git a/analyzers/cfn-lint/.deepsource/issues/CFLIN-E1004.toml b/analyzers/cfn-lint/.deepsource/issues/CFLIN-E1004.toml new file mode 100644 index 00000000..d4d1067a --- /dev/null +++ b/analyzers/cfn-lint/.deepsource/issues/CFLIN-E1004.toml @@ -0,0 +1,12 @@ +title = "Template description can only be a string" +verbose_name = "E1004" +severity = "major" +category = "antipattern" +weight = 70 +tags = ["description"] +description = ''' +Template description can only be a string + +### References: +[Template Description Structure](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/template-description-structure.html) +''' diff --git a/analyzers/cfn-lint/.deepsource/issues/CFLIN-E1010.toml b/analyzers/cfn-lint/.deepsource/issues/CFLIN-E1010.toml new file mode 100644 index 00000000..c16de76b --- /dev/null +++ b/analyzers/cfn-lint/.deepsource/issues/CFLIN-E1010.toml @@ -0,0 +1,12 @@ +title = "Getatt validation of parameters" +verbose_name = "E1010" +severity = "major" +category = "antipattern" +weight = 70 +tags = ["functions", "getatt"] +description = ''' +Validates that GetAtt parameters are to valid resources and properties of those resources + +### References: +[Intrinsic Function Reference Getatt](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-getatt.html) +''' diff --git a/analyzers/cfn-lint/.deepsource/issues/CFLIN-E1011.toml b/analyzers/cfn-lint/.deepsource/issues/CFLIN-E1011.toml new file mode 100644 index 00000000..5d5b848c --- /dev/null +++ b/analyzers/cfn-lint/.deepsource/issues/CFLIN-E1011.toml @@ -0,0 +1,12 @@ +title = "Findinmap validation of configuration" +verbose_name = "E1011" +severity = "major" +category = "antipattern" +weight = 70 +tags = ["functions", "findinmap"] +description = ''' +Making sure the function is a list of appropriate config + +### References: +[Intrinsic Function Reference Findinmap](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-findinmap.html) +''' diff --git a/analyzers/cfn-lint/.deepsource/issues/CFLIN-E1012.toml b/analyzers/cfn-lint/.deepsource/issues/CFLIN-E1012.toml new file mode 100644 index 00000000..83a4cd4a --- /dev/null +++ b/analyzers/cfn-lint/.deepsource/issues/CFLIN-E1012.toml @@ -0,0 +1,12 @@ +title = "Check if refs exist" +verbose_name = "E1012" +severity = "major" +category = "antipattern" +weight = 70 +tags = ["functions", "ref"] +description = ''' +Making sure the refs exist + +### References: +[Intrinsic Function Reference Ref](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-ref.html) +''' diff --git a/analyzers/cfn-lint/.deepsource/issues/CFLIN-E1015.toml b/analyzers/cfn-lint/.deepsource/issues/CFLIN-E1015.toml new file mode 100644 index 00000000..a2ed648c --- /dev/null +++ b/analyzers/cfn-lint/.deepsource/issues/CFLIN-E1015.toml @@ -0,0 +1,12 @@ +title = "Getaz validation of parameters" +verbose_name = "E1015" +severity = "major" +category = "antipattern" +weight = 70 +tags = ["functions", "getaz"] +description = ''' +Making sure the GetAz function is properly configured + +### References: +[Intrinsic Function Reference Getavailabilityzones](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-getavailabilityzones.html) +''' diff --git a/analyzers/cfn-lint/.deepsource/issues/CFLIN-E1016.toml b/analyzers/cfn-lint/.deepsource/issues/CFLIN-E1016.toml new file mode 100644 index 00000000..2428e20f --- /dev/null +++ b/analyzers/cfn-lint/.deepsource/issues/CFLIN-E1016.toml @@ -0,0 +1,12 @@ +title = "Importvalue validation of parameters" +verbose_name = "E1016" +severity = "major" +category = "antipattern" +weight = 70 +tags = ["functions", "importvalue"] +description = ''' +Making sure the ImportValue function is properly configured + +### References: +[Intrinsic Function Reference Importvalue](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-importvalue.html) +''' diff --git a/analyzers/cfn-lint/.deepsource/issues/CFLIN-E1017.toml b/analyzers/cfn-lint/.deepsource/issues/CFLIN-E1017.toml new file mode 100644 index 00000000..bf6b028d --- /dev/null +++ b/analyzers/cfn-lint/.deepsource/issues/CFLIN-E1017.toml @@ -0,0 +1,12 @@ +title = "Select validation of parameters" +verbose_name = "E1017" +severity = "major" +category = "antipattern" +weight = 70 +tags = ["functions", "select"] +description = ''' +Making sure the Select function is properly configured + +### References: +[Intrinsic Function Reference Select](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-select.html) +''' diff --git a/analyzers/cfn-lint/.deepsource/issues/CFLIN-E1018.toml b/analyzers/cfn-lint/.deepsource/issues/CFLIN-E1018.toml new file mode 100644 index 00000000..ae39f646 --- /dev/null +++ b/analyzers/cfn-lint/.deepsource/issues/CFLIN-E1018.toml @@ -0,0 +1,12 @@ +title = "Split validation of parameters" +verbose_name = "E1018" +severity = "major" +category = "antipattern" +weight = 70 +tags = ["functions", "split"] +description = ''' +Making sure the split function is properly configured + +### References: +[Intrinsic Function Reference Split](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-split.html) +''' diff --git a/analyzers/cfn-lint/.deepsource/issues/CFLIN-E1019.toml b/analyzers/cfn-lint/.deepsource/issues/CFLIN-E1019.toml new file mode 100644 index 00000000..029266c0 --- /dev/null +++ b/analyzers/cfn-lint/.deepsource/issues/CFLIN-E1019.toml @@ -0,0 +1,12 @@ +title = "Sub validation of parameters" +verbose_name = "E1019" +severity = "major" +category = "antipattern" +weight = 70 +tags = ["functions", "sub"] +description = ''' +Making sure the sub function is properly configured + +### References: +[Intrinsic Function Reference Sub](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-sub.html) +''' diff --git a/analyzers/cfn-lint/.deepsource/issues/CFLIN-E1020.toml b/analyzers/cfn-lint/.deepsource/issues/CFLIN-E1020.toml new file mode 100644 index 00000000..008107e7 --- /dev/null +++ b/analyzers/cfn-lint/.deepsource/issues/CFLIN-E1020.toml @@ -0,0 +1,12 @@ +title = "Ref validation of value" +verbose_name = "E1020" +severity = "major" +category = "antipattern" +weight = 70 +tags = ["functions", "ref"] +description = ''' +Making sure the Ref has a String value (no other functions are supported) + +### References: +[Intrinsic Function Reference Ref](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-ref.html) +''' diff --git a/analyzers/cfn-lint/.deepsource/issues/CFLIN-E1021.toml b/analyzers/cfn-lint/.deepsource/issues/CFLIN-E1021.toml new file mode 100644 index 00000000..953eab95 --- /dev/null +++ b/analyzers/cfn-lint/.deepsource/issues/CFLIN-E1021.toml @@ -0,0 +1,12 @@ +title = "Base64 validation of parameters" +verbose_name = "E1021" +severity = "major" +category = "antipattern" +weight = 70 +tags = ["functions", "base64"] +description = ''' +Making sure the Base64 function is properly configured + +### References: +[Intrinsic Function Reference Base64](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-base64.html) +''' diff --git a/analyzers/cfn-lint/.deepsource/issues/CFLIN-E1022.toml b/analyzers/cfn-lint/.deepsource/issues/CFLIN-E1022.toml new file mode 100644 index 00000000..43f9a69d --- /dev/null +++ b/analyzers/cfn-lint/.deepsource/issues/CFLIN-E1022.toml @@ -0,0 +1,12 @@ +title = "Join validation of parameters" +verbose_name = "E1022" +severity = "major" +category = "antipattern" +weight = 70 +tags = ["functions", "join"] +description = ''' +Making sure the join function is properly configured + +### References: +[Intrinsic Function Reference Join](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-join.html) +''' diff --git a/analyzers/cfn-lint/.deepsource/issues/CFLIN-E1023.toml b/analyzers/cfn-lint/.deepsource/issues/CFLIN-E1023.toml new file mode 100644 index 00000000..ce9b93cf --- /dev/null +++ b/analyzers/cfn-lint/.deepsource/issues/CFLIN-E1023.toml @@ -0,0 +1,12 @@ +title = "Validation not function configuration" +verbose_name = "E1023" +severity = "major" +category = "antipattern" +weight = 70 +tags = ["functions", "not"] +description = ''' +Making sure that NOT functions are list + +### References: +[Intrinsic Function Reference Conditions](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-conditions.html#intrinsic-function-reference-conditions-not) +''' diff --git a/analyzers/cfn-lint/.deepsource/issues/CFLIN-E1024.toml b/analyzers/cfn-lint/.deepsource/issues/CFLIN-E1024.toml new file mode 100644 index 00000000..6bd7ed65 --- /dev/null +++ b/analyzers/cfn-lint/.deepsource/issues/CFLIN-E1024.toml @@ -0,0 +1,12 @@ +title = "Cidr validation of parameters" +verbose_name = "E1024" +severity = "major" +category = "antipattern" +weight = 70 +tags = ["functions", "cidr"] +description = ''' +Making sure the function CIDR is a list with valid values + +### References: +[Intrinsic Function Reference Cidr](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-cidr.html) +''' diff --git a/analyzers/cfn-lint/.deepsource/issues/CFLIN-E1026.toml b/analyzers/cfn-lint/.deepsource/issues/CFLIN-E1026.toml new file mode 100644 index 00000000..db7b5fde --- /dev/null +++ b/analyzers/cfn-lint/.deepsource/issues/CFLIN-E1026.toml @@ -0,0 +1,12 @@ +title = "Cannot reference resources in the conditions block of the template" +verbose_name = "E1026" +severity = "major" +category = "antipattern" +weight = 70 +tags = ["conditions", "functions", "ref"] +description = ''' +Check that any Refs in the Conditions block uses no resources + +### References: +[Intrinsic Function Reference Conditions](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-conditions.html#w2ab2c21c28c21c45) +''' diff --git a/analyzers/cfn-lint/.deepsource/issues/CFLIN-E1027.toml b/analyzers/cfn-lint/.deepsource/issues/CFLIN-E1027.toml new file mode 100644 index 00000000..dbd07342 --- /dev/null +++ b/analyzers/cfn-lint/.deepsource/issues/CFLIN-E1027.toml @@ -0,0 +1,12 @@ +title = "Check dynamic references secure strings are in supported locations" +verbose_name = "E1027" +severity = "major" +category = "antipattern" +weight = 70 +tags = ["functions", "dynamic reference"] +description = ''' +Dynamic References Secure Strings are only supported for a small set of resource properties. Validate that they are being used in the correct location when checking values and Fn::Sub in resource properties. Currently doesn't check outputs, maps, conditions, parameters, and descriptions. + +### References: +[Dynamic References](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/dynamic-references.html) +''' diff --git a/analyzers/cfn-lint/.deepsource/issues/CFLIN-E1028.toml b/analyzers/cfn-lint/.deepsource/issues/CFLIN-E1028.toml new file mode 100644 index 00000000..e732137e --- /dev/null +++ b/analyzers/cfn-lint/.deepsource/issues/CFLIN-E1028.toml @@ -0,0 +1,12 @@ +title = "Check fn::if structure for validity" +verbose_name = "E1028" +severity = "major" +category = "antipattern" +weight = 70 +tags = ["functions", "if"] +description = ''' +Check Fn::If to make sure its valid. Condition has to be a string. + +### References: +[Intrinsic Function Reference Conditions](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-conditions.html#intrinsic-function-reference-conditions-if) +''' diff --git a/analyzers/cfn-lint/.deepsource/issues/CFLIN-E1029.toml b/analyzers/cfn-lint/.deepsource/issues/CFLIN-E1029.toml new file mode 100644 index 00000000..3e849491 --- /dev/null +++ b/analyzers/cfn-lint/.deepsource/issues/CFLIN-E1029.toml @@ -0,0 +1,12 @@ +title = "Sub is required if a variable is used in a string" +verbose_name = "E1029" +severity = "major" +category = "antipattern" +weight = 70 +tags = ["functions", "sub"] +description = ''' +If a substitution variable exists in a string but isn't wrapped with the Fn::Sub function the deployment will fail. + +### References: +[Intrinsic Function Reference Sub](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-sub.html) +''' diff --git a/analyzers/cfn-lint/.deepsource/issues/CFLIN-E1030.toml b/analyzers/cfn-lint/.deepsource/issues/CFLIN-E1030.toml new file mode 100644 index 00000000..1a81d925 --- /dev/null +++ b/analyzers/cfn-lint/.deepsource/issues/CFLIN-E1030.toml @@ -0,0 +1,12 @@ +title = "Length validation of parameters" +verbose_name = "E1030" +severity = "major" +category = "antipattern" +weight = 70 +tags = ["functions", "length"] +description = ''' +Making sure Fn::Length is configured correctly + +### References: +[Intrinsic Function Reference Length](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-length.html) +''' diff --git a/analyzers/cfn-lint/.deepsource/issues/CFLIN-E1031.toml b/analyzers/cfn-lint/.deepsource/issues/CFLIN-E1031.toml new file mode 100644 index 00000000..08eacbde --- /dev/null +++ b/analyzers/cfn-lint/.deepsource/issues/CFLIN-E1031.toml @@ -0,0 +1,12 @@ +title = "Tojsonstring validation of parameters" +verbose_name = "E1031" +severity = "major" +category = "antipattern" +weight = 70 +tags = ["functions", "toJsonString"] +description = ''' +Making sure Fn::ToJsonString is configured correctly + +### References: +[Intrinsic Function Reference](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference.html) +''' diff --git a/analyzers/cfn-lint/.deepsource/issues/CFLIN-E1032.toml b/analyzers/cfn-lint/.deepsource/issues/CFLIN-E1032.toml new file mode 100644 index 00000000..5aed4a66 --- /dev/null +++ b/analyzers/cfn-lint/.deepsource/issues/CFLIN-E1032.toml @@ -0,0 +1,12 @@ +title = "Validates foreach functions" +verbose_name = "E1032" +severity = "major" +category = "antipattern" +weight = 70 +tags = ["functions", "foreach"] +description = ''' +Validates that ForEach parameters have a valid configuration + +### References: +[Intrinsic Function Reference Getatt](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-getatt.html) +''' diff --git a/analyzers/cfn-lint/.deepsource/issues/CFLIN-E2001.toml b/analyzers/cfn-lint/.deepsource/issues/CFLIN-E2001.toml new file mode 100644 index 00000000..508d00e4 --- /dev/null +++ b/analyzers/cfn-lint/.deepsource/issues/CFLIN-E2001.toml @@ -0,0 +1,12 @@ +title = "Parameters have appropriate properties" +verbose_name = "E2001" +severity = "major" +category = "antipattern" +weight = 70 +tags = ["parameters"] +description = ''' +Making sure the parameters are properly configured + +### References: +[Parameters Section Structure](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/parameters-section-structure.html) +''' diff --git a/analyzers/cfn-lint/.deepsource/issues/CFLIN-E2002.toml b/analyzers/cfn-lint/.deepsource/issues/CFLIN-E2002.toml new file mode 100644 index 00000000..fa44b83b --- /dev/null +++ b/analyzers/cfn-lint/.deepsource/issues/CFLIN-E2002.toml @@ -0,0 +1,12 @@ +title = "Parameters have appropriate type" +verbose_name = "E2002" +severity = "major" +category = "antipattern" +weight = 70 +tags = ["parameters"] +description = ''' +Making sure the parameters have a correct type + +### References: +[Best Practices](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/best-practices.html#parmtypes) +''' diff --git a/analyzers/cfn-lint/.deepsource/issues/CFLIN-E2003.toml b/analyzers/cfn-lint/.deepsource/issues/CFLIN-E2003.toml new file mode 100644 index 00000000..eb6db065 --- /dev/null +++ b/analyzers/cfn-lint/.deepsource/issues/CFLIN-E2003.toml @@ -0,0 +1,12 @@ +title = "Parameters have appropriate names" +verbose_name = "E2003" +severity = "major" +category = "antipattern" +weight = 70 +tags = ["parameters"] +description = ''' +Check if Parameters are properly named (A-Za-z0-9) + +### References: +[Parameters Section Structure](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/parameters-section-structure.html#parameters-section-structure-requirements) +''' diff --git a/analyzers/cfn-lint/.deepsource/issues/CFLIN-E2010.toml b/analyzers/cfn-lint/.deepsource/issues/CFLIN-E2010.toml new file mode 100644 index 00000000..6e06dc94 --- /dev/null +++ b/analyzers/cfn-lint/.deepsource/issues/CFLIN-E2010.toml @@ -0,0 +1,12 @@ +title = "Parameter limit not exceeded" +verbose_name = "E2010" +severity = "major" +category = "antipattern" +weight = 70 +tags = ["parameters", "limits"] +description = ''' +Check the number of Parameters in the template is less than the upper limit + +### References: +[CloudFormation Limits](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cloudformation-limits.html) +''' diff --git a/analyzers/cfn-lint/.deepsource/issues/CFLIN-E2011.toml b/analyzers/cfn-lint/.deepsource/issues/CFLIN-E2011.toml new file mode 100644 index 00000000..d09b2aae --- /dev/null +++ b/analyzers/cfn-lint/.deepsource/issues/CFLIN-E2011.toml @@ -0,0 +1,12 @@ +title = "Parameter name limit not exceeded" +verbose_name = "E2011" +severity = "major" +category = "antipattern" +weight = 70 +tags = ["parameters", "limits"] +description = ''' +Check the size of Parameter names in the template is less than the upper limit + +### References: +[CloudFormation Limits](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cloudformation-limits.html) +''' diff --git a/analyzers/cfn-lint/.deepsource/issues/CFLIN-E2012.toml b/analyzers/cfn-lint/.deepsource/issues/CFLIN-E2012.toml new file mode 100644 index 00000000..3bd76252 --- /dev/null +++ b/analyzers/cfn-lint/.deepsource/issues/CFLIN-E2012.toml @@ -0,0 +1,12 @@ +title = "Parameter value limit not exceeded" +verbose_name = "E2012" +severity = "major" +category = "antipattern" +weight = 70 +tags = ["parameters", "limits"] +description = ''' +Check if the size of Parameter values in the template is less than the upper limit + +### References: +[CloudFormation Limits](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cloudformation-limits.html) +''' diff --git a/analyzers/cfn-lint/.deepsource/issues/CFLIN-E2014.toml b/analyzers/cfn-lint/.deepsource/issues/CFLIN-E2014.toml new file mode 100644 index 00000000..40514cda --- /dev/null +++ b/analyzers/cfn-lint/.deepsource/issues/CFLIN-E2014.toml @@ -0,0 +1,12 @@ +title = "Default value cannot use refs" +verbose_name = "E2014" +severity = "major" +category = "antipattern" +weight = 70 +tags = ["parameters", "ref"] +description = ''' +Check if Refs are not used in Parameter Defaults + +### References: +[Parameters Section Structure](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/parameters-section-structure.html) +''' diff --git a/analyzers/cfn-lint/.deepsource/issues/CFLIN-E2015.toml b/analyzers/cfn-lint/.deepsource/issues/CFLIN-E2015.toml new file mode 100644 index 00000000..43e394f9 --- /dev/null +++ b/analyzers/cfn-lint/.deepsource/issues/CFLIN-E2015.toml @@ -0,0 +1,12 @@ +title = "Default value is within parameter constraints" +verbose_name = "E2015" +severity = "major" +category = "antipattern" +weight = 70 +tags = ["parameters"] +description = ''' +Making sure the parameters have a default value inside AllowedValues, MinValue, MaxValue, AllowedPattern + +### References: +[Parameters Section Structure](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/parameters-section-structure.html) +''' diff --git a/analyzers/cfn-lint/.deepsource/issues/CFLIN-E2503.toml b/analyzers/cfn-lint/.deepsource/issues/CFLIN-E2503.toml new file mode 100644 index 00000000..f62aa753 --- /dev/null +++ b/analyzers/cfn-lint/.deepsource/issues/CFLIN-E2503.toml @@ -0,0 +1,12 @@ +title = "Resource elb properties" +verbose_name = "E2503" +severity = "major" +category = "antipattern" +weight = 70 +tags = ["properties", "elb"] +description = ''' +See if Elb Resource Properties are set correctly HTTPS has certificate HTTP has no certificate + +### References: +[Aws Properties Ec2 Elb Listener](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-elb-listener.html) +''' diff --git a/analyzers/cfn-lint/.deepsource/issues/CFLIN-E2504.toml b/analyzers/cfn-lint/.deepsource/issues/CFLIN-E2504.toml new file mode 100644 index 00000000..225c16a5 --- /dev/null +++ b/analyzers/cfn-lint/.deepsource/issues/CFLIN-E2504.toml @@ -0,0 +1,12 @@ +title = "Check ec2 ebs properties" +verbose_name = "E2504" +severity = "major" +category = "antipattern" +weight = 70 +tags = ["properties", "ec2", "ebs"] +description = ''' +See if Ec2 Ebs Properties are valid + +### References: +[Aws Properties Ec2 Blockdev Template](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-blockdev-template.html) +''' diff --git a/analyzers/cfn-lint/.deepsource/issues/CFLIN-E2506.toml b/analyzers/cfn-lint/.deepsource/issues/CFLIN-E2506.toml new file mode 100644 index 00000000..a867070f --- /dev/null +++ b/analyzers/cfn-lint/.deepsource/issues/CFLIN-E2506.toml @@ -0,0 +1,12 @@ +title = "Resource ec2 security group ingress properties" +verbose_name = "E2506" +severity = "major" +category = "antipattern" +weight = 70 +tags = ["resources", "ec2", "securitygroup"] +description = ''' +See if EC2 Security Group Ingress Properties are set correctly. Check that "SourceSecurityGroupId" or "SourceSecurityGroupName" are are exclusive and using the type of Ref or GetAtt + +### References: +[Aws Properties Ec2 Security Group Ingress](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-security-group-ingress.html) +''' diff --git a/analyzers/cfn-lint/.deepsource/issues/CFLIN-E2507.toml b/analyzers/cfn-lint/.deepsource/issues/CFLIN-E2507.toml new file mode 100644 index 00000000..99248cf1 --- /dev/null +++ b/analyzers/cfn-lint/.deepsource/issues/CFLIN-E2507.toml @@ -0,0 +1,12 @@ +title = "Check if iam policies are properly configured" +verbose_name = "E2507" +severity = "major" +category = "antipattern" +weight = 70 +tags = ["properties", "iam"] +description = ''' +See if there elements inside an IAM policy are correct + +### References: +[Aws Properties Iam Policy](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iam-policy.html) +''' diff --git a/analyzers/cfn-lint/.deepsource/issues/CFLIN-E2520.toml b/analyzers/cfn-lint/.deepsource/issues/CFLIN-E2520.toml new file mode 100644 index 00000000..287a5d7f --- /dev/null +++ b/analyzers/cfn-lint/.deepsource/issues/CFLIN-E2520.toml @@ -0,0 +1,12 @@ +title = "Check properties that are mutually exclusive" +verbose_name = "E2520" +severity = "major" +category = "antipattern" +weight = 70 +tags = ["resources"] +description = ''' +Making sure CloudFormation properties that are exclusive are not defined + +### References: +[CloudFormation Python Lint](https://github.com/aws-cloudformation/cfn-python-lint) +''' diff --git a/analyzers/cfn-lint/.deepsource/issues/CFLIN-E2521.toml b/analyzers/cfn-lint/.deepsource/issues/CFLIN-E2521.toml new file mode 100644 index 00000000..8eee1444 --- /dev/null +++ b/analyzers/cfn-lint/.deepsource/issues/CFLIN-E2521.toml @@ -0,0 +1,12 @@ +title = "Check properties that are required together" +verbose_name = "E2521" +severity = "major" +category = "antipattern" +weight = 70 +tags = ["resources"] +description = ''' +Make sure CloudFormation resource properties are included together when required + +### References: +[CloudFormation Python Lint](https://github.com/aws-cloudformation/cfn-python-lint) +''' diff --git a/analyzers/cfn-lint/.deepsource/issues/CFLIN-E2522.toml b/analyzers/cfn-lint/.deepsource/issues/CFLIN-E2522.toml new file mode 100644 index 00000000..e9133a75 --- /dev/null +++ b/analyzers/cfn-lint/.deepsource/issues/CFLIN-E2522.toml @@ -0,0 +1,12 @@ +title = "Check properties that need at least one of a list of properties" +verbose_name = "E2522" +severity = "major" +category = "antipattern" +weight = 70 +tags = ["resources"] +description = ''' +Making sure CloudFormation properties that require at least one property from a list. More than one can be included. + +### References: +[CloudFormation Python Lint](https://github.com/aws-cloudformation/cfn-python-lint) +''' diff --git a/analyzers/cfn-lint/.deepsource/issues/CFLIN-E2523.toml b/analyzers/cfn-lint/.deepsource/issues/CFLIN-E2523.toml new file mode 100644 index 00000000..ec4f3fec --- /dev/null +++ b/analyzers/cfn-lint/.deepsource/issues/CFLIN-E2523.toml @@ -0,0 +1,12 @@ +title = "Check properties that need only one of a list of properties" +verbose_name = "E2523" +severity = "major" +category = "antipattern" +weight = 70 +tags = ["resources"] +description = ''' +Making sure CloudFormation properties that require only one property from a list. One has to be specified. + +### References: +[CloudFormation Python Lint](https://github.com/aws-cloudformation/cfn-python-lint) +''' diff --git a/analyzers/cfn-lint/.deepsource/issues/CFLIN-E2529.toml b/analyzers/cfn-lint/.deepsource/issues/CFLIN-E2529.toml new file mode 100644 index 00000000..f187bec7 --- /dev/null +++ b/analyzers/cfn-lint/.deepsource/issues/CFLIN-E2529.toml @@ -0,0 +1,12 @@ +title = "Check for subscriptionfilters have beyond 2 attachments to a cloudwatch log group" +verbose_name = "E2529" +severity = "major" +category = "antipattern" +weight = 70 +tags = ["resources", "lambda"] +description = ''' +The current limit for a CloudWatch Log Group is they can have 2 subscription filters. We will look for duplicate LogGroupNames inside Subscription Filters and make sure they are within 2. This doesn't account for any other subscription filters getting set. + +### References: +[2016 10 31](https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#user-content-cloudwatchlogs) +''' diff --git a/analyzers/cfn-lint/.deepsource/issues/CFLIN-E2530.toml b/analyzers/cfn-lint/.deepsource/issues/CFLIN-E2530.toml new file mode 100644 index 00000000..60e8c1a7 --- /dev/null +++ b/analyzers/cfn-lint/.deepsource/issues/CFLIN-E2530.toml @@ -0,0 +1,12 @@ +title = "Snapstart supports the configured runtime" +verbose_name = "E2530" +severity = "major" +category = "antipattern" +weight = 70 +tags = ["resources", "lambda"] +description = ''' +To properly leverage SnapStart, you must have a runtime of Java11 or greater + +### References: +[Snapstart](https://docs.aws.amazon.com/lambda/latest/dg/snapstart.html) +''' diff --git a/analyzers/cfn-lint/.deepsource/issues/CFLIN-E2531.toml b/analyzers/cfn-lint/.deepsource/issues/CFLIN-E2531.toml new file mode 100644 index 00000000..31ac975e --- /dev/null +++ b/analyzers/cfn-lint/.deepsource/issues/CFLIN-E2531.toml @@ -0,0 +1,12 @@ +title = "Check if eol lambda function runtimes are used" +verbose_name = "E2531" +severity = "major" +category = "antipattern" +weight = 70 +tags = ["resources", "lambda", "runtime"] +description = ''' +Check if an EOL Lambda Runtime is specified and give an error if used. + +### References: +[Runtime Support Policy](https://docs.aws.amazon.com/lambda/latest/dg/runtime-support-policy.html) +''' diff --git a/analyzers/cfn-lint/.deepsource/issues/CFLIN-E2532.toml b/analyzers/cfn-lint/.deepsource/issues/CFLIN-E2532.toml new file mode 100644 index 00000000..8955fdaf --- /dev/null +++ b/analyzers/cfn-lint/.deepsource/issues/CFLIN-E2532.toml @@ -0,0 +1,12 @@ +title = "Check state machine definition for proper syntax" +verbose_name = "E2532" +severity = "major" +category = "antipattern" +weight = 70 +tags = ["resources", "stepfunctions"] +description = ''' +Check the State Machine String Definition to make sure its JSON. Validate basic syntax of the file to determine validity. + +### References: +[Aws Resource Stepfunctions Statemachine](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-stepfunctions-statemachine.html) +''' diff --git a/analyzers/cfn-lint/.deepsource/issues/CFLIN-E2540.toml b/analyzers/cfn-lint/.deepsource/issues/CFLIN-E2540.toml new file mode 100644 index 00000000..0aefe1a1 --- /dev/null +++ b/analyzers/cfn-lint/.deepsource/issues/CFLIN-E2540.toml @@ -0,0 +1,12 @@ +title = "Codepipeline stages" +verbose_name = "E2540" +severity = "major" +category = "antipattern" +weight = 70 +tags = ["properties", "codepipeline"] +description = ''' +See if CodePipeline stages are set correctly + +### References: +[Reference Pipeline Structure](https://docs.aws.amazon.com/codepipeline/latest/userguide/reference-pipeline-structure.html#pipeline-requirements) +''' diff --git a/analyzers/cfn-lint/.deepsource/issues/CFLIN-E2541.toml b/analyzers/cfn-lint/.deepsource/issues/CFLIN-E2541.toml new file mode 100644 index 00000000..36993666 --- /dev/null +++ b/analyzers/cfn-lint/.deepsource/issues/CFLIN-E2541.toml @@ -0,0 +1,12 @@ +title = "Codepipeline stage actions" +verbose_name = "E2541" +severity = "major" +category = "antipattern" +weight = 70 +tags = ["resources", "codepipeline"] +description = ''' +See if CodePipeline stage actions are set correctly + +### References: +[Reference Pipeline Structure](https://docs.aws.amazon.com/codepipeline/latest/userguide/reference-pipeline-structure.html#pipeline-requirements) +''' diff --git a/analyzers/cfn-lint/.deepsource/issues/CFLIN-E3000.toml b/analyzers/cfn-lint/.deepsource/issues/CFLIN-E3000.toml new file mode 100644 index 00000000..8bb70a2d --- /dev/null +++ b/analyzers/cfn-lint/.deepsource/issues/CFLIN-E3000.toml @@ -0,0 +1,12 @@ +title = "Resource schema" +verbose_name = "E3000" +severity = "major" +category = "antipattern" +weight = 70 +tags = ["resources"] +description = ''' +CloudFormation Registry resource schema validation + +### References: +[Aws CloudFormation Resource Schema](https://github.com/aws-cloudformation/aws-cloudformation-resource-schema/) +''' diff --git a/analyzers/cfn-lint/.deepsource/issues/CFLIN-E3001.toml b/analyzers/cfn-lint/.deepsource/issues/CFLIN-E3001.toml new file mode 100644 index 00000000..0f8ad531 --- /dev/null +++ b/analyzers/cfn-lint/.deepsource/issues/CFLIN-E3001.toml @@ -0,0 +1,12 @@ +title = "Basic cloudformation resource check" +verbose_name = "E3001" +severity = "major" +category = "antipattern" +weight = 70 +tags = ["resources"] +description = ''' +Making sure the basic CloudFormation resources are properly configured + +### References: +[CloudFormation Python Lint](https://github.com/aws-cloudformation/cfn-python-lint) +''' diff --git a/analyzers/cfn-lint/.deepsource/issues/CFLIN-E3002.toml b/analyzers/cfn-lint/.deepsource/issues/CFLIN-E3002.toml new file mode 100644 index 00000000..f5d67c8d --- /dev/null +++ b/analyzers/cfn-lint/.deepsource/issues/CFLIN-E3002.toml @@ -0,0 +1,12 @@ +title = "Resource properties are invalid" +verbose_name = "E3002" +severity = "major" +category = "antipattern" +weight = 70 +tags = ["resources"] +description = ''' +Making sure that resources properties are properly configured + +### References: +[CloudFormation Resource Specification](https://github.com/aws-cloudformation/cfn-python-lint/blob/main/docs/cfn-resource-specification.md#properties) +''' diff --git a/analyzers/cfn-lint/.deepsource/issues/CFLIN-E3003.toml b/analyzers/cfn-lint/.deepsource/issues/CFLIN-E3003.toml new file mode 100644 index 00000000..307a1a18 --- /dev/null +++ b/analyzers/cfn-lint/.deepsource/issues/CFLIN-E3003.toml @@ -0,0 +1,12 @@ +title = "Required resource properties are missing" +verbose_name = "E3003" +severity = "major" +category = "antipattern" +weight = 70 +tags = ["resources"] +description = ''' +Making sure that Resources properties that are required exist + +### References: +[CloudFormation Resource Specification](https://github.com/aws-cloudformation/cfn-python-lint/blob/main/docs/cfn-resource-specification.md#required) +''' diff --git a/analyzers/cfn-lint/.deepsource/issues/CFLIN-E3004.toml b/analyzers/cfn-lint/.deepsource/issues/CFLIN-E3004.toml new file mode 100644 index 00000000..d89fbd78 --- /dev/null +++ b/analyzers/cfn-lint/.deepsource/issues/CFLIN-E3004.toml @@ -0,0 +1,12 @@ +title = "Resource dependencies are not circular" +verbose_name = "E3004" +severity = "major" +category = "antipattern" +weight = 70 +tags = ["resources", "circularly", "dependson", "ref", "sub", "getatt"] +description = ''' +Check that Resources are not circularly dependent by DependsOn, Ref, Sub, or GetAtt + +### References: +[CloudFormation Python Lint](https://github.com/aws-cloudformation/cfn-python-lint) +''' diff --git a/analyzers/cfn-lint/.deepsource/issues/CFLIN-E3005.toml b/analyzers/cfn-lint/.deepsource/issues/CFLIN-E3005.toml new file mode 100644 index 00000000..6b04d9a5 --- /dev/null +++ b/analyzers/cfn-lint/.deepsource/issues/CFLIN-E3005.toml @@ -0,0 +1,12 @@ +title = "Check dependson values for resources" +verbose_name = "E3005" +severity = "major" +category = "antipattern" +weight = 70 +tags = ["resources", "dependson"] +description = ''' +Check that the DependsOn values are valid + +### References: +[Aws Attribute Dependson](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-dependson.html) +''' diff --git a/analyzers/cfn-lint/.deepsource/issues/CFLIN-E3006.toml b/analyzers/cfn-lint/.deepsource/issues/CFLIN-E3006.toml new file mode 100644 index 00000000..9b6108d5 --- /dev/null +++ b/analyzers/cfn-lint/.deepsource/issues/CFLIN-E3006.toml @@ -0,0 +1,12 @@ +title = "Resources have appropriate names" +verbose_name = "E3006" +severity = "major" +category = "antipattern" +weight = 70 +tags = ["resources"] +description = ''' +Check if Resources are properly named (A-Za-z0-9) + +### References: +[Resources Section Structure](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/resources-section-structure.html#resources-section-structure-logicalid) +''' diff --git a/analyzers/cfn-lint/.deepsource/issues/CFLIN-E3007.toml b/analyzers/cfn-lint/.deepsource/issues/CFLIN-E3007.toml new file mode 100644 index 00000000..b6a5f6a6 --- /dev/null +++ b/analyzers/cfn-lint/.deepsource/issues/CFLIN-E3007.toml @@ -0,0 +1,12 @@ +title = "Unique resource and parameter names" +verbose_name = "E3007" +severity = "major" +category = "antipattern" +weight = 70 +tags = ["parameters", "resources"] +description = ''' +All resources and parameters must have unique names + +### References: +[Resources Section Structure](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/resources-section-structure.html) +''' diff --git a/analyzers/cfn-lint/.deepsource/issues/CFLIN-E3008.toml b/analyzers/cfn-lint/.deepsource/issues/CFLIN-E3008.toml new file mode 100644 index 00000000..c1119f3b --- /dev/null +++ b/analyzers/cfn-lint/.deepsource/issues/CFLIN-E3008.toml @@ -0,0 +1,12 @@ +title = "Check values of properties for valid refs and getatts" +verbose_name = "E3008" +severity = "major" +category = "antipattern" +weight = 70 +tags = ["resources", "ref", "getatt"] +description = ''' +Checks resource properties for Ref and GetAtt values + +### References: +[]() +''' diff --git a/analyzers/cfn-lint/.deepsource/issues/CFLIN-E3010.toml b/analyzers/cfn-lint/.deepsource/issues/CFLIN-E3010.toml new file mode 100644 index 00000000..e7fc5984 --- /dev/null +++ b/analyzers/cfn-lint/.deepsource/issues/CFLIN-E3010.toml @@ -0,0 +1,12 @@ +title = "Resource limit not exceeded" +verbose_name = "E3010" +severity = "major" +category = "antipattern" +weight = 70 +tags = ["resources", "limits"] +description = ''' +Check the number of Resources in the template is less than the upper limit + +### References: +[CloudFormation Limits](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cloudformation-limits.html) +''' diff --git a/analyzers/cfn-lint/.deepsource/issues/CFLIN-E3011.toml b/analyzers/cfn-lint/.deepsource/issues/CFLIN-E3011.toml new file mode 100644 index 00000000..564740a3 --- /dev/null +++ b/analyzers/cfn-lint/.deepsource/issues/CFLIN-E3011.toml @@ -0,0 +1,12 @@ +title = "Resource name limit not exceeded" +verbose_name = "E3011" +severity = "major" +category = "antipattern" +weight = 70 +tags = ["resources", "limits"] +description = ''' +Check the size of Resource names in the template is less than the upper limit + +### References: +[CloudFormation Limits](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cloudformation-limits.html) +''' diff --git a/analyzers/cfn-lint/.deepsource/issues/CFLIN-E3012.toml b/analyzers/cfn-lint/.deepsource/issues/CFLIN-E3012.toml new file mode 100644 index 00000000..7d350bfe --- /dev/null +++ b/analyzers/cfn-lint/.deepsource/issues/CFLIN-E3012.toml @@ -0,0 +1,12 @@ +title = "Check resource properties values" +verbose_name = "E3012" +severity = "major" +category = "antipattern" +weight = 70 +tags = ["resources"] +description = ''' +Checks resource property values with Primitive Types for values that match those types. + +### References: +[CloudFormation Resource Specification](https://github.com/aws-cloudformation/cfn-python-lint/blob/main/docs/cfn-resource-specification.md#valueprimitivetype) +''' diff --git a/analyzers/cfn-lint/.deepsource/issues/CFLIN-E3013.toml b/analyzers/cfn-lint/.deepsource/issues/CFLIN-E3013.toml new file mode 100644 index 00000000..5337ac14 --- /dev/null +++ b/analyzers/cfn-lint/.deepsource/issues/CFLIN-E3013.toml @@ -0,0 +1,12 @@ +title = "Cloudfront aliases" +verbose_name = "E3013" +severity = "major" +category = "antipattern" +weight = 70 +tags = ["properties", "cloudfront"] +description = ''' +CloudFront aliases should contain valid domain names + +### References: +[Aws Properties Cloudfront Distribution Distributionconfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-distributionconfig.html#cfn-cloudfront-distribution-distributionconfig-aliases) +''' diff --git a/analyzers/cfn-lint/.deepsource/issues/CFLIN-E3016.toml b/analyzers/cfn-lint/.deepsource/issues/CFLIN-E3016.toml new file mode 100644 index 00000000..ea8c0cc0 --- /dev/null +++ b/analyzers/cfn-lint/.deepsource/issues/CFLIN-E3016.toml @@ -0,0 +1,12 @@ +title = "Check the configuration of a resources updatepolicy" +verbose_name = "E3016" +severity = "major" +category = "antipattern" +weight = 70 +tags = ["resources", "updatepolicy"] +description = ''' +Make sure a resources UpdatePolicy is properly configured + +### References: +[Aws Attribute Updatepolicy](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-updatepolicy.html) +''' diff --git a/analyzers/cfn-lint/.deepsource/issues/CFLIN-E3017.toml b/analyzers/cfn-lint/.deepsource/issues/CFLIN-E3017.toml new file mode 100644 index 00000000..48e88aa3 --- /dev/null +++ b/analyzers/cfn-lint/.deepsource/issues/CFLIN-E3017.toml @@ -0,0 +1,12 @@ +title = "Property is required based on another properties value" +verbose_name = "E3017" +severity = "major" +category = "antipattern" +weight = 70 +tags = ["resources"] +description = ''' +When certain properties have a certain value it results in other properties being required. This rule will validate those required properties are specified when those values are supplied + +### References: +[]() +''' diff --git a/analyzers/cfn-lint/.deepsource/issues/CFLIN-E3018.toml b/analyzers/cfn-lint/.deepsource/issues/CFLIN-E3018.toml new file mode 100644 index 00000000..e79d37cd --- /dev/null +++ b/analyzers/cfn-lint/.deepsource/issues/CFLIN-E3018.toml @@ -0,0 +1,12 @@ +title = "Property is unwanted based on another properties value" +verbose_name = "E3018" +severity = "major" +category = "antipattern" +weight = 70 +tags = ["resources"] +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 + +### References: +[]() +''' diff --git a/analyzers/cfn-lint/.deepsource/issues/CFLIN-E3020.toml b/analyzers/cfn-lint/.deepsource/issues/CFLIN-E3020.toml new file mode 100644 index 00000000..d4ab4a7f --- /dev/null +++ b/analyzers/cfn-lint/.deepsource/issues/CFLIN-E3020.toml @@ -0,0 +1,12 @@ +title = "Validate route53 recordsets" +verbose_name = "E3020" +severity = "major" +category = "antipattern" +weight = 70 +tags = ["resources", "route53", "record_set"] +description = ''' +Check if all RecordSets are correctly configured + +### References: +[Resourcerecordtypes](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/ResourceRecordTypes.html) +''' diff --git a/analyzers/cfn-lint/.deepsource/issues/CFLIN-E3021.toml b/analyzers/cfn-lint/.deepsource/issues/CFLIN-E3021.toml new file mode 100644 index 00000000..bc0a475d --- /dev/null +++ b/analyzers/cfn-lint/.deepsource/issues/CFLIN-E3021.toml @@ -0,0 +1,12 @@ +title = "Check events rule targets are less than or equal to 5" +verbose_name = "E3021" +severity = "major" +category = "antipattern" +weight = 70 +tags = ["resources", "events"] +description = ''' +CloudWatch Events Rule can only support up to 5 targets + +### References: +[Cloudwatch_Limits_Cwe](https://docs.aws.amazon.com/AmazonCloudWatch/latest/events/cloudwatch_limits_cwe.html) +''' diff --git a/analyzers/cfn-lint/.deepsource/issues/CFLIN-E3022.toml b/analyzers/cfn-lint/.deepsource/issues/CFLIN-E3022.toml new file mode 100644 index 00000000..c79e3174 --- /dev/null +++ b/analyzers/cfn-lint/.deepsource/issues/CFLIN-E3022.toml @@ -0,0 +1,12 @@ +title = "Resource subnetroutetableassociation properties" +verbose_name = "E3022" +severity = "major" +category = "antipattern" +weight = 70 +tags = ["resources", "ec2", "subnet", "route table"] +description = ''' +Validate there is only one SubnetRouteTableAssociation per subnet + +### References: +[Aws Resource Ec2 Subnet Route Table Assoc](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-subnet-route-table-assoc.html) +''' diff --git a/analyzers/cfn-lint/.deepsource/issues/CFLIN-E3025.toml b/analyzers/cfn-lint/.deepsource/issues/CFLIN-E3025.toml new file mode 100644 index 00000000..5b9d5a82 --- /dev/null +++ b/analyzers/cfn-lint/.deepsource/issues/CFLIN-E3025.toml @@ -0,0 +1,12 @@ +title = "Rds instance type is compatible with the rds type" +verbose_name = "E3025" +severity = "major" +category = "antipattern" +weight = 70 +tags = ["resources", "rds"] +description = ''' +Check the RDS instance types are supported by the type of RDS engine. Only if the values are strings will this be checked. + +### References: +[Concepts.Dbinstanceclass](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.DBInstanceClass.html) +''' diff --git a/analyzers/cfn-lint/.deepsource/issues/CFLIN-E3026.toml b/analyzers/cfn-lint/.deepsource/issues/CFLIN-E3026.toml new file mode 100644 index 00000000..1bf37a47 --- /dev/null +++ b/analyzers/cfn-lint/.deepsource/issues/CFLIN-E3026.toml @@ -0,0 +1,12 @@ +title = "Check elastic cache redis cluster settings" +verbose_name = "E3026" +severity = "major" +category = "antipattern" +weight = 70 +tags = ["resources", "elasticcache"] +description = ''' +Evaluate Redis Cluster groups to make sure automatic failover is enabled when cluster mode is enabled + +### References: +[CloudFormation Python Lint](https://github.com/awslabs/cfn-python-lint) +''' diff --git a/analyzers/cfn-lint/.deepsource/issues/CFLIN-E3027.toml b/analyzers/cfn-lint/.deepsource/issues/CFLIN-E3027.toml new file mode 100644 index 00000000..eccdfc2c --- /dev/null +++ b/analyzers/cfn-lint/.deepsource/issues/CFLIN-E3027.toml @@ -0,0 +1,12 @@ +title = "Validate aws event scheduleexpression format" +verbose_name = "E3027" +severity = "major" +category = "antipattern" +weight = 70 +tags = ["resources", "events"] +description = ''' +Validate the formation of the AWS::Event ScheduleExpression + +### References: +[Scheduledevents](https://docs.aws.amazon.com/AmazonCloudWatch/latest/events/ScheduledEvents.html) +''' diff --git a/analyzers/cfn-lint/.deepsource/issues/CFLIN-E3030.toml b/analyzers/cfn-lint/.deepsource/issues/CFLIN-E3030.toml new file mode 100644 index 00000000..03d2445f --- /dev/null +++ b/analyzers/cfn-lint/.deepsource/issues/CFLIN-E3030.toml @@ -0,0 +1,12 @@ +title = "Check if properties have a valid value" +verbose_name = "E3030" +severity = "major" +category = "antipattern" +weight = 70 +tags = ["resources", "property", "allowed value"] +description = ''' +Check if properties have a valid value in case of an enumator + +### References: +[CloudFormation Resource Specification](https://github.com/aws-cloudformation/cfn-python-lint/blob/main/docs/cfn-resource-specification.md#allowedvalue) +''' diff --git a/analyzers/cfn-lint/.deepsource/issues/CFLIN-E3031.toml b/analyzers/cfn-lint/.deepsource/issues/CFLIN-E3031.toml new file mode 100644 index 00000000..88392fa6 --- /dev/null +++ b/analyzers/cfn-lint/.deepsource/issues/CFLIN-E3031.toml @@ -0,0 +1,12 @@ +title = "Check if property values adhere to a specific pattern" +verbose_name = "E3031" +severity = "major" +category = "antipattern" +weight = 70 +tags = ["resources", "property", "allowed pattern", "regex"] +description = ''' +Check if properties have a valid value in case of a pattern (Regular Expression) + +### References: +[CloudFormation Resource Specification](https://github.com/awslabs/cfn-python-lint/blob/main/docs/cfn-resource-specification.md#allowedpattern) +''' diff --git a/analyzers/cfn-lint/.deepsource/issues/CFLIN-E3032.toml b/analyzers/cfn-lint/.deepsource/issues/CFLIN-E3032.toml new file mode 100644 index 00000000..4bce5a66 --- /dev/null +++ b/analyzers/cfn-lint/.deepsource/issues/CFLIN-E3032.toml @@ -0,0 +1,12 @@ +title = "Check if a list has between min and max number of values specified" +verbose_name = "E3032" +severity = "major" +category = "antipattern" +weight = 70 +tags = ["resources", "property", "list", "size"] +description = ''' +Check lists for the number of items in the list to validate they are between the minimum and maximum + +### References: +[CloudFormation Resource Specification](https://github.com/awslabs/cfn-python-lint/blob/main/docs/cfn-resource-specification.md#allowedpattern) +''' diff --git a/analyzers/cfn-lint/.deepsource/issues/CFLIN-E3033.toml b/analyzers/cfn-lint/.deepsource/issues/CFLIN-E3033.toml new file mode 100644 index 00000000..9a04881d --- /dev/null +++ b/analyzers/cfn-lint/.deepsource/issues/CFLIN-E3033.toml @@ -0,0 +1,12 @@ +title = "Check if a string has between min and max number of values specified" +verbose_name = "E3033" +severity = "major" +category = "antipattern" +weight = 70 +tags = ["resources", "property", "string", "size"] +description = ''' +Check strings for its length between the minimum and maximum + +### References: +[CloudFormation Resource Specification](https://github.com/awslabs/cfn-python-lint/blob/main/docs/cfn-resource-specification.md#allowedpattern) +''' diff --git a/analyzers/cfn-lint/.deepsource/issues/CFLIN-E3034.toml b/analyzers/cfn-lint/.deepsource/issues/CFLIN-E3034.toml new file mode 100644 index 00000000..b8956d82 --- /dev/null +++ b/analyzers/cfn-lint/.deepsource/issues/CFLIN-E3034.toml @@ -0,0 +1,12 @@ +title = "Check if a number is between min and max" +verbose_name = "E3034" +severity = "major" +category = "antipattern" +weight = 70 +tags = ["resources", "property", "number", "size"] +description = ''' +Check numbers (integers and floats) for its value being between the minimum and maximum + +### References: +[CloudFormation Resource Specification](https://github.com/awslabs/cfn-python-lint/blob/main/docs/cfn-resource-specification.md#allowedpattern) +''' diff --git a/analyzers/cfn-lint/.deepsource/issues/CFLIN-E3035.toml b/analyzers/cfn-lint/.deepsource/issues/CFLIN-E3035.toml new file mode 100644 index 00000000..e7c2208c --- /dev/null +++ b/analyzers/cfn-lint/.deepsource/issues/CFLIN-E3035.toml @@ -0,0 +1,12 @@ +title = "Check deletionpolicy values for resources" +verbose_name = "E3035" +severity = "major" +category = "antipattern" +weight = 70 +tags = ["resources", "deletionpolicy"] +description = ''' +Check that the DeletionPolicy values are valid + +### References: +[Aws Attribute Deletionpolicy](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html) +''' diff --git a/analyzers/cfn-lint/.deepsource/issues/CFLIN-E3036.toml b/analyzers/cfn-lint/.deepsource/issues/CFLIN-E3036.toml new file mode 100644 index 00000000..08becbab --- /dev/null +++ b/analyzers/cfn-lint/.deepsource/issues/CFLIN-E3036.toml @@ -0,0 +1,12 @@ +title = "Check updatereplacepolicy values for resources" +verbose_name = "E3036" +severity = "major" +category = "antipattern" +weight = 70 +tags = ["resources", "updatereplacepolicy"] +description = ''' +Check that the UpdateReplacePolicy values are valid + +### References: +[Aws Attribute Updatereplacepolicy](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-updatereplacepolicy.html) +''' diff --git a/analyzers/cfn-lint/.deepsource/issues/CFLIN-E3037.toml b/analyzers/cfn-lint/.deepsource/issues/CFLIN-E3037.toml new file mode 100644 index 00000000..54c7d264 --- /dev/null +++ b/analyzers/cfn-lint/.deepsource/issues/CFLIN-E3037.toml @@ -0,0 +1,12 @@ +title = "Check if a list has duplicate values" +verbose_name = "E3037" +severity = "major" +category = "antipattern" +weight = 70 +tags = ["resources", "property", "list"] +description = ''' +Certain lists don't support duplicate items. Check when duplicates are provided but not supported. + +### References: +[CloudFormation Resource Specification](https://github.com/aws-cloudformation/cfn-python-lint/blob/main/docs/cfn-resource-specification.md#allowedvalue) +''' diff --git a/analyzers/cfn-lint/.deepsource/issues/CFLIN-E3038.toml b/analyzers/cfn-lint/.deepsource/issues/CFLIN-E3038.toml new file mode 100644 index 00000000..d11a8039 --- /dev/null +++ b/analyzers/cfn-lint/.deepsource/issues/CFLIN-E3038.toml @@ -0,0 +1,12 @@ +title = "Check if serverless resources have serverless transform" +verbose_name = "E3038" +severity = "major" +category = "antipattern" +weight = 70 +tags = ["resources", "transform"] +description = ''' +Check that a template with Serverless Resources also includes the Serverless Transform + +### References: +[CloudFormation Python Lint](https://github.com/aws-cloudformation/cfn-python-lint) +''' diff --git a/analyzers/cfn-lint/.deepsource/issues/CFLIN-E3039.toml b/analyzers/cfn-lint/.deepsource/issues/CFLIN-E3039.toml new file mode 100644 index 00000000..49c80f77 --- /dev/null +++ b/analyzers/cfn-lint/.deepsource/issues/CFLIN-E3039.toml @@ -0,0 +1,12 @@ +title = "Attributedefinitions / keyschemas mismatch" +verbose_name = "E3039" +severity = "major" +category = "antipattern" +weight = 70 +tags = ["resources", "dynamodb"] +description = ''' +Verify the set of Attributes in AttributeDefinitions and KeySchemas match + +### References: +[Aws Resource Dynamodb Table](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dynamodb-table.html) +''' diff --git a/analyzers/cfn-lint/.deepsource/issues/CFLIN-E3041.toml b/analyzers/cfn-lint/.deepsource/issues/CFLIN-E3041.toml new file mode 100644 index 00000000..070d01a8 --- /dev/null +++ b/analyzers/cfn-lint/.deepsource/issues/CFLIN-E3041.toml @@ -0,0 +1,12 @@ +title = "Recordset hostedzonename is a superdomain of name" +verbose_name = "E3041" +severity = "major" +category = "antipattern" +weight = 70 +tags = ["resource", "properties", "route53"] +description = ''' +In a RecordSet, the HostedZoneName must be a superdomain of the Name being validated + +### References: +[Aws Properties Route53 Recordset](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-recordset.html#cfn-route53-recordset-name) +''' diff --git a/analyzers/cfn-lint/.deepsource/issues/CFLIN-E3042.toml b/analyzers/cfn-lint/.deepsource/issues/CFLIN-E3042.toml new file mode 100644 index 00000000..e3fe64ae --- /dev/null +++ b/analyzers/cfn-lint/.deepsource/issues/CFLIN-E3042.toml @@ -0,0 +1,12 @@ +title = "Check at least one essential container is specified" +verbose_name = "E3042" +severity = "major" +category = "antipattern" +weight = 70 +tags = ["properties", "ecs", "task", "container", "fargate"] +description = ''' +Check that every TaskDefinition specifies at least one essential container + +### References: +[Aws Properties Ecs Taskdefinition Containerdefinitions](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-containerdefinitions.html#cfn-ecs-taskdefinition-containerdefinition-essential) +''' diff --git a/analyzers/cfn-lint/.deepsource/issues/CFLIN-E3043.toml b/analyzers/cfn-lint/.deepsource/issues/CFLIN-E3043.toml new file mode 100644 index 00000000..2007321a --- /dev/null +++ b/analyzers/cfn-lint/.deepsource/issues/CFLIN-E3043.toml @@ -0,0 +1,12 @@ +title = "Validate parameters for in a nested stack" +verbose_name = "E3043" +severity = "major" +category = "antipattern" +weight = 70 +tags = ["resources", "cloudformation"] +description = ''' +Evalute if parameters for a nested stack are specified and if parameters are specified for a nested stack that aren't required. + +### References: +[CloudFormation Python Lint](https://github.com/awslabs/cfn-python-lint) +''' diff --git a/analyzers/cfn-lint/.deepsource/issues/CFLIN-E3044.toml b/analyzers/cfn-lint/.deepsource/issues/CFLIN-E3044.toml new file mode 100644 index 00000000..aa5c8e32 --- /dev/null +++ b/analyzers/cfn-lint/.deepsource/issues/CFLIN-E3044.toml @@ -0,0 +1,12 @@ +title = "Check fargate service scheduling strategy" +verbose_name = "E3044" +severity = "major" +category = "antipattern" +weight = 70 +tags = ["properties", "ecs", "service", "container", "fargate"] +description = ''' +Check that Fargate service scheduling strategy is REPLICA + +### References: +[Aws Resource Ecs Service](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-service.html#cfn-ecs-service-schedulingstrategy) +''' diff --git a/analyzers/cfn-lint/.deepsource/issues/CFLIN-E3045.toml b/analyzers/cfn-lint/.deepsource/issues/CFLIN-E3045.toml new file mode 100644 index 00000000..30a285b2 --- /dev/null +++ b/analyzers/cfn-lint/.deepsource/issues/CFLIN-E3045.toml @@ -0,0 +1,12 @@ +title = "Validate accesscontrol are set with ownershipcontrols" +verbose_name = "E3045" +severity = "major" +category = "antipattern" +weight = 70 +tags = ["resources", "s3"] +description = ''' +When using AccessControl other than private you must also configure OwnershipControls. The default is bucket owner enforced which disables ACLs. + +### References: +[About Object Ownership](https://docs.aws.amazon.com/AmazonS3/latest/userguide/about-object-ownership.html) +''' diff --git a/analyzers/cfn-lint/.deepsource/issues/CFLIN-E3050.toml b/analyzers/cfn-lint/.deepsource/issues/CFLIN-E3050.toml new file mode 100644 index 00000000..809927aa --- /dev/null +++ b/analyzers/cfn-lint/.deepsource/issues/CFLIN-E3050.toml @@ -0,0 +1,12 @@ +title = "Check if refing to a iam resource with path set" +verbose_name = "E3050" +severity = "major" +category = "antipattern" +weight = 70 +tags = ["properties", "iam"] +description = ''' +Some resources don't support looking up the IAM resource by name. This check validates when a REF is being used and the Path is not '/' + +### References: +[Reference_Policies_Elements](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements.html) +''' diff --git a/analyzers/cfn-lint/.deepsource/issues/CFLIN-E3502.toml b/analyzers/cfn-lint/.deepsource/issues/CFLIN-E3502.toml new file mode 100644 index 00000000..a9b6f6af --- /dev/null +++ b/analyzers/cfn-lint/.deepsource/issues/CFLIN-E3502.toml @@ -0,0 +1,12 @@ +title = "Check if a json object is within size limits" +verbose_name = "E3502" +severity = "major" +category = "antipattern" +weight = 70 +tags = ["resources", "limits", "json"] +description = ''' +Validate properties that are JSON values so that their length is within the limits + +### References: +[CloudFormation Limits](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cloudformation-limits.html) +''' diff --git a/analyzers/cfn-lint/.deepsource/issues/CFLIN-E3503.toml b/analyzers/cfn-lint/.deepsource/issues/CFLIN-E3503.toml new file mode 100644 index 00000000..29117ca0 --- /dev/null +++ b/analyzers/cfn-lint/.deepsource/issues/CFLIN-E3503.toml @@ -0,0 +1,12 @@ +title = "Validationdomain is superdomain of domainname" +verbose_name = "E3503" +severity = "major" +category = "antipattern" +weight = 70 +tags = ["certificate", "certificatemanager", "domainvalidationoptions", "validationdomain"] +description = ''' +In ValidationDomainOptions, the ValidationDomain must be a superdomain of the DomainName being validated + +### References: +[Aws Properties Certificatemanager Certificate Domainvalidationoption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-certificatemanager-certificate-domainvalidationoption.html#cfn-certificatemanager-certificate-domainvalidationoption-validationdomain) +''' diff --git a/analyzers/cfn-lint/.deepsource/issues/CFLIN-E3504.toml b/analyzers/cfn-lint/.deepsource/issues/CFLIN-E3504.toml new file mode 100644 index 00000000..44f6057c --- /dev/null +++ b/analyzers/cfn-lint/.deepsource/issues/CFLIN-E3504.toml @@ -0,0 +1,12 @@ +title = "Check minimum 90 period is met between backupplan cold and delete" +verbose_name = "E3504" +severity = "major" +category = "antipattern" +weight = 70 +tags = ["properties", "backup", "plan", "lifecycle"] +description = ''' +Check that Backup plans with lifecycle rules have >= 90 days between cold and delete + +### References: +[Aws Properties Backup Backupplan Lifecycleresourcetype](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-backup-backupplan-lifecycleresourcetype.html) +''' diff --git a/analyzers/cfn-lint/.deepsource/issues/CFLIN-E4001.toml b/analyzers/cfn-lint/.deepsource/issues/CFLIN-E4001.toml new file mode 100644 index 00000000..1bd138ed --- /dev/null +++ b/analyzers/cfn-lint/.deepsource/issues/CFLIN-E4001.toml @@ -0,0 +1,12 @@ +title = "Metadata interface have appropriate properties" +verbose_name = "E4001" +severity = "major" +category = "antipattern" +weight = 70 +tags = ["metadata"] +description = ''' +Metadata Interface properties are properly configured + +### References: +[Aws Resource CloudFormation Interface](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-interface.html) +''' diff --git a/analyzers/cfn-lint/.deepsource/issues/CFLIN-E4002.toml b/analyzers/cfn-lint/.deepsource/issues/CFLIN-E4002.toml new file mode 100644 index 00000000..10999e03 --- /dev/null +++ b/analyzers/cfn-lint/.deepsource/issues/CFLIN-E4002.toml @@ -0,0 +1,12 @@ +title = "Validate the configuration of the metadata section" +verbose_name = "E4002" +severity = "major" +category = "antipattern" +weight = 70 +tags = ["metadata"] +description = ''' +Validates that Metadata section is an object and has no null values + +### References: +[Metadata Section Structure](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html) +''' diff --git a/analyzers/cfn-lint/.deepsource/issues/CFLIN-E5001.toml b/analyzers/cfn-lint/.deepsource/issues/CFLIN-E5001.toml new file mode 100644 index 00000000..aa84d50b --- /dev/null +++ b/analyzers/cfn-lint/.deepsource/issues/CFLIN-E5001.toml @@ -0,0 +1,12 @@ +title = "Check that modules resources are valid" +verbose_name = "E5001" +severity = "major" +category = "antipattern" +weight = 70 +tags = ["resources", "modules"] +description = ''' +Check that Modules resources are valid + +### References: +[Userguide](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/) +''' diff --git a/analyzers/cfn-lint/.deepsource/issues/CFLIN-E6001.toml b/analyzers/cfn-lint/.deepsource/issues/CFLIN-E6001.toml new file mode 100644 index 00000000..3f896d66 --- /dev/null +++ b/analyzers/cfn-lint/.deepsource/issues/CFLIN-E6001.toml @@ -0,0 +1,12 @@ +title = "Outputs have appropriate properties" +verbose_name = "E6001" +severity = "major" +category = "antipattern" +weight = 70 +tags = ["outputs"] +description = ''' +Making sure the outputs are properly configured + +### References: +[Outputs Section Structure](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/outputs-section-structure.html) +''' diff --git a/analyzers/cfn-lint/.deepsource/issues/CFLIN-E6002.toml b/analyzers/cfn-lint/.deepsource/issues/CFLIN-E6002.toml new file mode 100644 index 00000000..0db03ca1 --- /dev/null +++ b/analyzers/cfn-lint/.deepsource/issues/CFLIN-E6002.toml @@ -0,0 +1,12 @@ +title = "Outputs have required properties" +verbose_name = "E6002" +severity = "major" +category = "antipattern" +weight = 70 +tags = ["outputs"] +description = ''' +Making sure the outputs have required properties + +### References: +[Outputs Section Structure](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/outputs-section-structure.html) +''' diff --git a/analyzers/cfn-lint/.deepsource/issues/CFLIN-E6003.toml b/analyzers/cfn-lint/.deepsource/issues/CFLIN-E6003.toml new file mode 100644 index 00000000..ba0ff5f1 --- /dev/null +++ b/analyzers/cfn-lint/.deepsource/issues/CFLIN-E6003.toml @@ -0,0 +1,12 @@ +title = "Outputs have values of strings" +verbose_name = "E6003" +severity = "major" +category = "antipattern" +weight = 70 +tags = ["outputs"] +description = ''' +Making sure the outputs have strings as values + +### References: +[Outputs Section Structure](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/outputs-section-structure.html) +''' diff --git a/analyzers/cfn-lint/.deepsource/issues/CFLIN-E6004.toml b/analyzers/cfn-lint/.deepsource/issues/CFLIN-E6004.toml new file mode 100644 index 00000000..33bbd15b --- /dev/null +++ b/analyzers/cfn-lint/.deepsource/issues/CFLIN-E6004.toml @@ -0,0 +1,12 @@ +title = "Outputs have appropriate names" +verbose_name = "E6004" +severity = "major" +category = "antipattern" +weight = 70 +tags = ["outputs"] +description = ''' +Check if Outputs are properly named (A-Za-z0-9) + +### References: +[Outputs Section Structure](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/outputs-section-structure.html) +''' diff --git a/analyzers/cfn-lint/.deepsource/issues/CFLIN-E6005.toml b/analyzers/cfn-lint/.deepsource/issues/CFLIN-E6005.toml new file mode 100644 index 00000000..81d3981c --- /dev/null +++ b/analyzers/cfn-lint/.deepsource/issues/CFLIN-E6005.toml @@ -0,0 +1,12 @@ +title = "Outputs descriptions can only be strings" +verbose_name = "E6005" +severity = "major" +category = "antipattern" +weight = 70 +tags = ["outputs"] +description = ''' +Outputs descriptions can only be strings + +### References: +[Outputs Section Structure](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/outputs-section-structure.html) +''' diff --git a/analyzers/cfn-lint/.deepsource/issues/CFLIN-E6010.toml b/analyzers/cfn-lint/.deepsource/issues/CFLIN-E6010.toml new file mode 100644 index 00000000..6eae1f63 --- /dev/null +++ b/analyzers/cfn-lint/.deepsource/issues/CFLIN-E6010.toml @@ -0,0 +1,12 @@ +title = "Output limit not exceeded" +verbose_name = "E6010" +severity = "major" +category = "antipattern" +weight = 70 +tags = ["outputs", "limits"] +description = ''' +Check the number of Outputs in the template is less than the upper limit + +### References: +[CloudFormation Limits](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cloudformation-limits.html) +''' diff --git a/analyzers/cfn-lint/.deepsource/issues/CFLIN-E6011.toml b/analyzers/cfn-lint/.deepsource/issues/CFLIN-E6011.toml new file mode 100644 index 00000000..136ae019 --- /dev/null +++ b/analyzers/cfn-lint/.deepsource/issues/CFLIN-E6011.toml @@ -0,0 +1,12 @@ +title = "Output name limit not exceeded" +verbose_name = "E6011" +severity = "major" +category = "antipattern" +weight = 70 +tags = ["outputs", "limits"] +description = ''' +Check the size of Output names in the template is less than the upper limit + +### References: +[CloudFormation Limits](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cloudformation-limits.html) +''' diff --git a/analyzers/cfn-lint/.deepsource/issues/CFLIN-E6012.toml b/analyzers/cfn-lint/.deepsource/issues/CFLIN-E6012.toml new file mode 100644 index 00000000..344764dd --- /dev/null +++ b/analyzers/cfn-lint/.deepsource/issues/CFLIN-E6012.toml @@ -0,0 +1,12 @@ +title = "Output description limit not exceeded" +verbose_name = "E6012" +severity = "major" +category = "antipattern" +weight = 70 +tags = ["outputs", "limits"] +description = ''' +Check the size of Output description in the template is less than the upper limit + +### References: +[Outputs Section Structure](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/outputs-section-structure.html) +''' diff --git a/analyzers/cfn-lint/.deepsource/issues/CFLIN-E7001.toml b/analyzers/cfn-lint/.deepsource/issues/CFLIN-E7001.toml new file mode 100644 index 00000000..742990ec --- /dev/null +++ b/analyzers/cfn-lint/.deepsource/issues/CFLIN-E7001.toml @@ -0,0 +1,12 @@ +title = "Mappings are appropriately configured" +verbose_name = "E7001" +severity = "major" +category = "antipattern" +weight = 70 +tags = ["mappings"] +description = ''' +Check if Mappings are properly configured + +### References: +[Mappings Section Structure](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/mappings-section-structure.html) +''' diff --git a/analyzers/cfn-lint/.deepsource/issues/CFLIN-E7002.toml b/analyzers/cfn-lint/.deepsource/issues/CFLIN-E7002.toml new file mode 100644 index 00000000..a001e8aa --- /dev/null +++ b/analyzers/cfn-lint/.deepsource/issues/CFLIN-E7002.toml @@ -0,0 +1,12 @@ +title = "Mappings have appropriate names" +verbose_name = "E7002" +severity = "major" +category = "antipattern" +weight = 70 +tags = ["mappings"] +description = ''' +Check if Mappings are properly named (A-Za-z0-9) + +### References: +[Mappings Section Structure](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/mappings-section-structure.html) +''' diff --git a/analyzers/cfn-lint/.deepsource/issues/CFLIN-E7003.toml b/analyzers/cfn-lint/.deepsource/issues/CFLIN-E7003.toml new file mode 100644 index 00000000..273aa321 --- /dev/null +++ b/analyzers/cfn-lint/.deepsource/issues/CFLIN-E7003.toml @@ -0,0 +1,12 @@ +title = "Mapping keys are strings and alphanumeric" +verbose_name = "E7003" +severity = "major" +category = "antipattern" +weight = 70 +tags = ["mappings"] +description = ''' +Check if Mappings keys are properly typed as strings and alphanumeric + +### References: +[Mappings Section Structure](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/mappings-section-structure.html) +''' diff --git a/analyzers/cfn-lint/.deepsource/issues/CFLIN-E7010.toml b/analyzers/cfn-lint/.deepsource/issues/CFLIN-E7010.toml new file mode 100644 index 00000000..d3efe484 --- /dev/null +++ b/analyzers/cfn-lint/.deepsource/issues/CFLIN-E7010.toml @@ -0,0 +1,12 @@ +title = "Mapping limit not exceeded" +verbose_name = "E7010" +severity = "major" +category = "antipattern" +weight = 70 +tags = ["mappings", "limits"] +description = ''' +Check the number of Mappings in the template is less than the upper limit + +### References: +[CloudFormation Limits](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cloudformation-limits.html) +''' diff --git a/analyzers/cfn-lint/.deepsource/issues/CFLIN-E7011.toml b/analyzers/cfn-lint/.deepsource/issues/CFLIN-E7011.toml new file mode 100644 index 00000000..3cbf9ec9 --- /dev/null +++ b/analyzers/cfn-lint/.deepsource/issues/CFLIN-E7011.toml @@ -0,0 +1,12 @@ +title = "Mapping name limit not exceeded" +verbose_name = "E7011" +severity = "major" +category = "antipattern" +weight = 70 +tags = ["mappings", "limits"] +description = ''' +Check the size of Mapping names in the template is less than the upper limit + +### References: +[CloudFormation Limits](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cloudformation-limits.html) +''' diff --git a/analyzers/cfn-lint/.deepsource/issues/CFLIN-E7012.toml b/analyzers/cfn-lint/.deepsource/issues/CFLIN-E7012.toml new file mode 100644 index 00000000..37c86119 --- /dev/null +++ b/analyzers/cfn-lint/.deepsource/issues/CFLIN-E7012.toml @@ -0,0 +1,12 @@ +title = "Mapping attribute limit not exceeded" +verbose_name = "E7012" +severity = "major" +category = "antipattern" +weight = 70 +tags = ["mappings", "limits"] +description = ''' +Check if the amount of Mapping attributes in the template is less than the upper limit + +### References: +[CloudFormation Limits](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cloudformation-limits.html) +''' diff --git a/analyzers/cfn-lint/.deepsource/issues/CFLIN-E8001.toml b/analyzers/cfn-lint/.deepsource/issues/CFLIN-E8001.toml new file mode 100644 index 00000000..ecf9c29d --- /dev/null +++ b/analyzers/cfn-lint/.deepsource/issues/CFLIN-E8001.toml @@ -0,0 +1,12 @@ +title = "Conditions have appropriate properties" +verbose_name = "E8001" +severity = "major" +category = "antipattern" +weight = 70 +tags = ["conditions"] +description = ''' +Check if Conditions are properly configured + +### References: +[Conditions Section Structure](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/conditions-section-structure.html) +''' diff --git a/analyzers/cfn-lint/.deepsource/issues/CFLIN-E8002.toml b/analyzers/cfn-lint/.deepsource/issues/CFLIN-E8002.toml new file mode 100644 index 00000000..92d4101e --- /dev/null +++ b/analyzers/cfn-lint/.deepsource/issues/CFLIN-E8002.toml @@ -0,0 +1,12 @@ +title = "Check if the referenced conditions are defined" +verbose_name = "E8002" +severity = "major" +category = "antipattern" +weight = 70 +tags = ["conditions"] +description = ''' +Making sure the used conditions are actually defined in the Conditions section + +### References: +[Conditions Section Structure](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/conditions-section-structure.html) +''' diff --git a/analyzers/cfn-lint/.deepsource/issues/CFLIN-E8003.toml b/analyzers/cfn-lint/.deepsource/issues/CFLIN-E8003.toml new file mode 100644 index 00000000..e914d7bc --- /dev/null +++ b/analyzers/cfn-lint/.deepsource/issues/CFLIN-E8003.toml @@ -0,0 +1,12 @@ +title = "Check fn::equals structure for validity" +verbose_name = "E8003" +severity = "major" +category = "antipattern" +weight = 70 +tags = ["functions", "equals"] +description = ''' +Check Fn::Equals is a list of two elements + +### References: +[Intrinsic Function Reference Conditions](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-conditions.html#intrinsic-function-reference-conditions-equals) +''' diff --git a/analyzers/cfn-lint/.deepsource/issues/CFLIN-E8004.toml b/analyzers/cfn-lint/.deepsource/issues/CFLIN-E8004.toml new file mode 100644 index 00000000..ab48f9e6 --- /dev/null +++ b/analyzers/cfn-lint/.deepsource/issues/CFLIN-E8004.toml @@ -0,0 +1,12 @@ +title = "Check fn::and structure for validity" +verbose_name = "E8004" +severity = "major" +category = "antipattern" +weight = 70 +tags = ["functions", "and"] +description = ''' +Check Fn::And is a list of two elements + +### References: +[Intrinsic Function Reference Conditions](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-conditions.html#intrinsic-function-reference-conditions-and) +''' diff --git a/analyzers/cfn-lint/.deepsource/issues/CFLIN-E8005.toml b/analyzers/cfn-lint/.deepsource/issues/CFLIN-E8005.toml new file mode 100644 index 00000000..c0f7372b --- /dev/null +++ b/analyzers/cfn-lint/.deepsource/issues/CFLIN-E8005.toml @@ -0,0 +1,12 @@ +title = "Check fn::not structure for validity" +verbose_name = "E8005" +severity = "major" +category = "antipattern" +weight = 70 +tags = ["functions", "not"] +description = ''' +Check Fn::Not is a list of one element + +### References: +[Intrinsic Function Reference Conditions](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-conditions.html#intrinsic-function-reference-conditions-not) +''' diff --git a/analyzers/cfn-lint/.deepsource/issues/CFLIN-E8006.toml b/analyzers/cfn-lint/.deepsource/issues/CFLIN-E8006.toml new file mode 100644 index 00000000..5218a0f9 --- /dev/null +++ b/analyzers/cfn-lint/.deepsource/issues/CFLIN-E8006.toml @@ -0,0 +1,12 @@ +title = "Check fn::or structure for validity" +verbose_name = "E8006" +severity = "major" +category = "antipattern" +weight = 70 +tags = ["functions", "or"] +description = ''' +Check Fn::Or is a list of two elements + +### References: +[Intrinsic Function Reference Conditions](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-conditions.html#intrinsic-function-reference-conditions-or) +''' diff --git a/analyzers/cfn-lint/.deepsource/issues/CFLIN-I1002.toml b/analyzers/cfn-lint/.deepsource/issues/CFLIN-I1002.toml new file mode 100644 index 00000000..9bbb2d57 --- /dev/null +++ b/analyzers/cfn-lint/.deepsource/issues/CFLIN-I1002.toml @@ -0,0 +1,12 @@ +title = "Template size limit" +verbose_name = "I1002" +severity = "major" +category = "antipattern" +weight = 70 +tags = ["limits"] +description = ''' +Check the size of the template is approaching the upper limit + +### References: +[CloudFormation Limits](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cloudformation-limits.html) +''' diff --git a/analyzers/cfn-lint/.deepsource/issues/CFLIN-I1003.toml b/analyzers/cfn-lint/.deepsource/issues/CFLIN-I1003.toml new file mode 100644 index 00000000..2d8d6ccb --- /dev/null +++ b/analyzers/cfn-lint/.deepsource/issues/CFLIN-I1003.toml @@ -0,0 +1,12 @@ +title = "Template description limit" +verbose_name = "I1003" +severity = "major" +category = "antipattern" +weight = 70 +tags = ["description", "limits"] +description = ''' +Check if the size of the template description is approaching the upper limit + +### References: +[CloudFormation Limits](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cloudformation-limits.html) +''' diff --git a/analyzers/cfn-lint/.deepsource/issues/CFLIN-I1022.toml b/analyzers/cfn-lint/.deepsource/issues/CFLIN-I1022.toml new file mode 100644 index 00000000..af987aba --- /dev/null +++ b/analyzers/cfn-lint/.deepsource/issues/CFLIN-I1022.toml @@ -0,0 +1,12 @@ +title = "Use sub instead of join" +verbose_name = "I1022" +severity = "major" +category = "antipattern" +weight = 70 +tags = ["functions", "sub", "join"] +description = ''' +Prefer a sub instead of Join when using a join delimiter that is empty + +### References: +[Intrinsic Function Reference Sub](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-sub.html) +''' diff --git a/analyzers/cfn-lint/.deepsource/issues/CFLIN-I2010.toml b/analyzers/cfn-lint/.deepsource/issues/CFLIN-I2010.toml new file mode 100644 index 00000000..02214d03 --- /dev/null +++ b/analyzers/cfn-lint/.deepsource/issues/CFLIN-I2010.toml @@ -0,0 +1,12 @@ +title = "Parameter limit" +verbose_name = "I2010" +severity = "major" +category = "antipattern" +weight = 70 +tags = ["parameters", "limits"] +description = ''' +Check the number of Parameters in the template is approaching the upper limit + +### References: +[CloudFormation Limits](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cloudformation-limits.html) +''' diff --git a/analyzers/cfn-lint/.deepsource/issues/CFLIN-I2011.toml b/analyzers/cfn-lint/.deepsource/issues/CFLIN-I2011.toml new file mode 100644 index 00000000..d98c6f76 --- /dev/null +++ b/analyzers/cfn-lint/.deepsource/issues/CFLIN-I2011.toml @@ -0,0 +1,12 @@ +title = "Parameter name limit" +verbose_name = "I2011" +severity = "major" +category = "antipattern" +weight = 70 +tags = ["parameters", "limits"] +description = ''' +Check the size of Parameter names in the template is approaching the upper limit + +### References: +[CloudFormation Limits](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cloudformation-limits.html) +''' diff --git a/analyzers/cfn-lint/.deepsource/issues/CFLIN-I2012.toml b/analyzers/cfn-lint/.deepsource/issues/CFLIN-I2012.toml new file mode 100644 index 00000000..1fba696d --- /dev/null +++ b/analyzers/cfn-lint/.deepsource/issues/CFLIN-I2012.toml @@ -0,0 +1,12 @@ +title = "Parameter value limit" +verbose_name = "I2012" +severity = "major" +category = "antipattern" +weight = 70 +tags = ["parameters", "limits"] +description = ''' +Check if the size of Parameter values in the template is approaching the upper limit + +### References: +[CloudFormation Limits](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cloudformation-limits.html) +''' diff --git a/analyzers/cfn-lint/.deepsource/issues/CFLIN-I2530.toml b/analyzers/cfn-lint/.deepsource/issues/CFLIN-I2530.toml new file mode 100644 index 00000000..247e634e --- /dev/null +++ b/analyzers/cfn-lint/.deepsource/issues/CFLIN-I2530.toml @@ -0,0 +1,12 @@ +title = "Validate that snapstart is configured for >= java11 runtimes" +verbose_name = "I2530" +severity = "major" +category = "antipattern" +weight = 70 +tags = ["resources", "lambda"] +description = ''' +SnapStart is a no-cost feature that can increase performance up to 10x. Enable SnapStart for Java 11 and greater runtimes + +### References: +[Snapstart](https://docs.aws.amazon.com/lambda/latest/dg/snapstart.html) +''' diff --git a/analyzers/cfn-lint/.deepsource/issues/CFLIN-I3010.toml b/analyzers/cfn-lint/.deepsource/issues/CFLIN-I3010.toml new file mode 100644 index 00000000..98f34604 --- /dev/null +++ b/analyzers/cfn-lint/.deepsource/issues/CFLIN-I3010.toml @@ -0,0 +1,12 @@ +title = "Resource limit" +verbose_name = "I3010" +severity = "major" +category = "antipattern" +weight = 70 +tags = ["resources", "limits"] +description = ''' +Check the number of Resources in the template is approaching the upper limit + +### References: +[CloudFormation Limits](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cloudformation-limits.html) +''' diff --git a/analyzers/cfn-lint/.deepsource/issues/CFLIN-I3011.toml b/analyzers/cfn-lint/.deepsource/issues/CFLIN-I3011.toml new file mode 100644 index 00000000..a32d33d7 --- /dev/null +++ b/analyzers/cfn-lint/.deepsource/issues/CFLIN-I3011.toml @@ -0,0 +1,12 @@ +title = "Check stateful resources have a set updatereplacepolicy/deletionpolicy" +verbose_name = "I3011" +severity = "major" +category = "antipattern" +weight = 70 +tags = ["resources", "updatereplacepolicy", "deletionpolicy"] +description = ''' +The default action when replacing/removing a resource is to delete it. This check requires you to explicitly set policies + +### References: +[Aws Attribute Deletionpolicy](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html) +''' diff --git a/analyzers/cfn-lint/.deepsource/issues/CFLIN-I3012.toml b/analyzers/cfn-lint/.deepsource/issues/CFLIN-I3012.toml new file mode 100644 index 00000000..25eb4061 --- /dev/null +++ b/analyzers/cfn-lint/.deepsource/issues/CFLIN-I3012.toml @@ -0,0 +1,12 @@ +title = "Resource name limit" +verbose_name = "I3012" +severity = "major" +category = "antipattern" +weight = 70 +tags = ["resources", "limits"] +description = ''' +Check the size of Resource names in the template is approaching the upper limit + +### References: +[CloudFormation Limits](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cloudformation-limits.html) +''' diff --git a/analyzers/cfn-lint/.deepsource/issues/CFLIN-I3013.toml b/analyzers/cfn-lint/.deepsource/issues/CFLIN-I3013.toml new file mode 100644 index 00000000..01e4e168 --- /dev/null +++ b/analyzers/cfn-lint/.deepsource/issues/CFLIN-I3013.toml @@ -0,0 +1,12 @@ +title = "Check resources with auto expiring content have explicit retention period" +verbose_name = "I3013" +severity = "major" +category = "antipattern" +weight = 70 +tags = ["resources", "retentionperiod"] +description = ''' +The behaviour for data retention is different across AWS Services.If no retention period is specified the default for some services is to delete the data after a period of time.This check requires you to explicitly set the retention period for those resources to avoid unexpected data losses + +### References: +[CloudFormation Python Lint](https://github.com/aws-cloudformation/cfn-python-lint) +''' diff --git a/analyzers/cfn-lint/.deepsource/issues/CFLIN-I3037.toml b/analyzers/cfn-lint/.deepsource/issues/CFLIN-I3037.toml new file mode 100644 index 00000000..65920142 --- /dev/null +++ b/analyzers/cfn-lint/.deepsource/issues/CFLIN-I3037.toml @@ -0,0 +1,12 @@ +title = "Check if a list that allows duplicates has any duplicates" +verbose_name = "I3037" +severity = "major" +category = "antipattern" +weight = 70 +tags = ["resources", "property", "list"] +description = ''' +Certain lists support duplicate items.Provide an alert when list of strings or numbers have repeats. + +### References: +[Rules](https://github.com/aws-cloudformation/cfn-python-lint/blob/main/docs/rules.md#rules-1) +''' diff --git a/analyzers/cfn-lint/.deepsource/issues/CFLIN-I3042.toml b/analyzers/cfn-lint/.deepsource/issues/CFLIN-I3042.toml new file mode 100644 index 00000000..92b00e7d --- /dev/null +++ b/analyzers/cfn-lint/.deepsource/issues/CFLIN-I3042.toml @@ -0,0 +1,12 @@ +title = "Arns should use correctly placed pseudo parameters" +verbose_name = "I3042" +severity = "major" +category = "antipattern" +weight = 70 +tags = ["resources"] +description = ''' +Checks Resources if ARNs use correctly placed Pseudo Parameters instead of hardcoded Partition, Region, and Account Number + +### References: +[]() +''' diff --git a/analyzers/cfn-lint/.deepsource/issues/CFLIN-I3100.toml b/analyzers/cfn-lint/.deepsource/issues/CFLIN-I3100.toml new file mode 100644 index 00000000..5fd280fb --- /dev/null +++ b/analyzers/cfn-lint/.deepsource/issues/CFLIN-I3100.toml @@ -0,0 +1,12 @@ +title = "Checks for legacy instance type generations" +verbose_name = "I3100" +severity = "major" +category = "antipattern" +weight = 70 +tags = ["resources", "ec2", "rds", "elasticcache", "elasticsearch"] +description = ''' +New instance type generations increase performance and decrease cost + +### References: +[Previous Generation](https://aws.amazon.com/ec2/previous-generation/) +''' diff --git a/analyzers/cfn-lint/.deepsource/issues/CFLIN-I6010.toml b/analyzers/cfn-lint/.deepsource/issues/CFLIN-I6010.toml new file mode 100644 index 00000000..7a9f47a5 --- /dev/null +++ b/analyzers/cfn-lint/.deepsource/issues/CFLIN-I6010.toml @@ -0,0 +1,12 @@ +title = "Output limit" +verbose_name = "I6010" +severity = "major" +category = "antipattern" +weight = 70 +tags = ["outputs", "limits"] +description = ''' +Check the number of Outputs in the template is approaching the upper limit + +### References: +[CloudFormation Limits](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cloudformation-limits.html) +''' diff --git a/analyzers/cfn-lint/.deepsource/issues/CFLIN-I6011.toml b/analyzers/cfn-lint/.deepsource/issues/CFLIN-I6011.toml new file mode 100644 index 00000000..a62cf204 --- /dev/null +++ b/analyzers/cfn-lint/.deepsource/issues/CFLIN-I6011.toml @@ -0,0 +1,12 @@ +title = "Output name limit" +verbose_name = "I6011" +severity = "major" +category = "antipattern" +weight = 70 +tags = ["outputs", "limits"] +description = ''' +Check the size of Output names in the template is approaching the upper limit + +### References: +[CloudFormation Limits](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cloudformation-limits.html) +''' diff --git a/analyzers/cfn-lint/.deepsource/issues/CFLIN-I6012.toml b/analyzers/cfn-lint/.deepsource/issues/CFLIN-I6012.toml new file mode 100644 index 00000000..92cb2e0b --- /dev/null +++ b/analyzers/cfn-lint/.deepsource/issues/CFLIN-I6012.toml @@ -0,0 +1,12 @@ +title = "Output description limit" +verbose_name = "I6012" +severity = "major" +category = "antipattern" +weight = 70 +tags = ["outputs", "limits"] +description = ''' +Check the size of Output description in the template is approaching the upper limit + +### References: +[Outputs Section Structure](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/outputs-section-structure.html) +''' diff --git a/analyzers/cfn-lint/.deepsource/issues/CFLIN-I7010.toml b/analyzers/cfn-lint/.deepsource/issues/CFLIN-I7010.toml new file mode 100644 index 00000000..61c26836 --- /dev/null +++ b/analyzers/cfn-lint/.deepsource/issues/CFLIN-I7010.toml @@ -0,0 +1,12 @@ +title = "Mapping limit" +verbose_name = "I7010" +severity = "major" +category = "antipattern" +weight = 70 +tags = ["mappings", "limits"] +description = ''' +Check the number of Mappings in the template is approaching the upper limit + +### References: +[CloudFormation Limits](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cloudformation-limits.html) +''' diff --git a/analyzers/cfn-lint/.deepsource/issues/CFLIN-I7011.toml b/analyzers/cfn-lint/.deepsource/issues/CFLIN-I7011.toml new file mode 100644 index 00000000..081173fb --- /dev/null +++ b/analyzers/cfn-lint/.deepsource/issues/CFLIN-I7011.toml @@ -0,0 +1,12 @@ +title = "Mapping name limit" +verbose_name = "I7011" +severity = "major" +category = "antipattern" +weight = 70 +tags = ["mappings", "limits"] +description = ''' +Check the size of Mapping names in the template is approaching the upper limit + +### References: +[CloudFormation Limits](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cloudformation-limits.html) +''' diff --git a/analyzers/cfn-lint/.deepsource/issues/CFLIN-I7012.toml b/analyzers/cfn-lint/.deepsource/issues/CFLIN-I7012.toml new file mode 100644 index 00000000..795c8529 --- /dev/null +++ b/analyzers/cfn-lint/.deepsource/issues/CFLIN-I7012.toml @@ -0,0 +1,12 @@ +title = "Mapping attribute limit" +verbose_name = "I7012" +severity = "major" +category = "antipattern" +weight = 70 +tags = ["mappings", "limits"] +description = ''' +Check if the amount of Mapping attributes in the template is approaching the upper limit + +### References: +[CloudFormation Limits](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cloudformation-limits.html) +''' diff --git a/analyzers/cfn-lint/.deepsource/issues/CFLIN-W1001.toml b/analyzers/cfn-lint/.deepsource/issues/CFLIN-W1001.toml new file mode 100644 index 00000000..5fc54ad9 --- /dev/null +++ b/analyzers/cfn-lint/.deepsource/issues/CFLIN-W1001.toml @@ -0,0 +1,12 @@ +title = "Ref/getatt to resource that is available when conditions are applied" +verbose_name = "W1001" +severity = "major" +category = "antipattern" +weight = 70 +tags = ["conditions", "resources", "relationships", "ref", "getatt", "sub"] +description = ''' +Check the Conditions that affect a Ref/GetAtt to make sure the resource being related to is available when there is a resource condition. + +### References: +[Intrinsic Function Reference Ref](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-ref.html) +''' diff --git a/analyzers/cfn-lint/.deepsource/issues/CFLIN-W1011.toml b/analyzers/cfn-lint/.deepsource/issues/CFLIN-W1011.toml new file mode 100644 index 00000000..208e6b4d --- /dev/null +++ b/analyzers/cfn-lint/.deepsource/issues/CFLIN-W1011.toml @@ -0,0 +1,12 @@ +title = "Findinmap keys exist in the map" +verbose_name = "W1011" +severity = "major" +category = "antipattern" +weight = 70 +tags = ["functions", "findinmap"] +description = ''' +Checks the keys in a FindInMap to make sure they exist. Check only if the Map Name is a string and if the key is a string. + +### References: +[Intrinsic Function Reference Findinmap](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-findinmap.html) +''' diff --git a/analyzers/cfn-lint/.deepsource/issues/CFLIN-W1019.toml b/analyzers/cfn-lint/.deepsource/issues/CFLIN-W1019.toml new file mode 100644 index 00000000..8f7e7171 --- /dev/null +++ b/analyzers/cfn-lint/.deepsource/issues/CFLIN-W1019.toml @@ -0,0 +1,12 @@ +title = "Sub validation of parameters" +verbose_name = "W1019" +severity = "major" +category = "antipattern" +weight = 70 +tags = ["functions", "sub"] +description = ''' +Validate that Fn::Sub Parameters are used + +### References: +[Intrinsic Function Reference Sub](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-sub.html) +''' diff --git a/analyzers/cfn-lint/.deepsource/issues/CFLIN-W1020.toml b/analyzers/cfn-lint/.deepsource/issues/CFLIN-W1020.toml new file mode 100644 index 00000000..3b98d20c --- /dev/null +++ b/analyzers/cfn-lint/.deepsource/issues/CFLIN-W1020.toml @@ -0,0 +1,12 @@ +title = "Sub isn't needed if it doesn't have a variable defined" +verbose_name = "W1020" +severity = "major" +category = "antipattern" +weight = 70 +tags = ["functions", "sub"] +description = ''' +Checks sub strings to see if a variable is defined. + +### References: +[Intrinsic Function Reference Sub](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-sub.html) +''' diff --git a/analyzers/cfn-lint/.deepsource/issues/CFLIN-W2001.toml b/analyzers/cfn-lint/.deepsource/issues/CFLIN-W2001.toml new file mode 100644 index 00000000..da54fa04 --- /dev/null +++ b/analyzers/cfn-lint/.deepsource/issues/CFLIN-W2001.toml @@ -0,0 +1,12 @@ +title = "Check if parameters are used" +verbose_name = "W2001" +severity = "major" +category = "antipattern" +weight = 70 +tags = ["parameters"] +description = ''' +Making sure the parameters defined are used + +### References: +[CloudFormation Python Lint](https://github.com/aws-cloudformation/cfn-python-lint) +''' diff --git a/analyzers/cfn-lint/.deepsource/issues/CFLIN-W2030.toml b/analyzers/cfn-lint/.deepsource/issues/CFLIN-W2030.toml new file mode 100644 index 00000000..720dd875 --- /dev/null +++ b/analyzers/cfn-lint/.deepsource/issues/CFLIN-W2030.toml @@ -0,0 +1,12 @@ +title = "Check if parameters have a valid value" +verbose_name = "W2030" +severity = "major" +category = "antipattern" +weight = 70 +tags = ["parameters", "resources", "property", "allowed value"] +description = ''' +Check if parameters have a valid value in case of an enumator. The Parameter's allowed values is based on the usages in property (Ref) + +### References: +[CloudFormation Resource Specification](https://github.com/aws-cloudformation/cfn-python-lint/blob/main/docs/cfn-resource-specification.md#allowedvalue) +''' diff --git a/analyzers/cfn-lint/.deepsource/issues/CFLIN-W2031.toml b/analyzers/cfn-lint/.deepsource/issues/CFLIN-W2031.toml new file mode 100644 index 00000000..f665c78a --- /dev/null +++ b/analyzers/cfn-lint/.deepsource/issues/CFLIN-W2031.toml @@ -0,0 +1,12 @@ +title = "Check if parameters have a valid value based on an allowed pattern" +verbose_name = "W2031" +severity = "major" +category = "antipattern" +weight = 70 +tags = ["parameters", "resources", "property", "allowed pattern"] +description = ''' +Check if parameters have a valid value in a pattern. The Parameter's allowed pattern is based on the usages in property (Ref) + +### References: +[CloudFormation Resource Specification](https://github.com/aws-cloudformation/cfn-python-lint/blob/main/docs/cfn-resource-specification.md#allowedpattern) +''' diff --git a/analyzers/cfn-lint/.deepsource/issues/CFLIN-W2501.toml b/analyzers/cfn-lint/.deepsource/issues/CFLIN-W2501.toml new file mode 100644 index 00000000..a2be7fdd --- /dev/null +++ b/analyzers/cfn-lint/.deepsource/issues/CFLIN-W2501.toml @@ -0,0 +1,12 @@ +title = "Check if password properties are correctly configured" +verbose_name = "W2501" +severity = "major" +category = "antipattern" +weight = 70 +tags = ["parameters", "passwords", "security", "dynamic reference"] +description = ''' +Password properties should not be strings and if parameter using NoEcho + +### References: +[Best Practices](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/best-practices.html#creds) +''' diff --git a/analyzers/cfn-lint/.deepsource/issues/CFLIN-W2506.toml b/analyzers/cfn-lint/.deepsource/issues/CFLIN-W2506.toml new file mode 100644 index 00000000..db201b20 --- /dev/null +++ b/analyzers/cfn-lint/.deepsource/issues/CFLIN-W2506.toml @@ -0,0 +1,12 @@ +title = "Check if imageid parameters have the correct type" +verbose_name = "W2506" +severity = "major" +category = "antipattern" +weight = 70 +tags = ["parameters", "ec2", "imageid"] +description = ''' +See if there are any refs for ImageId to a parameter of inappropriate type. Appropriate Types are [AWS::EC2::Image::Id, AWS::SSM::Parameter::Value] + +### References: +[Best Practices](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/best-practices.html#parmtypes) +''' diff --git a/analyzers/cfn-lint/.deepsource/issues/CFLIN-W2510.toml b/analyzers/cfn-lint/.deepsource/issues/CFLIN-W2510.toml new file mode 100644 index 00000000..73eeee09 --- /dev/null +++ b/analyzers/cfn-lint/.deepsource/issues/CFLIN-W2510.toml @@ -0,0 +1,12 @@ +title = "Parameter memory size attributes should have max and min" +verbose_name = "W2510" +severity = "major" +category = "antipattern" +weight = 70 +tags = ["parameters", "lambda"] +description = ''' +Check if a parameter that is used for Lambda memory size should have a min and max size that matches Lambda constraints + +### References: +[Api_Createfunction](https://docs.aws.amazon.com/lambda/latest/dg/API_CreateFunction.html#SSS-CreateFunction-request-MemorySize) +''' diff --git a/analyzers/cfn-lint/.deepsource/issues/CFLIN-W2511.toml b/analyzers/cfn-lint/.deepsource/issues/CFLIN-W2511.toml new file mode 100644 index 00000000..f9049a00 --- /dev/null +++ b/analyzers/cfn-lint/.deepsource/issues/CFLIN-W2511.toml @@ -0,0 +1,12 @@ +title = "Check iam resource policies syntax" +verbose_name = "W2511" +severity = "major" +category = "antipattern" +weight = 70 +tags = ["properties", "iam"] +description = ''' +See if the elements inside an IAM Resource policy are configured correctly. + +### References: +[Reference_Policies_Elements](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements.html) +''' diff --git a/analyzers/cfn-lint/.deepsource/issues/CFLIN-W2530.toml b/analyzers/cfn-lint/.deepsource/issues/CFLIN-W2530.toml new file mode 100644 index 00000000..639b8bbf --- /dev/null +++ b/analyzers/cfn-lint/.deepsource/issues/CFLIN-W2530.toml @@ -0,0 +1,12 @@ +title = "Validate that snapstart is properly configured" +verbose_name = "W2530" +severity = "major" +category = "antipattern" +weight = 70 +tags = ["resources", "lambda"] +description = ''' +To properly leverage SnapStart, you must configure both the lambda function and attach a Lambda version resource + +### References: +[Snapstart](https://docs.aws.amazon.com/lambda/latest/dg/snapstart.html) +''' diff --git a/analyzers/cfn-lint/.deepsource/issues/CFLIN-W2531.toml b/analyzers/cfn-lint/.deepsource/issues/CFLIN-W2531.toml new file mode 100644 index 00000000..ddf7ee6d --- /dev/null +++ b/analyzers/cfn-lint/.deepsource/issues/CFLIN-W2531.toml @@ -0,0 +1,12 @@ +title = "Check if eol lambda function runtimes are used" +verbose_name = "W2531" +severity = "major" +category = "antipattern" +weight = 70 +tags = ["resources", "lambda", "runtime"] +description = ''' +Check if an EOL Lambda Runtime is specified and give a warning if used. + +### References: +[Runtime Support Policy](https://docs.aws.amazon.com/lambda/latest/dg/runtime-support-policy.html) +''' diff --git a/analyzers/cfn-lint/.deepsource/issues/CFLIN-W2533.toml b/analyzers/cfn-lint/.deepsource/issues/CFLIN-W2533.toml new file mode 100644 index 00000000..d366a635 --- /dev/null +++ b/analyzers/cfn-lint/.deepsource/issues/CFLIN-W2533.toml @@ -0,0 +1,12 @@ +title = "Check required properties for lambda if the deployment package is a .zip file" +verbose_name = "W2533" +severity = "major" +category = "antipattern" +weight = 70 +tags = ["resources", "lambda"] +description = ''' +When the package type is Zip, you must also specify the `handler` and `runtime` properties. + +### References: +[Aws Resource Lambda Function](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-function.html) +''' diff --git a/analyzers/cfn-lint/.deepsource/issues/CFLIN-W3002.toml b/analyzers/cfn-lint/.deepsource/issues/CFLIN-W3002.toml new file mode 100644 index 00000000..d89d2b79 --- /dev/null +++ b/analyzers/cfn-lint/.deepsource/issues/CFLIN-W3002.toml @@ -0,0 +1,12 @@ +title = "Warn when properties are configured to only work with the package command" +verbose_name = "W3002" +severity = "major" +category = "antipattern" +weight = 70 +tags = ["resources"] +description = ''' +Some properties can be configured to only work with the CloudFormationpackage command. Warn when this is the case so user is aware. + +### References: +[Package](https://docs.aws.amazon.com/cli/latest/reference/cloudformation/package.html) +''' diff --git a/analyzers/cfn-lint/.deepsource/issues/CFLIN-W3005.toml b/analyzers/cfn-lint/.deepsource/issues/CFLIN-W3005.toml new file mode 100644 index 00000000..e1765b21 --- /dev/null +++ b/analyzers/cfn-lint/.deepsource/issues/CFLIN-W3005.toml @@ -0,0 +1,12 @@ +title = "Check obsolete dependson configuration for resources" +verbose_name = "W3005" +severity = "major" +category = "antipattern" +weight = 70 +tags = ["resources", "dependson", "ref", "getatt"] +description = ''' +Check if DependsOn is specified if not needed. A Ref or a Fn::GetAtt already is an implicit dependency. + +### References: +[Optimize Aws CloudFormation Templates](https://aws.amazon.com/blogs/devops/optimize-aws-cloudformation-templates/) +''' diff --git a/analyzers/cfn-lint/.deepsource/issues/CFLIN-W3010.toml b/analyzers/cfn-lint/.deepsource/issues/CFLIN-W3010.toml new file mode 100644 index 00000000..377f4f05 --- /dev/null +++ b/analyzers/cfn-lint/.deepsource/issues/CFLIN-W3010.toml @@ -0,0 +1,12 @@ +title = "Availability zone parameters should not be hardcoded" +verbose_name = "W3010" +severity = "major" +category = "antipattern" +weight = 70 +tags = ["parameters", "availabilityzone"] +description = ''' +Check if an Availability Zone property is hardcoded. + +### References: +[CloudFormation Python Lint](https://github.com/aws-cloudformation/cfn-python-lint) +''' diff --git a/analyzers/cfn-lint/.deepsource/issues/CFLIN-W3011.toml b/analyzers/cfn-lint/.deepsource/issues/CFLIN-W3011.toml new file mode 100644 index 00000000..3b386876 --- /dev/null +++ b/analyzers/cfn-lint/.deepsource/issues/CFLIN-W3011.toml @@ -0,0 +1,12 @@ +title = "Check resources with updatereplacepolicy/deletionpolicy have both" +verbose_name = "W3011" +severity = "major" +category = "antipattern" +weight = 70 +tags = ["resources", "updatereplacepolicy", "deletionpolicy"] +description = ''' +Both UpdateReplacePolicy and DeletionPolicy are needed to protect resources from deletion + +### References: +[Aws Attribute Deletionpolicy](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html) +''' diff --git a/analyzers/cfn-lint/.deepsource/issues/CFLIN-W3037.toml b/analyzers/cfn-lint/.deepsource/issues/CFLIN-W3037.toml new file mode 100644 index 00000000..85fc8535 --- /dev/null +++ b/analyzers/cfn-lint/.deepsource/issues/CFLIN-W3037.toml @@ -0,0 +1,12 @@ +title = "Check iam permission configuration" +verbose_name = "W3037" +severity = "major" +category = "antipattern" +weight = 70 +tags = ["properties", "iam", "permissions"] +description = ''' +Check for valid IAM Permissions + +### References: +[Reference_Policies_Elements_Action](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_action.html) +''' diff --git a/analyzers/cfn-lint/.deepsource/issues/CFLIN-W3045.toml b/analyzers/cfn-lint/.deepsource/issues/CFLIN-W3045.toml new file mode 100644 index 00000000..2c161852 --- /dev/null +++ b/analyzers/cfn-lint/.deepsource/issues/CFLIN-W3045.toml @@ -0,0 +1,12 @@ +title = "Controlling access to an s3 bucket should be done with bucket policies" +verbose_name = "W3045" +severity = "major" +category = "antipattern" +weight = 70 +tags = ["resources", "s3"] +description = ''' +Nearly all access control configurations can be more successfully achieved with bucket policies. Consider using bucket policies instead of access control. + +### References: +[About Object Ownership](https://docs.aws.amazon.com/AmazonS3/latest/userguide/about-object-ownership.html) +''' diff --git a/analyzers/cfn-lint/.deepsource/issues/CFLIN-W4001.toml b/analyzers/cfn-lint/.deepsource/issues/CFLIN-W4001.toml new file mode 100644 index 00000000..e492635a --- /dev/null +++ b/analyzers/cfn-lint/.deepsource/issues/CFLIN-W4001.toml @@ -0,0 +1,12 @@ +title = "Metadata interface parameters exist" +verbose_name = "W4001" +severity = "major" +category = "antipattern" +weight = 70 +tags = ["metadata"] +description = ''' +Metadata Interface parameters actually exist + +### References: +[Aws Resource CloudFormation Interface](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-interface.html) +''' diff --git a/analyzers/cfn-lint/.deepsource/issues/CFLIN-W4002.toml b/analyzers/cfn-lint/.deepsource/issues/CFLIN-W4002.toml new file mode 100644 index 00000000..8c512c99 --- /dev/null +++ b/analyzers/cfn-lint/.deepsource/issues/CFLIN-W4002.toml @@ -0,0 +1,12 @@ +title = "Check for noecho references" +verbose_name = "W4002" +severity = "major" +category = "antipattern" +weight = 70 +tags = ["resources", "NoEcho"] +description = ''' +Check if there is a NoEcho enabled parameter referenced within a resources Metadata section + +### References: +[Parameters Section Structure](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/parameters-section-structure.html#parameters-section-structure-properties) +''' diff --git a/analyzers/cfn-lint/.deepsource/issues/CFLIN-W6001.toml b/analyzers/cfn-lint/.deepsource/issues/CFLIN-W6001.toml new file mode 100644 index 00000000..08554be3 --- /dev/null +++ b/analyzers/cfn-lint/.deepsource/issues/CFLIN-W6001.toml @@ -0,0 +1,12 @@ +title = "Check outputs using importvalue" +verbose_name = "W6001" +severity = "major" +category = "antipattern" +weight = 70 +tags = ["outputs", "importvalue"] +description = ''' +Check if the Output value is set using ImportValue, so creating an Output of an Output + +### References: +[CloudFormation Python Lint](https://github.com/aws-cloudformation/cfn-python-lint) +''' diff --git a/analyzers/cfn-lint/.deepsource/issues/CFLIN-W7001.toml b/analyzers/cfn-lint/.deepsource/issues/CFLIN-W7001.toml new file mode 100644 index 00000000..2a140c22 --- /dev/null +++ b/analyzers/cfn-lint/.deepsource/issues/CFLIN-W7001.toml @@ -0,0 +1,12 @@ +title = "Check if mappings are used" +verbose_name = "W7001" +severity = "major" +category = "antipattern" +weight = 70 +tags = ["mappings"] +description = ''' +Making sure the mappings defined are used + +### References: +[CloudFormation Python Lint](https://github.com/aws-cloudformation/cfn-python-lint) +''' diff --git a/analyzers/cfn-lint/.deepsource/issues/CFLIN-W8001.toml b/analyzers/cfn-lint/.deepsource/issues/CFLIN-W8001.toml new file mode 100644 index 00000000..b3a7fe4f --- /dev/null +++ b/analyzers/cfn-lint/.deepsource/issues/CFLIN-W8001.toml @@ -0,0 +1,12 @@ +title = "Check if conditions are used" +verbose_name = "W8001" +severity = "major" +category = "antipattern" +weight = 70 +tags = ["conditions"] +description = ''' +Making sure the conditions defined are used + +### References: +[CloudFormation Python Lint](https://github.com/aws-cloudformation/cfn-python-lint) +''' diff --git a/analyzers/cfn-lint/.deepsource/issues/CFLIN-W8003.toml b/analyzers/cfn-lint/.deepsource/issues/CFLIN-W8003.toml new file mode 100644 index 00000000..a13f7011 --- /dev/null +++ b/analyzers/cfn-lint/.deepsource/issues/CFLIN-W8003.toml @@ -0,0 +1,12 @@ +title = "Fn::equals will always return true or false" +verbose_name = "W8003" +severity = "major" +category = "antipattern" +weight = 70 +tags = ["functions", "equals"] +description = ''' +Validate Fn::Equals to see if its comparing two strings or two equal items. While this works it may not be intended. + +### References: +[Intrinsic Function Reference Conditions](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-conditions.html#intrinsic-function-reference-conditions-equals) +''' diff --git a/analyzers/cfn-lint/CI/github-actions.yaml b/analyzers/cfn-lint/CI/github-actions.yaml new file mode 100644 index 00000000..cbb7f175 --- /dev/null +++ b/analyzers/cfn-lint/CI/github-actions.yaml @@ -0,0 +1,42 @@ +# A copy-paste Github Actions config to run cfn-lint and report the artifact to DeepSource +name: Scan with cfn-lint + +on: + # Note that both `push` and `pull_request` triggers should be present for GitHub to consistently present cfn-lint + # SARIF reports. + push: + branches: [ main, master ] + pull_request: + +jobs: + scan: + runs-on: ubuntu-latest + env: + DEEPSOURCE_DSN: ${{ secrets.DEEPSOURCE_DSN }} + steps: + - uses: actions/checkout@v3 + with: + ref: ${{ github.event.pull_request.head.sha }} + + - name: Scan files with cfn-lint + uses: scottbrenner/cfn-lint-action@v2 + + - name: Generate the SARIF report + id: cfn-lint-action-scan + run: | + cfn-lint -t ./**/*.yaml -f sarif > cfn-lint.sarif + continue-on-error: true + + - name: Upload SARIF report files to DeepSource + run: | + # Install the CLI + curl https://deepsource.io/cli | sh + + # Send the report to DeepSource + ./bin/deepsource report --analyzer cfn-lint --analyzer-type community --value-file ./cfn-lint.sarif + + - name: Verify cfn-lint-action succeeded + shell: bash + run: | + echo "If this step fails, cfn-lint found issues. Check the output of the scan step above." + [[ "${{ steps.cfn-lint-action-scan.outcome }}" == "success" ]] \ No newline at end of file diff --git a/analyzers/cfn-lint/utils/issue_gen.py b/analyzers/cfn-lint/utils/issue_gen.py new file mode 100644 index 00000000..ff6b3884 --- /dev/null +++ b/analyzers/cfn-lint/utils/issue_gen.py @@ -0,0 +1,178 @@ +# To run: python issue_gen.py --root_directory= +import argparse +import ast +import json +import os +from pathlib import Path +from textwrap import dedent +from typing import Dict, List, Optional, Union +from urllib.parse import unquote, urlparse + + +def concat_binop(binop: ast.AST) -> str: + """ + Recursively concatenate binary operation nodes into a single string. + + Args: + binop (ast.AST): Binary operation node. + + Returns: + str: Concatenated string. + """ + if isinstance(binop, ast.BinOp): + return concat_binop(binop.left) + concat_binop(binop.right) + if isinstance(binop, ast.Constant): + return binop.value + return "" + + +def extract_class_attributes(node: ast.ClassDef) -> Dict[str, Union[str, List[str]]]: + """ + Extract class attributes from a ClassDef node in an abstract syntax tree. + + Args: + node (ast.ClassDef): ClassDef node. + + Returns: + Dict[str, Union[str, List[str]]]: Extracted class attributes. + """ + class_data = {} + for item in node.body: + if isinstance(item, ast.Assign): + for target in item.targets: + if target.id in ["id", "shortdesc", "description", "source_url"]: + class_data[target.id] = concat_binop(item.value) + elif target.id == "tags": + class_data["tags"] = [ + concat_binop(element) for element in item.value.elts + ] + return class_data + + +def extract_attributes_from_code(code: str) -> Dict[str, Union[str, List[str]]]: + """ + Extract attributes from Python code. + + Args: + code (str): Python code as a string. + + Returns: + Dict[str, Union[str, List[str]]]: Extracted attributes. + """ + class_data = {} + tree = ast.parse(code) + for node in ast.walk(tree): + if isinstance(node, ast.ClassDef): + class_data.update(extract_class_attributes(node)) + return class_data + + +def extract_page_name(url: str) -> Optional[str]: + """ + Extract the page name from a URL. + + Args: + url (str): Input URL. + + Returns: + Optional[str]: Extracted page name or None if not found. + """ + parsed_url = urlparse(url) + path_segments = parsed_url.path.strip("/").split("/") + if path_segments: + last_segment = os.path.splitext(path_segments[-1])[0] + page_name = unquote(last_segment.replace("-", " ")).title() + return page_name.replace("Cfn", "CloudFormation").replace( + "Cloudformation", "CloudFormation" + ) + return None + + +def build_toml(issue: Dict[str, Union[str, List[str]]]) -> str: + """ + Build a TOML string from issue data. + + Args: + issue (Dict[str, Union[str, List[str]]]): Issue data. + + Returns: + str: TOML string. + """ + title = issue["shortdesc"] + description = issue["description"] + source_url = issue.get("source_url", "") + tags = issue.get("tags", []) + + content = f"""\ + title = {json.dumps(title.capitalize())} + verbose_name = "{issue["id"]}" + severity = "major" + category = "antipattern" + weight = 70 + tags = [{", ".join([json.dumps(tag) for tag in tags])}] + description = ''' + {description} + + ### References: + [{extract_page_name(source_url)}]({source_url}) + ''' + """ + return dedent(content) + + +def write_to_file(issue: Dict[str, Union[str, List[str]]]) -> None: + """ + Write issue data to a TOML file. + + Args: + issue (Dict[str, Union[str, List[str]]]): Issue data. + """ + file_name = f"./issues/CFLIN-{issue['id']}.toml" + with open(file_name, "w") as file: + file.write(build_toml(issue)) + + +def extract_attributes_from_directory( + directory: str, +) -> List[Dict[str, Union[str, List[str]]]]: + """ + Extract attributes from Python files in a directory. + + Args: + directory (str): Root directory to search for Python files. + + Returns: + List[Dict[str, Union[str, List[str]]]]: List of extracted attributes. + """ + all_classes_data = [] + for root, _, files in os.walk(directory): + for file in files: + if file.endswith(".py"): + file_path = os.path.join(root, file) + with open(file_path, "r", encoding="utf-8") as f: + try: + code = f.read() + class_data = extract_attributes_from_code(code) + if class_data: + all_classes_data.append(class_data) + except Exception as e: + print(f"Error parsing file {file}: {e}") + return all_classes_data + + +if __name__ == "__main__": + parser = argparse.ArgumentParser( + description="Extract attributes from Python files in a given directory." + ) + parser.add_argument( + "--root_directory", help="Root directory of the cfn-lint repository." + ) + args = parser.parse_args() + + base = Path(args.root_directory) + path = Path("cfn-lint/src/cfnlint/rules") + rules_directory = base / path + + attributes_list = extract_attributes_from_directory(rules_directory) + for attributes in attributes_list: + write_to_file(attributes) diff --git a/analyzers/cfn-lint/utils/issue_map.json b/analyzers/cfn-lint/utils/issue_map.json new file mode 100644 index 00000000..00a55876 --- /dev/null +++ b/analyzers/cfn-lint/utils/issue_map.json @@ -0,0 +1,473 @@ +{ + "W2030": { + "issue_code": "CFLIN-W2030" + }, + "E2503": { + "issue_code": "CFLIN-E2503" + }, + "W1020": { + "issue_code": "CFLIN-W1020" + }, + "E6002": { + "issue_code": "CFLIN-E6002" + }, + "E1010": { + "issue_code": "CFLIN-E1010" + }, + "W2533": { + "issue_code": "CFLIN-W2533" + }, + "E3001": { + "issue_code": "CFLIN-E3001" + }, + "E3017": { + "issue_code": "CFLIN-E3017" + }, + "E3502": { + "issue_code": "CFLIN-E3502" + }, + "E7003": { + "issue_code": "CFLIN-E7003" + }, + "W3011": { + "issue_code": "CFLIN-W3011" + }, + "E3037": { + "issue_code": "CFLIN-E3037" + }, + "I7012": { + "issue_code": "CFLIN-I7012" + }, + "E8006": { + "issue_code": "CFLIN-E8006" + }, + "I3010": { + "issue_code": "CFLIN-I3010" + }, + "E3021": { + "issue_code": "CFLIN-E3021" + }, + "E1030": { + "issue_code": "CFLIN-E1030" + }, + "I2011": { + "issue_code": "CFLIN-I2011" + }, + "E2523": { + "issue_code": "CFLIN-E2523" + }, + "E1026": { + "issue_code": "CFLIN-E1026" + }, + "I6012": { + "issue_code": "CFLIN-I6012" + }, + "E1027": { + "issue_code": "CFLIN-E1027" + }, + "E2522": { + "issue_code": "CFLIN-E2522" + }, + "W1001": { + "issue_code": "CFLIN-W1001" + }, + "E1031": { + "issue_code": "CFLIN-E1031" + }, + "I2010": { + "issue_code": "CFLIN-I2010" + }, + "E3020": { + "issue_code": "CFLIN-E3020" + }, + "I3011": { + "issue_code": "CFLIN-I3011" + }, + "W4002": { + "issue_code": "CFLIN-W4002" + }, + "E3036": { + "issue_code": "CFLIN-E3036" + }, + "W3010": { + "issue_code": "CFLIN-W3010" + }, + "E7002": { + "issue_code": "CFLIN-E7002" + }, + "E3041": { + "issue_code": "CFLIN-E3041" + }, + "E3016": { + "issue_code": "CFLIN-E3016" + }, + "E3503": { + "issue_code": "CFLIN-E3503" + }, + "E3000": { + "issue_code": "CFLIN-E3000" + }, + "W8001": { + "issue_code": "CFLIN-W8001" + }, + "E2001": { + "issue_code": "CFLIN-E2001" + }, + "E1011": { + "issue_code": "CFLIN-E1011" + }, + "E6003": { + "issue_code": "CFLIN-E6003" + }, + "W2031": { + "issue_code": "CFLIN-W2031" + }, + "E3031": { + "issue_code": "CFLIN-E3031" + }, + "E3027": { + "issue_code": "CFLIN-E3027" + }, + "E1020": { + "issue_code": "CFLIN-E1020" + }, + "E2010": { + "issue_code": "CFLIN-E2010" + }, + "E6004": { + "issue_code": "CFLIN-E6004" + }, + "E6012": { + "issue_code": "CFLIN-E6012" + }, + "E1016": { + "issue_code": "CFLIN-E1016" + }, + "E3050": { + "issue_code": "CFLIN-E3050" + }, + "E3007": { + "issue_code": "CFLIN-E3007" + }, + "E3011": { + "issue_code": "CFLIN-E3011" + }, + "E3504": { + "issue_code": "CFLIN-E3504" + }, + "E2529": { + "issue_code": "CFLIN-E2529" + }, + "W3037": { + "issue_code": "CFLIN-W3037" + }, + "E3010": { + "issue_code": "CFLIN-E3010" + }, + "I3037": { + "issue_code": "CFLIN-I3037" + }, + "E3006": { + "issue_code": "CFLIN-E3006" + }, + "E4002": { + "issue_code": "CFLIN-E4002" + }, + "E7012": { + "issue_code": "CFLIN-E7012" + }, + "E1017": { + "issue_code": "CFLIN-E1017" + }, + "E6005": { + "issue_code": "CFLIN-E6005" + }, + "E2504": { + "issue_code": "CFLIN-E2504" + }, + "E2011": { + "issue_code": "CFLIN-E2011" + }, + "E1001": { + "issue_code": "CFLIN-E1001" + }, + "E1021": { + "issue_code": "CFLIN-E1021" + }, + "W2001": { + "issue_code": "CFLIN-W2001" + }, + "E2532": { + "issue_code": "CFLIN-E2532" + }, + "W1011": { + "issue_code": "CFLIN-W1011" + }, + "E3026": { + "issue_code": "CFLIN-E3026" + }, + "E8001": { + "issue_code": "CFLIN-E8001" + }, + "E3030": { + "issue_code": "CFLIN-E3030" + }, + "W2501": { + "issue_code": "CFLIN-W2501" + }, + "E1022": { + "issue_code": "CFLIN-E1022" + }, + "E2531": { + "issue_code": "CFLIN-E2531" + }, + "E1018": { + "issue_code": "CFLIN-E1018" + }, + "E3025": { + "issue_code": "CFLIN-E3025" + }, + "E8002": { + "issue_code": "CFLIN-E8002" + }, + "W7001": { + "issue_code": "CFLIN-W7001" + }, + "E3033": { + "issue_code": "CFLIN-E3033" + }, + "E3044": { + "issue_code": "CFLIN-E3044" + }, + "E3013": { + "issue_code": "CFLIN-E3013" + }, + "E3005": { + "issue_code": "CFLIN-E3005" + }, + "E4001": { + "issue_code": "CFLIN-E4001" + }, + "E7011": { + "issue_code": "CFLIN-E7011" + }, + "E6010": { + "issue_code": "CFLIN-E6010" + }, + "E2012": { + "issue_code": "CFLIN-E2012" + }, + "E2507": { + "issue_code": "CFLIN-E2507" + }, + "E1002": { + "issue_code": "CFLIN-E1002" + }, + "E1003": { + "issue_code": "CFLIN-E1003" + }, + "E2506": { + "issue_code": "CFLIN-E2506" + }, + "E5001": { + "issue_code": "CFLIN-E5001" + }, + "E6011": { + "issue_code": "CFLIN-E6011" + }, + "E1015": { + "issue_code": "CFLIN-E1015" + }, + "E7010": { + "issue_code": "CFLIN-E7010" + }, + "E3004": { + "issue_code": "CFLIN-E3004" + }, + "E3012": { + "issue_code": "CFLIN-E3012" + }, + "E0002": { + "issue_code": "CFLIN-E0002" + }, + "E3045": { + "issue_code": "CFLIN-E3045" + }, + "E3032": { + "issue_code": "CFLIN-E3032" + }, + "E8003": { + "issue_code": "CFLIN-E8003" + }, + "I3042": { + "issue_code": "CFLIN-I3042" + }, + "W3002": { + "issue_code": "CFLIN-W3002" + }, + "E1019": { + "issue_code": "CFLIN-E1019" + }, + "E2530": { + "issue_code": "CFLIN-E2530" + }, + "E3008": { + "issue_code": "CFLIN-E3008" + }, + "E1023": { + "issue_code": "CFLIN-E1023" + }, + "W6001": { + "issue_code": "CFLIN-W6001" + }, + "E3042": { + "issue_code": "CFLIN-E3042" + }, + "E7001": { + "issue_code": "CFLIN-E7001" + }, + "E1028": { + "issue_code": "CFLIN-E1028" + }, + "E3003": { + "issue_code": "CFLIN-E3003" + }, + "E2002": { + "issue_code": "CFLIN-E2002" + }, + "W2531": { + "issue_code": "CFLIN-W2531" + }, + "E1012": { + "issue_code": "CFLIN-E1012" + }, + "E2540": { + "issue_code": "CFLIN-E2540" + }, + "E2014": { + "issue_code": "CFLIN-E2014" + }, + "I2530": { + "issue_code": "CFLIN-I2530" + }, + "E3039": { + "issue_code": "CFLIN-E3039" + }, + "E1004": { + "issue_code": "CFLIN-E1004" + }, + "I6011": { + "issue_code": "CFLIN-I6011" + }, + "E1024": { + "issue_code": "CFLIN-E1024" + }, + "E2521": { + "issue_code": "CFLIN-E2521" + }, + "W2511": { + "issue_code": "CFLIN-W2511" + }, + "E1032": { + "issue_code": "CFLIN-E1032" + }, + "I1003": { + "issue_code": "CFLIN-I1003" + }, + "W3005": { + "issue_code": "CFLIN-W3005" + }, + "I3012": { + "issue_code": "CFLIN-I3012" + }, + "W4001": { + "issue_code": "CFLIN-W4001" + }, + "E8004": { + "issue_code": "CFLIN-E8004" + }, + "I3100": { + "issue_code": "CFLIN-I3100" + }, + "I7010": { + "issue_code": "CFLIN-I7010" + }, + "E3035": { + "issue_code": "CFLIN-E3035" + }, + "E3034": { + "issue_code": "CFLIN-E3034" + }, + "W3045": { + "issue_code": "CFLIN-W3045" + }, + "I7011": { + "issue_code": "CFLIN-I7011" + }, + "E8005": { + "issue_code": "CFLIN-E8005" + }, + "I3013": { + "issue_code": "CFLIN-I3013" + }, + "E3022": { + "issue_code": "CFLIN-E3022" + }, + "I1002": { + "issue_code": "CFLIN-I1002" + }, + "I2012": { + "issue_code": "CFLIN-I2012" + }, + "W2510": { + "issue_code": "CFLIN-W2510" + }, + "E2520": { + "issue_code": "CFLIN-E2520" + }, + "E3018": { + "issue_code": "CFLIN-E3018" + }, + "W2506": { + "issue_code": "CFLIN-W2506" + }, + "I6010": { + "issue_code": "CFLIN-I6010" + }, + "E3038": { + "issue_code": "CFLIN-E3038" + }, + "E2015": { + "issue_code": "CFLIN-E2015" + }, + "E6001": { + "issue_code": "CFLIN-E6001" + }, + "E2541": { + "issue_code": "CFLIN-E2541" + }, + "W2530": { + "issue_code": "CFLIN-W2530" + }, + "E2003": { + "issue_code": "CFLIN-E2003" + }, + "I1022": { + "issue_code": "CFLIN-I1022" + }, + "W8003": { + "issue_code": "CFLIN-W8003" + }, + "E3002": { + "issue_code": "CFLIN-E3002" + }, + "W1019": { + "issue_code": "CFLIN-W1019" + }, + "E1029": { + "issue_code": "CFLIN-E1029" + }, + "E3043": { + "issue_code": "CFLIN-E3043" + } +} \ No newline at end of file diff --git a/analyzers/cfn-lint/utils/issue_map_gen.py b/analyzers/cfn-lint/utils/issue_map_gen.py new file mode 100644 index 00000000..2fc2291c --- /dev/null +++ b/analyzers/cfn-lint/utils/issue_map_gen.py @@ -0,0 +1,43 @@ +# To run: python issue_map_gen.py # +import json +import os +import sys +from typing import Dict + + +def generate_json(directory: str) -> None: + """ + Generate a JSON file containing mappings of issue codes extracted from TOML files in a directory. + + :param directory: The directory containing TOML files with issue codes. + :type directory: str + :return: None + """ + # Dictionary to hold the mappings + issue_codes: Dict[str, dict] = {} + + # Iterate through each file in the directory + for filename in os.listdir(directory): + if filename.endswith(".toml") and filename.startswith("CFLIN-"): + # Extract the issue code (part after 'CFLIN-' and before '.toml') + issue_code = filename[len("CFLIN-") : -len(".toml")] + + # Add to the dictionary + issue_codes[issue_code] = {"issue_code": f"CFLIN-{issue_code}"} + + # Convert dictionary to JSON + json_data: str = json.dumps(issue_codes, indent=4) + + # Write JSON data to a file in the current directory + with open("issue_map.json", "w") as file: + file.write(json_data) + print("JSON data written to issue_map.json") + + +if __name__ == "__main__": + if len(sys.argv) != 2: + print("Usage: python script.py ") + sys.exit(1) + + target: str = sys.argv[1] + generate_json(target) diff --git a/sarif-parser/tests/sarif_files/cfn-lint.sarif b/sarif-parser/tests/sarif_files/cfn-lint.sarif new file mode 100644 index 00000000..f60d9dd7 --- /dev/null +++ b/sarif-parser/tests/sarif_files/cfn-lint.sarif @@ -0,0 +1,229 @@ +{ + "runs": [ + { + "tool": { + "driver": { + "name": "cfn-lint", + "rules": [ + { + "id": "E3002", + "fullDescription": { + "text": "Making sure that resources properties are properly configured" + }, + "helpUri": "https://github.com/aws-cloudformation/cfn-python-lint/blob/main/docs/cfn-resource-specification.md#properties", + "shortDescription": { + "text": "Resource properties are invalid" + } + }, + { + "id": "E3045", + "fullDescription": { + "text": "When using AccessControl other than private you must also configure OwnershipControls. The default is bucket owner enforced which disables ACLs." + }, + "helpUri": "https://docs.aws.amazon.com/AmazonS3/latest/userguide/about-object-ownership.html", + "shortDescription": { + "text": "Validate AccessControl are set with OwnershipControls" + } + }, + { + "id": "E3030", + "fullDescription": { + "text": "Check if properties have a valid value in case of an enumator" + }, + "helpUri": "https://github.com/aws-cloudformation/cfn-python-lint/blob/main/docs/cfn-resource-specification.md#allowedvalue", + "shortDescription": { + "text": "Check if properties have a valid value" + } + }, + { + "id": "W3045", + "fullDescription": { + "text": "Nearly all access control configurations can be more successfully achieved with bucket policies. Consider using bucket policies instead of access control." + }, + "helpUri": "https://docs.aws.amazon.com/AmazonS3/latest/userguide/about-object-ownership.html", + "shortDescription": { + "text": "Controlling access to an S3 bucket should be done with bucket policies" + } + } + ], + "version": "0.83.0", + "informationUri": "https://github.com/aws-cloudformation/cfn-lint", + "shortDescription": { + "text": "Validates AWS CloudFormation templates against the resource specification and additional checks." + } + } + }, + "results": [ + { + "message": { + "text": "You must specify a valid value for AccessControl (SuperPrivate). Valid values are [\"AuthenticatedRead\", \"AwsExecRead\", \"BucketOwnerFullControl\", \"BucketOwnerRead\", \"LogDeliveryWrite\", \"Private\", \"PublicRead\", \"PublicReadWrite\"]" + }, + "level": "error", + "locations": [ + { + "physicalLocation": { + "region": { + "endColumn": 20, + "endLine": 10, + "startColumn": 7, + "startLine": 10 + }, + "artifactLocation": { + "uri": "invalid.yaml", + "uriBaseId": "EXECUTIONROOT" + } + } + } + ], + "ruleId": "E3030" + }, + { + "message": { + "text": "A bucket with AccessControl set should also have OwnershipControl configured" + }, + "level": "error", + "locations": [ + { + "physicalLocation": { + "region": { + "endColumn": 20, + "endLine": 10, + "startColumn": 7, + "startLine": 10 + }, + "artifactLocation": { + "uri": "invalid.yaml", + "uriBaseId": "EXECUTIONROOT" + } + } + } + ], + "ruleId": "E3045" + }, + { + "message": { + "text": "Consider using AWS::S3::BucketPolicy instead of AccessControl" + }, + "locations": [ + { + "physicalLocation": { + "region": { + "endColumn": 20, + "endLine": 10, + "startColumn": 7, + "startLine": 10 + }, + "artifactLocation": { + "uri": "invalid.yaml", + "uriBaseId": "EXECUTIONROOT" + } + } + } + ], + "ruleId": "W3045" + }, + { + "message": { + "text": "Invalid Property Resources/MyS3Bucket/Properties/BucketNaming. Did you mean BucketName?" + }, + "level": "error", + "locations": [ + { + "physicalLocation": { + "region": { + "endColumn": 19, + "endLine": 11, + "startColumn": 7, + "startLine": 11 + }, + "artifactLocation": { + "uri": "invalid.yaml", + "uriBaseId": "EXECUTIONROOT" + } + } + } + ], + "ruleId": "E3002" + }, + { + "message": { + "text": "Invalid Property Resources/MyEC2Instance/Properties/InstanceTypez. Did you mean InstanceType?" + }, + "level": "error", + "locations": [ + { + "physicalLocation": { + "region": { + "endColumn": 20, + "endLine": 16, + "startColumn": 7, + "startLine": 16 + }, + "artifactLocation": { + "uri": "invalid.yaml", + "uriBaseId": "EXECUTIONROOT" + } + } + } + ], + "ruleId": "E3002" + }, + { + "message": { + "text": "Invalid Property Resources/MyEC2Instance/Properties/KeyPair" + }, + "level": "error", + "locations": [ + { + "physicalLocation": { + "region": { + "endColumn": 14, + "endLine": 18, + "startColumn": 7, + "startLine": 18 + }, + "artifactLocation": { + "uri": "invalid.yaml", + "uriBaseId": "EXECUTIONROOT" + } + } + } + ], + "ruleId": "E3002" + }, + { + "message": { + "text": "Invalid Property Resources/MySecurityGroup/Properties/SecurityGroupEntrance" + }, + "level": "error", + "locations": [ + { + "physicalLocation": { + "region": { + "endColumn": 28, + "endLine": 26, + "startColumn": 7, + "startLine": 26 + }, + "artifactLocation": { + "uri": "invalid.yaml", + "uriBaseId": "EXECUTIONROOT" + } + } + } + ], + "ruleId": "E3002" + } + ], + "originalUriBaseIds": { + "EXECUTIONROOT": { + "description": { + "text": "The directory in which cfn-lint was run." + } + } + } + } + ], + "version": "2.1.0", + "$schema": "https://docs.oasis-open.org/sarif/sarif/v2.1.0/cos02/schemas/sarif-schema-2.1.0.json" +} diff --git a/sarif-parser/tests/sarif_files/cfn-lint.sarif.json b/sarif-parser/tests/sarif_files/cfn-lint.sarif.json new file mode 100644 index 00000000..cc6bd94b --- /dev/null +++ b/sarif-parser/tests/sarif_files/cfn-lint.sarif.json @@ -0,0 +1 @@ +[{"issue_code": "E3030", "issue_text": "You must specify a valid value for AccessControl (SuperPrivate). Valid values are [\"AuthenticatedRead\", \"AwsExecRead\", \"BucketOwnerFullControl\", \"BucketOwnerRead\", \"LogDeliveryWrite\", \"Private\", \"PublicRead\", \"PublicReadWrite\"]", "location": {"path": "invalid.yaml", "position": {"begin": {"line": 10, "column": 7}, "end": {"line": 10, "column": 20}}}}, {"issue_code": "E3045", "issue_text": "A bucket with AccessControl set should also have OwnershipControl configured", "location": {"path": "invalid.yaml", "position": {"begin": {"line": 10, "column": 7}, "end": {"line": 10, "column": 20}}}}, {"issue_code": "W3045", "issue_text": "Consider using AWS::S3::BucketPolicy instead of AccessControl", "location": {"path": "invalid.yaml", "position": {"begin": {"line": 10, "column": 7}, "end": {"line": 10, "column": 20}}}}, {"issue_code": "E3002", "issue_text": "Invalid Property Resources/MyS3Bucket/Properties/BucketNaming. Did you mean BucketName?", "location": {"path": "invalid.yaml", "position": {"begin": {"line": 11, "column": 7}, "end": {"line": 11, "column": 19}}}}, {"issue_code": "E3002", "issue_text": "Invalid Property Resources/MyEC2Instance/Properties/InstanceTypez. Did you mean InstanceType?", "location": {"path": "invalid.yaml", "position": {"begin": {"line": 16, "column": 7}, "end": {"line": 16, "column": 20}}}}, {"issue_code": "E3002", "issue_text": "Invalid Property Resources/MyEC2Instance/Properties/KeyPair", "location": {"path": "invalid.yaml", "position": {"begin": {"line": 18, "column": 7}, "end": {"line": 18, "column": 14}}}}, {"issue_code": "E3002", "issue_text": "Invalid Property Resources/MySecurityGroup/Properties/SecurityGroupEntrance", "location": {"path": "invalid.yaml", "position": {"begin": {"line": 26, "column": 7}, "end": {"line": 26, "column": 28}}}}] \ No newline at end of file diff --git a/tests/fixtures/reports/cfn-lint.sarif b/tests/fixtures/reports/cfn-lint.sarif new file mode 100644 index 00000000..f60d9dd7 --- /dev/null +++ b/tests/fixtures/reports/cfn-lint.sarif @@ -0,0 +1,229 @@ +{ + "runs": [ + { + "tool": { + "driver": { + "name": "cfn-lint", + "rules": [ + { + "id": "E3002", + "fullDescription": { + "text": "Making sure that resources properties are properly configured" + }, + "helpUri": "https://github.com/aws-cloudformation/cfn-python-lint/blob/main/docs/cfn-resource-specification.md#properties", + "shortDescription": { + "text": "Resource properties are invalid" + } + }, + { + "id": "E3045", + "fullDescription": { + "text": "When using AccessControl other than private you must also configure OwnershipControls. The default is bucket owner enforced which disables ACLs." + }, + "helpUri": "https://docs.aws.amazon.com/AmazonS3/latest/userguide/about-object-ownership.html", + "shortDescription": { + "text": "Validate AccessControl are set with OwnershipControls" + } + }, + { + "id": "E3030", + "fullDescription": { + "text": "Check if properties have a valid value in case of an enumator" + }, + "helpUri": "https://github.com/aws-cloudformation/cfn-python-lint/blob/main/docs/cfn-resource-specification.md#allowedvalue", + "shortDescription": { + "text": "Check if properties have a valid value" + } + }, + { + "id": "W3045", + "fullDescription": { + "text": "Nearly all access control configurations can be more successfully achieved with bucket policies. Consider using bucket policies instead of access control." + }, + "helpUri": "https://docs.aws.amazon.com/AmazonS3/latest/userguide/about-object-ownership.html", + "shortDescription": { + "text": "Controlling access to an S3 bucket should be done with bucket policies" + } + } + ], + "version": "0.83.0", + "informationUri": "https://github.com/aws-cloudformation/cfn-lint", + "shortDescription": { + "text": "Validates AWS CloudFormation templates against the resource specification and additional checks." + } + } + }, + "results": [ + { + "message": { + "text": "You must specify a valid value for AccessControl (SuperPrivate). Valid values are [\"AuthenticatedRead\", \"AwsExecRead\", \"BucketOwnerFullControl\", \"BucketOwnerRead\", \"LogDeliveryWrite\", \"Private\", \"PublicRead\", \"PublicReadWrite\"]" + }, + "level": "error", + "locations": [ + { + "physicalLocation": { + "region": { + "endColumn": 20, + "endLine": 10, + "startColumn": 7, + "startLine": 10 + }, + "artifactLocation": { + "uri": "invalid.yaml", + "uriBaseId": "EXECUTIONROOT" + } + } + } + ], + "ruleId": "E3030" + }, + { + "message": { + "text": "A bucket with AccessControl set should also have OwnershipControl configured" + }, + "level": "error", + "locations": [ + { + "physicalLocation": { + "region": { + "endColumn": 20, + "endLine": 10, + "startColumn": 7, + "startLine": 10 + }, + "artifactLocation": { + "uri": "invalid.yaml", + "uriBaseId": "EXECUTIONROOT" + } + } + } + ], + "ruleId": "E3045" + }, + { + "message": { + "text": "Consider using AWS::S3::BucketPolicy instead of AccessControl" + }, + "locations": [ + { + "physicalLocation": { + "region": { + "endColumn": 20, + "endLine": 10, + "startColumn": 7, + "startLine": 10 + }, + "artifactLocation": { + "uri": "invalid.yaml", + "uriBaseId": "EXECUTIONROOT" + } + } + } + ], + "ruleId": "W3045" + }, + { + "message": { + "text": "Invalid Property Resources/MyS3Bucket/Properties/BucketNaming. Did you mean BucketName?" + }, + "level": "error", + "locations": [ + { + "physicalLocation": { + "region": { + "endColumn": 19, + "endLine": 11, + "startColumn": 7, + "startLine": 11 + }, + "artifactLocation": { + "uri": "invalid.yaml", + "uriBaseId": "EXECUTIONROOT" + } + } + } + ], + "ruleId": "E3002" + }, + { + "message": { + "text": "Invalid Property Resources/MyEC2Instance/Properties/InstanceTypez. Did you mean InstanceType?" + }, + "level": "error", + "locations": [ + { + "physicalLocation": { + "region": { + "endColumn": 20, + "endLine": 16, + "startColumn": 7, + "startLine": 16 + }, + "artifactLocation": { + "uri": "invalid.yaml", + "uriBaseId": "EXECUTIONROOT" + } + } + } + ], + "ruleId": "E3002" + }, + { + "message": { + "text": "Invalid Property Resources/MyEC2Instance/Properties/KeyPair" + }, + "level": "error", + "locations": [ + { + "physicalLocation": { + "region": { + "endColumn": 14, + "endLine": 18, + "startColumn": 7, + "startLine": 18 + }, + "artifactLocation": { + "uri": "invalid.yaml", + "uriBaseId": "EXECUTIONROOT" + } + } + } + ], + "ruleId": "E3002" + }, + { + "message": { + "text": "Invalid Property Resources/MySecurityGroup/Properties/SecurityGroupEntrance" + }, + "level": "error", + "locations": [ + { + "physicalLocation": { + "region": { + "endColumn": 28, + "endLine": 26, + "startColumn": 7, + "startLine": 26 + }, + "artifactLocation": { + "uri": "invalid.yaml", + "uriBaseId": "EXECUTIONROOT" + } + } + } + ], + "ruleId": "E3002" + } + ], + "originalUriBaseIds": { + "EXECUTIONROOT": { + "description": { + "text": "The directory in which cfn-lint was run." + } + } + } + } + ], + "version": "2.1.0", + "$schema": "https://docs.oasis-open.org/sarif/sarif/v2.1.0/cos02/schemas/sarif-schema-2.1.0.json" +}