1+ // Introduce a short sleep BEFORE creating query definitions to allow
2+ // recently-created log groups (from other modules in the same apply)
3+ // to propagate. Note: This does NOT guarantee post-create consistency
4+ // of the query definitions themselves, but can reduce immediate read
5+ // failures when the provider plans many resources concurrently.
6+ resource "time_sleep" "wait_for_propagation" {
7+ create_duration = " 5s"
8+ }
9+
110resource "aws_cloudwatch_query_definition" "search_for_errors" {
11+ depends_on = [time_sleep . wait_for_propagation ]
212 name = " ${ var . project_id } /${ var . blue_green_environment } /search-for-errors"
313
414 log_group_names = [
@@ -16,9 +26,14 @@ fields @timestamp, correlation_id, ods_code, function_name, message
1626| filter level == 'ERROR'
1727| sort @timestamp
1828EOF
29+
30+ lifecycle {
31+ create_before_destroy = false
32+ }
1933}
2034
2135resource "aws_cloudwatch_query_definition" "search_by_correlation_id" {
36+ depends_on = [time_sleep . wait_for_propagation ]
2237 name = " ${ var . project_id } /${ var . blue_green_environment } /search-by-correlation-id"
2338
2439 log_group_names = [
@@ -36,9 +51,14 @@ fields @timestamp, message
3651| filter correlation_id == 'REPLACE'
3752| sort @timestamp
3853EOF
54+
55+ lifecycle {
56+ create_before_destroy = false
57+ }
3958}
4059
4160resource "aws_cloudwatch_query_definition" "search_by_correlation_id_expanded" {
61+ depends_on = [time_sleep . wait_for_propagation ]
4262 name = " ${ var . project_id } /${ var . blue_green_environment } /search-by-correlation-id-expanded"
4363
4464 log_group_names = [
@@ -56,9 +76,14 @@ fields @timestamp,correlation_id,ods_code,level,message_received,function_name,
5676| filter correlation_id == 'REPLACE'
5777| sort @timestamp
5878EOF
79+
80+ lifecycle {
81+ create_before_destroy = false
82+ }
5983}
6084
6185resource "aws_cloudwatch_query_definition" "search_by_odscode" {
86+ depends_on = [time_sleep . wait_for_propagation ]
6287 name = " ${ var . project_id } /${ var . blue_green_environment } /search-by-odscode"
6388
6489 log_group_names = [
@@ -76,9 +101,14 @@ fields @timestamp, message
76101| filter ods_code == 'REPLACE'
77102| sort @timestamp
78103EOF
104+
105+ lifecycle {
106+ create_before_destroy = false
107+ }
79108}
80109
81110resource "aws_cloudwatch_query_definition" "search_by_odscode_expanded" {
111+ depends_on = [time_sleep . wait_for_propagation ]
82112 name = " ${ var . project_id } /${ var . blue_green_environment } /search-by-odscode-expanded"
83113
84114 log_group_names = [
@@ -96,9 +126,14 @@ fields @timestamp,correlation_id,ods_code,level,message_received,function_name,
96126| filter ods_code == 'REPLACE'
97127| sort @timestamp
98128EOF
129+
130+ lifecycle {
131+ create_before_destroy = false
132+ }
99133}
100134
101135resource "aws_cloudwatch_query_definition" "search_for_invalid_postcode" {
136+ depends_on = [time_sleep . wait_for_propagation ]
102137 name = " ${ var . project_id } /${ var . blue_green_environment } /search-for-invalid-postcode"
103138
104139 log_group_names = [
@@ -110,9 +145,14 @@ fields @timestamp,correlation_id,ods_code,level,message_received,function_name,
110145| filter report_key == 'INVALID_POSTCODE'
111146| sort @timestamp
112147EOF
148+
149+ lifecycle {
150+ create_before_destroy = false
151+ }
113152}
114153
115154resource "aws_cloudwatch_query_definition" "search_for_invalid_opening_times" {
155+ depends_on = [time_sleep . wait_for_propagation ]
116156 name = " ${ var . project_id } /${ var . blue_green_environment } /search-for-invalid-opening-times"
117157
118158 log_group_names = [
@@ -124,9 +164,14 @@ fields @timestamp,correlation_id,ods_code,level,message_received,function_name,
124164| filter report_key == 'INVALID_OPEN_TIMES'
125165| sort @timestamp
126166EOF
167+
168+ lifecycle {
169+ create_before_destroy = false
170+ }
127171}
128172
129173resource "aws_cloudwatch_query_definition" "search_by_email_correlation_id" {
174+ depends_on = [time_sleep . wait_for_propagation ]
130175 name = " ${ var . project_id } /${ var . blue_green_environment } /search-by-email-correlation-id"
131176
132177 log_group_names = [
@@ -139,9 +184,14 @@ fields correlation_id
139184| filter message =="Email Correlation Id"
140185| filter email_correlation_id == "ADD_EMAIL_CORRELATION_ID"
141186EOF
187+
188+ lifecycle {
189+ create_before_destroy = false
190+ }
142191}
143192
144193resource "aws_cloudwatch_query_definition" "search_by_update_request_success" {
194+ depends_on = [time_sleep . wait_for_propagation ]
145195 name = " ${ var . project_id } /${ var . blue_green_environment } /update-request-success"
146196
147197 log_group_names = [
@@ -153,9 +203,14 @@ fields @timestamp, correlation_id
153203| filter ServiceUpdateSuccess == 1
154204| sort @timestamp desc
155205EOF
206+
207+ lifecycle {
208+ create_before_destroy = false
209+ }
156210}
157211
158212resource "aws_cloudwatch_query_definition" "search_by_update_request_failed" {
213+ depends_on = [time_sleep . wait_for_propagation ]
159214 name = " ${ var . project_id } /${ var . blue_green_environment } /update-request-failed"
160215
161216 log_group_names = [
@@ -167,9 +222,14 @@ fields @timestamp, correlation_id, report_key
167222| filter report_key == DOS_DB_UPDATE_DLQ_HANDLER_RECEIVED_EVENT
168223| sort @timestamp desc
169224EOF
225+
226+ lifecycle {
227+ create_before_destroy = false
228+ }
170229}
171230
172231resource "aws_cloudwatch_query_definition" "search_by_dos_data_item_updates" {
232+ depends_on = [time_sleep . wait_for_propagation ]
173233 name = " ${ var . project_id } /${ var . blue_green_environment } /dos-data-item-updates"
174234
175235 log_group_names = [
@@ -183,9 +243,14 @@ fields @timestamp, correlation_id
183243| filter field == 'REPLACE'
184244| sort @timestamp desc
185245EOF
246+
247+ lifecycle {
248+ create_before_destroy = false
249+ }
186250}
187251
188252resource "aws_cloudwatch_query_definition" "search_for_report_warnings" {
253+ depends_on = [time_sleep . wait_for_propagation ]
189254 name = " ${ var . project_id } /${ var . blue_green_environment } /search-for-report-warnings"
190255
191256 log_group_names = [
@@ -204,10 +269,15 @@ fields @timestamp, correlation_id, message
204269| filter level == 'WARNING'
205270| sort @timestamp desc
206271EOF
272+
273+ lifecycle {
274+ create_before_destroy = false
275+ }
207276}
208277
209278
210279resource "aws_cloudwatch_query_definition" "search_for_quality_checker_logs_with_odscode" {
280+ depends_on = [time_sleep . wait_for_propagation ]
211281 name = " ${ var . project_id } /${ var . blue_green_environment } /search-for-quality-checker-logs-with-odscode"
212282
213283 log_group_names = [
@@ -219,4 +289,8 @@ fields @timestamp, level, message
219289| filter odscode = 'TO_ADD'
220290| sort @timestamp asc
221291EOF
292+
293+ lifecycle {
294+ create_before_destroy = false
295+ }
222296}
0 commit comments