diff --git a/google/resource_cloud_scheduler_job.go b/google/resource_cloud_scheduler_job.go index 3f2ec1bccd1..85051a2c664 100644 --- a/google/resource_cloud_scheduler_job.go +++ b/google/resource_cloud_scheduler_job.go @@ -634,33 +634,17 @@ func flattenCloudSchedulerJobAppEngineHttpTargetHttpMethod(v interface{}, d *sch return v } +// An `appEngineRouting` filed of CloudScheduler API only contains output-only `host` field, +// so we set config values rather than api response to state. +// https://cloud.google.com/scheduler/docs/reference/rest/v1/projects.locations.jobs#AppEngineRouting func flattenCloudSchedulerJobAppEngineHttpTargetAppEngineRouting(v interface{}, d *schema.ResourceData) interface{} { if v == nil { return nil } - original := v.(map[string]interface{}) - if len(original) == 0 { - return nil + if targets := d.Get("app_engine_http_target").([]interface{}); len(targets) > 0 { + return targets[0].(map[string]interface{})["app_engine_routing"] } - transformed := make(map[string]interface{}) - transformed["service"] = - flattenCloudSchedulerJobAppEngineHttpTargetAppEngineRoutingService(original["service"], d) - transformed["version"] = - flattenCloudSchedulerJobAppEngineHttpTargetAppEngineRoutingVersion(original["version"], d) - transformed["instance"] = - flattenCloudSchedulerJobAppEngineHttpTargetAppEngineRoutingInstance(original["instance"], d) - return []interface{}{transformed} -} -func flattenCloudSchedulerJobAppEngineHttpTargetAppEngineRoutingService(v interface{}, d *schema.ResourceData) interface{} { - return v -} - -func flattenCloudSchedulerJobAppEngineHttpTargetAppEngineRoutingVersion(v interface{}, d *schema.ResourceData) interface{} { - return v -} - -func flattenCloudSchedulerJobAppEngineHttpTargetAppEngineRoutingInstance(v interface{}, d *schema.ResourceData) interface{} { - return v + return nil } func flattenCloudSchedulerJobAppEngineHttpTargetRelativeUri(v interface{}, d *schema.ResourceData) interface{} {