@SuppressWarnings("static-access") @Test public void fetchVpcInfoTest_Exception() throws Exception { PowerMockito.whenNew(AWSStaticCredentialsProvider.class).withAnyArguments().thenThrow(new Exception()); assertThat(inventoryUtil.fetchVpcInfo(new BasicSessionCredentials("awsAccessKey", "awsSecretKey", "sessionToken"), "skipRegions", "account","accountName").size(), is(0)); }
@SuppressWarnings("rawtypes") public static Map<String,List<VpcVH>> fetchVpcInfo(BasicSessionCredentials temporaryCredentials, String skipRegions,String accountId,String accountName) { Map<String,List<VpcVH>> vpcMap = new LinkedHashMap<>(); String expPrefix = InventoryConstants.ERROR_PREFIX_CODE+accountId + "\",\"Message\": \"Exception in fetching info for resource in specific region\" ,\"type\": \"Vpc\" , \"region\":\"" ; for(Region region : RegionUtils.getRegions()){ try{ if(!skipRegions.contains(region.getName())){ List<VpcVH> vpcList = new ArrayList<>(); AmazonEC2 ec2Client = AmazonEC2ClientBuilder.standard().withCredentials(new AWSStaticCredentialsProvider(temporaryCredentials)).withRegion(region.getName()).build(); List<Vpc> tmpVpcList = ec2Client.describeVpcs().getVpcs(); tmpVpcList.stream().forEach(vpc -> { VpcVH vpcVH = new VpcVH(); vpcVH.setVpc(vpc); List<VpcEndpoint> vpcEndPoints = ec2Client.describeVpcEndpoints(new DescribeVpcEndpointsRequest().withFilters(new Filter("vpc-id",Arrays.asList(vpc.getVpcId())))).getVpcEndpoints(); List<VpcEndPointVH> vpcEndPointsList = new ArrayList<>(); vpcEndPoints.stream().forEach(vpcEndPoint -> { VpcEndPointVH vpcEndPointVH = new VpcEndPointVH(vpcEndPoint); vpcEndPointVH.setPublicAccess(false); ObjectMapper mapper = new ObjectMapper(); Map<String, Object> policyDoc = new HashMap<>(); try { policyDoc = mapper.readValue(vpcEndPoint.getPolicyDocument(), new TypeReference<Map<String, Object>>(){}); Map statement = (Map)((ArrayList)policyDoc.get("Statement")).get(0); if(statement.get("Effect").equals("Allow") && statement.get("Resource").equals("*")) { vpcEndPointVH.setPublicAccess(true); } } catch (Exception e) { log.error(expPrefix+ region.getName()+InventoryConstants.ERROR_CAUSE +e.getMessage()+"\"}"); } vpcEndPointsList.add(vpcEndPointVH); }); vpcVH.setVpcEndPoints(vpcEndPointsList); vpcList.add(vpcVH); }); if(!vpcList.isEmpty()) { log.debug(InventoryConstants.ACCOUNT + accountId +" Type : VPC "+region.getName() + " >> "+vpcList.size()); vpcMap.put(accountId+delimiter+accountName+delimiter+region.getName(),vpcList); } } }catch(Exception e){ log.warn(expPrefix+ region.getName()+InventoryConstants.ERROR_CAUSE +e.getMessage()+"\"}"); ErrorManageUtil.uploadError(accountId,region.getName(),"VPC",e.getMessage()); } } return vpcMap; }
InventoryUtil { @SuppressWarnings("rawtypes") public static Map<String,List<VpcVH>> fetchVpcInfo(BasicSessionCredentials temporaryCredentials, String skipRegions,String accountId,String accountName) { Map<String,List<VpcVH>> vpcMap = new LinkedHashMap<>(); String expPrefix = InventoryConstants.ERROR_PREFIX_CODE+accountId + "\",\"Message\": \"Exception in fetching info for resource in specific region\" ,\"type\": \"Vpc\" , \"region\":\"" ; for(Region region : RegionUtils.getRegions()){ try{ if(!skipRegions.contains(region.getName())){ List<VpcVH> vpcList = new ArrayList<>(); AmazonEC2 ec2Client = AmazonEC2ClientBuilder.standard().withCredentials(new AWSStaticCredentialsProvider(temporaryCredentials)).withRegion(region.getName()).build(); List<Vpc> tmpVpcList = ec2Client.describeVpcs().getVpcs(); tmpVpcList.stream().forEach(vpc -> { VpcVH vpcVH = new VpcVH(); vpcVH.setVpc(vpc); List<VpcEndpoint> vpcEndPoints = ec2Client.describeVpcEndpoints(new DescribeVpcEndpointsRequest().withFilters(new Filter("vpc-id",Arrays.asList(vpc.getVpcId())))).getVpcEndpoints(); List<VpcEndPointVH> vpcEndPointsList = new ArrayList<>(); vpcEndPoints.stream().forEach(vpcEndPoint -> { VpcEndPointVH vpcEndPointVH = new VpcEndPointVH(vpcEndPoint); vpcEndPointVH.setPublicAccess(false); ObjectMapper mapper = new ObjectMapper(); Map<String, Object> policyDoc = new HashMap<>(); try { policyDoc = mapper.readValue(vpcEndPoint.getPolicyDocument(), new TypeReference<Map<String, Object>>(){}); Map statement = (Map)((ArrayList)policyDoc.get("Statement")).get(0); if(statement.get("Effect").equals("Allow") && statement.get("Resource").equals("*")) { vpcEndPointVH.setPublicAccess(true); } } catch (Exception e) { log.error(expPrefix+ region.getName()+InventoryConstants.ERROR_CAUSE +e.getMessage()+"\"}"); } vpcEndPointsList.add(vpcEndPointVH); }); vpcVH.setVpcEndPoints(vpcEndPointsList); vpcList.add(vpcVH); }); if(!vpcList.isEmpty()) { log.debug(InventoryConstants.ACCOUNT + accountId +" Type : VPC "+region.getName() + " >> "+vpcList.size()); vpcMap.put(accountId+delimiter+accountName+delimiter+region.getName(),vpcList); } } }catch(Exception e){ log.warn(expPrefix+ region.getName()+InventoryConstants.ERROR_CAUSE +e.getMessage()+"\"}"); ErrorManageUtil.uploadError(accountId,region.getName(),"VPC",e.getMessage()); } } return vpcMap; } }
InventoryUtil { @SuppressWarnings("rawtypes") public static Map<String,List<VpcVH>> fetchVpcInfo(BasicSessionCredentials temporaryCredentials, String skipRegions,String accountId,String accountName) { Map<String,List<VpcVH>> vpcMap = new LinkedHashMap<>(); String expPrefix = InventoryConstants.ERROR_PREFIX_CODE+accountId + "\",\"Message\": \"Exception in fetching info for resource in specific region\" ,\"type\": \"Vpc\" , \"region\":\"" ; for(Region region : RegionUtils.getRegions()){ try{ if(!skipRegions.contains(region.getName())){ List<VpcVH> vpcList = new ArrayList<>(); AmazonEC2 ec2Client = AmazonEC2ClientBuilder.standard().withCredentials(new AWSStaticCredentialsProvider(temporaryCredentials)).withRegion(region.getName()).build(); List<Vpc> tmpVpcList = ec2Client.describeVpcs().getVpcs(); tmpVpcList.stream().forEach(vpc -> { VpcVH vpcVH = new VpcVH(); vpcVH.setVpc(vpc); List<VpcEndpoint> vpcEndPoints = ec2Client.describeVpcEndpoints(new DescribeVpcEndpointsRequest().withFilters(new Filter("vpc-id",Arrays.asList(vpc.getVpcId())))).getVpcEndpoints(); List<VpcEndPointVH> vpcEndPointsList = new ArrayList<>(); vpcEndPoints.stream().forEach(vpcEndPoint -> { VpcEndPointVH vpcEndPointVH = new VpcEndPointVH(vpcEndPoint); vpcEndPointVH.setPublicAccess(false); ObjectMapper mapper = new ObjectMapper(); Map<String, Object> policyDoc = new HashMap<>(); try { policyDoc = mapper.readValue(vpcEndPoint.getPolicyDocument(), new TypeReference<Map<String, Object>>(){}); Map statement = (Map)((ArrayList)policyDoc.get("Statement")).get(0); if(statement.get("Effect").equals("Allow") && statement.get("Resource").equals("*")) { vpcEndPointVH.setPublicAccess(true); } } catch (Exception e) { log.error(expPrefix+ region.getName()+InventoryConstants.ERROR_CAUSE +e.getMessage()+"\"}"); } vpcEndPointsList.add(vpcEndPointVH); }); vpcVH.setVpcEndPoints(vpcEndPointsList); vpcList.add(vpcVH); }); if(!vpcList.isEmpty()) { log.debug(InventoryConstants.ACCOUNT + accountId +" Type : VPC "+region.getName() + " >> "+vpcList.size()); vpcMap.put(accountId+delimiter+accountName+delimiter+region.getName(),vpcList); } } }catch(Exception e){ log.warn(expPrefix+ region.getName()+InventoryConstants.ERROR_CAUSE +e.getMessage()+"\"}"); ErrorManageUtil.uploadError(accountId,region.getName(),"VPC",e.getMessage()); } } return vpcMap; } private  InventoryUtil(); }
InventoryUtil { @SuppressWarnings("rawtypes") public static Map<String,List<VpcVH>> fetchVpcInfo(BasicSessionCredentials temporaryCredentials, String skipRegions,String accountId,String accountName) { Map<String,List<VpcVH>> vpcMap = new LinkedHashMap<>(); String expPrefix = InventoryConstants.ERROR_PREFIX_CODE+accountId + "\",\"Message\": \"Exception in fetching info for resource in specific region\" ,\"type\": \"Vpc\" , \"region\":\"" ; for(Region region : RegionUtils.getRegions()){ try{ if(!skipRegions.contains(region.getName())){ List<VpcVH> vpcList = new ArrayList<>(); AmazonEC2 ec2Client = AmazonEC2ClientBuilder.standard().withCredentials(new AWSStaticCredentialsProvider(temporaryCredentials)).withRegion(region.getName()).build(); List<Vpc> tmpVpcList = ec2Client.describeVpcs().getVpcs(); tmpVpcList.stream().forEach(vpc -> { VpcVH vpcVH = new VpcVH(); vpcVH.setVpc(vpc); List<VpcEndpoint> vpcEndPoints = ec2Client.describeVpcEndpoints(new DescribeVpcEndpointsRequest().withFilters(new Filter("vpc-id",Arrays.asList(vpc.getVpcId())))).getVpcEndpoints(); List<VpcEndPointVH> vpcEndPointsList = new ArrayList<>(); vpcEndPoints.stream().forEach(vpcEndPoint -> { VpcEndPointVH vpcEndPointVH = new VpcEndPointVH(vpcEndPoint); vpcEndPointVH.setPublicAccess(false); ObjectMapper mapper = new ObjectMapper(); Map<String, Object> policyDoc = new HashMap<>(); try { policyDoc = mapper.readValue(vpcEndPoint.getPolicyDocument(), new TypeReference<Map<String, Object>>(){}); Map statement = (Map)((ArrayList)policyDoc.get("Statement")).get(0); if(statement.get("Effect").equals("Allow") && statement.get("Resource").equals("*")) { vpcEndPointVH.setPublicAccess(true); } } catch (Exception e) { log.error(expPrefix+ region.getName()+InventoryConstants.ERROR_CAUSE +e.getMessage()+"\"}"); } vpcEndPointsList.add(vpcEndPointVH); }); vpcVH.setVpcEndPoints(vpcEndPointsList); vpcList.add(vpcVH); }); if(!vpcList.isEmpty()) { log.debug(InventoryConstants.ACCOUNT + accountId +" Type : VPC "+region.getName() + " >> "+vpcList.size()); vpcMap.put(accountId+delimiter+accountName+delimiter+region.getName(),vpcList); } } }catch(Exception e){ log.warn(expPrefix+ region.getName()+InventoryConstants.ERROR_CAUSE +e.getMessage()+"\"}"); ErrorManageUtil.uploadError(accountId,region.getName(),"VPC",e.getMessage()); } } return vpcMap; } private  InventoryUtil(); static Map<String,List<Instance>> fetchInstances(BasicSessionCredentials temporaryCredentials, String skipRegions,String accountId,String accountName,String ec2Filters); static Map<String,List<NetworkInterface>> fetchNetworkIntefaces(BasicSessionCredentials temporaryCredentials, String skipRegions,String accountId,String accountName); static Map<String,List<SecurityGroup>> fetchSecurityGroups(BasicSessionCredentials temporaryCredentials, String skipRegions,String accountId,String accountName); static Map<String,List<AutoScalingGroup>> fetchAsg(BasicSessionCredentials temporaryCredentials, String skipRegions,String accountId,String accountName); static Map<String,List<Stack>> fetchCloudFormationStack(BasicSessionCredentials temporaryCredentials, String skipRegions,String accountId,String accountName); static Map<String,List<DynamoVH>> fetchDynamoDBTables(BasicSessionCredentials temporaryCredentials, String skipRegions,String accountId,String accountName); static Map<String,List<EfsVH>> fetchEFSInfo(BasicSessionCredentials temporaryCredentials, String skipRegions,String accountId,String accountName); static Map<String,List<Cluster>> fetchEMRInfo(BasicSessionCredentials temporaryCredentials, String skipRegions,String accountId,String accountName); static Map<String,List<LambdaVH>> fetchLambdaInfo(BasicSessionCredentials temporaryCredentials, String skipRegions,String accountId,String accountName); static Map<String,List<ClassicELBVH>> fetchClassicElbInfo(BasicSessionCredentials temporaryCredentials, String skipRegions,String accountId,String accountName); static Map<String,List<LoadBalancerVH>> fetchElbInfo(BasicSessionCredentials temporaryCredentials, String skipRegions,String accountId,String accountName); static Map<String,List<TargetGroupVH>> fetchTargetGroups(BasicSessionCredentials temporaryCredentials, String skipRegions,String accountId,String accountName); static Map<String,List<NatGateway>> fetchNATGatewayInfo(BasicSessionCredentials temporaryCredentials, String skipRegions,String accountId,String accountName); static Map<String,List<DBClusterVH>> fetchRDSClusterInfo(BasicSessionCredentials temporaryCredentials, String skipRegions,String accountId,String accountName); static Map<String,List<DBInstanceVH>> fetchRDSInstanceInfo(BasicSessionCredentials temporaryCredentials, String skipRegions,String accountId,String accountName); static Map<String,List<BucketVH>> fetchS3Info(BasicSessionCredentials temporaryCredentials, String skipRegions,String accountId,String accountName); static Map<String,List<Subnet>> fetchSubnets(BasicSessionCredentials temporaryCredentials, String skipRegions,String accountId,String accountName); static Map<String,List<CheckVH>> fetchTrusterdAdvisorsChecks(BasicSessionCredentials temporaryCredentials,String accountId,String accountName ); static Map<String,List<RedshiftVH>> fetchRedshiftInfo(BasicSessionCredentials temporaryCredentials,String skipRegions,String accountId,String accountName); static Map<String,List<Volume>> fetchVolumetInfo(BasicSessionCredentials temporaryCredentials, String skipRegions,String accountId,String accountName); static Map<String,List<Snapshot>> fetchSnapshots(BasicSessionCredentials temporaryCredentials, String skipRegions,String accountId,String accountName); @SuppressWarnings("rawtypes") static Map<String,List<VpcVH>> fetchVpcInfo(BasicSessionCredentials temporaryCredentials, String skipRegions,String accountId,String accountName); static Map<String,List<RestApi>> fetchApiGateways(BasicSessionCredentials temporaryCredentials, String skipRegions,String accountId,String accountName); static Map<String,List<UserVH>> fetchIAMUsers(BasicSessionCredentials temporaryCredentials,String accountId,String accountName); static Map<String,List<Role>> fetchIAMRoles(BasicSessionCredentials temporaryCredentials,String accountId,String accountName); static Map<String,List<DBSnapshot>> fetchRDSDBSnapshots(BasicSessionCredentials temporaryCredentials, String skipRegions,String accountId,String accountName); static Map<String,List<KMSKeyVH>> fetchKMSKeys(BasicSessionCredentials temporaryCredentials, String skipRegions,String accountId,String accountName); static Map<String,List<CloudFrontVH>> fetchCloudFrontInfo(BasicSessionCredentials temporaryCredentials,String accountId,String accountName); static Map<String,List<EbsVH>> fetchEBSInfo(BasicSessionCredentials temporaryCredentials, String skipRegions,String accountId,String accountName); static Map<String,List<PhdVH>> fetchPHDInfo(BasicSessionCredentials temporaryCredentials,String accountId,String accountName); static Map<String,List<SQSVH>> fetchSQSInfo(BasicSessionCredentials temporaryCredentials, String skipRegions,String accountId,String accountName); static Map<String,List<SSLCertificateVH>> fetchACMCertficateInfo(BasicSessionCredentials temporaryCredentials, String skipRegions, String account, String accountName); static Map<String,List<IAMCertificateVH>> fetchIAMCertificateInfo(BasicSessionCredentials temporaryCredentials, String skipRegions, String account, String accountName); static Map<String,List<AccountVH>> fetchAccountsInfo(BasicSessionCredentials temporaryCredentials, String skipRegions,
			String account, String accountName); static Map<String,List<GroupVH>> fetchIAMGroups(BasicSessionCredentials temporaryCredentials,String account, String accountName); static Map<String,List<Trail>> fetchCloudTrails(BasicSessionCredentials temporaryCredentials, String skipRegions,String account, String accountName); }
