@critiq/rules 0.2.0 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +3 -2
- package/catalog.yaml +798 -0
- package/package.json +1 -1
- package/rules/cfn/cfn.correctness.attributedefinitions-keyschemas-mismatch.rule.yaml +49 -0
- package/rules/cfn/cfn.correctness.base64-validation-of-parameters.rule.yaml +49 -0
- package/rules/cfn/cfn.correctness.basic-cloudformation-resource-check.rule.yaml +49 -0
- package/rules/cfn/cfn.correctness.basic-cloudformation-template-configuration.rule.yaml +49 -0
- package/rules/cfn/cfn.correctness.cannot-reference-resources-in-the-conditions-block-of-the-template.rule.yaml +49 -0
- package/rules/cfn/cfn.correctness.check-at-least-one-essential-container-is-specified.rule.yaml +49 -0
- package/rules/cfn/cfn.correctness.check-deletionpolicy-values-for-resources.rule.yaml +49 -0
- package/rules/cfn/cfn.correctness.check-dependson-values-for-resources.rule.yaml +49 -0
- package/rules/cfn/cfn.correctness.check-ec2-ebs-properties.rule.yaml +49 -0
- package/rules/cfn/cfn.correctness.check-elastic-cache-redis-cluster-settings.rule.yaml +49 -0
- package/rules/cfn/cfn.correctness.check-events-rule-targets-are-less-than-or-equal-to-5.rule.yaml +49 -0
- package/rules/cfn/cfn.correctness.check-fargate-service-scheduling-strategy.rule.yaml +49 -0
- package/rules/cfn/cfn.correctness.check-fn-and-structure-for-validity.rule.yaml +49 -0
- package/rules/cfn/cfn.correctness.check-fn-equals-structure-for-validity.rule.yaml +49 -0
- package/rules/cfn/cfn.correctness.check-fn-if-structure-for-validity.rule.yaml +49 -0
- package/rules/cfn/cfn.correctness.check-fn-not-structure-for-validity.rule.yaml +49 -0
- package/rules/cfn/cfn.correctness.check-fn-or-structure-for-validity.rule.yaml +49 -0
- package/rules/cfn/cfn.correctness.check-for-subscriptionfilters-have-beyond-2-attachments-to-a-cloudwatch-log-group.rule.yaml +49 -0
- package/rules/cfn/cfn.correctness.check-if-a-json-object-is-within-size-limits.rule.yaml +49 -0
- package/rules/cfn/cfn.correctness.check-if-a-list-has-between-min-and-max-number-of-values-specified.rule.yaml +49 -0
- package/rules/cfn/cfn.correctness.check-if-a-list-has-duplicate-values.rule.yaml +49 -0
- package/rules/cfn/cfn.correctness.check-if-a-number-is-between-min-and-max.rule.yaml +49 -0
- package/rules/cfn/cfn.correctness.check-if-a-string-has-between-min-and-max-number-of-values-specified.rule.yaml +49 -0
- package/rules/cfn/cfn.correctness.check-if-eol-lambda-function-runtimes-are-used.rule.yaml +49 -0
- package/rules/cfn/cfn.correctness.check-if-properties-have-a-valid-value.rule.yaml +49 -0
- package/rules/cfn/cfn.correctness.check-if-property-values-adhere-to-a-specific-pattern.rule.yaml +49 -0
- package/rules/cfn/cfn.correctness.check-if-refing-to-a-iam-resource-with-path-set.rule.yaml +49 -0
- package/rules/cfn/cfn.correctness.check-if-refs-exist.rule.yaml +49 -0
- package/rules/cfn/cfn.correctness.check-if-serverless-resources-have-serverless-transform.rule.yaml +49 -0
- package/rules/cfn/cfn.correctness.check-if-the-referenced-conditions-are-defined.rule.yaml +49 -0
- package/rules/cfn/cfn.correctness.check-minimum-90-period-is-met-between-backupplan-cold-and-delete.rule.yaml +49 -0
- package/rules/cfn/cfn.correctness.check-properties-that-are-mutually-exclusive.rule.yaml +49 -0
- package/rules/cfn/cfn.correctness.check-properties-that-are-required-together.rule.yaml +49 -0
- package/rules/cfn/cfn.correctness.check-properties-that-need-at-least-one-of-a-list-of-properties.rule.yaml +49 -0
- package/rules/cfn/cfn.correctness.check-properties-that-need-only-one-of-a-list-of-properties.rule.yaml +49 -0
- package/rules/cfn/cfn.correctness.check-resource-properties-values.rule.yaml +49 -0
- package/rules/cfn/cfn.correctness.check-state-machine-definition-for-proper-syntax.rule.yaml +49 -0
- package/rules/cfn/cfn.correctness.check-that-modules-resources-are-valid.rule.yaml +49 -0
- package/rules/cfn/cfn.correctness.check-the-configuration-of-a-resources-updatepolicy.rule.yaml +49 -0
- package/rules/cfn/cfn.correctness.check-updatereplacepolicy-values-for-resources.rule.yaml +49 -0
- package/rules/cfn/cfn.correctness.check-values-of-properties-for-valid-refs-and-getatts.rule.yaml +49 -0
- package/rules/cfn/cfn.correctness.cidr-validation-of-parameters.rule.yaml +49 -0
- package/rules/cfn/cfn.correctness.cloudfront-aliases.rule.yaml +49 -0
- package/rules/cfn/cfn.correctness.codepipeline-stage-actions.rule.yaml +49 -0
- package/rules/cfn/cfn.correctness.codepipeline-stages.rule.yaml +49 -0
- package/rules/cfn/cfn.correctness.conditions-have-appropriate-properties.rule.yaml +49 -0
- package/rules/cfn/cfn.correctness.default-value-cannot-use-refs.rule.yaml +49 -0
- package/rules/cfn/cfn.correctness.default-value-is-within-parameter-constraints.rule.yaml +49 -0
- package/rules/cfn/cfn.correctness.error-processing-rule-on-the-template.rule.yaml +49 -0
- package/rules/cfn/cfn.correctness.findinmap-validation-of-configuration.rule.yaml +49 -0
- package/rules/cfn/cfn.correctness.getatt-validation-of-parameters.rule.yaml +49 -0
- package/rules/cfn/cfn.correctness.getaz-validation-of-parameters.rule.yaml +49 -0
- package/rules/cfn/cfn.correctness.importvalue-validation-of-parameters.rule.yaml +49 -0
- package/rules/cfn/cfn.correctness.join-validation-of-parameters.rule.yaml +49 -0
- package/rules/cfn/cfn.correctness.length-validation-of-parameters.rule.yaml +49 -0
- package/rules/cfn/cfn.correctness.mapping-attribute-limit-not-exceeded.rule.yaml +49 -0
- package/rules/cfn/cfn.correctness.mapping-keys-are-strings-and-alphanumeric.rule.yaml +49 -0
- package/rules/cfn/cfn.correctness.mapping-limit-not-exceeded.rule.yaml +49 -0
- package/rules/cfn/cfn.correctness.mapping-name-limit-not-exceeded.rule.yaml +49 -0
- package/rules/cfn/cfn.correctness.mappings-are-appropriately-configured.rule.yaml +49 -0
- package/rules/cfn/cfn.correctness.mappings-have-appropriate-names.rule.yaml +49 -0
- package/rules/cfn/cfn.correctness.metadata-interface-have-appropriate-properties.rule.yaml +49 -0
- package/rules/cfn/cfn.correctness.output-description-limit-not-exceeded.rule.yaml +49 -0
- package/rules/cfn/cfn.correctness.output-limit-not-exceeded.rule.yaml +49 -0
- package/rules/cfn/cfn.correctness.output-name-limit-not-exceeded.rule.yaml +49 -0
- package/rules/cfn/cfn.correctness.outputs-descriptions-can-only-be-strings.rule.yaml +49 -0
- package/rules/cfn/cfn.correctness.outputs-have-appropriate-names.rule.yaml +49 -0
- package/rules/cfn/cfn.correctness.outputs-have-appropriate-properties.rule.yaml +49 -0
- package/rules/cfn/cfn.correctness.outputs-have-required-properties.rule.yaml +49 -0
- package/rules/cfn/cfn.correctness.outputs-have-values-of-strings.rule.yaml +49 -0
- package/rules/cfn/cfn.correctness.parameter-limit-not-exceeded.rule.yaml +49 -0
- package/rules/cfn/cfn.correctness.parameter-name-limit-not-exceeded.rule.yaml +49 -0
- package/rules/cfn/cfn.correctness.parameter-value-limit-not-exceeded.rule.yaml +49 -0
- package/rules/cfn/cfn.correctness.parameters-have-appropriate-names.rule.yaml +49 -0
- package/rules/cfn/cfn.correctness.parameters-have-appropriate-properties.rule.yaml +49 -0
- package/rules/cfn/cfn.correctness.parameters-have-appropriate-type.rule.yaml +49 -0
- package/rules/cfn/cfn.correctness.property-is-required-based-on-another-properties-value.rule.yaml +49 -0
- package/rules/cfn/cfn.correctness.property-is-unwanted-based-on-another-properties-value.rule.yaml +49 -0
- package/rules/cfn/cfn.correctness.rds-instance-type-is-compatible-with-the-rds-type.rule.yaml +49 -0
- package/rules/cfn/cfn.correctness.recordset-hostedzonename-is-a-superdomain-of-name.rule.yaml +49 -0
- package/rules/cfn/cfn.correctness.ref-validation-of-value.rule.yaml +49 -0
- package/rules/cfn/cfn.correctness.required-resource-properties-are-missing.rule.yaml +49 -0
- package/rules/cfn/cfn.correctness.resource-dependencies-are-not-circular.rule.yaml +49 -0
- package/rules/cfn/cfn.correctness.resource-ec2-security-group-ingress-properties.rule.yaml +49 -0
- package/rules/cfn/cfn.correctness.resource-elb-properties.rule.yaml +49 -0
- package/rules/cfn/cfn.correctness.resource-limit-not-exceeded.rule.yaml +49 -0
- package/rules/cfn/cfn.correctness.resource-name-limit-not-exceeded.rule.yaml +49 -0
- package/rules/cfn/cfn.correctness.resource-properties-are-invalid.rule.yaml +49 -0
- package/rules/cfn/cfn.correctness.resource-schema.rule.yaml +49 -0
- package/rules/cfn/cfn.correctness.resource-subnetroutetableassociation-properties.rule.yaml +49 -0
- package/rules/cfn/cfn.correctness.resources-have-appropriate-names.rule.yaml +49 -0
- package/rules/cfn/cfn.correctness.select-validation-of-parameters.rule.yaml +49 -0
- package/rules/cfn/cfn.correctness.snapstart-supports-the-configured-runtime.rule.yaml +49 -0
- package/rules/cfn/cfn.correctness.split-validation-of-parameters.rule.yaml +49 -0
- package/rules/cfn/cfn.correctness.sub-is-required-if-a-variable-is-used-in-a-string.rule.yaml +49 -0
- package/rules/cfn/cfn.correctness.sub-validation-of-parameters.rule.yaml +49 -0
- package/rules/cfn/cfn.correctness.template-description-can-only-be-a-string.rule.yaml +49 -0
- package/rules/cfn/cfn.correctness.template-description-limit.rule.yaml +49 -0
- package/rules/cfn/cfn.correctness.template-size-limit.rule.yaml +49 -0
- package/rules/cfn/cfn.correctness.tojsonstring-validation-of-parameters.rule.yaml +49 -0
- package/rules/cfn/cfn.correctness.unique-resource-and-parameter-names.rule.yaml +49 -0
- package/rules/cfn/cfn.correctness.validate-accesscontrol-are-set-with-ownershipcontrols.rule.yaml +49 -0
- package/rules/cfn/cfn.correctness.validate-aws-event-scheduleexpression-format.rule.yaml +49 -0
- package/rules/cfn/cfn.correctness.validate-parameters-for-in-a-nested-stack.rule.yaml +49 -0
- package/rules/cfn/cfn.correctness.validate-route53-recordsets.rule.yaml +49 -0
- package/rules/cfn/cfn.correctness.validate-the-configuration-of-the-metadata-section.rule.yaml +49 -0
- package/rules/cfn/cfn.correctness.validates-foreach-functions.rule.yaml +49 -0
- package/rules/cfn/cfn.correctness.validation-not-function-configuration.rule.yaml +49 -0
- package/rules/cfn/cfn.correctness.validationdomain-is-superdomain-of-domainname.rule.yaml +49 -0
- package/rules/cfn/cfn.maintainability.arns-should-use-correctly-placed-pseudo-parameters.rule.yaml +49 -0
- package/rules/cfn/cfn.maintainability.availability-zone-parameters-should-not-be-hardcoded.rule.yaml +49 -0
- package/rules/cfn/cfn.maintainability.check-iam-resource-policies-syntax.rule.yaml +49 -0
- package/rules/cfn/cfn.maintainability.check-if-a-list-that-allows-duplicates-has-any-duplicates.rule.yaml +49 -0
- package/rules/cfn/cfn.maintainability.check-if-conditions-are-used.rule.yaml +49 -0
- package/rules/cfn/cfn.maintainability.check-if-eol-lambda-function-runtimes-are-used-w2531.rule.yaml +49 -0
- package/rules/cfn/cfn.maintainability.check-if-imageid-parameters-have-the-correct-type.rule.yaml +49 -0
- package/rules/cfn/cfn.maintainability.check-if-mappings-are-used.rule.yaml +49 -0
- package/rules/cfn/cfn.maintainability.check-if-parameters-are-used.rule.yaml +49 -0
- package/rules/cfn/cfn.maintainability.check-if-parameters-have-a-valid-value-based-on-an-allowed-pattern.rule.yaml +49 -0
- package/rules/cfn/cfn.maintainability.check-if-parameters-have-a-valid-value.rule.yaml +49 -0
- package/rules/cfn/cfn.maintainability.check-obsolete-dependson-configuration-for-resources.rule.yaml +49 -0
- package/rules/cfn/cfn.maintainability.check-outputs-using-importvalue.rule.yaml +49 -0
- package/rules/cfn/cfn.maintainability.check-required-properties-for-lambda-if-the-deployment-package-is-a-zip-file.rule.yaml +49 -0
- package/rules/cfn/cfn.maintainability.check-resources-with-auto-expiring-content-have-explicit-retention-period.rule.yaml +49 -0
- package/rules/cfn/cfn.maintainability.check-resources-with-updatereplacepolicy-deletionpolicy-have-both.rule.yaml +49 -0
- package/rules/cfn/cfn.maintainability.check-stateful-resources-have-a-set-updatereplacepolicy-deletionpolicy.rule.yaml +49 -0
- package/rules/cfn/cfn.maintainability.checks-for-legacy-instance-type-generations.rule.yaml +49 -0
- package/rules/cfn/cfn.maintainability.findinmap-keys-exist-in-the-map.rule.yaml +49 -0
- package/rules/cfn/cfn.maintainability.fn-equals-will-always-return-true-or-false.rule.yaml +49 -0
- package/rules/cfn/cfn.maintainability.mapping-attribute-limit.rule.yaml +49 -0
- package/rules/cfn/cfn.maintainability.mapping-limit.rule.yaml +49 -0
- package/rules/cfn/cfn.maintainability.mapping-name-limit.rule.yaml +49 -0
- package/rules/cfn/cfn.maintainability.metadata-interface-parameters-exist.rule.yaml +49 -0
- package/rules/cfn/cfn.maintainability.output-description-limit.rule.yaml +49 -0
- package/rules/cfn/cfn.maintainability.output-limit.rule.yaml +49 -0
- package/rules/cfn/cfn.maintainability.output-name-limit.rule.yaml +49 -0
- package/rules/cfn/cfn.maintainability.parameter-limit.rule.yaml +49 -0
- package/rules/cfn/cfn.maintainability.parameter-memory-size-attributes-should-have-max-and-min.rule.yaml +49 -0
- package/rules/cfn/cfn.maintainability.parameter-name-limit.rule.yaml +49 -0
- package/rules/cfn/cfn.maintainability.parameter-value-limit.rule.yaml +49 -0
- package/rules/cfn/cfn.maintainability.ref-getatt-to-resource-that-is-available-when-conditions-are-applied.rule.yaml +49 -0
- package/rules/cfn/cfn.maintainability.resource-limit.rule.yaml +49 -0
- package/rules/cfn/cfn.maintainability.resource-name-limit.rule.yaml +49 -0
- package/rules/cfn/cfn.maintainability.sub-isn-t-needed-if-it-doesn-t-have-a-variable-defined.rule.yaml +49 -0
- package/rules/cfn/cfn.maintainability.sub-validation-of-parameters-w1019.rule.yaml +49 -0
- package/rules/cfn/cfn.maintainability.template-description-limit-i1003.rule.yaml +49 -0
- package/rules/cfn/cfn.maintainability.template-size-limit-i1002.rule.yaml +49 -0
- package/rules/cfn/cfn.maintainability.use-sub-instead-of-join.rule.yaml +49 -0
- package/rules/cfn/cfn.maintainability.validate-that-snapstart-is-configured-for-java11-runtimes.rule.yaml +49 -0
- package/rules/cfn/cfn.maintainability.validate-that-snapstart-is-properly-configured.rule.yaml +49 -0
- package/rules/cfn/cfn.maintainability.warn-when-properties-are-configured-to-only-work-with-the-package-command.rule.yaml +49 -0
- package/rules/cfn/cfn.security.check-dynamic-references-secure-strings-are-in-supported-locations.rule.yaml +53 -0
- package/rules/cfn/cfn.security.check-for-noecho-references.rule.yaml +53 -0
- package/rules/cfn/cfn.security.check-iam-permission-configuration.rule.yaml +53 -0
- package/rules/cfn/cfn.security.check-if-iam-policies-are-properly-configured.rule.yaml +53 -0
- package/rules/cfn/cfn.security.check-if-password-properties-are-correctly-configured.rule.yaml +53 -0
- package/rules/cfn/cfn.security.controlling-access-to-an-s3-bucket-should-be-done-with-bucket-policies.rule.yaml +53 -0
- package/rules/php/php.correctness.abstract-method-outside-abstract-class.rule.yaml +36 -0
- package/rules/php/php.correctness.break-continue-outside-loop.rule.yaml +36 -0
- package/rules/php/php.correctness.case-insensitive-define.rule.yaml +36 -0
- package/rules/php/php.correctness.default-parameter-not-last.rule.yaml +36 -0
- package/rules/php/php.correctness.deprecated-filter-constant.rule.yaml +36 -0
- package/rules/php/php.correctness.deprecated-libxml-entity-loader.rule.yaml +36 -0
- package/rules/php/php.correctness.deprecated-unset-cast.rule.yaml +36 -0
- package/rules/php/php.correctness.duplicate-declaration.rule.yaml +36 -0
- package/rules/php/php.correctness.empty-array-literal-slot.rule.yaml +36 -0
- package/rules/php/php.correctness.empty-bracket-array-access.rule.yaml +36 -0
- package/rules/php/php.correctness.empty-code-block.rule.yaml +36 -0
- package/rules/php/php.correctness.empty-function-body.rule.yaml +36 -0
- package/rules/php/php.correctness.function-comparison.rule.yaml +36 -0
- package/rules/php/php.correctness.invalid-cookie-options.rule.yaml +36 -0
- package/rules/php/php.correctness.invalid-regex-literal.rule.yaml +36 -0
- package/rules/php/php.correctness.missing-member-visibility.rule.yaml +36 -0
- package/rules/php/php.correctness.nested-function-declaration.rule.yaml +36 -0
- package/rules/php/php.correctness.nested-switch.rule.yaml +36 -0
- package/rules/php/php.correctness.redundant-string-cast-concat.rule.yaml +36 -0
- package/rules/php/php.correctness.self-assignment.rule.yaml +36 -0
- package/rules/php/php.correctness.todo-fixme-marker.rule.yaml +36 -0
- package/rules/php/php.correctness.unknown-magic-method.rule.yaml +36 -0
- package/rules/php/php.correctness.useless-post-increment.rule.yaml +36 -0
- package/rules/php/php.correctness.useless-unset.rule.yaml +36 -0
- package/rules/php/php.performance.expensive-loop-condition.rule.yaml +36 -0
- package/rules/php/php.security.unsafe-new-static.rule.yaml +42 -0
- package/rules/ruby/ruby.bug-risk.assignment-in-condition.rule.yaml +42 -0
- package/rules/ruby/ruby.bug-risk.deprecated-uri-escape.rule.yaml +42 -0
- package/rules/ruby/ruby.bug-risk.division-by-zero.rule.yaml +42 -0
- package/rules/ruby/ruby.bug-risk.duplicate-hash-keys.rule.yaml +42 -0
- package/rules/ruby/ruby.bug-risk.exception-class-overwritten.rule.yaml +42 -0
- package/rules/ruby/ruby.bug-risk.raw-sql-without-squish.rule.yaml +42 -0
- package/rules/ruby/ruby.security.debugger-call.rule.yaml +53 -0
- package/rules/ruby/ruby.security.dynamic-code-execution.rule.yaml +54 -0
- package/rules/ruby/ruby.security.insecure-json-load.rule.yaml +53 -0
- package/rules/ruby/ruby.security.kernel-open.rule.yaml +53 -0
- package/rules/ruby/ruby.security.plaintext-password-in-callback.rule.yaml +46 -0
- package/rules/ruby/ruby.security.rails-link-to-blank-without-noopener.rule.yaml +48 -0
- package/rules/ruby/ruby.security.rails-output-unsafe.rule.yaml +47 -0
package/package.json
CHANGED
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
apiVersion: critiq.dev/v1alpha1
|
|
2
|
+
kind: Rule
|
|
3
|
+
metadata:
|
|
4
|
+
id: cfn.correctness.attributedefinitions-keyschemas-mismatch
|
|
5
|
+
title: Attributedefinitions / keyschemas mismatch
|
|
6
|
+
summary: Attributedefinitions / keyschemas mismatch
|
|
7
|
+
rationale: cfn-lint reports E3039 when Attributedefinitions / keyschemas mismatch.
|
|
8
|
+
aliases:
|
|
9
|
+
- CFLIN-E3039
|
|
10
|
+
tags:
|
|
11
|
+
- cfn
|
|
12
|
+
- cfn-lint
|
|
13
|
+
- cloudformation
|
|
14
|
+
- e3039
|
|
15
|
+
- rules-catalog
|
|
16
|
+
stability: stable
|
|
17
|
+
appliesTo: file
|
|
18
|
+
detection:
|
|
19
|
+
kind: pattern
|
|
20
|
+
scope:
|
|
21
|
+
languages:
|
|
22
|
+
- all
|
|
23
|
+
paths:
|
|
24
|
+
include:
|
|
25
|
+
- "**/*.yaml"
|
|
26
|
+
- "**/*.yml"
|
|
27
|
+
- "**/*.json"
|
|
28
|
+
exclude:
|
|
29
|
+
- "**/node_modules/**"
|
|
30
|
+
match:
|
|
31
|
+
fact:
|
|
32
|
+
kind: cfn.lint.finding
|
|
33
|
+
bind: finding
|
|
34
|
+
where:
|
|
35
|
+
- path: ruleId
|
|
36
|
+
equals: E3039
|
|
37
|
+
emit:
|
|
38
|
+
finding:
|
|
39
|
+
category: correctness.configuration
|
|
40
|
+
severity: high
|
|
41
|
+
confidence: 0.9
|
|
42
|
+
tags:
|
|
43
|
+
- cfn
|
|
44
|
+
- cloudformation
|
|
45
|
+
message:
|
|
46
|
+
title: Attributedefinitions / keyschemas mismatch
|
|
47
|
+
summary: "${captures.finding.text} matches cfn-lint E3039."
|
|
48
|
+
remediation:
|
|
49
|
+
summary: Resolve the cfn-lint E3039 finding in this CloudFormation template.
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
apiVersion: critiq.dev/v1alpha1
|
|
2
|
+
kind: Rule
|
|
3
|
+
metadata:
|
|
4
|
+
id: cfn.correctness.base64-validation-of-parameters
|
|
5
|
+
title: Base64 validation of parameters
|
|
6
|
+
summary: Base64 validation of parameters
|
|
7
|
+
rationale: cfn-lint reports E1021 when Base64 validation of parameters.
|
|
8
|
+
aliases:
|
|
9
|
+
- CFLIN-E1021
|
|
10
|
+
tags:
|
|
11
|
+
- cfn
|
|
12
|
+
- cfn-lint
|
|
13
|
+
- cloudformation
|
|
14
|
+
- e1021
|
|
15
|
+
- rules-catalog
|
|
16
|
+
stability: stable
|
|
17
|
+
appliesTo: file
|
|
18
|
+
detection:
|
|
19
|
+
kind: pattern
|
|
20
|
+
scope:
|
|
21
|
+
languages:
|
|
22
|
+
- all
|
|
23
|
+
paths:
|
|
24
|
+
include:
|
|
25
|
+
- "**/*.yaml"
|
|
26
|
+
- "**/*.yml"
|
|
27
|
+
- "**/*.json"
|
|
28
|
+
exclude:
|
|
29
|
+
- "**/node_modules/**"
|
|
30
|
+
match:
|
|
31
|
+
fact:
|
|
32
|
+
kind: cfn.lint.finding
|
|
33
|
+
bind: finding
|
|
34
|
+
where:
|
|
35
|
+
- path: ruleId
|
|
36
|
+
equals: E1021
|
|
37
|
+
emit:
|
|
38
|
+
finding:
|
|
39
|
+
category: correctness.configuration
|
|
40
|
+
severity: high
|
|
41
|
+
confidence: 0.9
|
|
42
|
+
tags:
|
|
43
|
+
- cfn
|
|
44
|
+
- cloudformation
|
|
45
|
+
message:
|
|
46
|
+
title: Base64 validation of parameters
|
|
47
|
+
summary: "${captures.finding.text} matches cfn-lint E1021."
|
|
48
|
+
remediation:
|
|
49
|
+
summary: Resolve the cfn-lint E1021 finding in this CloudFormation template.
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
apiVersion: critiq.dev/v1alpha1
|
|
2
|
+
kind: Rule
|
|
3
|
+
metadata:
|
|
4
|
+
id: cfn.correctness.basic-cloudformation-resource-check
|
|
5
|
+
title: Basic cloudformation resource check
|
|
6
|
+
summary: Basic cloudformation resource check
|
|
7
|
+
rationale: cfn-lint reports E3001 when Basic cloudformation resource check.
|
|
8
|
+
aliases:
|
|
9
|
+
- CFLIN-E3001
|
|
10
|
+
tags:
|
|
11
|
+
- cfn
|
|
12
|
+
- cfn-lint
|
|
13
|
+
- cloudformation
|
|
14
|
+
- e3001
|
|
15
|
+
- rules-catalog
|
|
16
|
+
stability: stable
|
|
17
|
+
appliesTo: file
|
|
18
|
+
detection:
|
|
19
|
+
kind: pattern
|
|
20
|
+
scope:
|
|
21
|
+
languages:
|
|
22
|
+
- all
|
|
23
|
+
paths:
|
|
24
|
+
include:
|
|
25
|
+
- "**/*.yaml"
|
|
26
|
+
- "**/*.yml"
|
|
27
|
+
- "**/*.json"
|
|
28
|
+
exclude:
|
|
29
|
+
- "**/node_modules/**"
|
|
30
|
+
match:
|
|
31
|
+
fact:
|
|
32
|
+
kind: cfn.lint.finding
|
|
33
|
+
bind: finding
|
|
34
|
+
where:
|
|
35
|
+
- path: ruleId
|
|
36
|
+
equals: E3001
|
|
37
|
+
emit:
|
|
38
|
+
finding:
|
|
39
|
+
category: correctness.configuration
|
|
40
|
+
severity: high
|
|
41
|
+
confidence: 0.9
|
|
42
|
+
tags:
|
|
43
|
+
- cfn
|
|
44
|
+
- cloudformation
|
|
45
|
+
message:
|
|
46
|
+
title: Basic cloudformation resource check
|
|
47
|
+
summary: "${captures.finding.text} matches cfn-lint E3001."
|
|
48
|
+
remediation:
|
|
49
|
+
summary: Resolve the cfn-lint E3001 finding in this CloudFormation template.
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
apiVersion: critiq.dev/v1alpha1
|
|
2
|
+
kind: Rule
|
|
3
|
+
metadata:
|
|
4
|
+
id: cfn.correctness.basic-cloudformation-template-configuration
|
|
5
|
+
title: Basic cloudformation template configuration
|
|
6
|
+
summary: Basic cloudformation template configuration
|
|
7
|
+
rationale: cfn-lint reports E1001 when Basic cloudformation template configuration.
|
|
8
|
+
aliases:
|
|
9
|
+
- CFLIN-E1001
|
|
10
|
+
tags:
|
|
11
|
+
- cfn
|
|
12
|
+
- cfn-lint
|
|
13
|
+
- cloudformation
|
|
14
|
+
- e1001
|
|
15
|
+
- rules-catalog
|
|
16
|
+
stability: stable
|
|
17
|
+
appliesTo: file
|
|
18
|
+
detection:
|
|
19
|
+
kind: pattern
|
|
20
|
+
scope:
|
|
21
|
+
languages:
|
|
22
|
+
- all
|
|
23
|
+
paths:
|
|
24
|
+
include:
|
|
25
|
+
- "**/*.yaml"
|
|
26
|
+
- "**/*.yml"
|
|
27
|
+
- "**/*.json"
|
|
28
|
+
exclude:
|
|
29
|
+
- "**/node_modules/**"
|
|
30
|
+
match:
|
|
31
|
+
fact:
|
|
32
|
+
kind: cfn.lint.finding
|
|
33
|
+
bind: finding
|
|
34
|
+
where:
|
|
35
|
+
- path: ruleId
|
|
36
|
+
equals: E1001
|
|
37
|
+
emit:
|
|
38
|
+
finding:
|
|
39
|
+
category: correctness.configuration
|
|
40
|
+
severity: high
|
|
41
|
+
confidence: 0.9
|
|
42
|
+
tags:
|
|
43
|
+
- cfn
|
|
44
|
+
- cloudformation
|
|
45
|
+
message:
|
|
46
|
+
title: Basic cloudformation template configuration
|
|
47
|
+
summary: "${captures.finding.text} matches cfn-lint E1001."
|
|
48
|
+
remediation:
|
|
49
|
+
summary: Resolve the cfn-lint E1001 finding in this CloudFormation template.
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
apiVersion: critiq.dev/v1alpha1
|
|
2
|
+
kind: Rule
|
|
3
|
+
metadata:
|
|
4
|
+
id: cfn.correctness.cannot-reference-resources-in-the-conditions-block-of-the-template
|
|
5
|
+
title: Cannot reference resources in the conditions block of the template
|
|
6
|
+
summary: Cannot reference resources in the conditions block of the template
|
|
7
|
+
rationale: cfn-lint reports E1026 when Cannot reference resources in the conditions block of the template.
|
|
8
|
+
aliases:
|
|
9
|
+
- CFLIN-E1026
|
|
10
|
+
tags:
|
|
11
|
+
- cfn
|
|
12
|
+
- cfn-lint
|
|
13
|
+
- cloudformation
|
|
14
|
+
- e1026
|
|
15
|
+
- rules-catalog
|
|
16
|
+
stability: stable
|
|
17
|
+
appliesTo: file
|
|
18
|
+
detection:
|
|
19
|
+
kind: pattern
|
|
20
|
+
scope:
|
|
21
|
+
languages:
|
|
22
|
+
- all
|
|
23
|
+
paths:
|
|
24
|
+
include:
|
|
25
|
+
- "**/*.yaml"
|
|
26
|
+
- "**/*.yml"
|
|
27
|
+
- "**/*.json"
|
|
28
|
+
exclude:
|
|
29
|
+
- "**/node_modules/**"
|
|
30
|
+
match:
|
|
31
|
+
fact:
|
|
32
|
+
kind: cfn.lint.finding
|
|
33
|
+
bind: finding
|
|
34
|
+
where:
|
|
35
|
+
- path: ruleId
|
|
36
|
+
equals: E1026
|
|
37
|
+
emit:
|
|
38
|
+
finding:
|
|
39
|
+
category: correctness.configuration
|
|
40
|
+
severity: high
|
|
41
|
+
confidence: 0.9
|
|
42
|
+
tags:
|
|
43
|
+
- cfn
|
|
44
|
+
- cloudformation
|
|
45
|
+
message:
|
|
46
|
+
title: Cannot reference resources in the conditions block of the template
|
|
47
|
+
summary: "${captures.finding.text} matches cfn-lint E1026."
|
|
48
|
+
remediation:
|
|
49
|
+
summary: Resolve the cfn-lint E1026 finding in this CloudFormation template.
|
package/rules/cfn/cfn.correctness.check-at-least-one-essential-container-is-specified.rule.yaml
ADDED
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
apiVersion: critiq.dev/v1alpha1
|
|
2
|
+
kind: Rule
|
|
3
|
+
metadata:
|
|
4
|
+
id: cfn.correctness.check-at-least-one-essential-container-is-specified
|
|
5
|
+
title: Check at least one essential container is specified
|
|
6
|
+
summary: Check at least one essential container is specified
|
|
7
|
+
rationale: cfn-lint reports E3042 when Check at least one essential container is specified.
|
|
8
|
+
aliases:
|
|
9
|
+
- CFLIN-E3042
|
|
10
|
+
tags:
|
|
11
|
+
- cfn
|
|
12
|
+
- cfn-lint
|
|
13
|
+
- cloudformation
|
|
14
|
+
- e3042
|
|
15
|
+
- rules-catalog
|
|
16
|
+
stability: stable
|
|
17
|
+
appliesTo: file
|
|
18
|
+
detection:
|
|
19
|
+
kind: pattern
|
|
20
|
+
scope:
|
|
21
|
+
languages:
|
|
22
|
+
- all
|
|
23
|
+
paths:
|
|
24
|
+
include:
|
|
25
|
+
- "**/*.yaml"
|
|
26
|
+
- "**/*.yml"
|
|
27
|
+
- "**/*.json"
|
|
28
|
+
exclude:
|
|
29
|
+
- "**/node_modules/**"
|
|
30
|
+
match:
|
|
31
|
+
fact:
|
|
32
|
+
kind: cfn.lint.finding
|
|
33
|
+
bind: finding
|
|
34
|
+
where:
|
|
35
|
+
- path: ruleId
|
|
36
|
+
equals: E3042
|
|
37
|
+
emit:
|
|
38
|
+
finding:
|
|
39
|
+
category: correctness.configuration
|
|
40
|
+
severity: high
|
|
41
|
+
confidence: 0.9
|
|
42
|
+
tags:
|
|
43
|
+
- cfn
|
|
44
|
+
- cloudformation
|
|
45
|
+
message:
|
|
46
|
+
title: Check at least one essential container is specified
|
|
47
|
+
summary: "${captures.finding.text} matches cfn-lint E3042."
|
|
48
|
+
remediation:
|
|
49
|
+
summary: Resolve the cfn-lint E3042 finding in this CloudFormation template.
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
apiVersion: critiq.dev/v1alpha1
|
|
2
|
+
kind: Rule
|
|
3
|
+
metadata:
|
|
4
|
+
id: cfn.correctness.check-deletionpolicy-values-for-resources
|
|
5
|
+
title: Check deletionpolicy values for resources
|
|
6
|
+
summary: Check deletionpolicy values for resources
|
|
7
|
+
rationale: cfn-lint reports E3035 when Check deletionpolicy values for resources.
|
|
8
|
+
aliases:
|
|
9
|
+
- CFLIN-E3035
|
|
10
|
+
tags:
|
|
11
|
+
- cfn
|
|
12
|
+
- cfn-lint
|
|
13
|
+
- cloudformation
|
|
14
|
+
- e3035
|
|
15
|
+
- rules-catalog
|
|
16
|
+
stability: stable
|
|
17
|
+
appliesTo: file
|
|
18
|
+
detection:
|
|
19
|
+
kind: pattern
|
|
20
|
+
scope:
|
|
21
|
+
languages:
|
|
22
|
+
- all
|
|
23
|
+
paths:
|
|
24
|
+
include:
|
|
25
|
+
- "**/*.yaml"
|
|
26
|
+
- "**/*.yml"
|
|
27
|
+
- "**/*.json"
|
|
28
|
+
exclude:
|
|
29
|
+
- "**/node_modules/**"
|
|
30
|
+
match:
|
|
31
|
+
fact:
|
|
32
|
+
kind: cfn.lint.finding
|
|
33
|
+
bind: finding
|
|
34
|
+
where:
|
|
35
|
+
- path: ruleId
|
|
36
|
+
equals: E3035
|
|
37
|
+
emit:
|
|
38
|
+
finding:
|
|
39
|
+
category: correctness.configuration
|
|
40
|
+
severity: high
|
|
41
|
+
confidence: 0.9
|
|
42
|
+
tags:
|
|
43
|
+
- cfn
|
|
44
|
+
- cloudformation
|
|
45
|
+
message:
|
|
46
|
+
title: Check deletionpolicy values for resources
|
|
47
|
+
summary: "${captures.finding.text} matches cfn-lint E3035."
|
|
48
|
+
remediation:
|
|
49
|
+
summary: Resolve the cfn-lint E3035 finding in this CloudFormation template.
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
apiVersion: critiq.dev/v1alpha1
|
|
2
|
+
kind: Rule
|
|
3
|
+
metadata:
|
|
4
|
+
id: cfn.correctness.check-dependson-values-for-resources
|
|
5
|
+
title: Check dependson values for resources
|
|
6
|
+
summary: Check dependson values for resources
|
|
7
|
+
rationale: cfn-lint reports E3005 when Check dependson values for resources.
|
|
8
|
+
aliases:
|
|
9
|
+
- CFLIN-E3005
|
|
10
|
+
tags:
|
|
11
|
+
- cfn
|
|
12
|
+
- cfn-lint
|
|
13
|
+
- cloudformation
|
|
14
|
+
- e3005
|
|
15
|
+
- rules-catalog
|
|
16
|
+
stability: stable
|
|
17
|
+
appliesTo: file
|
|
18
|
+
detection:
|
|
19
|
+
kind: pattern
|
|
20
|
+
scope:
|
|
21
|
+
languages:
|
|
22
|
+
- all
|
|
23
|
+
paths:
|
|
24
|
+
include:
|
|
25
|
+
- "**/*.yaml"
|
|
26
|
+
- "**/*.yml"
|
|
27
|
+
- "**/*.json"
|
|
28
|
+
exclude:
|
|
29
|
+
- "**/node_modules/**"
|
|
30
|
+
match:
|
|
31
|
+
fact:
|
|
32
|
+
kind: cfn.lint.finding
|
|
33
|
+
bind: finding
|
|
34
|
+
where:
|
|
35
|
+
- path: ruleId
|
|
36
|
+
equals: E3005
|
|
37
|
+
emit:
|
|
38
|
+
finding:
|
|
39
|
+
category: correctness.configuration
|
|
40
|
+
severity: high
|
|
41
|
+
confidence: 0.9
|
|
42
|
+
tags:
|
|
43
|
+
- cfn
|
|
44
|
+
- cloudformation
|
|
45
|
+
message:
|
|
46
|
+
title: Check dependson values for resources
|
|
47
|
+
summary: "${captures.finding.text} matches cfn-lint E3005."
|
|
48
|
+
remediation:
|
|
49
|
+
summary: Resolve the cfn-lint E3005 finding in this CloudFormation template.
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
apiVersion: critiq.dev/v1alpha1
|
|
2
|
+
kind: Rule
|
|
3
|
+
metadata:
|
|
4
|
+
id: cfn.correctness.check-ec2-ebs-properties
|
|
5
|
+
title: Check ec2 ebs properties
|
|
6
|
+
summary: Check ec2 ebs properties
|
|
7
|
+
rationale: cfn-lint reports E2504 when Check ec2 ebs properties.
|
|
8
|
+
aliases:
|
|
9
|
+
- CFLIN-E2504
|
|
10
|
+
tags:
|
|
11
|
+
- cfn
|
|
12
|
+
- cfn-lint
|
|
13
|
+
- cloudformation
|
|
14
|
+
- e2504
|
|
15
|
+
- rules-catalog
|
|
16
|
+
stability: stable
|
|
17
|
+
appliesTo: file
|
|
18
|
+
detection:
|
|
19
|
+
kind: pattern
|
|
20
|
+
scope:
|
|
21
|
+
languages:
|
|
22
|
+
- all
|
|
23
|
+
paths:
|
|
24
|
+
include:
|
|
25
|
+
- "**/*.yaml"
|
|
26
|
+
- "**/*.yml"
|
|
27
|
+
- "**/*.json"
|
|
28
|
+
exclude:
|
|
29
|
+
- "**/node_modules/**"
|
|
30
|
+
match:
|
|
31
|
+
fact:
|
|
32
|
+
kind: cfn.lint.finding
|
|
33
|
+
bind: finding
|
|
34
|
+
where:
|
|
35
|
+
- path: ruleId
|
|
36
|
+
equals: E2504
|
|
37
|
+
emit:
|
|
38
|
+
finding:
|
|
39
|
+
category: correctness.configuration
|
|
40
|
+
severity: high
|
|
41
|
+
confidence: 0.9
|
|
42
|
+
tags:
|
|
43
|
+
- cfn
|
|
44
|
+
- cloudformation
|
|
45
|
+
message:
|
|
46
|
+
title: Check ec2 ebs properties
|
|
47
|
+
summary: "${captures.finding.text} matches cfn-lint E2504."
|
|
48
|
+
remediation:
|
|
49
|
+
summary: Resolve the cfn-lint E2504 finding in this CloudFormation template.
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
apiVersion: critiq.dev/v1alpha1
|
|
2
|
+
kind: Rule
|
|
3
|
+
metadata:
|
|
4
|
+
id: cfn.correctness.check-elastic-cache-redis-cluster-settings
|
|
5
|
+
title: Check elastic cache redis cluster settings
|
|
6
|
+
summary: Check elastic cache redis cluster settings
|
|
7
|
+
rationale: cfn-lint reports E3026 when Check elastic cache redis cluster settings.
|
|
8
|
+
aliases:
|
|
9
|
+
- CFLIN-E3026
|
|
10
|
+
tags:
|
|
11
|
+
- cfn
|
|
12
|
+
- cfn-lint
|
|
13
|
+
- cloudformation
|
|
14
|
+
- e3026
|
|
15
|
+
- rules-catalog
|
|
16
|
+
stability: stable
|
|
17
|
+
appliesTo: file
|
|
18
|
+
detection:
|
|
19
|
+
kind: pattern
|
|
20
|
+
scope:
|
|
21
|
+
languages:
|
|
22
|
+
- all
|
|
23
|
+
paths:
|
|
24
|
+
include:
|
|
25
|
+
- "**/*.yaml"
|
|
26
|
+
- "**/*.yml"
|
|
27
|
+
- "**/*.json"
|
|
28
|
+
exclude:
|
|
29
|
+
- "**/node_modules/**"
|
|
30
|
+
match:
|
|
31
|
+
fact:
|
|
32
|
+
kind: cfn.lint.finding
|
|
33
|
+
bind: finding
|
|
34
|
+
where:
|
|
35
|
+
- path: ruleId
|
|
36
|
+
equals: E3026
|
|
37
|
+
emit:
|
|
38
|
+
finding:
|
|
39
|
+
category: correctness.configuration
|
|
40
|
+
severity: high
|
|
41
|
+
confidence: 0.9
|
|
42
|
+
tags:
|
|
43
|
+
- cfn
|
|
44
|
+
- cloudformation
|
|
45
|
+
message:
|
|
46
|
+
title: Check elastic cache redis cluster settings
|
|
47
|
+
summary: "${captures.finding.text} matches cfn-lint E3026."
|
|
48
|
+
remediation:
|
|
49
|
+
summary: Resolve the cfn-lint E3026 finding in this CloudFormation template.
|
package/rules/cfn/cfn.correctness.check-events-rule-targets-are-less-than-or-equal-to-5.rule.yaml
ADDED
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
apiVersion: critiq.dev/v1alpha1
|
|
2
|
+
kind: Rule
|
|
3
|
+
metadata:
|
|
4
|
+
id: cfn.correctness.check-events-rule-targets-are-less-than-or-equal-to-5
|
|
5
|
+
title: Check events rule targets are less than or equal to 5
|
|
6
|
+
summary: Check events rule targets are less than or equal to 5
|
|
7
|
+
rationale: cfn-lint reports E3021 when Check events rule targets are less than or equal to 5.
|
|
8
|
+
aliases:
|
|
9
|
+
- CFLIN-E3021
|
|
10
|
+
tags:
|
|
11
|
+
- cfn
|
|
12
|
+
- cfn-lint
|
|
13
|
+
- cloudformation
|
|
14
|
+
- e3021
|
|
15
|
+
- rules-catalog
|
|
16
|
+
stability: stable
|
|
17
|
+
appliesTo: file
|
|
18
|
+
detection:
|
|
19
|
+
kind: pattern
|
|
20
|
+
scope:
|
|
21
|
+
languages:
|
|
22
|
+
- all
|
|
23
|
+
paths:
|
|
24
|
+
include:
|
|
25
|
+
- "**/*.yaml"
|
|
26
|
+
- "**/*.yml"
|
|
27
|
+
- "**/*.json"
|
|
28
|
+
exclude:
|
|
29
|
+
- "**/node_modules/**"
|
|
30
|
+
match:
|
|
31
|
+
fact:
|
|
32
|
+
kind: cfn.lint.finding
|
|
33
|
+
bind: finding
|
|
34
|
+
where:
|
|
35
|
+
- path: ruleId
|
|
36
|
+
equals: E3021
|
|
37
|
+
emit:
|
|
38
|
+
finding:
|
|
39
|
+
category: correctness.configuration
|
|
40
|
+
severity: high
|
|
41
|
+
confidence: 0.9
|
|
42
|
+
tags:
|
|
43
|
+
- cfn
|
|
44
|
+
- cloudformation
|
|
45
|
+
message:
|
|
46
|
+
title: Check events rule targets are less than or equal to 5
|
|
47
|
+
summary: "${captures.finding.text} matches cfn-lint E3021."
|
|
48
|
+
remediation:
|
|
49
|
+
summary: Resolve the cfn-lint E3021 finding in this CloudFormation template.
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
apiVersion: critiq.dev/v1alpha1
|
|
2
|
+
kind: Rule
|
|
3
|
+
metadata:
|
|
4
|
+
id: cfn.correctness.check-fargate-service-scheduling-strategy
|
|
5
|
+
title: Check fargate service scheduling strategy
|
|
6
|
+
summary: Check fargate service scheduling strategy
|
|
7
|
+
rationale: cfn-lint reports E3044 when Check fargate service scheduling strategy.
|
|
8
|
+
aliases:
|
|
9
|
+
- CFLIN-E3044
|
|
10
|
+
tags:
|
|
11
|
+
- cfn
|
|
12
|
+
- cfn-lint
|
|
13
|
+
- cloudformation
|
|
14
|
+
- e3044
|
|
15
|
+
- rules-catalog
|
|
16
|
+
stability: stable
|
|
17
|
+
appliesTo: file
|
|
18
|
+
detection:
|
|
19
|
+
kind: pattern
|
|
20
|
+
scope:
|
|
21
|
+
languages:
|
|
22
|
+
- all
|
|
23
|
+
paths:
|
|
24
|
+
include:
|
|
25
|
+
- "**/*.yaml"
|
|
26
|
+
- "**/*.yml"
|
|
27
|
+
- "**/*.json"
|
|
28
|
+
exclude:
|
|
29
|
+
- "**/node_modules/**"
|
|
30
|
+
match:
|
|
31
|
+
fact:
|
|
32
|
+
kind: cfn.lint.finding
|
|
33
|
+
bind: finding
|
|
34
|
+
where:
|
|
35
|
+
- path: ruleId
|
|
36
|
+
equals: E3044
|
|
37
|
+
emit:
|
|
38
|
+
finding:
|
|
39
|
+
category: correctness.configuration
|
|
40
|
+
severity: high
|
|
41
|
+
confidence: 0.9
|
|
42
|
+
tags:
|
|
43
|
+
- cfn
|
|
44
|
+
- cloudformation
|
|
45
|
+
message:
|
|
46
|
+
title: Check fargate service scheduling strategy
|
|
47
|
+
summary: "${captures.finding.text} matches cfn-lint E3044."
|
|
48
|
+
remediation:
|
|
49
|
+
summary: Resolve the cfn-lint E3044 finding in this CloudFormation template.
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
apiVersion: critiq.dev/v1alpha1
|
|
2
|
+
kind: Rule
|
|
3
|
+
metadata:
|
|
4
|
+
id: cfn.correctness.check-fn-and-structure-for-validity
|
|
5
|
+
title: "Check fn::and structure for validity"
|
|
6
|
+
summary: "Check fn::and structure for validity"
|
|
7
|
+
rationale: "cfn-lint reports E8004 when Check fn::and structure for validity."
|
|
8
|
+
aliases:
|
|
9
|
+
- CFLIN-E8004
|
|
10
|
+
tags:
|
|
11
|
+
- cfn
|
|
12
|
+
- cfn-lint
|
|
13
|
+
- cloudformation
|
|
14
|
+
- e8004
|
|
15
|
+
- rules-catalog
|
|
16
|
+
stability: stable
|
|
17
|
+
appliesTo: file
|
|
18
|
+
detection:
|
|
19
|
+
kind: pattern
|
|
20
|
+
scope:
|
|
21
|
+
languages:
|
|
22
|
+
- all
|
|
23
|
+
paths:
|
|
24
|
+
include:
|
|
25
|
+
- "**/*.yaml"
|
|
26
|
+
- "**/*.yml"
|
|
27
|
+
- "**/*.json"
|
|
28
|
+
exclude:
|
|
29
|
+
- "**/node_modules/**"
|
|
30
|
+
match:
|
|
31
|
+
fact:
|
|
32
|
+
kind: cfn.lint.finding
|
|
33
|
+
bind: finding
|
|
34
|
+
where:
|
|
35
|
+
- path: ruleId
|
|
36
|
+
equals: E8004
|
|
37
|
+
emit:
|
|
38
|
+
finding:
|
|
39
|
+
category: correctness.configuration
|
|
40
|
+
severity: high
|
|
41
|
+
confidence: 0.9
|
|
42
|
+
tags:
|
|
43
|
+
- cfn
|
|
44
|
+
- cloudformation
|
|
45
|
+
message:
|
|
46
|
+
title: "Check fn::and structure for validity"
|
|
47
|
+
summary: "${captures.finding.text} matches cfn-lint E8004."
|
|
48
|
+
remediation:
|
|
49
|
+
summary: Resolve the cfn-lint E8004 finding in this CloudFormation template.
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
apiVersion: critiq.dev/v1alpha1
|
|
2
|
+
kind: Rule
|
|
3
|
+
metadata:
|
|
4
|
+
id: cfn.correctness.check-fn-equals-structure-for-validity
|
|
5
|
+
title: "Check fn::equals structure for validity"
|
|
6
|
+
summary: "Check fn::equals structure for validity"
|
|
7
|
+
rationale: "cfn-lint reports E8003 when Check fn::equals structure for validity."
|
|
8
|
+
aliases:
|
|
9
|
+
- CFLIN-E8003
|
|
10
|
+
tags:
|
|
11
|
+
- cfn
|
|
12
|
+
- cfn-lint
|
|
13
|
+
- cloudformation
|
|
14
|
+
- e8003
|
|
15
|
+
- rules-catalog
|
|
16
|
+
stability: stable
|
|
17
|
+
appliesTo: file
|
|
18
|
+
detection:
|
|
19
|
+
kind: pattern
|
|
20
|
+
scope:
|
|
21
|
+
languages:
|
|
22
|
+
- all
|
|
23
|
+
paths:
|
|
24
|
+
include:
|
|
25
|
+
- "**/*.yaml"
|
|
26
|
+
- "**/*.yml"
|
|
27
|
+
- "**/*.json"
|
|
28
|
+
exclude:
|
|
29
|
+
- "**/node_modules/**"
|
|
30
|
+
match:
|
|
31
|
+
fact:
|
|
32
|
+
kind: cfn.lint.finding
|
|
33
|
+
bind: finding
|
|
34
|
+
where:
|
|
35
|
+
- path: ruleId
|
|
36
|
+
equals: E8003
|
|
37
|
+
emit:
|
|
38
|
+
finding:
|
|
39
|
+
category: correctness.configuration
|
|
40
|
+
severity: high
|
|
41
|
+
confidence: 0.9
|
|
42
|
+
tags:
|
|
43
|
+
- cfn
|
|
44
|
+
- cloudformation
|
|
45
|
+
message:
|
|
46
|
+
title: "Check fn::equals structure for validity"
|
|
47
|
+
summary: "${captures.finding.text} matches cfn-lint E8003."
|
|
48
|
+
remediation:
|
|
49
|
+
summary: Resolve the cfn-lint E8003 finding in this CloudFormation template.
|