We are currently solving the following issue within our repository. Here is the issue text:
--- BEGIN ISSUE ---
CKV_AWS_134: Skip Memcache engine
**Describe the bug**
"snapshot_retention_limit" - parameter only for "Redis" engine and in my TF module for Memcache it doesn't exist. But when I run "checkov" I got the following:

```
Check: CKV_AWS_134: "Ensure that Amazon ElastiCache Redis clusters have automatic backup turned on"
	FAILED for resource: aws_elasticache_cluster.memcached
	File: /tf.json:0-0
	Guide: https://docs.bridgecrew.io/docs/ensure-that-amazon-elasticache-redis-clusters-have-automatic-backup-turned-on
```

**Terraform module**
```
### ElastiCache Memcached CLuster
resource "aws_elasticache_cluster" "memcached" {
  cluster_id = lower("${var.basename}-Memcached-Cluster")

  engine               = var.engine
  engine_version       = var.engine_version
  port                 = var.port
  parameter_group_name = module.common.parameter_group_name

  node_type       = var.node_type
  num_cache_nodes = var.num_cache_nodes
  az_mode         = var.az_mode

  subnet_group_name  = module.common.subnet_group_name
  security_group_ids = [module.common.sg_id]

  apply_immediately = true

  tags = var.tags
}
```

**memcache.tf**
```
### ElastiCache: Memcashed Cluster
module "elasticache-memcached" {
  source = "../../modules/elasticache/memcached"

  basename = local.basename
  vpc_id   = module.vpc.id
  subnets  = module.private-subnets.ids

  engine_version         = "1.6.6"
  parameter_group_family = "memcached1.6"
  node_type              = "cache.t3.small"
  num_cache_nodes        = 2

  # Enable az_mode, when num_cache_nodes > 1
  az_mode = "cross-az"

  cidr_groups = { ALL = "0.0.0.0/0" }

  tags = local.base_tags
}
```

**Expected behavior**
If engine is "memcache" then check must be skipped.

**Desktop:**
 - OS: macOS Big Sur - 11.2.1
 - Checkov Version: 2.0.77


--- END ISSUE ---

Below are some code segments, each from a relevant file. One or more of these files may contain bugs.
--- BEGIN FILES ---
Path: `checkov/terraform/checks/resource/aws/ElasticCacheAutomaticBackup.py`
Content:
```
1 from checkov.common.models.enums import CheckCategories, CheckResult
2 from checkov.terraform.checks.resource.base_resource_negative_value_check import BaseResourceNegativeValueCheck
3 
4 
5 class ElasticCacheAutomaticBackup(BaseResourceNegativeValueCheck):
6     def __init__(self):
7         name = "Ensure that Amazon ElastiCache Redis clusters have automatic backup turned on"
8         id = "CKV_AWS_134"
9         supported_resources = ['aws_elasticache_cluster']
10         categories = [CheckCategories.BACKUP_AND_RECOVERY]
11         super().__init__(name=name, id=id, categories=categories, supported_resources=supported_resources,
12                          missing_attribute_result=CheckResult.FAILED)
13 
14     def get_inspected_key(self):
15         return 'snapshot_retention_limit'
16 
17     def get_forbidden_values(self):
18         return [0]
19 
20 
21 check = ElasticCacheAutomaticBackup()
22
```
--- END FILES ---

Please first localize the bug based on the issue statement, and then generate a patch according to the `git diff` format fenced by three backticks.

Here is an example:

```diff
diff --git a/examples/server_async.py b/examples/server_async.py
--- a/examples/server_async.py
+++ b/examples/server_async.py
@@ -313,4 +313,4 @@
 
 
 if __name__ == "__main__":
-    asyncio.run(run_async_server("."), debug=True)
+    asyncio.run(run_async_server(), debug=True)
diff --git a/examples/server_sync.py b/examples/server_sync.py
--- a/examples/server_sync.py
+++ b/examples/server_sync.py
@@ -313,5 +313,5 @@
 
 
 if __name__ == "__main__":
-    server = run_sync_server(".")
+    server = run_sync_server()
     server.shutdown()

```

