@@ -2087,32 +2087,33 @@ func resourceDataprocClusterRead(d *schema.ResourceData, meta interface{}) error
20872087 }
20882088
20892089 var cfg []map [string ]interface {}
2090+ cfg , err = flattenClusterConfig (d , cluster .Config )
20902091
2091- if cluster .Config != nil {
2092- cfg , err = flattenClusterConfig (d , cluster .Config )
2093-
2094- if err != nil {
2095- return err
2096- }
2097-
2098- err = d .Set ("cluster_config" , cfg )
2099- } else {
2100- cfg , err = flattenVirtualClusterConfig (d , cluster .VirtualClusterConfig )
2092+ if err != nil {
2093+ return err
2094+ }
21012095
2102- if err != nil {
2103- return err
2104- }
2096+ err = d .Set ("cluster_config" , cfg )
2097+ virtualCfg , err := flattenVirtualClusterConfig (d , cluster .VirtualClusterConfig )
21052098
2106- err = d .Set ("virtual_cluster_config" , cfg )
2099+ if err != nil {
2100+ return err
21072101 }
21082102
2103+ err = d .Set ("virtual_cluster_config" , virtualCfg )
2104+
21092105 if err != nil {
21102106 return err
21112107 }
2108+
21122109 return nil
21132110}
21142111
21152112func flattenVirtualClusterConfig (d * schema.ResourceData , cfg * dataproc.VirtualClusterConfig ) ([]map [string ]interface {}, error ) {
2113+ if cfg == nil {
2114+ return []map [string ]interface {}{}, nil
2115+ }
2116+
21162117 data := map [string ]interface {}{
21172118 "staging_bucket" : d .Get ("virtual_cluster_config.0.staging_bucket" ),
21182119 "auxiliary_services_config" : flattenAuxiliaryServicesConfig (d , cfg .AuxiliaryServicesConfig ),
@@ -2229,6 +2230,9 @@ func flattenKubernetesSoftwareConfig(d *schema.ResourceData, cfg *dataproc.Kuber
22292230}
22302231
22312232func flattenClusterConfig (d * schema.ResourceData , cfg * dataproc.ClusterConfig ) ([]map [string ]interface {}, error ) {
2233+ if cfg == nil {
2234+ return []map [string ]interface {}{}, nil
2235+ }
22322236
22332237 data := map [string ]interface {}{
22342238 "staging_bucket" : d .Get ("cluster_config.0.staging_bucket" ).(string ),
@@ -2421,6 +2425,9 @@ func flattenInitializationActions(nia []*dataproc.NodeInitializationAction) ([]m
24212425}
24222426
24232427func flattenGceClusterConfig (d * schema.ResourceData , gcc * dataproc.GceClusterConfig ) []map [string ]interface {} {
2428+ if gcc == nil {
2429+ return []map [string ]interface {}{}
2430+ }
24242431
24252432 gceConfig := map [string ]interface {}{
24262433 "tags" : schema .NewSet (schema .HashString , tpgresource .ConvertStringArrToInterface (gcc .Tags )),
0 commit comments