InventoryUtil { @SuppressWarnings("rawtypes") public static Map<String,List<VpcVH>> fetchVpcInfo(BasicSessionCredentials temporaryCredentials, String skipRegions,String accountId,String accountName) { Map<String,List<VpcVH>> vpcMap = new LinkedHashMap<>(); String expPrefix = InventoryConstants.ERROR_PREFIX_CODE+accountId + "\",\"Message\": \"Exception in fetching info for resource in specific region\" ,\"type\": \"Vpc\" , \"region\":\"" ; for(Region region : RegionUtils.getRegions()){ try{ if(!skipRegions.contains(region.getName())){ List<VpcVH> vpcList = new ArrayList<>(); AmazonEC2 ec2Client = AmazonEC2ClientBuilder.standard().withCredentials(new AWSStaticCredentialsProvider(temporaryCredentials)).withRegion(region.getName()).build(); List<Vpc> tmpVpcList = ec2Client.describeVpcs().getVpcs(); tmpVpcList.stream().forEach(vpc -> { VpcVH vpcVH = new VpcVH(); vpcVH.setVpc(vpc); List<VpcEndpoint> vpcEndPoints = ec2Client.describeVpcEndpoints(new DescribeVpcEndpointsRequest().withFilters(new Filter("vpc-id",Arrays.asList(vpc.getVpcId())))).getVpcEndpoints(); List<VpcEndPointVH> vpcEndPointsList = new ArrayList<>(); vpcEndPoints.stream().forEach(vpcEndPoint -> { VpcEndPointVH vpcEndPointVH = new VpcEndPointVH(vpcEndPoint); vpcEndPointVH.setPublicAccess(false); ObjectMapper mapper = new ObjectMapper(); Map<String, Object> policyDoc = new HashMap<>(); try { policyDoc = mapper.readValue(vpcEndPoint.getPolicyDocument(), new TypeReference<Map<String, Object>>(){}); Map statement = (Map)((ArrayList)policyDoc.get("Statement")).get(0); if(statement.get("Effect").equals("Allow") && statement.get("Resource").equals("*")) { vpcEndPointVH.setPublicAccess(true); } } catch (Exception e) { log.error(expPrefix+ region.getName()+InventoryConstants.ERROR_CAUSE +e.getMessage()+"\"}"); } vpcEndPointsList.add(vpcEndPointVH); }); vpcVH.setVpcEndPoints(vpcEndPointsList); vpcList.add(vpcVH); }); if(!vpcList.isEmpty()) { log.debug(InventoryConstants.ACCOUNT + accountId +" Type : VPC "+region.getName() + " >> "+vpcList.size()); vpcMap.put(accountId+delimiter+accountName+delimiter+region.getName(),vpcList); } } }catch(Exception e){ log.warn(expPrefix+ region.getName()+InventoryConstants.ERROR_CAUSE +e.getMessage()+"\"}"); ErrorManageUtil.uploadError(accountId,region.getName(),"VPC",e.getMessage()); } } return vpcMap; } private  InventoryUtil(); static Map<String,List<Instance>> fetchInstances(BasicSessionCredentials temporaryCredentials, String skipRegions,String accountId,String accountName,String ec2Filters); static Map<String,List<NetworkInterface>> fetchNetworkIntefaces(BasicSessionCredentials temporaryCredentials, String skipRegions,String accountId,String accountName); static Map<String,List<SecurityGroup>> fetchSecurityGroups(BasicSessionCredentials temporaryCredentials, String skipRegions,String accountId,String accountName); static Map<String,List<AutoScalingGroup>> fetchAsg(BasicSessionCredentials temporaryCredentials, String skipRegions,String accountId,String accountName); static Map<String,List<Stack>> fetchCloudFormationStack(BasicSessionCredentials temporaryCredentials, String skipRegions,String accountId,String accountName); static Map<String,List<DynamoVH>> fetchDynamoDBTables(BasicSessionCredentials temporaryCredentials, String skipRegions,String accountId,String accountName); static Map<String,List<EfsVH>> fetchEFSInfo(BasicSessionCredentials temporaryCredentials, String skipRegions,String accountId,String accountName); static Map<String,List<Cluster>> fetchEMRInfo(BasicSessionCredentials temporaryCredentials, String skipRegions,String accountId,String accountName); static Map<String,List<LambdaVH>> fetchLambdaInfo(BasicSessionCredentials temporaryCredentials, String skipRegions,String accountId,String accountName); static Map<String,List<ClassicELBVH>> fetchClassicElbInfo(BasicSessionCredentials temporaryCredentials, String skipRegions,String accountId,String accountName); static Map<String,List<LoadBalancerVH>> fetchElbInfo(BasicSessionCredentials temporaryCredentials, String skipRegions,String accountId,String accountName); static Map<String,List<TargetGroupVH>> fetchTargetGroups(BasicSessionCredentials temporaryCredentials, String skipRegions,String accountId,String accountName); static Map<String,List<NatGateway>> fetchNATGatewayInfo(BasicSessionCredentials temporaryCredentials, String skipRegions,String accountId,String accountName); static Map<String,List<DBClusterVH>> fetchRDSClusterInfo(BasicSessionCredentials temporaryCredentials, String skipRegions,String accountId,String accountName); static Map<String,List<DBInstanceVH>> fetchRDSInstanceInfo(BasicSessionCredentials temporaryCredentials, String skipRegions,String accountId,String accountName); static Map<String,List<BucketVH>> fetchS3Info(BasicSessionCredentials temporaryCredentials, String skipRegions,String accountId,String accountName); static Map<String,List<Subnet>> fetchSubnets(BasicSessionCredentials temporaryCredentials, String skipRegions,String accountId,String accountName); static Map<String,List<CheckVH>> fetchTrusterdAdvisorsChecks(BasicSessionCredentials temporaryCredentials,String accountId,String accountName ); static Map<String,List<RedshiftVH>> fetchRedshiftInfo(BasicSessionCredentials temporaryCredentials,String skipRegions,String accountId,String accountName); static Map<String,List<Volume>> fetchVolumetInfo(BasicSessionCredentials temporaryCredentials, String skipRegions,String accountId,String accountName); static Map<String,List<Snapshot>> fetchSnapshots(BasicSessionCredentials temporaryCredentials, String skipRegions,String accountId,String accountName); @SuppressWarnings("rawtypes") static Map<String,List<VpcVH>> fetchVpcInfo(BasicSessionCredentials temporaryCredentials, String skipRegions,String accountId,String accountName); static Map<String,List<RestApi>> fetchApiGateways(BasicSessionCredentials temporaryCredentials, String skipRegions,String accountId,String accountName); static Map<String,List<UserVH>> fetchIAMUsers(BasicSessionCredentials temporaryCredentials,String accountId,String accountName); static Map<String,List<Role>> fetchIAMRoles(BasicSessionCredentials temporaryCredentials,String accountId,String accountName); static Map<String,List<DBSnapshot>> fetchRDSDBSnapshots(BasicSessionCredentials temporaryCredentials, String skipRegions,String accountId,String accountName); static Map<String,List<KMSKeyVH>> fetchKMSKeys(BasicSessionCredentials temporaryCredentials, String skipRegions,String accountId,String accountName); static Map<String,List<CloudFrontVH>> fetchCloudFrontInfo(BasicSessionCredentials temporaryCredentials,String accountId,String accountName); static Map<String,List<EbsVH>> fetchEBSInfo(BasicSessionCredentials temporaryCredentials, String skipRegions,String accountId,String accountName); static Map<String,List<PhdVH>> fetchPHDInfo(BasicSessionCredentials temporaryCredentials,String accountId,String accountName); static Map<String,List<SQSVH>> fetchSQSInfo(BasicSessionCredentials temporaryCredentials, String skipRegions,String accountId,String accountName); static Map<String,List<SSLCertificateVH>> fetchACMCertficateInfo(BasicSessionCredentials temporaryCredentials, String skipRegions, String account, String accountName); static Map<String,List<IAMCertificateVH>> fetchIAMCertificateInfo(BasicSessionCredentials temporaryCredentials, String skipRegions, String account, String accountName); static Map<String,List<AccountVH>> fetchAccountsInfo(BasicSessionCredentials temporaryCredentials, String skipRegions,
			String account, String accountName); static Map<String,List<GroupVH>> fetchIAMGroups(BasicSessionCredentials temporaryCredentials,String account, String accountName); static Map<String,List<Trail>> fetchCloudTrails(BasicSessionCredentials temporaryCredentials, String skipRegions,String account, String accountName);  }