@@ -78,7 +78,7 @@ def __init__(self, arguments: Namespace):
78
78
# MFA Configuration (false by default)
79
79
input_mfa = getattr (arguments , "mfa" , None )
80
80
input_profile = getattr (arguments , "profile" , None )
81
- input_regions = getattr (arguments , "region" , set ())
81
+ input_regions = set ( getattr (arguments , "region" , set () ))
82
82
organizations_role_arn = getattr (arguments , "organizations_role" , None )
83
83
84
84
# Set if unused services must be scanned
@@ -740,16 +740,22 @@ def get_tagged_resources(self, input_resource_tags: list[str]) -> list[str]:
740
740
741
741
def get_default_region (self , service : str ) -> str :
742
742
"""get_default_region returns the default region based on the profile and audited service regions"""
743
- service_regions = self .get_available_aws_service_regions (service )
744
- default_region = self .get_global_region ()
745
- # global region of the partition when all regions are audited and there is no profile region
746
- if self ._identity .profile_region in service_regions :
747
- # return profile region only if it is audited
748
- default_region = self ._identity .profile_region
749
- # return first audited region if specific regions are audited
750
- elif self ._identity .audited_regions :
751
- default_region = self ._identity .audited_regions [0 ]
752
- return default_region
743
+ try :
744
+ service_regions = self .get_available_aws_service_regions (service )
745
+ default_region = self .get_global_region ()
746
+ # global region of the partition when all regions are audited and there is no profile region
747
+ if self ._identity .profile_region in service_regions :
748
+ # return profile region only if it is audited
749
+ default_region = self ._identity .profile_region
750
+ # return first audited region if specific regions are audited
751
+ elif self ._identity .audited_regions :
752
+ default_region = list (self ._identity .audited_regions )[0 ]
753
+ return default_region
754
+ except Exception as error :
755
+ logger .critical (
756
+ f"{ error .__class__ .__name__ } [{ error .__traceback__ .tb_lineno } ]: { error } "
757
+ )
758
+ raise error
753
759
754
760
def get_global_region (self ) -> str :
755
761
"""get_global_region returns the global region based on the audited partition"""
@@ -959,7 +965,7 @@ def get_aws_region_for_sts(session_region: str, input_regions: set[str]) -> str:
959
965
aws_region = AWS_STS_GLOBAL_ENDPOINT_REGION
960
966
else :
961
967
# Get the first region passed to the -f/--region
962
- aws_region = input_regions [0 ]
968
+ aws_region = list ( input_regions ) [0 ]
963
969
964
970
return aws_region
965
971
0 commit comments