prompt: We are currently solving the following issue within our repository. Here is the issue text:
  --- BEGIN ISSUE ---
  CKV_AZURE_103 not accepting vsts_configuration as valid Git repository
  **Describe the bug**
  The rule CKV_AZURE_103 only accepts the Github configuration for Git source control for an Azure Data Factory instance. However, it is possible to configure a Git source control using the `vsts_configuration`. 
  
  **To Reproduce**
  Steps to reproduce the behavior:
  Create the following resource
  ```hcl
  resource "azurerm_data_factory" "main" {
  
    # General
    name                = "dummy-name"
    resource_group_name = azurerm_resource_group.primary.name
    location            = azurerm_resource_group.primary.location
  
    # Azure DevOps
    vsts_configuration {
      account_name    = var.account_name
      branch_name     = var.branch_name
      project_name    = var.project_name
      repository_name = var.repository_name
      root_folder     = var.root_folder
      tenant_id       = data.azurerm_client_config.current.tenant_id
    }
  
  }
  ```
  
  **Expected behavior**
  Expected to accept both vsts_configuration and github_configuration as valid Git source control configurations.
  
  **Desktop (please complete the following information):**
   - OS: Ubuntu 20.04 LTS
   - Checkov Version 2.0.86
  
  --- 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/azure/DataFactoryUsesGitRepository.py`
  Content:
  ```
  1 from checkov.common.models.consts import ANY_VALUE
  2 from checkov.common.models.enums import CheckCategories
  3 from checkov.terraform.checks.resource.base_resource_value_check import BaseResourceValueCheck
  4 
  5 
  6 class DataFactoryUsesGitRepository(BaseResourceValueCheck):
  7     def __init__(self):
  8         name = "Ensure that Azure Data Factory uses Git repository for source control"
  9         id = "CKV_AZURE_103"
  10         supported_resources = ['azurerm_data_factory']
  11         categories = [CheckCategories.GENERAL_SECURITY]
  12         super().__init__(name=name, id=id, categories=categories, supported_resources=supported_resources)
  13 
  14     def get_inspected_key(self):
  15         return "github_configuration/[0]/repository_name"
  16 
  17     def get_expected_value(self):
  18         return ANY_VALUE
  19 
  20 
  21 check = DataFactoryUsesGitRepository()
  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()
  
  ```
  
golden_diff: diff --git a/checkov/terraform/checks/resource/azure/DataFactoryUsesGitRepository.py b/checkov/terraform/checks/resource/azure/DataFactoryUsesGitRepository.py
  --- a/checkov/terraform/checks/resource/azure/DataFactoryUsesGitRepository.py
  +++ b/checkov/terraform/checks/resource/azure/DataFactoryUsesGitRepository.py
  @@ -1,21 +1,25 @@
  -from checkov.common.models.consts import ANY_VALUE
  -from checkov.common.models.enums import CheckCategories
  -from checkov.terraform.checks.resource.base_resource_value_check import BaseResourceValueCheck
  +from typing import Dict, List, Any
   
  +from checkov.common.models.enums import CheckCategories, CheckResult
  +from checkov.terraform.checks.resource.base_resource_check import BaseResourceCheck
   
  -class DataFactoryUsesGitRepository(BaseResourceValueCheck):
  -    def __init__(self):
  +
  +class DataFactoryUsesGitRepository(BaseResourceCheck):
  +    def __init__(self) -> None:
           name = "Ensure that Azure Data Factory uses Git repository for source control"
           id = "CKV_AZURE_103"
  -        supported_resources = ['azurerm_data_factory']
  +        supported_resources = ["azurerm_data_factory"]
           categories = [CheckCategories.GENERAL_SECURITY]
           super().__init__(name=name, id=id, categories=categories, supported_resources=supported_resources)
   
  -    def get_inspected_key(self):
  -        return "github_configuration/[0]/repository_name"
  -
  -    def get_expected_value(self):
  -        return ANY_VALUE
  +    def scan_resource_conf(self, conf: Dict[str, List[Any]]) -> CheckResult:
  +        github = conf.get("github_configuration", [{}])[0]
  +        if github.get("repository_name"):
  +            return CheckResult.PASSED
  +        vsts = conf.get("vsts_configuration", [{}])[0]
  +        if vsts.get("repository_name"):
  +            return CheckResult.PASSED
  +        return CheckResult.FAILED
   
   
   check = DataFactoryUsesGitRepository()
  
verification_info: {"golden_diff": "diff --git a/checkov/terraform/checks/resource/azure/DataFactoryUsesGitRepository.py b/checkov/terraform/checks/resource/azure/DataFactoryUsesGitRepository.py\n--- a/checkov/terraform/checks/resource/azure/DataFactoryUsesGitRepository.py\n+++ b/checkov/terraform/checks/resource/azure/DataFactoryUsesGitRepository.py\n@@ -1,21 +1,25 @@\n-from checkov.common.models.consts import ANY_VALUE\n-from checkov.common.models.enums import CheckCategories\n-from checkov.terraform.checks.resource.base_resource_value_check import BaseResourceValueCheck\n+from typing import Dict, List, Any\n \n+from checkov.common.models.enums import CheckCategories, CheckResult\n+from checkov.terraform.checks.resource.base_resource_check import BaseResourceCheck\n \n-class DataFactoryUsesGitRepository(BaseResourceValueCheck):\n-    def __init__(self):\n+\n+class DataFactoryUsesGitRepository(BaseResourceCheck):\n+    def __init__(self) -> None:\n         name = \"Ensure that Azure Data Factory uses Git repository for source control\"\n         id = \"CKV_AZURE_103\"\n-        supported_resources = ['azurerm_data_factory']\n+        supported_resources = [\"azurerm_data_factory\"]\n         categories = [CheckCategories.GENERAL_SECURITY]\n         super().__init__(name=name, id=id, categories=categories, supported_resources=supported_resources)\n \n-    def get_inspected_key(self):\n-        return \"github_configuration/[0]/repository_name\"\n-\n-    def get_expected_value(self):\n-        return ANY_VALUE\n+    def scan_resource_conf(self, conf: Dict[str, List[Any]]) -> CheckResult:\n+        github = conf.get(\"github_configuration\", [{}])[0]\n+        if github.get(\"repository_name\"):\n+            return CheckResult.PASSED\n+        vsts = conf.get(\"vsts_configuration\", [{}])[0]\n+        if vsts.get(\"repository_name\"):\n+            return CheckResult.PASSED\n+        return CheckResult.FAILED\n \n \n check = DataFactoryUsesGitRepository()\n", "issue": "CKV_AZURE_103 not accepting vsts_configuration as valid Git repository\n**Describe the bug**\r\nThe rule CKV_AZURE_103 only accepts the Github configuration for Git source control for an Azure Data Factory instance. However, it is possible to configure a Git source control using the `vsts_configuration`. \r\n\r\n**To Reproduce**\r\nSteps to reproduce the behavior:\r\nCreate the following resource\r\n```hcl\r\nresource \"azurerm_data_factory\" \"main\" {\r\n\r\n  # General\r\n  name                = \"dummy-name\"\r\n  resource_group_name = azurerm_resource_group.primary.name\r\n  location            = azurerm_resource_group.primary.location\r\n\r\n  # Azure DevOps\r\n  vsts_configuration {\r\n    account_name    = var.account_name\r\n    branch_name     = var.branch_name\r\n    project_name    = var.project_name\r\n    repository_name = var.repository_name\r\n    root_folder     = var.root_folder\r\n    tenant_id       = data.azurerm_client_config.current.tenant_id\r\n  }\r\n\r\n}\r\n```\r\n\r\n**Expected behavior**\r\nExpected to accept both vsts_configuration and github_configuration as valid Git source control configurations.\r\n\r\n**Desktop (please complete the following information):**\r\n - OS: Ubuntu 20.04 LTS\r\n - Checkov Version 2.0.86\n", "before_files": [{"content": "from checkov.common.models.consts import ANY_VALUE\nfrom checkov.common.models.enums import CheckCategories\nfrom checkov.terraform.checks.resource.base_resource_value_check import BaseResourceValueCheck\n\n\nclass DataFactoryUsesGitRepository(BaseResourceValueCheck):\n    def __init__(self):\n        name = \"Ensure that Azure Data Factory uses Git repository for source control\"\n        id = \"CKV_AZURE_103\"\n        supported_resources = ['azurerm_data_factory']\n        categories = [CheckCategories.GENERAL_SECURITY]\n        super().__init__(name=name, id=id, categories=categories, supported_resources=supported_resources)\n\n    def get_inspected_key(self):\n        return \"github_configuration/[0]/repository_name\"\n\n    def get_expected_value(self):\n        return ANY_VALUE\n\n\ncheck = DataFactoryUsesGitRepository()\n", "path": "checkov/terraform/checks/resource/azure/DataFactoryUsesGitRepository.py"}], "after_files": [{"content": "from typing import Dict, List, Any\n\nfrom checkov.common.models.enums import CheckCategories, CheckResult\nfrom checkov.terraform.checks.resource.base_resource_check import BaseResourceCheck\n\n\nclass DataFactoryUsesGitRepository(BaseResourceCheck):\n    def __init__(self) -> None:\n        name = \"Ensure that Azure Data Factory uses Git repository for source control\"\n        id = \"CKV_AZURE_103\"\n        supported_resources = [\"azurerm_data_factory\"]\n        categories = [CheckCategories.GENERAL_SECURITY]\n        super().__init__(name=name, id=id, categories=categories, supported_resources=supported_resources)\n\n    def scan_resource_conf(self, conf: Dict[str, List[Any]]) -> CheckResult:\n        github = conf.get(\"github_configuration\", [{}])[0]\n        if github.get(\"repository_name\"):\n            return CheckResult.PASSED\n        vsts = conf.get(\"vsts_configuration\", [{}])[0]\n        if vsts.get(\"repository_name\"):\n            return CheckResult.PASSED\n        return CheckResult.FAILED\n\n\ncheck = DataFactoryUsesGitRepository()\n", "path": "checkov/terraform/checks/resource/azure/DataFactoryUsesGitRepository.py"}]}