Skip to content

Commit 5dd1caf

Browse files
monitoring: add logCheckFailures to uptime checks (#13661) (#9794)
[upstream:74682a7b4b119b821340f9e2cfbfbd76a0d68ab7] Signed-off-by: Modular Magician <[email protected]>
1 parent 0e06ef7 commit 5dd1caf

5 files changed

+46
-4
lines changed

.changelog/13661.txt

+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
```release-note:enhancement
2+
monitoring: added `log_check_failures` to google_monitoring_uptime_check_config`
3+
```

google-beta/services/monitoring/resource_monitoring_uptime_check_config.go

+32
Original file line numberDiff line numberDiff line change
@@ -295,6 +295,11 @@ func ResourceMonitoringUptimeCheckConfig() *schema.Resource {
295295
},
296296
},
297297
},
298+
"log_check_failures": {
299+
Type: schema.TypeBool,
300+
Optional: true,
301+
Description: `Specifies whether to log the results of failed probes to Cloud Logging.`,
302+
},
298303
"monitored_resource": {
299304
Type: schema.TypeList,
300305
Optional: true,
@@ -498,6 +503,12 @@ func resourceMonitoringUptimeCheckConfigCreate(d *schema.ResourceData, meta inte
498503
} else if v, ok := d.GetOkExists("selected_regions"); !tpgresource.IsEmptyValue(reflect.ValueOf(selectedRegionsProp)) && (ok || !reflect.DeepEqual(v, selectedRegionsProp)) {
499504
obj["selectedRegions"] = selectedRegionsProp
500505
}
506+
logCheckFailuresProp, err := expandMonitoringUptimeCheckConfigLogCheckFailures(d.Get("log_check_failures"), d, config)
507+
if err != nil {
508+
return err
509+
} else if v, ok := d.GetOkExists("log_check_failures"); !tpgresource.IsEmptyValue(reflect.ValueOf(logCheckFailuresProp)) && (ok || !reflect.DeepEqual(v, logCheckFailuresProp)) {
510+
obj["logCheckFailures"] = logCheckFailuresProp
511+
}
501512
checkerTypeProp, err := expandMonitoringUptimeCheckConfigCheckerType(d.Get("checker_type"), d, config)
502513
if err != nil {
503514
return err
@@ -669,6 +680,9 @@ func resourceMonitoringUptimeCheckConfigRead(d *schema.ResourceData, meta interf
669680
if err := d.Set("selected_regions", flattenMonitoringUptimeCheckConfigSelectedRegions(res["selectedRegions"], d, config)); err != nil {
670681
return fmt.Errorf("Error reading UptimeCheckConfig: %s", err)
671682
}
683+
if err := d.Set("log_check_failures", flattenMonitoringUptimeCheckConfigLogCheckFailures(res["logCheckFailures"], d, config)); err != nil {
684+
return fmt.Errorf("Error reading UptimeCheckConfig: %s", err)
685+
}
672686
if err := d.Set("checker_type", flattenMonitoringUptimeCheckConfigCheckerType(res["checkerType"], d, config)); err != nil {
673687
return fmt.Errorf("Error reading UptimeCheckConfig: %s", err)
674688
}
@@ -740,6 +754,12 @@ func resourceMonitoringUptimeCheckConfigUpdate(d *schema.ResourceData, meta inte
740754
} else if v, ok := d.GetOkExists("selected_regions"); !tpgresource.IsEmptyValue(reflect.ValueOf(v)) && (ok || !reflect.DeepEqual(v, selectedRegionsProp)) {
741755
obj["selectedRegions"] = selectedRegionsProp
742756
}
757+
logCheckFailuresProp, err := expandMonitoringUptimeCheckConfigLogCheckFailures(d.Get("log_check_failures"), d, config)
758+
if err != nil {
759+
return err
760+
} else if v, ok := d.GetOkExists("log_check_failures"); !tpgresource.IsEmptyValue(reflect.ValueOf(v)) && (ok || !reflect.DeepEqual(v, logCheckFailuresProp)) {
761+
obj["logCheckFailures"] = logCheckFailuresProp
762+
}
743763
userLabelsProp, err := expandMonitoringUptimeCheckConfigUserLabels(d.Get("user_labels"), d, config)
744764
if err != nil {
745765
return err
@@ -800,6 +820,10 @@ func resourceMonitoringUptimeCheckConfigUpdate(d *schema.ResourceData, meta inte
800820
updateMask = append(updateMask, "selectedRegions")
801821
}
802822

823+
if d.HasChange("log_check_failures") {
824+
updateMask = append(updateMask, "logCheckFailures")
825+
}
826+
803827
if d.HasChange("user_labels") {
804828
updateMask = append(updateMask, "userLabels")
805829
}
@@ -994,6 +1018,10 @@ func flattenMonitoringUptimeCheckConfigSelectedRegions(v interface{}, d *schema.
9941018
return v
9951019
}
9961020

1021+
func flattenMonitoringUptimeCheckConfigLogCheckFailures(v interface{}, d *schema.ResourceData, config *transport_tpg.Config) interface{} {
1022+
return v
1023+
}
1024+
9971025
func flattenMonitoringUptimeCheckConfigCheckerType(v interface{}, d *schema.ResourceData, config *transport_tpg.Config) interface{} {
9981026
return v
9991027
}
@@ -1443,6 +1471,10 @@ func expandMonitoringUptimeCheckConfigSelectedRegions(v interface{}, d tpgresour
14431471
return v, nil
14441472
}
14451473

1474+
func expandMonitoringUptimeCheckConfigLogCheckFailures(v interface{}, d tpgresource.TerraformResourceData, config *transport_tpg.Config) (interface{}, error) {
1475+
return v, nil
1476+
}
1477+
14461478
func expandMonitoringUptimeCheckConfigCheckerType(v interface{}, d tpgresource.TerraformResourceData, config *transport_tpg.Config) (interface{}, error) {
14471479
return v, nil
14481480
}

google-beta/services/monitoring/resource_monitoring_uptime_check_config_generated_meta.yaml

+1
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ fields:
2929
- field: 'http_check.service_agent_authentication.type'
3030
- field: 'http_check.use_ssl'
3131
- field: 'http_check.validate_ssl'
32+
- field: 'log_check_failures'
3233
- field: 'monitored_resource.labels'
3334
- field: 'monitored_resource.type'
3435
- field: 'name'

google-beta/services/monitoring/resource_monitoring_uptime_check_config_generated_test.go

+3-2
Original file line numberDiff line numberDiff line change
@@ -60,8 +60,9 @@ func TestAccMonitoringUptimeCheckConfig_uptimeCheckConfigHttpExample(t *testing.
6060
func testAccMonitoringUptimeCheckConfig_uptimeCheckConfigHttpExample(context map[string]interface{}) string {
6161
return acctest.Nprintf(`
6262
resource "google_monitoring_uptime_check_config" "http" {
63-
display_name = "tf-test-http-uptime-check%{random_suffix}"
64-
timeout = "60s"
63+
display_name = "tf-test-http-uptime-check%{random_suffix}"
64+
timeout = "60s"
65+
log_check_failures = true
6566
user_labels = {
6667
example-key = "example-value"
6768
}

website/docs/r/monitoring_uptime_check_config.html.markdown

+7-2
Original file line numberDiff line numberDiff line change
@@ -42,8 +42,9 @@ values will be stored in the raw state as plain text: `http_check.auth_info.pass
4242

4343
```hcl
4444
resource "google_monitoring_uptime_check_config" "http" {
45-
display_name = "http-uptime-check"
46-
timeout = "60s"
45+
display_name = "http-uptime-check"
46+
timeout = "60s"
47+
log_check_failures = true
4748
user_labels = {
4849
example-key = "example-value"
4950
}
@@ -321,6 +322,10 @@ The following arguments are supported:
321322
(Optional)
322323
The list of regions from which the check will be run. Some regions contain one location, and others contain more than one. If this field is specified, enough regions to include a minimum of 3 locations must be provided, or an error message is returned. Not specifying this field will result in uptime checks running from all regions.
323324

325+
* `log_check_failures` -
326+
(Optional)
327+
Specifies whether to log the results of failed probes to Cloud Logging.
328+
324329
* `checker_type` -
325330
(Optional)
326331
The checker type to use for the check. If the monitored resource type is `servicedirectory_service`, `checker_type` must be set to `VPC_CHECKERS`.

0 commit comments

Comments
 (0)