diff --git a/checkov/terraform/checks/resource/aws/ElasticCacheAutomaticBackup.py b/checkov/terraform/checks/resource/aws/ElasticCacheAutomaticBackup.py
--- a/checkov/terraform/checks/resource/aws/ElasticCacheAutomaticBackup.py
+++ b/checkov/terraform/checks/resource/aws/ElasticCacheAutomaticBackup.py
@@ -6,13 +6,24 @@
     def __init__(self):
         name = "Ensure that Amazon ElastiCache Redis clusters have automatic backup turned on"
         id = "CKV_AWS_134"
-        supported_resources = ['aws_elasticache_cluster']
+        supported_resources = ["aws_elasticache_cluster"]
         categories = [CheckCategories.BACKUP_AND_RECOVERY]
-        super().__init__(name=name, id=id, categories=categories, supported_resources=supported_resources,
-                         missing_attribute_result=CheckResult.FAILED)
+        super().__init__(
+            name=name,
+            id=id,
+            categories=categories,
+            supported_resources=supported_resources,
+            missing_attribute_result=CheckResult.FAILED,
+        )
+
+    def scan_resource_conf(self, conf):
+        if conf.get("engine") == ["memcached"]:
+            return CheckResult.UNKNOWN
+
+        return super().scan_resource_conf(conf)
 
     def get_inspected_key(self):
-        return 'snapshot_retention_limit'
+        return "snapshot_retention_limit"
 
     def get_forbidden_values(self):
         return [0]

