@@ -1062,15 +1062,19 @@ def deploy_cloudwatch_dashboard(event):
10621062 if DRY_RUN is False :
10631063 LOGGER .info ("CloudWatch observability dashboard not found, creating..." )
10641064 cloudwatch .create_dashboard (cloudwatch .SOLUTION_NAME , cloudwatch_dashboard )
1065+ search_dashboard = cloudwatch .find_dashboard (SOLUTION_NAME )
10651066 LIVE_RUN_DATA ["CloudWatchDashboardCreate" ] = "Created CloudWatch observability dashboard"
10661067 CFN_RESPONSE_DATA ["deployment_info" ]["action_count" ] += 1
10671068 CFN_RESPONSE_DATA ["deployment_info" ]["resources_deployed" ] += 1
10681069 LOGGER .info ("Created CloudWatch observability dashboard" )
1070+ # add dashboard state table record
1071+ add_state_table_record ("cloudwatch" , "implemented" , "cloudwatch dashboard" , "dashboard" , search_dashboard [1 ], ssm_params .SRA_SECURITY_ACCT , sts .HOME_REGION , SOLUTION_NAME )
10691072 else :
10701073 LOGGER .info ("DRY_RUN: CloudWatch observability dashboard not found, creating..." )
10711074 DRY_RUN_DATA ["CloudWatchDashboardCreate" ] = "DRY_RUN: Create CloudWatch observability dashboard"
10721075 else :
10731076 LOGGER .info (f"Cloudwatch dashboard already exists: { search_dashboard [1 ]} " )
1077+ add_state_table_record ("cloudwatch" , "implemented" , "cloudwatch dashboard" , "dashboard" , search_dashboard [1 ], ssm_params .SRA_SECURITY_ACCT , sts .HOME_REGION , SOLUTION_NAME )
10741078 # check_dashboard = cloudwatch.compare_dashboard(search_dashboard[1], cloudwatch_dashboard)
10751079 # if check_dashboard is False:
10761080 # if DRY_RUN is False:
@@ -1102,11 +1106,13 @@ def remove_cloudwatch_dashboard():
11021106 CFN_RESPONSE_DATA ["deployment_info" ]["action_count" ] += 1
11031107 CFN_RESPONSE_DATA ["deployment_info" ]["resources_deployed" ] -= 1
11041108 LOGGER .info ("Deleted CloudWatch observability dashboard" )
1109+ remove_state_table_record (search_dashboard [1 ])
11051110 else :
11061111 LOGGER .info ("DRY_RUN: CloudWatch observability dashboard found, needs to be deleted..." )
11071112 DRY_RUN_DATA ["CloudWatchDashboardDelete" ] = "DRY_RUN: Delete CloudWatch observability dashboard"
11081113 else :
11091114 LOGGER .info (f"Cloudwatch dashboard not found..." )
1115+ remove_state_table_record (f"arn:aws:cloudwatch::{ ssm_params .SRA_SECURITY_ACCT } :dashboard/{ SOLUTION_NAME } " )
11101116
11111117
11121118def create_event (event , context ):
0 commit comments