@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.maintainability.check-if-a-list-that-allows-duplicates-has-any-duplicates
|
|
5
|
+
title: Check if a list that allows duplicates has any duplicates
|
|
6
|
+
summary: Check if a list that allows duplicates has any duplicates
|
|
7
|
+
rationale: cfn-lint reports I3037 when Check if a list that allows duplicates has any duplicates.
|
|
8
|
+
aliases:
|
|
9
|
+
- CFLIN-I3037
|
|
10
|
+
tags:
|
|
11
|
+
- cfn
|
|
12
|
+
- cfn-lint
|
|
13
|
+
- cloudformation
|
|
14
|
+
- i3037
|
|
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: I3037
|
|
37
|
+
emit:
|
|
38
|
+
finding:
|
|
39
|
+
category: maintainability.configuration
|
|
40
|
+
severity: low
|
|
41
|
+
confidence: 0.8
|
|
42
|
+
tags:
|
|
43
|
+
- cfn
|
|
44
|
+
- cloudformation
|
|
45
|
+
message:
|
|
46
|
+
title: Check if a list that allows duplicates has any duplicates
|
|
47
|
+
summary: "${captures.finding.text} matches cfn-lint I3037."
|
|
48
|
+
remediation:
|
|
49
|
+
summary: Resolve the cfn-lint I3037 finding in this CloudFormation template.
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
apiVersion: critiq.dev/v1alpha1
|
|
2
|
+
kind: Rule
|
|
3
|
+
metadata:
|
|
4
|
+
id: cfn.maintainability.check-if-conditions-are-used
|
|
5
|
+
title: Check if conditions are used
|
|
6
|
+
summary: Check if conditions are used
|
|
7
|
+
rationale: cfn-lint reports W8001 when Check if conditions are used.
|
|
8
|
+
aliases:
|
|
9
|
+
- CFLIN-W8001
|
|
10
|
+
tags:
|
|
11
|
+
- cfn
|
|
12
|
+
- cfn-lint
|
|
13
|
+
- cloudformation
|
|
14
|
+
- w8001
|
|
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: W8001
|
|
37
|
+
emit:
|
|
38
|
+
finding:
|
|
39
|
+
category: maintainability.configuration
|
|
40
|
+
severity: medium
|
|
41
|
+
confidence: 0.85
|
|
42
|
+
tags:
|
|
43
|
+
- cfn
|
|
44
|
+
- cloudformation
|
|
45
|
+
message:
|
|
46
|
+
title: Check if conditions are used
|
|
47
|
+
summary: "${captures.finding.text} matches cfn-lint W8001."
|
|
48
|
+
remediation:
|
|
49
|
+
summary: Resolve the cfn-lint W8001 finding in this CloudFormation template.
|
package/rules/cfn/cfn.maintainability.check-if-eol-lambda-function-runtimes-are-used-w2531.rule.yaml
ADDED
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
apiVersion: critiq.dev/v1alpha1
|
|
2
|
+
kind: Rule
|
|
3
|
+
metadata:
|
|
4
|
+
id: cfn.maintainability.check-if-eol-lambda-function-runtimes-are-used-w2531
|
|
5
|
+
title: Check if eol lambda function runtimes are used
|
|
6
|
+
summary: Check if eol lambda function runtimes are used
|
|
7
|
+
rationale: cfn-lint reports W2531 when Check if eol lambda function runtimes are used.
|
|
8
|
+
aliases:
|
|
9
|
+
- CFLIN-W2531
|
|
10
|
+
tags:
|
|
11
|
+
- cfn
|
|
12
|
+
- cfn-lint
|
|
13
|
+
- cloudformation
|
|
14
|
+
- w2531
|
|
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: W2531
|
|
37
|
+
emit:
|
|
38
|
+
finding:
|
|
39
|
+
category: maintainability.configuration
|
|
40
|
+
severity: medium
|
|
41
|
+
confidence: 0.85
|
|
42
|
+
tags:
|
|
43
|
+
- cfn
|
|
44
|
+
- cloudformation
|
|
45
|
+
message:
|
|
46
|
+
title: Check if eol lambda function runtimes are used
|
|
47
|
+
summary: "${captures.finding.text} matches cfn-lint W2531."
|
|
48
|
+
remediation:
|
|
49
|
+
summary: Resolve the cfn-lint W2531 finding in this CloudFormation template.
|
package/rules/cfn/cfn.maintainability.check-if-imageid-parameters-have-the-correct-type.rule.yaml
ADDED
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
apiVersion: critiq.dev/v1alpha1
|
|
2
|
+
kind: Rule
|
|
3
|
+
metadata:
|
|
4
|
+
id: cfn.maintainability.check-if-imageid-parameters-have-the-correct-type
|
|
5
|
+
title: Check if imageid parameters have the correct type
|
|
6
|
+
summary: Check if imageid parameters have the correct type
|
|
7
|
+
rationale: cfn-lint reports W2506 when Check if imageid parameters have the correct type.
|
|
8
|
+
aliases:
|
|
9
|
+
- CFLIN-W2506
|
|
10
|
+
tags:
|
|
11
|
+
- cfn
|
|
12
|
+
- cfn-lint
|
|
13
|
+
- cloudformation
|
|
14
|
+
- w2506
|
|
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: W2506
|
|
37
|
+
emit:
|
|
38
|
+
finding:
|
|
39
|
+
category: maintainability.configuration
|
|
40
|
+
severity: medium
|
|
41
|
+
confidence: 0.85
|
|
42
|
+
tags:
|
|
43
|
+
- cfn
|
|
44
|
+
- cloudformation
|
|
45
|
+
message:
|
|
46
|
+
title: Check if imageid parameters have the correct type
|
|
47
|
+
summary: "${captures.finding.text} matches cfn-lint W2506."
|
|
48
|
+
remediation:
|
|
49
|
+
summary: Resolve the cfn-lint W2506 finding in this CloudFormation template.
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
apiVersion: critiq.dev/v1alpha1
|
|
2
|
+
kind: Rule
|
|
3
|
+
metadata:
|
|
4
|
+
id: cfn.maintainability.check-if-mappings-are-used
|
|
5
|
+
title: Check if mappings are used
|
|
6
|
+
summary: Check if mappings are used
|
|
7
|
+
rationale: cfn-lint reports W7001 when Check if mappings are used.
|
|
8
|
+
aliases:
|
|
9
|
+
- CFLIN-W7001
|
|
10
|
+
tags:
|
|
11
|
+
- cfn
|
|
12
|
+
- cfn-lint
|
|
13
|
+
- cloudformation
|
|
14
|
+
- w7001
|
|
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: W7001
|
|
37
|
+
emit:
|
|
38
|
+
finding:
|
|
39
|
+
category: maintainability.configuration
|
|
40
|
+
severity: medium
|
|
41
|
+
confidence: 0.85
|
|
42
|
+
tags:
|
|
43
|
+
- cfn
|
|
44
|
+
- cloudformation
|
|
45
|
+
message:
|
|
46
|
+
title: Check if mappings are used
|
|
47
|
+
summary: "${captures.finding.text} matches cfn-lint W7001."
|
|
48
|
+
remediation:
|
|
49
|
+
summary: Resolve the cfn-lint W7001 finding in this CloudFormation template.
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
apiVersion: critiq.dev/v1alpha1
|
|
2
|
+
kind: Rule
|
|
3
|
+
metadata:
|
|
4
|
+
id: cfn.maintainability.check-if-parameters-are-used
|
|
5
|
+
title: Check if parameters are used
|
|
6
|
+
summary: Check if parameters are used
|
|
7
|
+
rationale: cfn-lint reports W2001 when Check if parameters are used.
|
|
8
|
+
aliases:
|
|
9
|
+
- CFLIN-W2001
|
|
10
|
+
tags:
|
|
11
|
+
- cfn
|
|
12
|
+
- cfn-lint
|
|
13
|
+
- cloudformation
|
|
14
|
+
- w2001
|
|
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: W2001
|
|
37
|
+
emit:
|
|
38
|
+
finding:
|
|
39
|
+
category: maintainability.configuration
|
|
40
|
+
severity: medium
|
|
41
|
+
confidence: 0.85
|
|
42
|
+
tags:
|
|
43
|
+
- cfn
|
|
44
|
+
- cloudformation
|
|
45
|
+
message:
|
|
46
|
+
title: Check if parameters are used
|
|
47
|
+
summary: "${captures.finding.text} matches cfn-lint W2001."
|
|
48
|
+
remediation:
|
|
49
|
+
summary: Resolve the cfn-lint W2001 finding in this CloudFormation template.
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
apiVersion: critiq.dev/v1alpha1
|
|
2
|
+
kind: Rule
|
|
3
|
+
metadata:
|
|
4
|
+
id: cfn.maintainability.check-if-parameters-have-a-valid-value-based-on-an-allowed-pattern
|
|
5
|
+
title: Check if parameters have a valid value based on an allowed pattern
|
|
6
|
+
summary: Check if parameters have a valid value based on an allowed pattern
|
|
7
|
+
rationale: cfn-lint reports W2031 when Check if parameters have a valid value based on an allowed pattern.
|
|
8
|
+
aliases:
|
|
9
|
+
- CFLIN-W2031
|
|
10
|
+
tags:
|
|
11
|
+
- cfn
|
|
12
|
+
- cfn-lint
|
|
13
|
+
- cloudformation
|
|
14
|
+
- w2031
|
|
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: W2031
|
|
37
|
+
emit:
|
|
38
|
+
finding:
|
|
39
|
+
category: maintainability.configuration
|
|
40
|
+
severity: medium
|
|
41
|
+
confidence: 0.85
|
|
42
|
+
tags:
|
|
43
|
+
- cfn
|
|
44
|
+
- cloudformation
|
|
45
|
+
message:
|
|
46
|
+
title: Check if parameters have a valid value based on an allowed pattern
|
|
47
|
+
summary: "${captures.finding.text} matches cfn-lint W2031."
|
|
48
|
+
remediation:
|
|
49
|
+
summary: Resolve the cfn-lint W2031 finding in this CloudFormation template.
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
apiVersion: critiq.dev/v1alpha1
|
|
2
|
+
kind: Rule
|
|
3
|
+
metadata:
|
|
4
|
+
id: cfn.maintainability.check-if-parameters-have-a-valid-value
|
|
5
|
+
title: Check if parameters have a valid value
|
|
6
|
+
summary: Check if parameters have a valid value
|
|
7
|
+
rationale: cfn-lint reports W2030 when Check if parameters have a valid value.
|
|
8
|
+
aliases:
|
|
9
|
+
- CFLIN-W2030
|
|
10
|
+
tags:
|
|
11
|
+
- cfn
|
|
12
|
+
- cfn-lint
|
|
13
|
+
- cloudformation
|
|
14
|
+
- w2030
|
|
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: W2030
|
|
37
|
+
emit:
|
|
38
|
+
finding:
|
|
39
|
+
category: maintainability.configuration
|
|
40
|
+
severity: medium
|
|
41
|
+
confidence: 0.85
|
|
42
|
+
tags:
|
|
43
|
+
- cfn
|
|
44
|
+
- cloudformation
|
|
45
|
+
message:
|
|
46
|
+
title: Check if parameters have a valid value
|
|
47
|
+
summary: "${captures.finding.text} matches cfn-lint W2030."
|
|
48
|
+
remediation:
|
|
49
|
+
summary: Resolve the cfn-lint W2030 finding in this CloudFormation template.
|
package/rules/cfn/cfn.maintainability.check-obsolete-dependson-configuration-for-resources.rule.yaml
ADDED
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
apiVersion: critiq.dev/v1alpha1
|
|
2
|
+
kind: Rule
|
|
3
|
+
metadata:
|
|
4
|
+
id: cfn.maintainability.check-obsolete-dependson-configuration-for-resources
|
|
5
|
+
title: Check obsolete dependson configuration for resources
|
|
6
|
+
summary: Check obsolete dependson configuration for resources
|
|
7
|
+
rationale: cfn-lint reports W3005 when Check obsolete dependson configuration for resources.
|
|
8
|
+
aliases:
|
|
9
|
+
- CFLIN-W3005
|
|
10
|
+
tags:
|
|
11
|
+
- cfn
|
|
12
|
+
- cfn-lint
|
|
13
|
+
- cloudformation
|
|
14
|
+
- w3005
|
|
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: W3005
|
|
37
|
+
emit:
|
|
38
|
+
finding:
|
|
39
|
+
category: maintainability.configuration
|
|
40
|
+
severity: medium
|
|
41
|
+
confidence: 0.85
|
|
42
|
+
tags:
|
|
43
|
+
- cfn
|
|
44
|
+
- cloudformation
|
|
45
|
+
message:
|
|
46
|
+
title: Check obsolete dependson configuration for resources
|
|
47
|
+
summary: "${captures.finding.text} matches cfn-lint W3005."
|
|
48
|
+
remediation:
|
|
49
|
+
summary: Resolve the cfn-lint W3005 finding in this CloudFormation template.
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
apiVersion: critiq.dev/v1alpha1
|
|
2
|
+
kind: Rule
|
|
3
|
+
metadata:
|
|
4
|
+
id: cfn.maintainability.check-outputs-using-importvalue
|
|
5
|
+
title: Check outputs using importvalue
|
|
6
|
+
summary: Check outputs using importvalue
|
|
7
|
+
rationale: cfn-lint reports W6001 when Check outputs using importvalue.
|
|
8
|
+
aliases:
|
|
9
|
+
- CFLIN-W6001
|
|
10
|
+
tags:
|
|
11
|
+
- cfn
|
|
12
|
+
- cfn-lint
|
|
13
|
+
- cloudformation
|
|
14
|
+
- w6001
|
|
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: W6001
|
|
37
|
+
emit:
|
|
38
|
+
finding:
|
|
39
|
+
category: maintainability.configuration
|
|
40
|
+
severity: medium
|
|
41
|
+
confidence: 0.85
|
|
42
|
+
tags:
|
|
43
|
+
- cfn
|
|
44
|
+
- cloudformation
|
|
45
|
+
message:
|
|
46
|
+
title: Check outputs using importvalue
|
|
47
|
+
summary: "${captures.finding.text} matches cfn-lint W6001."
|
|
48
|
+
remediation:
|
|
49
|
+
summary: Resolve the cfn-lint W6001 finding in this CloudFormation template.
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
apiVersion: critiq.dev/v1alpha1
|
|
2
|
+
kind: Rule
|
|
3
|
+
metadata:
|
|
4
|
+
id: cfn.maintainability.check-required-properties-for-lambda-if-the-deployment-package-is-a-zip-file
|
|
5
|
+
title: Check required properties for lambda if the deployment package is a .zip file
|
|
6
|
+
summary: Check required properties for lambda if the deployment package is a .zip file
|
|
7
|
+
rationale: cfn-lint reports W2533 when Check required properties for lambda if the deployment package is a .zip file.
|
|
8
|
+
aliases:
|
|
9
|
+
- CFLIN-W2533
|
|
10
|
+
tags:
|
|
11
|
+
- cfn
|
|
12
|
+
- cfn-lint
|
|
13
|
+
- cloudformation
|
|
14
|
+
- w2533
|
|
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: W2533
|
|
37
|
+
emit:
|
|
38
|
+
finding:
|
|
39
|
+
category: maintainability.configuration
|
|
40
|
+
severity: medium
|
|
41
|
+
confidence: 0.85
|
|
42
|
+
tags:
|
|
43
|
+
- cfn
|
|
44
|
+
- cloudformation
|
|
45
|
+
message:
|
|
46
|
+
title: Check required properties for lambda if the deployment package is a .zip file
|
|
47
|
+
summary: "${captures.finding.text} matches cfn-lint W2533."
|
|
48
|
+
remediation:
|
|
49
|
+
summary: Resolve the cfn-lint W2533 finding in this CloudFormation template.
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
apiVersion: critiq.dev/v1alpha1
|
|
2
|
+
kind: Rule
|
|
3
|
+
metadata:
|
|
4
|
+
id: cfn.maintainability.check-resources-with-auto-expiring-content-have-explicit-retention-period
|
|
5
|
+
title: Check resources with auto expiring content have explicit retention period
|
|
6
|
+
summary: Check resources with auto expiring content have explicit retention period
|
|
7
|
+
rationale: cfn-lint reports I3013 when Check resources with auto expiring content have explicit retention period.
|
|
8
|
+
aliases:
|
|
9
|
+
- CFLIN-I3013
|
|
10
|
+
tags:
|
|
11
|
+
- cfn
|
|
12
|
+
- cfn-lint
|
|
13
|
+
- cloudformation
|
|
14
|
+
- i3013
|
|
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: I3013
|
|
37
|
+
emit:
|
|
38
|
+
finding:
|
|
39
|
+
category: maintainability.configuration
|
|
40
|
+
severity: low
|
|
41
|
+
confidence: 0.8
|
|
42
|
+
tags:
|
|
43
|
+
- cfn
|
|
44
|
+
- cloudformation
|
|
45
|
+
message:
|
|
46
|
+
title: Check resources with auto expiring content have explicit retention period
|
|
47
|
+
summary: "${captures.finding.text} matches cfn-lint I3013."
|
|
48
|
+
remediation:
|
|
49
|
+
summary: Resolve the cfn-lint I3013 finding in this CloudFormation template.
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
apiVersion: critiq.dev/v1alpha1
|
|
2
|
+
kind: Rule
|
|
3
|
+
metadata:
|
|
4
|
+
id: cfn.maintainability.check-resources-with-updatereplacepolicy-deletionpolicy-have-both
|
|
5
|
+
title: Check resources with updatereplacepolicy/deletionpolicy have both
|
|
6
|
+
summary: Check resources with updatereplacepolicy/deletionpolicy have both
|
|
7
|
+
rationale: cfn-lint reports W3011 when Check resources with updatereplacepolicy/deletionpolicy have both.
|
|
8
|
+
aliases:
|
|
9
|
+
- CFLIN-W3011
|
|
10
|
+
tags:
|
|
11
|
+
- cfn
|
|
12
|
+
- cfn-lint
|
|
13
|
+
- cloudformation
|
|
14
|
+
- w3011
|
|
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: W3011
|
|
37
|
+
emit:
|
|
38
|
+
finding:
|
|
39
|
+
category: maintainability.configuration
|
|
40
|
+
severity: medium
|
|
41
|
+
confidence: 0.85
|
|
42
|
+
tags:
|
|
43
|
+
- cfn
|
|
44
|
+
- cloudformation
|
|
45
|
+
message:
|
|
46
|
+
title: Check resources with updatereplacepolicy/deletionpolicy have both
|
|
47
|
+
summary: "${captures.finding.text} matches cfn-lint W3011."
|
|
48
|
+
remediation:
|
|
49
|
+
summary: Resolve the cfn-lint W3011 finding in this CloudFormation template.
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
apiVersion: critiq.dev/v1alpha1
|
|
2
|
+
kind: Rule
|
|
3
|
+
metadata:
|
|
4
|
+
id: cfn.maintainability.check-stateful-resources-have-a-set-updatereplacepolicy-deletionpolicy
|
|
5
|
+
title: Check stateful resources have a set updatereplacepolicy/deletionpolicy
|
|
6
|
+
summary: Check stateful resources have a set updatereplacepolicy/deletionpolicy
|
|
7
|
+
rationale: cfn-lint reports I3011 when Check stateful resources have a set updatereplacepolicy/deletionpolicy.
|
|
8
|
+
aliases:
|
|
9
|
+
- CFLIN-I3011
|
|
10
|
+
tags:
|
|
11
|
+
- cfn
|
|
12
|
+
- cfn-lint
|
|
13
|
+
- cloudformation
|
|
14
|
+
- i3011
|
|
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: I3011
|
|
37
|
+
emit:
|
|
38
|
+
finding:
|
|
39
|
+
category: maintainability.configuration
|
|
40
|
+
severity: low
|
|
41
|
+
confidence: 0.8
|
|
42
|
+
tags:
|
|
43
|
+
- cfn
|
|
44
|
+
- cloudformation
|
|
45
|
+
message:
|
|
46
|
+
title: Check stateful resources have a set updatereplacepolicy/deletionpolicy
|
|
47
|
+
summary: "${captures.finding.text} matches cfn-lint I3011."
|
|
48
|
+
remediation:
|
|
49
|
+
summary: Resolve the cfn-lint I3011 finding in this CloudFormation template.
|