prompt: You will be provided with a partial code base and an issue statement explaining a problem to resolve.
  <issue>
  [Bug]: backup_plans_exist and backup_reportplans_exist trigger in regions where not backups exist
  ### Steps to Reproduce
  
  The mentioned checks are triggered even if no backups are present or configured.
  
  ### Expected behavior
  
  When the check can't find a resource ID (it actually says "No Backups"), the check shouldn't trigger
  
  ### Actual Result with Screenshots or Logs
  
  ![image](https://user-images.githubusercontent.com/49124793/234267687-dcbcbe11-2d15-43ba-84ee-575f28719ffd.png)
  
  
  ### How did you install Prowler?
  
  From pip package (pip install prowler)
  
  ### Environment Resource
  
  Workstation
  
  ### OS used
  
  WSL2 under Windows 11
  
  ### Prowler version
  
  Prowler 3.4.0 (it is the latest version, yay!)
  
  ### Pip version
  
  pip 22.0.2 from /usr/lib/python3/dist-packages/pip (python 3.10)
  
  ### Context
  
  _No response_
  
  </issue>
  <code>
  [start of prowler/providers/aws/services/backup/backup_plans_exist/backup_plans_exist.py]
  1 from prowler.lib.check.models import Check, Check_Report_AWS
  2 from prowler.providers.aws.services.backup.backup_client import backup_client
  3 
  4 
  5 class backup_plans_exist(Check):
  6     def execute(self):
  7         findings = []
  8         report = Check_Report_AWS(self.metadata())
  9         report.status = "FAIL"
  10         report.status_extended = "No Backup Plan Exist"
  11         report.resource_arn = ""
  12         report.resource_id = "No Backups"
  13         report.region = backup_client.region
  14         if backup_client.backup_plans:
  15             report.status = "PASS"
  16             report.status_extended = f"At least one backup plan exists: { backup_client.backup_plans[0].name}"
  17             report.resource_arn = backup_client.backup_plans[0].arn
  18             report.resource_id = backup_client.backup_plans[0].name
  19             report.region = backup_client.backup_plans[0].region
  20 
  21         findings.append(report)
  22         return findings
  23
  [end of prowler/providers/aws/services/backup/backup_plans_exist/backup_plans_exist.py]
  [start of prowler/providers/aws/services/backup/backup_reportplans_exist/backup_reportplans_exist.py]
  1 from prowler.lib.check.models import Check, Check_Report_AWS
  2 from prowler.providers.aws.services.backup.backup_client import backup_client
  3 
  4 
  5 class backup_reportplans_exist(Check):
  6     def execute(self):
  7         findings = []
  8         report = Check_Report_AWS(self.metadata())
  9         report.status = "FAIL"
  10         report.status_extended = "No Backup Report Plan Exist"
  11         report.resource_arn = ""
  12         report.resource_id = "No Backups"
  13         report.region = backup_client.region
  14         if backup_client.backup_report_plans:
  15             report.status = "PASS"
  16             report.status_extended = f"At least one backup report plan exists: { backup_client.backup_report_plans[0].name}"
  17             report.resource_arn = backup_client.backup_report_plans[0].arn
  18             report.resource_id = backup_client.backup_report_plans[0].name
  19             report.region = backup_client.backup_report_plans[0].region
  20 
  21         findings.append(report)
  22         return findings
  23
  [end of prowler/providers/aws/services/backup/backup_reportplans_exist/backup_reportplans_exist.py]
  [start of prowler/providers/aws/services/backup/backup_vaults_exist/backup_vaults_exist.py]
  1 from prowler.lib.check.models import Check, Check_Report_AWS
  2 from prowler.providers.aws.services.backup.backup_client import backup_client
  3 
  4 
  5 class backup_vaults_exist(Check):
  6     def execute(self):
  7         findings = []
  8         report = Check_Report_AWS(self.metadata())
  9         report.status = "FAIL"
  10         report.status_extended = "No Backup Vault Exist"
  11         report.resource_arn = ""
  12         report.resource_id = "No Backups"
  13         report.region = backup_client.region
  14         if backup_client.backup_vaults:
  15             report.status = "PASS"
  16             report.status_extended = f"At least one backup vault exists: { backup_client.backup_vaults[0].name}"
  17             report.resource_arn = backup_client.backup_vaults[0].arn
  18             report.resource_id = backup_client.backup_vaults[0].name
  19             report.region = backup_client.backup_vaults[0].region
  20 
  21         findings.append(report)
  22         return findings
  23
  [end of prowler/providers/aws/services/backup/backup_vaults_exist/backup_vaults_exist.py]
  </code>
  
  I need you to solve this issue by generating a single patch file that I can apply directly to this repository using git apply. Please respond with a single patch file in the following format.
  <patch>
  diff --git a/file.py b/file.py
  --- a/file.py
  +++ b/file.py
  @@ -1,27 +1,35 @@
   def euclidean(a, b):
  -    while b:
  -        a, b = b, a % b
  -    return a
  +    if b == 0:
  +        return a
  +    return euclidean(b, a % b)
   
   
   def bresenham(x0, y0, x1, y1):
       points = []
       dx = abs(x1 - x0)
       dy = abs(y1 - y0)
  -    sx = 1 if x0 < x1 else -1
  -    sy = 1 if y0 < y1 else -1
  -    err = dx - dy
  +    x, y = x0, y0
  +    sx = -1 if x0 > x1 else 1
  +    sy = -1 if y0 > y1 else 1
   
  -    while True:
  -        points.append((x0, y0))
  -        if x0 == x1 and y0 == y1:
  -            break
  -        e2 = 2 * err
  -        if e2 > -dy:
  -            err -= dy
  -            x0 += sx
  -        if e2 < dx:
  -            err += dx
  -            y0 += sy
  +    if dx > dy:
  +        err = dx / 2.0
  +        while x != x1:
  +            points.append((x, y))
  +            err -= dy
  +            if err < 0:
  +                y += sy
  +                err += dx
  +            x += sx
  +    else:
  +        err = dy / 2.0
  +        while y != y1:
  +            points.append((x, y))
  +            err -= dx
  +            if err < 0:
  +                x += sx
  +                err += dy
  +            y += sy
  +
  +    points.append((x, y))
       return points
  
  </patch>
golden_diff: diff --git a/prowler/providers/aws/services/backup/backup_plans_exist/backup_plans_exist.py b/prowler/providers/aws/services/backup/backup_plans_exist/backup_plans_exist.py
  --- a/prowler/providers/aws/services/backup/backup_plans_exist/backup_plans_exist.py
  +++ b/prowler/providers/aws/services/backup/backup_plans_exist/backup_plans_exist.py
  @@ -9,11 +9,13 @@
           report.status = "FAIL"
           report.status_extended = "No Backup Plan Exist"
           report.resource_arn = ""
  -        report.resource_id = "No Backups"
  +        report.resource_id = "Backups"
           report.region = backup_client.region
           if backup_client.backup_plans:
               report.status = "PASS"
  -            report.status_extended = f"At least one backup plan exists: { backup_client.backup_plans[0].name}"
  +            report.status_extended = (
  +                f"At least one backup plan exists: {backup_client.backup_plans[0].name}"
  +            )
               report.resource_arn = backup_client.backup_plans[0].arn
               report.resource_id = backup_client.backup_plans[0].name
               report.region = backup_client.backup_plans[0].region
  diff --git a/prowler/providers/aws/services/backup/backup_reportplans_exist/backup_reportplans_exist.py b/prowler/providers/aws/services/backup/backup_reportplans_exist/backup_reportplans_exist.py
  --- a/prowler/providers/aws/services/backup/backup_reportplans_exist/backup_reportplans_exist.py
  +++ b/prowler/providers/aws/services/backup/backup_reportplans_exist/backup_reportplans_exist.py
  @@ -5,18 +5,20 @@
   class backup_reportplans_exist(Check):
       def execute(self):
           findings = []
  -        report = Check_Report_AWS(self.metadata())
  -        report.status = "FAIL"
  -        report.status_extended = "No Backup Report Plan Exist"
  -        report.resource_arn = ""
  -        report.resource_id = "No Backups"
  -        report.region = backup_client.region
  -        if backup_client.backup_report_plans:
  -            report.status = "PASS"
  -            report.status_extended = f"At least one backup report plan exists: { backup_client.backup_report_plans[0].name}"
  -            report.resource_arn = backup_client.backup_report_plans[0].arn
  -            report.resource_id = backup_client.backup_report_plans[0].name
  -            report.region = backup_client.backup_report_plans[0].region
  +        # We only check report plans if backup plans exist, reducing noise
  +        if backup_client.backup_plans:
  +            report = Check_Report_AWS(self.metadata())
  +            report.status = "FAIL"
  +            report.status_extended = "No Backup Report Plan Exist"
  +            report.resource_arn = ""
  +            report.resource_id = "Backups"
  +            report.region = backup_client.region
  +            if backup_client.backup_report_plans:
  +                report.status = "PASS"
  +                report.status_extended = f"At least one backup report plan exists: { backup_client.backup_report_plans[0].name}"
  +                report.resource_arn = backup_client.backup_report_plans[0].arn
  +                report.resource_id = backup_client.backup_report_plans[0].name
  +                report.region = backup_client.backup_report_plans[0].region
   
  -        findings.append(report)
  +            findings.append(report)
           return findings
  diff --git a/prowler/providers/aws/services/backup/backup_vaults_exist/backup_vaults_exist.py b/prowler/providers/aws/services/backup/backup_vaults_exist/backup_vaults_exist.py
  --- a/prowler/providers/aws/services/backup/backup_vaults_exist/backup_vaults_exist.py
  +++ b/prowler/providers/aws/services/backup/backup_vaults_exist/backup_vaults_exist.py
  @@ -9,7 +9,7 @@
           report.status = "FAIL"
           report.status_extended = "No Backup Vault Exist"
           report.resource_arn = ""
  -        report.resource_id = "No Backups"
  +        report.resource_id = "Backups"
           report.region = backup_client.region
           if backup_client.backup_vaults:
               report.status = "PASS"
  
verification_info: {"golden_diff": "diff --git a/prowler/providers/aws/services/backup/backup_plans_exist/backup_plans_exist.py b/prowler/providers/aws/services/backup/backup_plans_exist/backup_plans_exist.py\n--- a/prowler/providers/aws/services/backup/backup_plans_exist/backup_plans_exist.py\n+++ b/prowler/providers/aws/services/backup/backup_plans_exist/backup_plans_exist.py\n@@ -9,11 +9,13 @@\n         report.status = \"FAIL\"\n         report.status_extended = \"No Backup Plan Exist\"\n         report.resource_arn = \"\"\n-        report.resource_id = \"No Backups\"\n+        report.resource_id = \"Backups\"\n         report.region = backup_client.region\n         if backup_client.backup_plans:\n             report.status = \"PASS\"\n-            report.status_extended = f\"At least one backup plan exists: { backup_client.backup_plans[0].name}\"\n+            report.status_extended = (\n+                f\"At least one backup plan exists: {backup_client.backup_plans[0].name}\"\n+            )\n             report.resource_arn = backup_client.backup_plans[0].arn\n             report.resource_id = backup_client.backup_plans[0].name\n             report.region = backup_client.backup_plans[0].region\ndiff --git a/prowler/providers/aws/services/backup/backup_reportplans_exist/backup_reportplans_exist.py b/prowler/providers/aws/services/backup/backup_reportplans_exist/backup_reportplans_exist.py\n--- a/prowler/providers/aws/services/backup/backup_reportplans_exist/backup_reportplans_exist.py\n+++ b/prowler/providers/aws/services/backup/backup_reportplans_exist/backup_reportplans_exist.py\n@@ -5,18 +5,20 @@\n class backup_reportplans_exist(Check):\n     def execute(self):\n         findings = []\n-        report = Check_Report_AWS(self.metadata())\n-        report.status = \"FAIL\"\n-        report.status_extended = \"No Backup Report Plan Exist\"\n-        report.resource_arn = \"\"\n-        report.resource_id = \"No Backups\"\n-        report.region = backup_client.region\n-        if backup_client.backup_report_plans:\n-            report.status = \"PASS\"\n-            report.status_extended = f\"At least one backup report plan exists: { backup_client.backup_report_plans[0].name}\"\n-            report.resource_arn = backup_client.backup_report_plans[0].arn\n-            report.resource_id = backup_client.backup_report_plans[0].name\n-            report.region = backup_client.backup_report_plans[0].region\n+        # We only check report plans if backup plans exist, reducing noise\n+        if backup_client.backup_plans:\n+            report = Check_Report_AWS(self.metadata())\n+            report.status = \"FAIL\"\n+            report.status_extended = \"No Backup Report Plan Exist\"\n+            report.resource_arn = \"\"\n+            report.resource_id = \"Backups\"\n+            report.region = backup_client.region\n+            if backup_client.backup_report_plans:\n+                report.status = \"PASS\"\n+                report.status_extended = f\"At least one backup report plan exists: { backup_client.backup_report_plans[0].name}\"\n+                report.resource_arn = backup_client.backup_report_plans[0].arn\n+                report.resource_id = backup_client.backup_report_plans[0].name\n+                report.region = backup_client.backup_report_plans[0].region\n \n-        findings.append(report)\n+            findings.append(report)\n         return findings\ndiff --git a/prowler/providers/aws/services/backup/backup_vaults_exist/backup_vaults_exist.py b/prowler/providers/aws/services/backup/backup_vaults_exist/backup_vaults_exist.py\n--- a/prowler/providers/aws/services/backup/backup_vaults_exist/backup_vaults_exist.py\n+++ b/prowler/providers/aws/services/backup/backup_vaults_exist/backup_vaults_exist.py\n@@ -9,7 +9,7 @@\n         report.status = \"FAIL\"\n         report.status_extended = \"No Backup Vault Exist\"\n         report.resource_arn = \"\"\n-        report.resource_id = \"No Backups\"\n+        report.resource_id = \"Backups\"\n         report.region = backup_client.region\n         if backup_client.backup_vaults:\n             report.status = \"PASS\"\n", "issue": "[Bug]: backup_plans_exist and backup_reportplans_exist trigger in regions where not backups exist\n### Steps to Reproduce\n\nThe mentioned checks are triggered even if no backups are present or configured.\n\n### Expected behavior\n\nWhen the check can't find a resource ID (it actually says \"No Backups\"), the check shouldn't trigger\n\n### Actual Result with Screenshots or Logs\n\n![image](https://user-images.githubusercontent.com/49124793/234267687-dcbcbe11-2d15-43ba-84ee-575f28719ffd.png)\r\n\n\n### How did you install Prowler?\n\nFrom pip package (pip install prowler)\n\n### Environment Resource\n\nWorkstation\n\n### OS used\n\nWSL2 under Windows 11\n\n### Prowler version\n\nProwler 3.4.0 (it is the latest version, yay!)\n\n### Pip version\n\npip 22.0.2 from /usr/lib/python3/dist-packages/pip (python 3.10)\n\n### Context\n\n_No response_\n", "before_files": [{"content": "from prowler.lib.check.models import Check, Check_Report_AWS\nfrom prowler.providers.aws.services.backup.backup_client import backup_client\n\n\nclass backup_plans_exist(Check):\n    def execute(self):\n        findings = []\n        report = Check_Report_AWS(self.metadata())\n        report.status = \"FAIL\"\n        report.status_extended = \"No Backup Plan Exist\"\n        report.resource_arn = \"\"\n        report.resource_id = \"No Backups\"\n        report.region = backup_client.region\n        if backup_client.backup_plans:\n            report.status = \"PASS\"\n            report.status_extended = f\"At least one backup plan exists: { backup_client.backup_plans[0].name}\"\n            report.resource_arn = backup_client.backup_plans[0].arn\n            report.resource_id = backup_client.backup_plans[0].name\n            report.region = backup_client.backup_plans[0].region\n\n        findings.append(report)\n        return findings\n", "path": "prowler/providers/aws/services/backup/backup_plans_exist/backup_plans_exist.py"}, {"content": "from prowler.lib.check.models import Check, Check_Report_AWS\nfrom prowler.providers.aws.services.backup.backup_client import backup_client\n\n\nclass backup_reportplans_exist(Check):\n    def execute(self):\n        findings = []\n        report = Check_Report_AWS(self.metadata())\n        report.status = \"FAIL\"\n        report.status_extended = \"No Backup Report Plan Exist\"\n        report.resource_arn = \"\"\n        report.resource_id = \"No Backups\"\n        report.region = backup_client.region\n        if backup_client.backup_report_plans:\n            report.status = \"PASS\"\n            report.status_extended = f\"At least one backup report plan exists: { backup_client.backup_report_plans[0].name}\"\n            report.resource_arn = backup_client.backup_report_plans[0].arn\n            report.resource_id = backup_client.backup_report_plans[0].name\n            report.region = backup_client.backup_report_plans[0].region\n\n        findings.append(report)\n        return findings\n", "path": "prowler/providers/aws/services/backup/backup_reportplans_exist/backup_reportplans_exist.py"}, {"content": "from prowler.lib.check.models import Check, Check_Report_AWS\nfrom prowler.providers.aws.services.backup.backup_client import backup_client\n\n\nclass backup_vaults_exist(Check):\n    def execute(self):\n        findings = []\n        report = Check_Report_AWS(self.metadata())\n        report.status = \"FAIL\"\n        report.status_extended = \"No Backup Vault Exist\"\n        report.resource_arn = \"\"\n        report.resource_id = \"No Backups\"\n        report.region = backup_client.region\n        if backup_client.backup_vaults:\n            report.status = \"PASS\"\n            report.status_extended = f\"At least one backup vault exists: { backup_client.backup_vaults[0].name}\"\n            report.resource_arn = backup_client.backup_vaults[0].arn\n            report.resource_id = backup_client.backup_vaults[0].name\n            report.region = backup_client.backup_vaults[0].region\n\n        findings.append(report)\n        return findings\n", "path": "prowler/providers/aws/services/backup/backup_vaults_exist/backup_vaults_exist.py"}]}