diff --git a/prowler/providers/aws/services/cloudwatch/cloudwatch_cross_account_sharing_disabled/cloudwatch_cross_account_sharing_disabled.py b/prowler/providers/aws/services/cloudwatch/cloudwatch_cross_account_sharing_disabled/cloudwatch_cross_account_sharing_disabled.py index 065a9d569b..5e2d897df2 100644 --- a/prowler/providers/aws/services/cloudwatch/cloudwatch_cross_account_sharing_disabled/cloudwatch_cross_account_sharing_disabled.py +++ b/prowler/providers/aws/services/cloudwatch/cloudwatch_cross_account_sharing_disabled/cloudwatch_cross_account_sharing_disabled.py @@ -16,6 +16,7 @@ class cloudwatch_cross_account_sharing_disabled(Check): if role.name == "CloudWatch-CrossAccountSharingRole": report.resource_arn = role.arn report.resource_id = role.name + report.resource_tags = role.tags report.status = "FAIL" report.status_extended = ( "CloudWatch has allowed cross-account sharing." diff --git a/prowler/providers/aws/services/cloudwatch/cloudwatch_log_group_no_secrets_in_logs/cloudwatch_log_group_no_secrets_in_logs.py b/prowler/providers/aws/services/cloudwatch/cloudwatch_log_group_no_secrets_in_logs/cloudwatch_log_group_no_secrets_in_logs.py index f459f7d045..cb583ad35b 100644 --- a/prowler/providers/aws/services/cloudwatch/cloudwatch_log_group_no_secrets_in_logs/cloudwatch_log_group_no_secrets_in_logs.py +++ b/prowler/providers/aws/services/cloudwatch/cloudwatch_log_group_no_secrets_in_logs/cloudwatch_log_group_no_secrets_in_logs.py @@ -24,6 +24,7 @@ class cloudwatch_log_group_no_secrets_in_logs(Check): report.region = log_group.region report.resource_id = log_group.name report.resource_arn = log_group.arn + report.resource_tags = log_group.tags log_group_secrets = [] if log_group.log_streams: for log_stream_name in log_group.log_streams: diff --git a/prowler/providers/aws/services/cloudwatch/cloudwatch_service.py b/prowler/providers/aws/services/cloudwatch/cloudwatch_service.py index 4a63b9d4cd..50dfccb308 100644 --- a/prowler/providers/aws/services/cloudwatch/cloudwatch_service.py +++ b/prowler/providers/aws/services/cloudwatch/cloudwatch_service.py @@ -82,10 +82,10 @@ class Logs(AWSService): # Call AWSService's __init__ super().__init__(__class__.__name__, provider) self.log_group_arn_template = f"arn:{self.audited_partition}:logs:{self.region}:{self.audited_account}:log-group" - self.metric_filters = [] self.log_groups = [] - self.__threading_call__(self._describe_metric_filters) self.__threading_call__(self._describe_log_groups) + self.metric_filters = [] + self.__threading_call__(self._describe_metric_filters) if self.log_groups: if ( "cloudwatch_log_group_no_secrets_in_logs" @@ -111,13 +111,20 @@ class Logs(AWSService): ): if self.metric_filters is None: self.metric_filters = [] + + log_group = None + for lg in self.log_groups: + if lg.name == filter["logGroupName"]: + log_group = lg + break + self.metric_filters.append( MetricFilter( arn=arn, name=filter["filterName"], metric=filter["metricTransformations"][0]["metricName"], pattern=filter.get("filterPattern", ""), - log_group=filter["logGroupName"], + log_group=log_group, region=regional_client.region, ) ) @@ -242,15 +249,6 @@ class MetricAlarm(BaseModel): tags: Optional[list] = [] -class MetricFilter(BaseModel): - arn: str - name: str - metric: str - pattern: str - log_group: str - region: str - - class LogGroup(BaseModel): arn: str name: str @@ -264,6 +262,15 @@ class LogGroup(BaseModel): tags: Optional[list] = [] +class MetricFilter(BaseModel): + arn: str + name: str + metric: str + pattern: str + log_group: Optional[LogGroup] + region: str + + def convert_to_cloudwatch_timestamp_format(epoch_time): date_time = datetime.fromtimestamp( epoch_time / 1000, datetime.now(timezone.utc).astimezone().tzinfo diff --git a/prowler/providers/aws/services/cloudwatch/lib/metric_filters.py b/prowler/providers/aws/services/cloudwatch/lib/metric_filters.py index a8743b6c0f..49118fe8bf 100644 --- a/prowler/providers/aws/services/cloudwatch/lib/metric_filters.py +++ b/prowler/providers/aws/services/cloudwatch/lib/metric_filters.py @@ -18,18 +18,22 @@ def check_cloudwatch_log_metric_filter( log_groups.append(trail.log_group_arn.split(":")[6]) # 2. Describe metric filters for previous log groups for metric_filter in metric_filters: - if metric_filter.log_group in log_groups: - if re.search(metric_filter_pattern, metric_filter.pattern, flags=re.DOTALL): - report.resource_id = metric_filter.log_group - report.resource_arn = metric_filter.arn - report.region = metric_filter.region - report.status = "FAIL" - report.status_extended = f"CloudWatch log group {metric_filter.log_group} found with metric filter {metric_filter.name} but no alarms associated." - # 3. Check if there is an alarm for the metric - for alarm in metric_alarms: - if alarm.metric == metric_filter.metric: - report.status = "PASS" - report.status_extended = f"CloudWatch log group {metric_filter.log_group} found with metric filter {metric_filter.name} and alarms set." - break + if metric_filter.log_group.name in log_groups and re.search( + metric_filter_pattern, metric_filter.pattern, flags=re.DOTALL + ): + report.resource_id = metric_filter.log_group.name + report.resource_arn = metric_filter.log_group.arn + report.region = metric_filter.log_group.region + report.resource_tags = metric_filter.log_group.tags + report.status = "FAIL" + report.status_extended = f"CloudWatch log group {metric_filter.log_group.name} found with metric filter {metric_filter.name} but no alarms associated." + # 3. Check if there is an alarm for the metric + for alarm in metric_alarms: + if alarm.metric == metric_filter.metric: + report.status = "PASS" + report.status_extended = f"CloudWatch log group {metric_filter.log_group.name} found with metric filter {metric_filter.name} and alarms set." + break + if report.status == "PASS": + break return report diff --git a/tests/providers/aws/services/cloudwatch/cloudwatch_changes_to_network_acls_alarm_configured/cloudwatch_changes_to_network_acls_alarm_configured_test.py b/tests/providers/aws/services/cloudwatch/cloudwatch_changes_to_network_acls_alarm_configured/cloudwatch_changes_to_network_acls_alarm_configured_test.py index 900c033bd1..7f5f7a2ddf 100644 --- a/tests/providers/aws/services/cloudwatch/cloudwatch_changes_to_network_acls_alarm_configured/cloudwatch_changes_to_network_acls_alarm_configured_test.py +++ b/tests/providers/aws/services/cloudwatch/cloudwatch_changes_to_network_acls_alarm_configured/cloudwatch_changes_to_network_acls_alarm_configured_test.py @@ -227,6 +227,12 @@ class Test_cloudwatch_changes_to_network_acls_alarm_configured: ], ) + # Tag the log group + logs_client.tag_log_group( + logGroupName="/log-group/test", + tags={"tag_key_1": "tag_value_1", "tag_key_2": "tag_value_2"}, + ) + from prowler.providers.aws.services.cloudtrail.cloudtrail_service import ( Cloudtrail, ) @@ -279,9 +285,15 @@ class Test_cloudwatch_changes_to_network_acls_alarm_configured: assert result[0].resource_id == "/log-group/test" assert ( result[0].resource_arn - == f"arn:aws:logs:{AWS_REGION_US_EAST_1}:{AWS_ACCOUNT_NUMBER}:metric-filter/test-filter" + == f"arn:aws:logs:{AWS_REGION_US_EAST_1}:{AWS_ACCOUNT_NUMBER}:log-group:/log-group/test" ) assert result[0].region == AWS_REGION_US_EAST_1 + assert result[0].resource_tags == [ + { + "tag_key_1": "tag_value_1", + "tag_key_2": "tag_value_2", + } + ] @mock_aws def test_cloudwatch_trail_with_log_group_with_metric_and_alarm(self): @@ -320,6 +332,11 @@ class Test_cloudwatch_changes_to_network_acls_alarm_configured: ActionsEnabled=True, ) + logs_client.tag_log_group( + logGroupName="/log-group/test", + tags={"tag_key_1": "tag_value_1", "tag_key_2": "tag_value_2"}, + ) + from prowler.providers.aws.services.cloudtrail.cloudtrail_service import ( Cloudtrail, ) @@ -372,9 +389,15 @@ class Test_cloudwatch_changes_to_network_acls_alarm_configured: assert result[0].resource_id == "/log-group/test" assert ( result[0].resource_arn - == f"arn:aws:logs:{AWS_REGION_US_EAST_1}:{AWS_ACCOUNT_NUMBER}:metric-filter/test-filter" + == f"arn:aws:logs:{AWS_REGION_US_EAST_1}:{AWS_ACCOUNT_NUMBER}:log-group:/log-group/test" ) assert result[0].region == AWS_REGION_US_EAST_1 + assert result[0].resource_tags == [ + { + "tag_key_1": "tag_value_1", + "tag_key_2": "tag_value_2", + } + ] @mock_aws def test_cloudwatch_trail_with_log_group_with_metric_and_alarm_with_quotes(self): @@ -413,6 +436,11 @@ class Test_cloudwatch_changes_to_network_acls_alarm_configured: ActionsEnabled=True, ) + logs_client.tag_log_group( + logGroupName="/log-group/test", + tags={"tag_key_1": "tag_value_1", "tag_key_2": "tag_value_2"}, + ) + from prowler.providers.aws.services.cloudtrail.cloudtrail_service import ( Cloudtrail, ) @@ -465,9 +493,15 @@ class Test_cloudwatch_changes_to_network_acls_alarm_configured: assert result[0].resource_id == "/log-group/test" assert ( result[0].resource_arn - == f"arn:aws:logs:{AWS_REGION_US_EAST_1}:{AWS_ACCOUNT_NUMBER}:metric-filter/test-filter" + == f"arn:aws:logs:{AWS_REGION_US_EAST_1}:{AWS_ACCOUNT_NUMBER}:log-group:/log-group/test" ) assert result[0].region == AWS_REGION_US_EAST_1 + assert result[0].resource_tags == [ + { + "tag_key_1": "tag_value_1", + "tag_key_2": "tag_value_2", + } + ] @mock_aws def test_cloudwatch_trail_with_log_group_with_metric_and_alarm_with_newlines(self): @@ -506,6 +540,11 @@ class Test_cloudwatch_changes_to_network_acls_alarm_configured: ActionsEnabled=True, ) + logs_client.tag_log_group( + logGroupName="/log-group/test", + tags={"tag_key_1": "tag_value_1", "tag_key_2": "tag_value_2"}, + ) + from prowler.providers.aws.services.cloudtrail.cloudtrail_service import ( Cloudtrail, ) @@ -558,9 +597,15 @@ class Test_cloudwatch_changes_to_network_acls_alarm_configured: assert result[0].resource_id == "/log-group/test" assert ( result[0].resource_arn - == f"arn:aws:logs:{AWS_REGION_US_EAST_1}:{AWS_ACCOUNT_NUMBER}:metric-filter/test-filter" + == f"arn:aws:logs:{AWS_REGION_US_EAST_1}:{AWS_ACCOUNT_NUMBER}:log-group:/log-group/test" ) assert result[0].region == AWS_REGION_US_EAST_1 + assert result[0].resource_tags == [ + { + "tag_key_1": "tag_value_1", + "tag_key_2": "tag_value_2", + } + ] @mock_aws def test_access_denied(self): diff --git a/tests/providers/aws/services/cloudwatch/cloudwatch_changes_to_network_gateways_alarm_configured/cloudwatch_changes_to_network_gateways_alarm_configured_test.py b/tests/providers/aws/services/cloudwatch/cloudwatch_changes_to_network_gateways_alarm_configured/cloudwatch_changes_to_network_gateways_alarm_configured_test.py index 64de52d209..55865357e8 100644 --- a/tests/providers/aws/services/cloudwatch/cloudwatch_changes_to_network_gateways_alarm_configured/cloudwatch_changes_to_network_gateways_alarm_configured_test.py +++ b/tests/providers/aws/services/cloudwatch/cloudwatch_changes_to_network_gateways_alarm_configured/cloudwatch_changes_to_network_gateways_alarm_configured_test.py @@ -227,6 +227,10 @@ class Test_cloudwatch_changes_to_network_gateways_alarm_configured: ], ) + logs_client.tag_log_group( + logGroupName="/log-group/test", tags={"tag_key": "tag_value"} + ) + from prowler.providers.aws.services.cloudtrail.cloudtrail_service import ( Cloudtrail, ) @@ -279,9 +283,10 @@ class Test_cloudwatch_changes_to_network_gateways_alarm_configured: assert result[0].resource_id == "/log-group/test" assert ( result[0].resource_arn - == f"arn:aws:logs:{AWS_REGION_US_EAST_1}:{AWS_ACCOUNT_NUMBER}:metric-filter/test-filter" + == f"arn:aws:logs:{AWS_REGION_US_EAST_1}:{AWS_ACCOUNT_NUMBER}:log-group:/log-group/test" ) assert result[0].region == AWS_REGION_US_EAST_1 + assert result[0].resource_tags == [{"tag_key": "tag_value"}] @mock_aws def test_cloudwatch_trail_with_log_group_with_metric_and_alarm(self): @@ -320,6 +325,10 @@ class Test_cloudwatch_changes_to_network_gateways_alarm_configured: ActionsEnabled=True, ) + logs_client.tag_log_group( + logGroupName="/log-group/test", tags={"tag_key": "tag_value"} + ) + from prowler.providers.aws.services.cloudtrail.cloudtrail_service import ( Cloudtrail, ) @@ -372,9 +381,10 @@ class Test_cloudwatch_changes_to_network_gateways_alarm_configured: assert result[0].resource_id == "/log-group/test" assert ( result[0].resource_arn - == f"arn:aws:logs:{AWS_REGION_US_EAST_1}:{AWS_ACCOUNT_NUMBER}:metric-filter/test-filter" + == f"arn:aws:logs:{AWS_REGION_US_EAST_1}:{AWS_ACCOUNT_NUMBER}:log-group:/log-group/test" ) assert result[0].region == AWS_REGION_US_EAST_1 + assert result[0].resource_tags == [{"tag_key": "tag_value"}] @mock_aws def test_cloudwatch_trail_with_log_group_with_metric_and_alarm_with_quotes(self): @@ -413,6 +423,10 @@ class Test_cloudwatch_changes_to_network_gateways_alarm_configured: ActionsEnabled=True, ) + logs_client.tag_log_group( + logGroupName="/log-group/test", tags={"tag_key": "tag_value"} + ) + from prowler.providers.aws.services.cloudtrail.cloudtrail_service import ( Cloudtrail, ) @@ -465,9 +479,10 @@ class Test_cloudwatch_changes_to_network_gateways_alarm_configured: assert result[0].resource_id == "/log-group/test" assert ( result[0].resource_arn - == f"arn:aws:logs:{AWS_REGION_US_EAST_1}:{AWS_ACCOUNT_NUMBER}:metric-filter/test-filter" + == f"arn:aws:logs:{AWS_REGION_US_EAST_1}:{AWS_ACCOUNT_NUMBER}:log-group:/log-group/test" ) assert result[0].region == AWS_REGION_US_EAST_1 + assert result[0].resource_tags == [{"tag_key": "tag_value"}] @mock_aws def test_cloudwatch_trail_with_log_group_with_metric_and_alarm_with_newlines(self): @@ -506,6 +521,10 @@ class Test_cloudwatch_changes_to_network_gateways_alarm_configured: ActionsEnabled=True, ) + logs_client.tag_log_group( + logGroupName="/log-group/test", tags={"tag_key": "tag_value"} + ) + from prowler.providers.aws.services.cloudtrail.cloudtrail_service import ( Cloudtrail, ) @@ -558,6 +577,7 @@ class Test_cloudwatch_changes_to_network_gateways_alarm_configured: assert result[0].resource_id == "/log-group/test" assert ( result[0].resource_arn - == f"arn:aws:logs:{AWS_REGION_US_EAST_1}:{AWS_ACCOUNT_NUMBER}:metric-filter/test-filter" + == f"arn:aws:logs:{AWS_REGION_US_EAST_1}:{AWS_ACCOUNT_NUMBER}:log-group:/log-group/test" ) assert result[0].region == AWS_REGION_US_EAST_1 + assert result[0].resource_tags == [{"tag_key": "tag_value"}] diff --git a/tests/providers/aws/services/cloudwatch/cloudwatch_changes_to_network_route_tables_alarm_configured/cloudwatch_changes_to_network_route_tables_alarm_configured_test.py b/tests/providers/aws/services/cloudwatch/cloudwatch_changes_to_network_route_tables_alarm_configured/cloudwatch_changes_to_network_route_tables_alarm_configured_test.py index a69b03f45e..30033378bd 100644 --- a/tests/providers/aws/services/cloudwatch/cloudwatch_changes_to_network_route_tables_alarm_configured/cloudwatch_changes_to_network_route_tables_alarm_configured_test.py +++ b/tests/providers/aws/services/cloudwatch/cloudwatch_changes_to_network_route_tables_alarm_configured/cloudwatch_changes_to_network_route_tables_alarm_configured_test.py @@ -279,7 +279,7 @@ class Test_cloudwatch_changes_to_network_route_tables_alarm_configured: assert result[0].resource_id == "/log-group/test" assert ( result[0].resource_arn - == f"arn:aws:logs:{AWS_REGION_US_EAST_1}:{AWS_ACCOUNT_NUMBER}:metric-filter/test-filter" + == f"arn:aws:logs:{AWS_REGION_US_EAST_1}:{AWS_ACCOUNT_NUMBER}:log-group:/log-group/test" ) assert result[0].region == AWS_REGION_US_EAST_1 @@ -372,7 +372,7 @@ class Test_cloudwatch_changes_to_network_route_tables_alarm_configured: assert result[0].resource_id == "/log-group/test" assert ( result[0].resource_arn - == f"arn:aws:logs:{AWS_REGION_US_EAST_1}:{AWS_ACCOUNT_NUMBER}:metric-filter/test-filter" + == f"arn:aws:logs:{AWS_REGION_US_EAST_1}:{AWS_ACCOUNT_NUMBER}:log-group:/log-group/test" ) assert result[0].region == AWS_REGION_US_EAST_1 @@ -465,7 +465,7 @@ class Test_cloudwatch_changes_to_network_route_tables_alarm_configured: assert result[0].resource_id == "/log-group/test" assert ( result[0].resource_arn - == f"arn:aws:logs:{AWS_REGION_US_EAST_1}:{AWS_ACCOUNT_NUMBER}:metric-filter/test-filter" + == f"arn:aws:logs:{AWS_REGION_US_EAST_1}:{AWS_ACCOUNT_NUMBER}:log-group:/log-group/test" ) assert result[0].region == AWS_REGION_US_EAST_1 @@ -558,6 +558,6 @@ class Test_cloudwatch_changes_to_network_route_tables_alarm_configured: assert result[0].resource_id == "/log-group/test" assert ( result[0].resource_arn - == f"arn:aws:logs:{AWS_REGION_US_EAST_1}:{AWS_ACCOUNT_NUMBER}:metric-filter/test-filter" + == f"arn:aws:logs:{AWS_REGION_US_EAST_1}:{AWS_ACCOUNT_NUMBER}:log-group:/log-group/test" ) assert result[0].region == AWS_REGION_US_EAST_1 diff --git a/tests/providers/aws/services/cloudwatch/cloudwatch_changes_to_vpcs_alarm_configured/cloudwatch_changes_to_vpcs_alarm_configured_test.py b/tests/providers/aws/services/cloudwatch/cloudwatch_changes_to_vpcs_alarm_configured/cloudwatch_changes_to_vpcs_alarm_configured_test.py index 70a7dc8d1f..c4ef5da546 100644 --- a/tests/providers/aws/services/cloudwatch/cloudwatch_changes_to_vpcs_alarm_configured/cloudwatch_changes_to_vpcs_alarm_configured_test.py +++ b/tests/providers/aws/services/cloudwatch/cloudwatch_changes_to_vpcs_alarm_configured/cloudwatch_changes_to_vpcs_alarm_configured_test.py @@ -279,7 +279,7 @@ class Test_cloudwatch_changes_to_vpcs_alarm_configured: assert result[0].resource_id == "/log-group/test" assert ( result[0].resource_arn - == f"arn:aws:logs:{AWS_REGION_US_EAST_1}:{AWS_ACCOUNT_NUMBER}:metric-filter/test-filter" + == f"arn:aws:logs:{AWS_REGION_US_EAST_1}:{AWS_ACCOUNT_NUMBER}:log-group:/log-group/test" ) assert result[0].region == AWS_REGION_US_EAST_1 @@ -372,7 +372,7 @@ class Test_cloudwatch_changes_to_vpcs_alarm_configured: assert result[0].resource_id == "/log-group/test" assert ( result[0].resource_arn - == f"arn:aws:logs:{AWS_REGION_US_EAST_1}:{AWS_ACCOUNT_NUMBER}:metric-filter/test-filter" + == f"arn:aws:logs:{AWS_REGION_US_EAST_1}:{AWS_ACCOUNT_NUMBER}:log-group:/log-group/test" ) assert result[0].region == AWS_REGION_US_EAST_1 @@ -465,7 +465,7 @@ class Test_cloudwatch_changes_to_vpcs_alarm_configured: assert result[0].resource_id == "/log-group/test" assert ( result[0].resource_arn - == f"arn:aws:logs:{AWS_REGION_US_EAST_1}:{AWS_ACCOUNT_NUMBER}:metric-filter/test-filter" + == f"arn:aws:logs:{AWS_REGION_US_EAST_1}:{AWS_ACCOUNT_NUMBER}:log-group:/log-group/test" ) assert result[0].region == AWS_REGION_US_EAST_1 @@ -558,6 +558,6 @@ class Test_cloudwatch_changes_to_vpcs_alarm_configured: assert result[0].resource_id == "/log-group/test" assert ( result[0].resource_arn - == f"arn:aws:logs:{AWS_REGION_US_EAST_1}:{AWS_ACCOUNT_NUMBER}:metric-filter/test-filter" + == f"arn:aws:logs:{AWS_REGION_US_EAST_1}:{AWS_ACCOUNT_NUMBER}:log-group:/log-group/test" ) assert result[0].region == AWS_REGION_US_EAST_1 diff --git a/tests/providers/aws/services/cloudwatch/cloudwatch_cross_account_sharing_disabled/cloudwatch_cross_account_sharing_disabled_test.py b/tests/providers/aws/services/cloudwatch/cloudwatch_cross_account_sharing_disabled/cloudwatch_cross_account_sharing_disabled_test.py index c79f87caaa..7a70c1f515 100644 --- a/tests/providers/aws/services/cloudwatch/cloudwatch_cross_account_sharing_disabled/cloudwatch_cross_account_sharing_disabled_test.py +++ b/tests/providers/aws/services/cloudwatch/cloudwatch_cross_account_sharing_disabled/cloudwatch_cross_account_sharing_disabled_test.py @@ -52,6 +52,14 @@ class Test_cloudwatch_cross_account_sharing_disabled: == "CloudWatch doesn't allow cross-account sharing." ) assert result[0].resource_id == AWS_ACCOUNT_NUMBER + assert ( + result[0].resource_arn + == f"arn:aws:iam:{AWS_REGION_EU_WEST_1}:{AWS_ACCOUNT_NUMBER}:role" + or result[0].resource_arn + == f"arn:aws:iam:{AWS_REGION_US_EAST_1}:{AWS_ACCOUNT_NUMBER}:role" + ) + assert result[0].region == AWS_REGION_EU_WEST_1 + assert result[0].resource_tags == [] @mock_aws def test_cloudwatch_log_group_with_cross_account_role(self): @@ -59,7 +67,9 @@ class Test_cloudwatch_cross_account_sharing_disabled: iam_client = client("iam", region_name=AWS_REGION_US_EAST_1) # Request Logs group iam_client.create_role( - RoleName="CloudWatch-CrossAccountSharingRole", AssumeRolePolicyDocument="{}" + RoleName="CloudWatch-CrossAccountSharingRole", + AssumeRolePolicyDocument="{}", + Tags=[{"Key": "Name", "Value": "CloudWatch-CrossAccountSharingRole"}], ) from prowler.providers.aws.services.iam.iam_service import IAM @@ -99,6 +109,17 @@ class Test_cloudwatch_cross_account_sharing_disabled: == "CloudWatch has allowed cross-account sharing." ) assert result[0].resource_id == "CloudWatch-CrossAccountSharingRole" + assert ( + result[0].resource_arn + == f"arn:aws:iam::{AWS_ACCOUNT_NUMBER}:role/CloudWatch-CrossAccountSharingRole" + ) + assert ( + result[0].region == AWS_REGION_US_EAST_1 + or result[0].region == AWS_REGION_EU_WEST_1 + ) + assert result[0].resource_tags == [ + {"Key": "Name", "Value": "CloudWatch-CrossAccountSharingRole"} + ] @mock_aws def test_access_denied(self): diff --git a/tests/providers/aws/services/cloudwatch/cloudwatch_log_group_no_secrets_in_logs/cloudwatch_log_group_no_secrets_in_logs_test.py b/tests/providers/aws/services/cloudwatch/cloudwatch_log_group_no_secrets_in_logs/cloudwatch_log_group_no_secrets_in_logs_test.py index 886828a964..0bca97ec5d 100644 --- a/tests/providers/aws/services/cloudwatch/cloudwatch_log_group_no_secrets_in_logs/cloudwatch_log_group_no_secrets_in_logs_test.py +++ b/tests/providers/aws/services/cloudwatch/cloudwatch_log_group_no_secrets_in_logs/cloudwatch_log_group_no_secrets_in_logs_test.py @@ -52,7 +52,7 @@ class Test_cloudwatch_log_group_no_secrets_in_logs: # Generate Logs Client logs_client = client("logs", region_name=AWS_REGION_US_EAST_1) # Request Logs group - logs_client.create_log_group(logGroupName="test") + logs_client.create_log_group(logGroupName="test", tags={"test": "test"}) logs_client.create_log_stream(logGroupName="test", logStreamName="test stream") logs_client.put_log_events( logGroupName="test", @@ -99,13 +99,19 @@ class Test_cloudwatch_log_group_no_secrets_in_logs: assert result[0].status == "PASS" assert result[0].status_extended == "No secrets found in test log group." assert result[0].resource_id == "test" + assert ( + result[0].resource_arn + == f"arn:aws:logs:{AWS_REGION_US_EAST_1}:123456789012:log-group:test" + ) + assert result[0].region == AWS_REGION_US_EAST_1 + assert result[0].resource_tags == [{"test": "test"}] @mock_aws def test_cloudwatch_log_group_with_secrets(self): # Generate Logs Client logs_client = client("logs", region_name=AWS_REGION_US_EAST_1) # Request Logs group - logs_client.create_log_group(logGroupName="test") + logs_client.create_log_group(logGroupName="test", tags={"test": "test"}) logs_client.create_log_stream(logGroupName="test", logStreamName="test stream") logs_client.put_log_events( logGroupName="test", @@ -154,6 +160,12 @@ class Test_cloudwatch_log_group_no_secrets_in_logs: "Potential secrets found in log group", result[0].status_extended ) assert result[0].resource_id == "test" + assert ( + result[0].resource_arn + == f"arn:aws:logs:{AWS_REGION_US_EAST_1}:123456789012:log-group:test" + ) + assert result[0].region == AWS_REGION_US_EAST_1 + assert result[0].resource_tags == [{"test": "test"}] @mock_aws def test_access_denied(self): diff --git a/tests/providers/aws/services/cloudwatch/cloudwatch_log_metric_filter_and_alarm_for_aws_config_configuration_changes_enabled/cloudwatch_log_metric_filter_and_alarm_for_aws_config_configuration_changes_enabled_test.py b/tests/providers/aws/services/cloudwatch/cloudwatch_log_metric_filter_and_alarm_for_aws_config_configuration_changes_enabled/cloudwatch_log_metric_filter_and_alarm_for_aws_config_configuration_changes_enabled_test.py index 345cd1a687..c3bcb951d5 100644 --- a/tests/providers/aws/services/cloudwatch/cloudwatch_log_metric_filter_and_alarm_for_aws_config_configuration_changes_enabled/cloudwatch_log_metric_filter_and_alarm_for_aws_config_configuration_changes_enabled_test.py +++ b/tests/providers/aws/services/cloudwatch/cloudwatch_log_metric_filter_and_alarm_for_aws_config_configuration_changes_enabled/cloudwatch_log_metric_filter_and_alarm_for_aws_config_configuration_changes_enabled_test.py @@ -287,7 +287,7 @@ class Test_cloudwatch_log_metric_filter_and_alarm_for_aws_config_configuration_c assert result[0].resource_id == "/log-group/test" assert ( result[0].resource_arn - == f"arn:aws:logs:{AWS_REGION_US_EAST_1}:{AWS_ACCOUNT_NUMBER}:metric-filter/test-filter" + == f"arn:aws:logs:{AWS_REGION_US_EAST_1}:{AWS_ACCOUNT_NUMBER}:log-group:/log-group/test" ) assert result[0].region == AWS_REGION_US_EAST_1 @@ -382,7 +382,7 @@ class Test_cloudwatch_log_metric_filter_and_alarm_for_aws_config_configuration_c assert result[0].resource_id == "/log-group/test" assert ( result[0].resource_arn - == f"arn:aws:logs:{AWS_REGION_US_EAST_1}:{AWS_ACCOUNT_NUMBER}:metric-filter/test-filter" + == f"arn:aws:logs:{AWS_REGION_US_EAST_1}:{AWS_ACCOUNT_NUMBER}:log-group:/log-group/test" ) assert result[0].region == AWS_REGION_US_EAST_1 @@ -477,7 +477,7 @@ class Test_cloudwatch_log_metric_filter_and_alarm_for_aws_config_configuration_c assert result[0].resource_id == "/log-group/test" assert ( result[0].resource_arn - == f"arn:aws:logs:{AWS_REGION_US_EAST_1}:{AWS_ACCOUNT_NUMBER}:metric-filter/test-filter" + == f"arn:aws:logs:{AWS_REGION_US_EAST_1}:{AWS_ACCOUNT_NUMBER}:log-group:/log-group/test" ) assert result[0].region == AWS_REGION_US_EAST_1 @@ -572,7 +572,7 @@ class Test_cloudwatch_log_metric_filter_and_alarm_for_aws_config_configuration_c assert result[0].resource_id == "/log-group/test" assert ( result[0].resource_arn - == f"arn:aws:logs:{AWS_REGION_US_EAST_1}:{AWS_ACCOUNT_NUMBER}:metric-filter/test-filter" + == f"arn:aws:logs:{AWS_REGION_US_EAST_1}:{AWS_ACCOUNT_NUMBER}:log-group:/log-group/test" ) assert result[0].region == AWS_REGION_US_EAST_1 diff --git a/tests/providers/aws/services/cloudwatch/cloudwatch_log_metric_filter_and_alarm_for_cloudtrail_configuration_changes_enabled/cloudwatch_log_metric_filter_and_alarm_for_cloudtrail_configuration_changes_enabled_test.py b/tests/providers/aws/services/cloudwatch/cloudwatch_log_metric_filter_and_alarm_for_cloudtrail_configuration_changes_enabled/cloudwatch_log_metric_filter_and_alarm_for_cloudtrail_configuration_changes_enabled_test.py index 0b8a3485a6..c5cb84cfa5 100644 --- a/tests/providers/aws/services/cloudwatch/cloudwatch_log_metric_filter_and_alarm_for_cloudtrail_configuration_changes_enabled/cloudwatch_log_metric_filter_and_alarm_for_cloudtrail_configuration_changes_enabled_test.py +++ b/tests/providers/aws/services/cloudwatch/cloudwatch_log_metric_filter_and_alarm_for_cloudtrail_configuration_changes_enabled/cloudwatch_log_metric_filter_and_alarm_for_cloudtrail_configuration_changes_enabled_test.py @@ -287,7 +287,7 @@ class Test_cloudwatch_log_metric_filter_and_alarm_for_cloudtrail_configuration_c assert result[0].resource_id == "/log-group/test" assert ( result[0].resource_arn - == f"arn:aws:logs:{AWS_REGION_US_EAST_1}:{AWS_ACCOUNT_NUMBER}:metric-filter/test-filter" + == f"arn:aws:logs:{AWS_REGION_US_EAST_1}:{AWS_ACCOUNT_NUMBER}:log-group:/log-group/test" ) assert result[0].region == AWS_REGION_US_EAST_1 @@ -382,7 +382,7 @@ class Test_cloudwatch_log_metric_filter_and_alarm_for_cloudtrail_configuration_c assert result[0].resource_id == "/log-group/test" assert ( result[0].resource_arn - == f"arn:aws:logs:{AWS_REGION_US_EAST_1}:{AWS_ACCOUNT_NUMBER}:metric-filter/test-filter" + == f"arn:aws:logs:{AWS_REGION_US_EAST_1}:{AWS_ACCOUNT_NUMBER}:log-group:/log-group/test" ) assert result[0].region == AWS_REGION_US_EAST_1 @@ -477,7 +477,7 @@ class Test_cloudwatch_log_metric_filter_and_alarm_for_cloudtrail_configuration_c assert result[0].resource_id == "/log-group/test" assert ( result[0].resource_arn - == f"arn:aws:logs:{AWS_REGION_US_EAST_1}:{AWS_ACCOUNT_NUMBER}:metric-filter/test-filter" + == f"arn:aws:logs:{AWS_REGION_US_EAST_1}:{AWS_ACCOUNT_NUMBER}:log-group:/log-group/test" ) assert result[0].region == AWS_REGION_US_EAST_1 @@ -572,6 +572,6 @@ class Test_cloudwatch_log_metric_filter_and_alarm_for_cloudtrail_configuration_c assert result[0].resource_id == "/log-group/test" assert ( result[0].resource_arn - == f"arn:aws:logs:{AWS_REGION_US_EAST_1}:{AWS_ACCOUNT_NUMBER}:metric-filter/test-filter" + == f"arn:aws:logs:{AWS_REGION_US_EAST_1}:{AWS_ACCOUNT_NUMBER}:log-group:/log-group/test" ) assert result[0].region == AWS_REGION_US_EAST_1 diff --git a/tests/providers/aws/services/cloudwatch/cloudwatch_log_metric_filter_authentication_failures/cloudwatch_log_metric_filter_authentication_failures_test.py b/tests/providers/aws/services/cloudwatch/cloudwatch_log_metric_filter_authentication_failures/cloudwatch_log_metric_filter_authentication_failures_test.py index 6c70042b79..63a762faf5 100644 --- a/tests/providers/aws/services/cloudwatch/cloudwatch_log_metric_filter_authentication_failures/cloudwatch_log_metric_filter_authentication_failures_test.py +++ b/tests/providers/aws/services/cloudwatch/cloudwatch_log_metric_filter_authentication_failures/cloudwatch_log_metric_filter_authentication_failures_test.py @@ -279,7 +279,7 @@ class Test_cloudwatch_log_metric_filter_authentication_failures: assert result[0].resource_id == "/log-group/test" assert ( result[0].resource_arn - == f"arn:aws:logs:{AWS_REGION_US_EAST_1}:{AWS_ACCOUNT_NUMBER}:metric-filter/test-filter" + == f"arn:aws:logs:{AWS_REGION_US_EAST_1}:{AWS_ACCOUNT_NUMBER}:log-group:/log-group/test" ) assert result[0].region == AWS_REGION_US_EAST_1 @@ -372,7 +372,7 @@ class Test_cloudwatch_log_metric_filter_authentication_failures: assert result[0].resource_id == "/log-group/test" assert ( result[0].resource_arn - == f"arn:aws:logs:{AWS_REGION_US_EAST_1}:{AWS_ACCOUNT_NUMBER}:metric-filter/test-filter" + == f"arn:aws:logs:{AWS_REGION_US_EAST_1}:{AWS_ACCOUNT_NUMBER}:log-group:/log-group/test" ) assert result[0].region == AWS_REGION_US_EAST_1 @@ -465,7 +465,7 @@ class Test_cloudwatch_log_metric_filter_authentication_failures: assert result[0].resource_id == "/log-group/test" assert ( result[0].resource_arn - == f"arn:aws:logs:{AWS_REGION_US_EAST_1}:{AWS_ACCOUNT_NUMBER}:metric-filter/test-filter" + == f"arn:aws:logs:{AWS_REGION_US_EAST_1}:{AWS_ACCOUNT_NUMBER}:log-group:/log-group/test" ) assert result[0].region == AWS_REGION_US_EAST_1 @@ -558,6 +558,6 @@ class Test_cloudwatch_log_metric_filter_authentication_failures: assert result[0].resource_id == "/log-group/test" assert ( result[0].resource_arn - == f"arn:aws:logs:{AWS_REGION_US_EAST_1}:{AWS_ACCOUNT_NUMBER}:metric-filter/test-filter" + == f"arn:aws:logs:{AWS_REGION_US_EAST_1}:{AWS_ACCOUNT_NUMBER}:log-group:/log-group/test" ) assert result[0].region == AWS_REGION_US_EAST_1 diff --git a/tests/providers/aws/services/cloudwatch/cloudwatch_log_metric_filter_aws_organizations_changes/cloudwatch_log_metric_filter_aws_organizations_changes_test.py b/tests/providers/aws/services/cloudwatch/cloudwatch_log_metric_filter_aws_organizations_changes/cloudwatch_log_metric_filter_aws_organizations_changes_test.py index b5bcb564e9..1cdd9867db 100644 --- a/tests/providers/aws/services/cloudwatch/cloudwatch_log_metric_filter_aws_organizations_changes/cloudwatch_log_metric_filter_aws_organizations_changes_test.py +++ b/tests/providers/aws/services/cloudwatch/cloudwatch_log_metric_filter_aws_organizations_changes/cloudwatch_log_metric_filter_aws_organizations_changes_test.py @@ -279,7 +279,7 @@ class Test_cloudwatch_log_metric_filter_aws_organizations_changes: assert result[0].resource_id == "/log-group/test" assert ( result[0].resource_arn - == f"arn:aws:logs:{AWS_REGION_US_EAST_1}:{AWS_ACCOUNT_NUMBER}:metric-filter/test-filter" + == f"arn:aws:logs:{AWS_REGION_US_EAST_1}:{AWS_ACCOUNT_NUMBER}:log-group:/log-group/test" ) assert result[0].region == AWS_REGION_US_EAST_1 @@ -372,7 +372,7 @@ class Test_cloudwatch_log_metric_filter_aws_organizations_changes: assert result[0].resource_id == "/log-group/test" assert ( result[0].resource_arn - == f"arn:aws:logs:{AWS_REGION_US_EAST_1}:{AWS_ACCOUNT_NUMBER}:metric-filter/test-filter" + == f"arn:aws:logs:{AWS_REGION_US_EAST_1}:{AWS_ACCOUNT_NUMBER}:log-group:/log-group/test" ) assert result[0].region == AWS_REGION_US_EAST_1 @@ -465,7 +465,7 @@ class Test_cloudwatch_log_metric_filter_aws_organizations_changes: assert result[0].resource_id == "/log-group/test" assert ( result[0].resource_arn - == f"arn:aws:logs:{AWS_REGION_US_EAST_1}:{AWS_ACCOUNT_NUMBER}:metric-filter/test-filter" + == f"arn:aws:logs:{AWS_REGION_US_EAST_1}:{AWS_ACCOUNT_NUMBER}:log-group:/log-group/test" ) assert result[0].region == AWS_REGION_US_EAST_1 @@ -558,6 +558,6 @@ class Test_cloudwatch_log_metric_filter_aws_organizations_changes: assert result[0].resource_id == "/log-group/test" assert ( result[0].resource_arn - == f"arn:aws:logs:{AWS_REGION_US_EAST_1}:{AWS_ACCOUNT_NUMBER}:metric-filter/test-filter" + == f"arn:aws:logs:{AWS_REGION_US_EAST_1}:{AWS_ACCOUNT_NUMBER}:log-group:/log-group/test" ) assert result[0].region == AWS_REGION_US_EAST_1 diff --git a/tests/providers/aws/services/cloudwatch/cloudwatch_log_metric_filter_disable_or_scheduled_deletion_of_kms_cmk/cloudwatch_log_metric_filter_disable_or_scheduled_deletion_of_kms_cmk_test.py b/tests/providers/aws/services/cloudwatch/cloudwatch_log_metric_filter_disable_or_scheduled_deletion_of_kms_cmk/cloudwatch_log_metric_filter_disable_or_scheduled_deletion_of_kms_cmk_test.py index 0f6bda8b83..ddcd8eb021 100644 --- a/tests/providers/aws/services/cloudwatch/cloudwatch_log_metric_filter_disable_or_scheduled_deletion_of_kms_cmk/cloudwatch_log_metric_filter_disable_or_scheduled_deletion_of_kms_cmk_test.py +++ b/tests/providers/aws/services/cloudwatch/cloudwatch_log_metric_filter_disable_or_scheduled_deletion_of_kms_cmk/cloudwatch_log_metric_filter_disable_or_scheduled_deletion_of_kms_cmk_test.py @@ -287,7 +287,7 @@ class Test_cloudwatch_log_metric_filter_disable_or_scheduled_deletion_of_kms_cmk assert result[0].resource_id == "/log-group/test" assert ( result[0].resource_arn - == f"arn:aws:logs:{AWS_REGION_US_EAST_1}:{AWS_ACCOUNT_NUMBER}:metric-filter/test-filter" + == f"arn:aws:logs:{AWS_REGION_US_EAST_1}:{AWS_ACCOUNT_NUMBER}:log-group:/log-group/test" ) assert result[0].region == AWS_REGION_US_EAST_1 @@ -382,7 +382,7 @@ class Test_cloudwatch_log_metric_filter_disable_or_scheduled_deletion_of_kms_cmk assert result[0].resource_id == "/log-group/test" assert ( result[0].resource_arn - == f"arn:aws:logs:{AWS_REGION_US_EAST_1}:{AWS_ACCOUNT_NUMBER}:metric-filter/test-filter" + == f"arn:aws:logs:{AWS_REGION_US_EAST_1}:{AWS_ACCOUNT_NUMBER}:log-group:/log-group/test" ) assert result[0].region == AWS_REGION_US_EAST_1 @@ -477,7 +477,7 @@ class Test_cloudwatch_log_metric_filter_disable_or_scheduled_deletion_of_kms_cmk assert result[0].resource_id == "/log-group/test" assert ( result[0].resource_arn - == f"arn:aws:logs:{AWS_REGION_US_EAST_1}:{AWS_ACCOUNT_NUMBER}:metric-filter/test-filter" + == f"arn:aws:logs:{AWS_REGION_US_EAST_1}:{AWS_ACCOUNT_NUMBER}:log-group:/log-group/test" ) assert result[0].region == AWS_REGION_US_EAST_1 @@ -572,6 +572,6 @@ class Test_cloudwatch_log_metric_filter_disable_or_scheduled_deletion_of_kms_cmk assert result[0].resource_id == "/log-group/test" assert ( result[0].resource_arn - == f"arn:aws:logs:{AWS_REGION_US_EAST_1}:{AWS_ACCOUNT_NUMBER}:metric-filter/test-filter" + == f"arn:aws:logs:{AWS_REGION_US_EAST_1}:{AWS_ACCOUNT_NUMBER}:log-group:/log-group/test" ) assert result[0].region == AWS_REGION_US_EAST_1 diff --git a/tests/providers/aws/services/cloudwatch/cloudwatch_log_metric_filter_for_s3_bucket_policy_changes/cloudwatch_log_metric_filter_for_s3_bucket_policy_changes_test.py b/tests/providers/aws/services/cloudwatch/cloudwatch_log_metric_filter_for_s3_bucket_policy_changes/cloudwatch_log_metric_filter_for_s3_bucket_policy_changes_test.py index 441fda56ae..b826f78764 100644 --- a/tests/providers/aws/services/cloudwatch/cloudwatch_log_metric_filter_for_s3_bucket_policy_changes/cloudwatch_log_metric_filter_for_s3_bucket_policy_changes_test.py +++ b/tests/providers/aws/services/cloudwatch/cloudwatch_log_metric_filter_for_s3_bucket_policy_changes/cloudwatch_log_metric_filter_for_s3_bucket_policy_changes_test.py @@ -279,7 +279,7 @@ class Test_cloudwatch_log_metric_filter_for_s3_bucket_policy_changes: assert result[0].resource_id == "/log-group/test" assert ( result[0].resource_arn - == f"arn:aws:logs:{AWS_REGION_US_EAST_1}:{AWS_ACCOUNT_NUMBER}:metric-filter/test-filter" + == f"arn:aws:logs:{AWS_REGION_US_EAST_1}:{AWS_ACCOUNT_NUMBER}:log-group:/log-group/test" ) assert result[0].region == AWS_REGION_US_EAST_1 @@ -372,7 +372,7 @@ class Test_cloudwatch_log_metric_filter_for_s3_bucket_policy_changes: assert result[0].resource_id == "/log-group/test" assert ( result[0].resource_arn - == f"arn:aws:logs:{AWS_REGION_US_EAST_1}:{AWS_ACCOUNT_NUMBER}:metric-filter/test-filter" + == f"arn:aws:logs:{AWS_REGION_US_EAST_1}:{AWS_ACCOUNT_NUMBER}:log-group:/log-group/test" ) assert result[0].region == AWS_REGION_US_EAST_1 @@ -465,7 +465,7 @@ class Test_cloudwatch_log_metric_filter_for_s3_bucket_policy_changes: assert result[0].resource_id == "/log-group/test" assert ( result[0].resource_arn - == f"arn:aws:logs:{AWS_REGION_US_EAST_1}:{AWS_ACCOUNT_NUMBER}:metric-filter/test-filter" + == f"arn:aws:logs:{AWS_REGION_US_EAST_1}:{AWS_ACCOUNT_NUMBER}:log-group:/log-group/test" ) assert result[0].region == AWS_REGION_US_EAST_1 @@ -558,6 +558,6 @@ class Test_cloudwatch_log_metric_filter_for_s3_bucket_policy_changes: assert result[0].resource_id == "/log-group/test" assert ( result[0].resource_arn - == f"arn:aws:logs:{AWS_REGION_US_EAST_1}:{AWS_ACCOUNT_NUMBER}:metric-filter/test-filter" + == f"arn:aws:logs:{AWS_REGION_US_EAST_1}:{AWS_ACCOUNT_NUMBER}:log-group:/log-group/test" ) assert result[0].region == AWS_REGION_US_EAST_1 diff --git a/tests/providers/aws/services/cloudwatch/cloudwatch_log_metric_filter_policy_changes/cloudwatch_log_metric_filter_policy_changes_test.py b/tests/providers/aws/services/cloudwatch/cloudwatch_log_metric_filter_policy_changes/cloudwatch_log_metric_filter_policy_changes_test.py index 7c74615989..b016c43e68 100644 --- a/tests/providers/aws/services/cloudwatch/cloudwatch_log_metric_filter_policy_changes/cloudwatch_log_metric_filter_policy_changes_test.py +++ b/tests/providers/aws/services/cloudwatch/cloudwatch_log_metric_filter_policy_changes/cloudwatch_log_metric_filter_policy_changes_test.py @@ -279,7 +279,7 @@ class Test_cloudwatch_log_metric_filter_unauthorized_api_calls: assert result[0].resource_id == "/log-group/test" assert ( result[0].resource_arn - == f"arn:aws:logs:{AWS_REGION_US_EAST_1}:{AWS_ACCOUNT_NUMBER}:metric-filter/test-filter" + == f"arn:aws:logs:{AWS_REGION_US_EAST_1}:{AWS_ACCOUNT_NUMBER}:log-group:/log-group/test" ) assert result[0].region == AWS_REGION_US_EAST_1 @@ -372,7 +372,7 @@ class Test_cloudwatch_log_metric_filter_unauthorized_api_calls: assert result[0].resource_id == "/log-group/test" assert ( result[0].resource_arn - == f"arn:aws:logs:{AWS_REGION_US_EAST_1}:{AWS_ACCOUNT_NUMBER}:metric-filter/test-filter" + == f"arn:aws:logs:{AWS_REGION_US_EAST_1}:{AWS_ACCOUNT_NUMBER}:log-group:/log-group/test" ) assert result[0].region == AWS_REGION_US_EAST_1 @@ -465,7 +465,7 @@ class Test_cloudwatch_log_metric_filter_unauthorized_api_calls: assert result[0].resource_id == "/log-group/test" assert ( result[0].resource_arn - == f"arn:aws:logs:{AWS_REGION_US_EAST_1}:{AWS_ACCOUNT_NUMBER}:metric-filter/test-filter" + == f"arn:aws:logs:{AWS_REGION_US_EAST_1}:{AWS_ACCOUNT_NUMBER}:log-group:/log-group/test" ) assert result[0].region == AWS_REGION_US_EAST_1 @@ -558,6 +558,6 @@ class Test_cloudwatch_log_metric_filter_unauthorized_api_calls: assert result[0].resource_id == "/log-group/test" assert ( result[0].resource_arn - == f"arn:aws:logs:{AWS_REGION_US_EAST_1}:{AWS_ACCOUNT_NUMBER}:metric-filter/test-filter" + == f"arn:aws:logs:{AWS_REGION_US_EAST_1}:{AWS_ACCOUNT_NUMBER}:log-group:/log-group/test" ) assert result[0].region == AWS_REGION_US_EAST_1 diff --git a/tests/providers/aws/services/cloudwatch/cloudwatch_log_metric_filter_root_usage/cloudwatch_log_metric_filter_root_usage_test.py b/tests/providers/aws/services/cloudwatch/cloudwatch_log_metric_filter_root_usage/cloudwatch_log_metric_filter_root_usage_test.py index 8df5057fae..0d2c48a2b2 100644 --- a/tests/providers/aws/services/cloudwatch/cloudwatch_log_metric_filter_root_usage/cloudwatch_log_metric_filter_root_usage_test.py +++ b/tests/providers/aws/services/cloudwatch/cloudwatch_log_metric_filter_root_usage/cloudwatch_log_metric_filter_root_usage_test.py @@ -279,7 +279,7 @@ class Test_cloudwatch_log_metric_filter_root_usage: assert result[0].resource_id == "/log-group/test" assert ( result[0].resource_arn - == f"arn:aws:logs:{AWS_REGION_US_EAST_1}:{AWS_ACCOUNT_NUMBER}:metric-filter/test-filter" + == f"arn:aws:logs:{AWS_REGION_US_EAST_1}:{AWS_ACCOUNT_NUMBER}:log-group:/log-group/test" ) assert result[0].region == AWS_REGION_US_EAST_1 @@ -372,7 +372,7 @@ class Test_cloudwatch_log_metric_filter_root_usage: assert result[0].resource_id == "/log-group/test" assert ( result[0].resource_arn - == f"arn:aws:logs:{AWS_REGION_US_EAST_1}:{AWS_ACCOUNT_NUMBER}:metric-filter/test-filter" + == f"arn:aws:logs:{AWS_REGION_US_EAST_1}:{AWS_ACCOUNT_NUMBER}:log-group:/log-group/test" ) assert result[0].region == AWS_REGION_US_EAST_1 @@ -465,7 +465,7 @@ class Test_cloudwatch_log_metric_filter_root_usage: assert result[0].resource_id == "/log-group/test" assert ( result[0].resource_arn - == f"arn:aws:logs:{AWS_REGION_US_EAST_1}:{AWS_ACCOUNT_NUMBER}:metric-filter/test-filter" + == f"arn:aws:logs:{AWS_REGION_US_EAST_1}:{AWS_ACCOUNT_NUMBER}:log-group:/log-group/test" ) assert result[0].region == AWS_REGION_US_EAST_1 @@ -558,6 +558,6 @@ class Test_cloudwatch_log_metric_filter_root_usage: assert result[0].resource_id == "/log-group/test" assert ( result[0].resource_arn - == f"arn:aws:logs:{AWS_REGION_US_EAST_1}:{AWS_ACCOUNT_NUMBER}:metric-filter/test-filter" + == f"arn:aws:logs:{AWS_REGION_US_EAST_1}:{AWS_ACCOUNT_NUMBER}:log-group:/log-group/test" ) assert result[0].region == AWS_REGION_US_EAST_1 diff --git a/tests/providers/aws/services/cloudwatch/cloudwatch_log_metric_filter_security_group_changes/cloudwatch_log_metric_filter_security_group_changes_test.py b/tests/providers/aws/services/cloudwatch/cloudwatch_log_metric_filter_security_group_changes/cloudwatch_log_metric_filter_security_group_changes_test.py index 9729c0d3ab..c85b5b6ad0 100644 --- a/tests/providers/aws/services/cloudwatch/cloudwatch_log_metric_filter_security_group_changes/cloudwatch_log_metric_filter_security_group_changes_test.py +++ b/tests/providers/aws/services/cloudwatch/cloudwatch_log_metric_filter_security_group_changes/cloudwatch_log_metric_filter_security_group_changes_test.py @@ -282,7 +282,7 @@ class Test_cloudwatch_log_metric_filter_unauthorized_api_calls: assert result[0].resource_id == "/log-group/test" assert ( result[0].resource_arn - == f"arn:aws:logs:{AWS_REGION_US_EAST_1}:{AWS_ACCOUNT_NUMBER}:metric-filter/test-filter" + == f"arn:aws:logs:{AWS_REGION_US_EAST_1}:{AWS_ACCOUNT_NUMBER}:log-group:/log-group/test" ) assert result[0].region == AWS_REGION_US_EAST_1 @@ -375,7 +375,7 @@ class Test_cloudwatch_log_metric_filter_unauthorized_api_calls: assert result[0].resource_id == "/log-group/test" assert ( result[0].resource_arn - == f"arn:aws:logs:{AWS_REGION_US_EAST_1}:{AWS_ACCOUNT_NUMBER}:metric-filter/test-filter" + == f"arn:aws:logs:{AWS_REGION_US_EAST_1}:{AWS_ACCOUNT_NUMBER}:log-group:/log-group/test" ) assert result[0].region == AWS_REGION_US_EAST_1 @@ -468,7 +468,7 @@ class Test_cloudwatch_log_metric_filter_unauthorized_api_calls: assert result[0].resource_id == "/log-group/test" assert ( result[0].resource_arn - == f"arn:aws:logs:{AWS_REGION_US_EAST_1}:{AWS_ACCOUNT_NUMBER}:metric-filter/test-filter" + == f"arn:aws:logs:{AWS_REGION_US_EAST_1}:{AWS_ACCOUNT_NUMBER}:log-group:/log-group/test" ) assert result[0].region == AWS_REGION_US_EAST_1 @@ -561,6 +561,6 @@ class Test_cloudwatch_log_metric_filter_unauthorized_api_calls: assert result[0].resource_id == "/log-group/test" assert ( result[0].resource_arn - == f"arn:aws:logs:{AWS_REGION_US_EAST_1}:{AWS_ACCOUNT_NUMBER}:metric-filter/test-filter" + == f"arn:aws:logs:{AWS_REGION_US_EAST_1}:{AWS_ACCOUNT_NUMBER}:log-group:/log-group/test" ) assert result[0].region == AWS_REGION_US_EAST_1 diff --git a/tests/providers/aws/services/cloudwatch/cloudwatch_log_metric_filter_sign_in_without_mfa/cloudwatch_log_metric_filter_sign_in_without_mfa_test.py b/tests/providers/aws/services/cloudwatch/cloudwatch_log_metric_filter_sign_in_without_mfa/cloudwatch_log_metric_filter_sign_in_without_mfa_test.py index 78e5b150bf..b31c224e0f 100644 --- a/tests/providers/aws/services/cloudwatch/cloudwatch_log_metric_filter_sign_in_without_mfa/cloudwatch_log_metric_filter_sign_in_without_mfa_test.py +++ b/tests/providers/aws/services/cloudwatch/cloudwatch_log_metric_filter_sign_in_without_mfa/cloudwatch_log_metric_filter_sign_in_without_mfa_test.py @@ -279,7 +279,7 @@ class Test_cloudwatch_log_metric_filter_sign_in_without_mfa: assert result[0].resource_id == "/log-group/test" assert ( result[0].resource_arn - == f"arn:aws:logs:{AWS_REGION_US_EAST_1}:{AWS_ACCOUNT_NUMBER}:metric-filter/test-filter" + == f"arn:aws:logs:{AWS_REGION_US_EAST_1}:{AWS_ACCOUNT_NUMBER}:log-group:/log-group/test" ) assert result[0].region == AWS_REGION_US_EAST_1 @@ -372,7 +372,7 @@ class Test_cloudwatch_log_metric_filter_sign_in_without_mfa: assert result[0].resource_id == "/log-group/test" assert ( result[0].resource_arn - == f"arn:aws:logs:{AWS_REGION_US_EAST_1}:{AWS_ACCOUNT_NUMBER}:metric-filter/test-filter" + == f"arn:aws:logs:{AWS_REGION_US_EAST_1}:{AWS_ACCOUNT_NUMBER}:log-group:/log-group/test" ) assert result[0].region == AWS_REGION_US_EAST_1 @@ -465,7 +465,7 @@ class Test_cloudwatch_log_metric_filter_sign_in_without_mfa: assert result[0].resource_id == "/log-group/test" assert ( result[0].resource_arn - == f"arn:aws:logs:{AWS_REGION_US_EAST_1}:{AWS_ACCOUNT_NUMBER}:metric-filter/test-filter" + == f"arn:aws:logs:{AWS_REGION_US_EAST_1}:{AWS_ACCOUNT_NUMBER}:log-group:/log-group/test" ) assert result[0].region == AWS_REGION_US_EAST_1 @@ -558,6 +558,6 @@ class Test_cloudwatch_log_metric_filter_sign_in_without_mfa: assert result[0].resource_id == "/log-group/test" assert ( result[0].resource_arn - == f"arn:aws:logs:{AWS_REGION_US_EAST_1}:{AWS_ACCOUNT_NUMBER}:metric-filter/test-filter" + == f"arn:aws:logs:{AWS_REGION_US_EAST_1}:{AWS_ACCOUNT_NUMBER}:log-group:/log-group/test" ) assert result[0].region == AWS_REGION_US_EAST_1 diff --git a/tests/providers/aws/services/cloudwatch/cloudwatch_log_metric_filter_unauthorized_api_calls/cloudwatch_log_metric_filter_unauthorized_api_calls_test.py b/tests/providers/aws/services/cloudwatch/cloudwatch_log_metric_filter_unauthorized_api_calls/cloudwatch_log_metric_filter_unauthorized_api_calls_test.py index 67fdc39fcb..d8ef907ec1 100644 --- a/tests/providers/aws/services/cloudwatch/cloudwatch_log_metric_filter_unauthorized_api_calls/cloudwatch_log_metric_filter_unauthorized_api_calls_test.py +++ b/tests/providers/aws/services/cloudwatch/cloudwatch_log_metric_filter_unauthorized_api_calls/cloudwatch_log_metric_filter_unauthorized_api_calls_test.py @@ -279,7 +279,7 @@ class Test_cloudwatch_log_metric_filter_unauthorized_api_calls: assert result[0].resource_id == "/log-group/test" assert ( result[0].resource_arn - == f"arn:aws:logs:{AWS_REGION_US_EAST_1}:{AWS_ACCOUNT_NUMBER}:metric-filter/test-filter" + == f"arn:aws:logs:{AWS_REGION_US_EAST_1}:{AWS_ACCOUNT_NUMBER}:log-group:/log-group/test" ) assert result[0].region == AWS_REGION_US_EAST_1 @@ -372,7 +372,7 @@ class Test_cloudwatch_log_metric_filter_unauthorized_api_calls: assert result[0].resource_id == "/log-group/test" assert ( result[0].resource_arn - == f"arn:aws:logs:{AWS_REGION_US_EAST_1}:{AWS_ACCOUNT_NUMBER}:metric-filter/test-filter" + == f"arn:aws:logs:{AWS_REGION_US_EAST_1}:{AWS_ACCOUNT_NUMBER}:log-group:/log-group/test" ) assert result[0].region == AWS_REGION_US_EAST_1 @@ -465,7 +465,7 @@ class Test_cloudwatch_log_metric_filter_unauthorized_api_calls: assert result[0].resource_id == "/log-group/test" assert ( result[0].resource_arn - == f"arn:aws:logs:{AWS_REGION_US_EAST_1}:{AWS_ACCOUNT_NUMBER}:metric-filter/test-filter" + == f"arn:aws:logs:{AWS_REGION_US_EAST_1}:{AWS_ACCOUNT_NUMBER}:log-group:/log-group/test" ) assert result[0].region == AWS_REGION_US_EAST_1 @@ -558,6 +558,6 @@ class Test_cloudwatch_log_metric_filter_unauthorized_api_calls: assert result[0].resource_id == "/log-group/test" assert ( result[0].resource_arn - == f"arn:aws:logs:{AWS_REGION_US_EAST_1}:{AWS_ACCOUNT_NUMBER}:metric-filter/test-filter" + == f"arn:aws:logs:{AWS_REGION_US_EAST_1}:{AWS_ACCOUNT_NUMBER}:log-group:/log-group/test" ) assert result[0].region == AWS_REGION_US_EAST_1 diff --git a/tests/providers/aws/services/cloudwatch/cloudwatch_service_test.py b/tests/providers/aws/services/cloudwatch/cloudwatch_service_test.py index d79d9fd997..e175dfd65e 100644 --- a/tests/providers/aws/services/cloudwatch/cloudwatch_service_test.py +++ b/tests/providers/aws/services/cloudwatch/cloudwatch_service_test.py @@ -156,7 +156,7 @@ class Test_CloudWatch_Service: ) logs = Logs(aws_provider) assert len(logs.metric_filters) == 1 - assert logs.metric_filters[0].log_group == "/log-group/test" + assert logs.metric_filters[0].log_group is None assert logs.metric_filters[0].name == "test-filter" assert logs.metric_filters[0].metric == "my-metric" assert logs.metric_filters[0].pattern == "test-pattern"