@@ -82,7 +82,7 @@ resource "aws_db_instance" "default" {
8282 performance_insights_kms_key_id = var. aws_rds_db_performance_insights_enable ? var. aws_rds_db_performance_insights_kms_key_id : null
8383 # Updgrades
8484 monitoring_interval = var. aws_rds_db_monitoring_interval
85- monitoring_role_arn = var. aws_rds_db_monitoring_interval > 0 ? var. aws_rds_db_monitoring_role_arn != " " ? var. aws_rds_db_monitoring_role_arn : data . aws_iam_role . monitoring [0 ]. arn : null
85+ monitoring_role_arn = var. aws_rds_db_monitoring_interval > 0 ? var. aws_rds_db_monitoring_role_arn != " " ? var. aws_rds_db_monitoring_role_arn : aws_iam_role. rds_enhanced_monitoring [0 ]. arn : null
8686 database_insights_mode = var. aws_rds_db_insights_mode
8787 allow_major_version_upgrade = var. aws_rds_db_allow_major_version_upgrade
8888 auto_minor_version_upgrade = var. aws_rds_db_auto_minor_version_upgrade
@@ -94,9 +94,26 @@ resource "aws_db_instance" "default" {
9494 }
9595}
9696
97- data "aws_iam_role" "monitoring " {
97+ resource "aws_iam_role" "rds_enhanced_monitoring " {
9898 count = var. aws_rds_db_monitoring_role_arn != " " ? 0 : 1
99- name = " rds-monitoring-role"
99+ name = " ${ var . aws_resource_identifier } -rds-enhanced-monitoring"
100+
101+ assume_role_policy = jsonencode ({
102+ Version = " 2012-10-17" ,
103+ Statement = [{
104+ Effect = " Allow" ,
105+ Principal = {
106+ Service = " monitoring.rds.amazonaws.com"
107+ },
108+ Action = " sts:AssumeRole"
109+ }]
110+ })
111+ }
112+
113+ resource "aws_iam_role_policy_attachment" "rds_enhanced_monitoring_attach" {
114+ count = var. aws_rds_db_monitoring_role_arn != " " ? 0 : 1
115+ role = aws_iam_role. rds_enhanced_monitoring [0 ]. name
116+ policy_arn = " arn:aws:iam::aws:policy/service-role/AmazonRDSEnhancedMonitoringRole"
100117}
101118
102119// Creates a secret manager secret for the databse credentials
0 commit comments