@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
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
apiVersion: critiq.dev/v1alpha1
|
|
2
|
+
kind: Rule
|
|
3
|
+
metadata:
|
|
4
|
+
id: cfn.correctness.parameter-limit-not-exceeded
|
|
5
|
+
title: Parameter limit not exceeded
|
|
6
|
+
summary: Parameter limit not exceeded
|
|
7
|
+
rationale: cfn-lint reports E2010 when Parameter limit not exceeded.
|
|
8
|
+
aliases:
|
|
9
|
+
- CFLIN-E2010
|
|
10
|
+
tags:
|
|
11
|
+
- cfn
|
|
12
|
+
- cfn-lint
|
|
13
|
+
- cloudformation
|
|
14
|
+
- e2010
|
|
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: E2010
|
|
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: Parameter limit not exceeded
|
|
47
|
+
summary: "${captures.finding.text} matches cfn-lint E2010."
|
|
48
|
+
remediation:
|
|
49
|
+
summary: Resolve the cfn-lint E2010 finding in this CloudFormation template.
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
apiVersion: critiq.dev/v1alpha1
|
|
2
|
+
kind: Rule
|
|
3
|
+
metadata:
|
|
4
|
+
id: cfn.correctness.parameter-name-limit-not-exceeded
|
|
5
|
+
title: Parameter name limit not exceeded
|
|
6
|
+
summary: Parameter name limit not exceeded
|
|
7
|
+
rationale: cfn-lint reports E2011 when Parameter name limit not exceeded.
|
|
8
|
+
aliases:
|
|
9
|
+
- CFLIN-E2011
|
|
10
|
+
tags:
|
|
11
|
+
- cfn
|
|
12
|
+
- cfn-lint
|
|
13
|
+
- cloudformation
|
|
14
|
+
- e2011
|
|
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: E2011
|
|
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: Parameter name limit not exceeded
|
|
47
|
+
summary: "${captures.finding.text} matches cfn-lint E2011."
|
|
48
|
+
remediation:
|
|
49
|
+
summary: Resolve the cfn-lint E2011 finding in this CloudFormation template.
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
apiVersion: critiq.dev/v1alpha1
|
|
2
|
+
kind: Rule
|
|
3
|
+
metadata:
|
|
4
|
+
id: cfn.correctness.parameter-value-limit-not-exceeded
|
|
5
|
+
title: Parameter value limit not exceeded
|
|
6
|
+
summary: Parameter value limit not exceeded
|
|
7
|
+
rationale: cfn-lint reports E2012 when Parameter value limit not exceeded.
|
|
8
|
+
aliases:
|
|
9
|
+
- CFLIN-E2012
|
|
10
|
+
tags:
|
|
11
|
+
- cfn
|
|
12
|
+
- cfn-lint
|
|
13
|
+
- cloudformation
|
|
14
|
+
- e2012
|
|
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: E2012
|
|
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: Parameter value limit not exceeded
|
|
47
|
+
summary: "${captures.finding.text} matches cfn-lint E2012."
|
|
48
|
+
remediation:
|
|
49
|
+
summary: Resolve the cfn-lint E2012 finding in this CloudFormation template.
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
apiVersion: critiq.dev/v1alpha1
|
|
2
|
+
kind: Rule
|
|
3
|
+
metadata:
|
|
4
|
+
id: cfn.correctness.parameters-have-appropriate-names
|
|
5
|
+
title: Parameters have appropriate names
|
|
6
|
+
summary: Parameters have appropriate names
|
|
7
|
+
rationale: cfn-lint reports E2003 when Parameters have appropriate names.
|
|
8
|
+
aliases:
|
|
9
|
+
- CFLIN-E2003
|
|
10
|
+
tags:
|
|
11
|
+
- cfn
|
|
12
|
+
- cfn-lint
|
|
13
|
+
- cloudformation
|
|
14
|
+
- e2003
|
|
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: E2003
|
|
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: Parameters have appropriate names
|
|
47
|
+
summary: "${captures.finding.text} matches cfn-lint E2003."
|
|
48
|
+
remediation:
|
|
49
|
+
summary: Resolve the cfn-lint E2003 finding in this CloudFormation template.
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
apiVersion: critiq.dev/v1alpha1
|
|
2
|
+
kind: Rule
|
|
3
|
+
metadata:
|
|
4
|
+
id: cfn.correctness.parameters-have-appropriate-properties
|
|
5
|
+
title: Parameters have appropriate properties
|
|
6
|
+
summary: Parameters have appropriate properties
|
|
7
|
+
rationale: cfn-lint reports E2001 when Parameters have appropriate properties.
|
|
8
|
+
aliases:
|
|
9
|
+
- CFLIN-E2001
|
|
10
|
+
tags:
|
|
11
|
+
- cfn
|
|
12
|
+
- cfn-lint
|
|
13
|
+
- cloudformation
|
|
14
|
+
- e2001
|
|
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: E2001
|
|
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: Parameters have appropriate properties
|
|
47
|
+
summary: "${captures.finding.text} matches cfn-lint E2001."
|
|
48
|
+
remediation:
|
|
49
|
+
summary: Resolve the cfn-lint E2001 finding in this CloudFormation template.
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
apiVersion: critiq.dev/v1alpha1
|
|
2
|
+
kind: Rule
|
|
3
|
+
metadata:
|
|
4
|
+
id: cfn.correctness.parameters-have-appropriate-type
|
|
5
|
+
title: Parameters have appropriate type
|
|
6
|
+
summary: Parameters have appropriate type
|
|
7
|
+
rationale: cfn-lint reports E2002 when Parameters have appropriate type.
|
|
8
|
+
aliases:
|
|
9
|
+
- CFLIN-E2002
|
|
10
|
+
tags:
|
|
11
|
+
- cfn
|
|
12
|
+
- cfn-lint
|
|
13
|
+
- cloudformation
|
|
14
|
+
- e2002
|
|
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: E2002
|
|
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: Parameters have appropriate type
|
|
47
|
+
summary: "${captures.finding.text} matches cfn-lint E2002."
|
|
48
|
+
remediation:
|
|
49
|
+
summary: Resolve the cfn-lint E2002 finding in this CloudFormation template.
|
package/rules/cfn/cfn.correctness.property-is-required-based-on-another-properties-value.rule.yaml
ADDED
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
apiVersion: critiq.dev/v1alpha1
|
|
2
|
+
kind: Rule
|
|
3
|
+
metadata:
|
|
4
|
+
id: cfn.correctness.property-is-required-based-on-another-properties-value
|
|
5
|
+
title: Property is required based on another properties value
|
|
6
|
+
summary: Property is required based on another properties value
|
|
7
|
+
rationale: cfn-lint reports E3017 when Property is required based on another properties value.
|
|
8
|
+
aliases:
|
|
9
|
+
- CFLIN-E3017
|
|
10
|
+
tags:
|
|
11
|
+
- cfn
|
|
12
|
+
- cfn-lint
|
|
13
|
+
- cloudformation
|
|
14
|
+
- e3017
|
|
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: E3017
|
|
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: Property is required based on another properties value
|
|
47
|
+
summary: "${captures.finding.text} matches cfn-lint E3017."
|
|
48
|
+
remediation:
|
|
49
|
+
summary: Resolve the cfn-lint E3017 finding in this CloudFormation template.
|
package/rules/cfn/cfn.correctness.property-is-unwanted-based-on-another-properties-value.rule.yaml
ADDED
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
apiVersion: critiq.dev/v1alpha1
|
|
2
|
+
kind: Rule
|
|
3
|
+
metadata:
|
|
4
|
+
id: cfn.correctness.property-is-unwanted-based-on-another-properties-value
|
|
5
|
+
title: Property is unwanted based on another properties value
|
|
6
|
+
summary: Property is unwanted based on another properties value
|
|
7
|
+
rationale: cfn-lint reports E3018 when Property is unwanted based on another properties value.
|
|
8
|
+
aliases:
|
|
9
|
+
- CFLIN-E3018
|
|
10
|
+
tags:
|
|
11
|
+
- cfn
|
|
12
|
+
- cfn-lint
|
|
13
|
+
- cloudformation
|
|
14
|
+
- e3018
|
|
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: E3018
|
|
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: Property is unwanted based on another properties value
|
|
47
|
+
summary: "${captures.finding.text} matches cfn-lint E3018."
|
|
48
|
+
remediation:
|
|
49
|
+
summary: Resolve the cfn-lint E3018 finding in this CloudFormation template.
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
apiVersion: critiq.dev/v1alpha1
|
|
2
|
+
kind: Rule
|
|
3
|
+
metadata:
|
|
4
|
+
id: cfn.correctness.rds-instance-type-is-compatible-with-the-rds-type
|
|
5
|
+
title: Rds instance type is compatible with the rds type
|
|
6
|
+
summary: Rds instance type is compatible with the rds type
|
|
7
|
+
rationale: cfn-lint reports E3025 when Rds instance type is compatible with the rds type.
|
|
8
|
+
aliases:
|
|
9
|
+
- CFLIN-E3025
|
|
10
|
+
tags:
|
|
11
|
+
- cfn
|
|
12
|
+
- cfn-lint
|
|
13
|
+
- cloudformation
|
|
14
|
+
- e3025
|
|
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: E3025
|
|
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: Rds instance type is compatible with the rds type
|
|
47
|
+
summary: "${captures.finding.text} matches cfn-lint E3025."
|
|
48
|
+
remediation:
|
|
49
|
+
summary: Resolve the cfn-lint E3025 finding in this CloudFormation template.
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
apiVersion: critiq.dev/v1alpha1
|
|
2
|
+
kind: Rule
|
|
3
|
+
metadata:
|
|
4
|
+
id: cfn.correctness.recordset-hostedzonename-is-a-superdomain-of-name
|
|
5
|
+
title: Recordset hostedzonename is a superdomain of name
|
|
6
|
+
summary: Recordset hostedzonename is a superdomain of name
|
|
7
|
+
rationale: cfn-lint reports E3041 when Recordset hostedzonename is a superdomain of name.
|
|
8
|
+
aliases:
|
|
9
|
+
- CFLIN-E3041
|
|
10
|
+
tags:
|
|
11
|
+
- cfn
|
|
12
|
+
- cfn-lint
|
|
13
|
+
- cloudformation
|
|
14
|
+
- e3041
|
|
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: E3041
|
|
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: Recordset hostedzonename is a superdomain of name
|
|
47
|
+
summary: "${captures.finding.text} matches cfn-lint E3041."
|
|
48
|
+
remediation:
|
|
49
|
+
summary: Resolve the cfn-lint E3041 finding in this CloudFormation template.
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
apiVersion: critiq.dev/v1alpha1
|
|
2
|
+
kind: Rule
|
|
3
|
+
metadata:
|
|
4
|
+
id: cfn.correctness.ref-validation-of-value
|
|
5
|
+
title: Ref validation of value
|
|
6
|
+
summary: Ref validation of value
|
|
7
|
+
rationale: cfn-lint reports E1020 when Ref validation of value.
|
|
8
|
+
aliases:
|
|
9
|
+
- CFLIN-E1020
|
|
10
|
+
tags:
|
|
11
|
+
- cfn
|
|
12
|
+
- cfn-lint
|
|
13
|
+
- cloudformation
|
|
14
|
+
- e1020
|
|
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: E1020
|
|
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: Ref validation of value
|
|
47
|
+
summary: "${captures.finding.text} matches cfn-lint E1020."
|
|
48
|
+
remediation:
|
|
49
|
+
summary: Resolve the cfn-lint E1020 finding in this CloudFormation template.
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
apiVersion: critiq.dev/v1alpha1
|
|
2
|
+
kind: Rule
|
|
3
|
+
metadata:
|
|
4
|
+
id: cfn.correctness.required-resource-properties-are-missing
|
|
5
|
+
title: Required resource properties are missing
|
|
6
|
+
summary: Required resource properties are missing
|
|
7
|
+
rationale: cfn-lint reports E3003 when Required resource properties are missing.
|
|
8
|
+
aliases:
|
|
9
|
+
- CFLIN-E3003
|
|
10
|
+
tags:
|
|
11
|
+
- cfn
|
|
12
|
+
- cfn-lint
|
|
13
|
+
- cloudformation
|
|
14
|
+
- e3003
|
|
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: E3003
|
|
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: Required resource properties are missing
|
|
47
|
+
summary: "${captures.finding.text} matches cfn-lint E3003."
|
|
48
|
+
remediation:
|
|
49
|
+
summary: Resolve the cfn-lint E3003 finding in this CloudFormation template.
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
apiVersion: critiq.dev/v1alpha1
|
|
2
|
+
kind: Rule
|
|
3
|
+
metadata:
|
|
4
|
+
id: cfn.correctness.resource-dependencies-are-not-circular
|
|
5
|
+
title: Resource dependencies are not circular
|
|
6
|
+
summary: Resource dependencies are not circular
|
|
7
|
+
rationale: cfn-lint reports E3004 when Resource dependencies are not circular.
|
|
8
|
+
aliases:
|
|
9
|
+
- CFLIN-E3004
|
|
10
|
+
tags:
|
|
11
|
+
- cfn
|
|
12
|
+
- cfn-lint
|
|
13
|
+
- cloudformation
|
|
14
|
+
- e3004
|
|
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: E3004
|
|
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: Resource dependencies are not circular
|
|
47
|
+
summary: "${captures.finding.text} matches cfn-lint E3004."
|
|
48
|
+
remediation:
|
|
49
|
+
summary: Resolve the cfn-lint E3004 finding in this CloudFormation template.
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
apiVersion: critiq.dev/v1alpha1
|
|
2
|
+
kind: Rule
|
|
3
|
+
metadata:
|
|
4
|
+
id: cfn.correctness.resource-ec2-security-group-ingress-properties
|
|
5
|
+
title: Resource ec2 security group ingress properties
|
|
6
|
+
summary: Resource ec2 security group ingress properties
|
|
7
|
+
rationale: cfn-lint reports E2506 when Resource ec2 security group ingress properties.
|
|
8
|
+
aliases:
|
|
9
|
+
- CFLIN-E2506
|
|
10
|
+
tags:
|
|
11
|
+
- cfn
|
|
12
|
+
- cfn-lint
|
|
13
|
+
- cloudformation
|
|
14
|
+
- e2506
|
|
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: E2506
|
|
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: Resource ec2 security group ingress properties
|
|
47
|
+
summary: "${captures.finding.text} matches cfn-lint E2506."
|
|
48
|
+
remediation:
|
|
49
|
+
summary: Resolve the cfn-lint E2506 finding in this CloudFormation template.
|