mirror of
https://github.com/ghndrx/prowler.git
synced 2026-02-10 06:45:08 +00:00
fix(aws_regions_by_service.json): FileNotFoundError[13] (#1689)
Co-authored-by: sergargar <sergio@verica.io>
This commit is contained in:
@@ -1,3 +1,4 @@
|
||||
import os
|
||||
import pathlib
|
||||
from datetime import datetime, timezone
|
||||
from os import getcwd
|
||||
@@ -5,7 +6,6 @@ from os import getcwd
|
||||
import yaml
|
||||
|
||||
from prowler.lib.logger import logger
|
||||
from prowler.lib.utils.utils import open_file, parse_json_file
|
||||
|
||||
timestamp = datetime.today()
|
||||
timestamp_utc = datetime.now(timezone.utc).replace(tzinfo=timezone.utc)
|
||||
@@ -30,7 +30,7 @@ csv_file_suffix = ".csv"
|
||||
json_file_suffix = ".json"
|
||||
json_asff_file_suffix = ".asff.json"
|
||||
html_file_suffix = ".html"
|
||||
config_yaml = f"{pathlib.Path().absolute()}/prowler/config/config.yaml"
|
||||
config_yaml = f"{pathlib.Path(os.path.dirname(os.path.realpath(__file__)))}/config.yaml"
|
||||
|
||||
|
||||
def change_config_var(variable, value):
|
||||
@@ -55,22 +55,3 @@ def get_config_var(variable):
|
||||
except Exception as error:
|
||||
logger.error(f"{error.__class__.__name__}: {error}")
|
||||
return ""
|
||||
|
||||
|
||||
def get_aws_available_regions():
|
||||
try:
|
||||
actual_directory = pathlib.Path().absolute()
|
||||
f = open_file(
|
||||
f"{actual_directory}/prowler/providers/aws/{aws_services_json_file}"
|
||||
)
|
||||
data = parse_json_file(f)
|
||||
|
||||
regions = set()
|
||||
for service in data["services"].values():
|
||||
for partition in service["regions"]:
|
||||
for item in service["regions"][partition]:
|
||||
regions.add(item)
|
||||
return list(regions)
|
||||
except Exception as error:
|
||||
logger.error(f"{error.__class__.__name__}: {error}")
|
||||
return []
|
||||
|
||||
@@ -2,11 +2,8 @@ import argparse
|
||||
import sys
|
||||
from argparse import RawTextHelpFormatter
|
||||
|
||||
from prowler.config.config import (
|
||||
default_output_directory,
|
||||
get_aws_available_regions,
|
||||
prowler_version,
|
||||
)
|
||||
from prowler.config.config import default_output_directory, prowler_version
|
||||
from prowler.providers.aws.aws_provider import get_aws_available_regions
|
||||
|
||||
|
||||
class ProwlerArgumentParser:
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
import os
|
||||
import pathlib
|
||||
import sys
|
||||
|
||||
@@ -108,10 +109,8 @@ def generate_regional_clients(
|
||||
try:
|
||||
regional_clients = {}
|
||||
# Get json locally
|
||||
actual_directory = pathlib.Path().absolute()
|
||||
f = open_file(
|
||||
f"{actual_directory}/prowler/providers/aws/{aws_services_json_file}"
|
||||
)
|
||||
actual_directory = pathlib.Path(os.path.dirname(os.path.realpath(__file__)))
|
||||
f = open_file(f"{actual_directory}/{aws_services_json_file}")
|
||||
data = parse_json_file(f)
|
||||
# Check if it is a subservice
|
||||
json_regions = data["services"][service]["regions"][
|
||||
@@ -140,3 +139,20 @@ def generate_regional_clients(
|
||||
logger.error(
|
||||
f"{error.__class__.__name__}[{error.__traceback__.tb_lineno}]: {error}"
|
||||
)
|
||||
|
||||
|
||||
def get_aws_available_regions():
|
||||
try:
|
||||
actual_directory = pathlib.Path(os.path.dirname(os.path.realpath(__file__)))
|
||||
f = open_file(f"{actual_directory}/{aws_services_json_file}")
|
||||
data = parse_json_file(f)
|
||||
|
||||
regions = set()
|
||||
for service in data["services"].values():
|
||||
for partition in service["regions"]:
|
||||
for item in service["regions"][partition]:
|
||||
regions.add(item)
|
||||
return list(regions)
|
||||
except Exception as error:
|
||||
logger.error(f"{error.__class__.__name__}: {error}")
|
||||
return []
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
from prowler.config.config import get_aws_available_regions
|
||||
from prowler.providers.aws.aws_provider import get_aws_available_regions
|
||||
|
||||
|
||||
class Test_Config:
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
import os
|
||||
import pathlib
|
||||
from importlib.machinery import FileFinder
|
||||
from pkgutil import ModuleInfo
|
||||
@@ -107,7 +108,7 @@ class Test_Check:
|
||||
test_cases = [
|
||||
{
|
||||
"input": {
|
||||
"metadata_path": f"{pathlib.Path().absolute()}/tests/lib/check/fixtures/metadata.json",
|
||||
"metadata_path": f"{os.path.dirname(os.path.realpath(__file__))}/fixtures/metadata.json",
|
||||
},
|
||||
"expected": {
|
||||
"CheckID": "iam_disable_30_days_credentials",
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
import os
|
||||
import pathlib
|
||||
from os import path, remove
|
||||
from unittest import mock
|
||||
@@ -66,7 +67,7 @@ def mock_make_api_call(self, operation_name, kwarg):
|
||||
class Test_Outputs:
|
||||
def test_fill_file_descriptors(self):
|
||||
audited_account = AWS_ACCOUNT_ID
|
||||
output_directory = f"{pathlib.Path().absolute()}"
|
||||
output_directory = f"{os.path.dirname(os.path.realpath(__file__))}"
|
||||
audit_info = AWS_Audit_Info(
|
||||
original_session=None,
|
||||
audit_session=None,
|
||||
|
||||
Reference in New Issue
Block a user