{"golden_diff": "diff --git a/checkov/terraform/checks/resource/aws/ElasticCacheAutomaticBackup.py b/checkov/terraform/checks/resource/aws/ElasticCacheAutomaticBackup.py\n--- a/checkov/terraform/checks/resource/aws/ElasticCacheAutomaticBackup.py\n+++ b/checkov/terraform/checks/resource/aws/ElasticCacheAutomaticBackup.py\n@@ -6,13 +6,24 @@\n     def __init__(self):\n         name = \"Ensure that Amazon ElastiCache Redis clusters have automatic backup turned on\"\n         id = \"CKV_AWS_134\"\n-        supported_resources = ['aws_elasticache_cluster']\n+        supported_resources = [\"aws_elasticache_cluster\"]\n         categories = [CheckCategories.BACKUP_AND_RECOVERY]\n-        super().__init__(name=name, id=id, categories=categories, supported_resources=supported_resources,\n-                         missing_attribute_result=CheckResult.FAILED)\n+        super().__init__(\n+            name=name,\n+            id=id,\n+            categories=categories,\n+            supported_resources=supported_resources,\n+            missing_attribute_result=CheckResult.FAILED,\n+        )\n+\n+    def scan_resource_conf(self, conf):\n+        if conf.get(\"engine\") == [\"memcached\"]:\n+            return CheckResult.UNKNOWN\n+\n+        return super().scan_resource_conf(conf)\n \n     def get_inspected_key(self):\n-        return 'snapshot_retention_limit'\n+        return \"snapshot_retention_limit\"\n \n     def get_forbidden_values(self):\n         return [0]\n", "issue": "CKV_AWS_134: Skip Memcache engine\n**Describe the bug**\r\n\"snapshot_retention_limit\" - parameter only for \"Redis\" engine and in my TF module for Memcache it doesn't exist. But when I run \"checkov\" I got the following:\r\n\r\n```\r\nCheck: CKV_AWS_134: \"Ensure that Amazon ElastiCache Redis clusters have automatic backup turned on\"\r\n\tFAILED for resource: aws_elasticache_cluster.memcached\r\n\tFile: /tf.json:0-0\r\n\tGuide: https://docs.bridgecrew.io/docs/ensure-that-amazon-elasticache-redis-clusters-have-automatic-backup-turned-on\r\n```\r\n\r\n**Terraform module**\r\n```\r\n### ElastiCache Memcached CLuster\r\nresource \"aws_elasticache_cluster\" \"memcached\" {\r\n  cluster_id = lower(\"${var.basename}-Memcached-Cluster\")\r\n\r\n  engine               = var.engine\r\n  engine_version       = var.engine_version\r\n  port                 = var.port\r\n  parameter_group_name = module.common.parameter_group_name\r\n\r\n  node_type       = var.node_type\r\n  num_cache_nodes = var.num_cache_nodes\r\n  az_mode         = var.az_mode\r\n\r\n  subnet_group_name  = module.common.subnet_group_name\r\n  security_group_ids = [module.common.sg_id]\r\n\r\n  apply_immediately = true\r\n\r\n  tags = var.tags\r\n}\r\n```\r\n\r\n**memcache.tf**\r\n```\r\n### ElastiCache: Memcashed Cluster\r\nmodule \"elasticache-memcached\" {\r\n  source = \"../../modules/elasticache/memcached\"\r\n\r\n  basename = local.basename\r\n  vpc_id   = module.vpc.id\r\n  subnets  = module.private-subnets.ids\r\n\r\n  engine_version         = \"1.6.6\"\r\n  parameter_group_family = \"memcached1.6\"\r\n  node_type              = \"cache.t3.small\"\r\n  num_cache_nodes        = 2\r\n\r\n  # Enable az_mode, when num_cache_nodes > 1\r\n  az_mode = \"cross-az\"\r\n\r\n  cidr_groups = { ALL = \"0.0.0.0/0\" }\r\n\r\n  tags = local.base_tags\r\n}\r\n```\r\n\r\n**Expected behavior**\r\nIf engine is \"memcache\" then check must be skipped.\r\n\r\n**Desktop:**\r\n - OS: macOS Big Sur - 11.2.1\r\n - Checkov Version: 2.0.77\r\n\n", "before_files": [{"content": "from checkov.common.models.enums import CheckCategories, CheckResult\nfrom checkov.terraform.checks.resource.base_resource_negative_value_check import BaseResourceNegativeValueCheck\n\n\nclass ElasticCacheAutomaticBackup(BaseResourceNegativeValueCheck):\n    def __init__(self):\n        name = \"Ensure that Amazon ElastiCache Redis clusters have automatic backup turned on\"\n        id = \"CKV_AWS_134\"\n        supported_resources = ['aws_elasticache_cluster']\n        categories = [CheckCategories.BACKUP_AND_RECOVERY]\n        super().__init__(name=name, id=id, categories=categories, supported_resources=supported_resources,\n                         missing_attribute_result=CheckResult.FAILED)\n\n    def get_inspected_key(self):\n        return 'snapshot_retention_limit'\n\n    def get_forbidden_values(self):\n        return [0]\n\n\ncheck = ElasticCacheAutomaticBackup()\n", "path": "checkov/terraform/checks/resource/aws/ElasticCacheAutomaticBackup.py"}], "after_files": [{"content": "from checkov.common.models.enums import CheckCategories, CheckResult\nfrom checkov.terraform.checks.resource.base_resource_negative_value_check import BaseResourceNegativeValueCheck\n\n\nclass ElasticCacheAutomaticBackup(BaseResourceNegativeValueCheck):\n    def __init__(self):\n        name = \"Ensure that Amazon ElastiCache Redis clusters have automatic backup turned on\"\n        id = \"CKV_AWS_134\"\n        supported_resources = [\"aws_elasticache_cluster\"]\n        categories = [CheckCategories.BACKUP_AND_RECOVERY]\n        super().__init__(\n            name=name,\n            id=id,\n            categories=categories,\n            supported_resources=supported_resources,\n            missing_attribute_result=CheckResult.FAILED,\n        )\n\n    def scan_resource_conf(self, conf):\n        if conf.get(\"engine\") == [\"memcached\"]:\n            return CheckResult.UNKNOWN\n\n        return super().scan_resource_conf(conf)\n\n    def get_inspected_key(self):\n        return \"snapshot_retention_limit\"\n\n    def get_forbidden_values(self):\n        return [0]\n\n\ncheck = ElasticCacheAutomaticBackup()\n", "path": "checkov/terraform/checks/resource/aws/ElasticCacheAutomaticBackup.py"}]}