@@ -177,6 +177,30 @@ expiration time indicated by this property.`,
177
177
Optional : true ,
178
178
Description : `A user-friendly description of the dataset` ,
179
179
},
180
+ "external_dataset_reference" : {
181
+ Type : schema .TypeList ,
182
+ Optional : true ,
183
+ ForceNew : true ,
184
+ Description : `Information about the external metadata storage where the dataset is defined.` ,
185
+ MaxItems : 1 ,
186
+ Elem : & schema.Resource {
187
+ Schema : map [string ]* schema.Schema {
188
+ "connection" : {
189
+ Type : schema .TypeString ,
190
+ Required : true ,
191
+ ForceNew : true ,
192
+ Description : `The connection id that is used to access the externalSource.
193
+ Format: projects/{projectId}/locations/{locationId}/connections/{connectionId}` ,
194
+ },
195
+ "external_source" : {
196
+ Type : schema .TypeString ,
197
+ Required : true ,
198
+ ForceNew : true ,
199
+ Description : `External source that backs this dataset.` ,
200
+ },
201
+ },
202
+ },
203
+ },
180
204
"friendly_name" : {
181
205
Type : schema .TypeString ,
182
206
Optional : true ,
@@ -490,6 +514,12 @@ func resourceBigQueryDatasetCreate(d *schema.ResourceData, meta interface{}) err
490
514
} else if v , ok := d .GetOkExists ("description" ); ! tpgresource .IsEmptyValue (reflect .ValueOf (descriptionProp )) && (ok || ! reflect .DeepEqual (v , descriptionProp )) {
491
515
obj ["description" ] = descriptionProp
492
516
}
517
+ externalDatasetReferenceProp , err := expandBigQueryDatasetExternalDatasetReference (d .Get ("external_dataset_reference" ), d , config )
518
+ if err != nil {
519
+ return err
520
+ } else if v , ok := d .GetOkExists ("external_dataset_reference" ); ! tpgresource .IsEmptyValue (reflect .ValueOf (externalDatasetReferenceProp )) && (ok || ! reflect .DeepEqual (v , externalDatasetReferenceProp )) {
521
+ obj ["externalDatasetReference" ] = externalDatasetReferenceProp
522
+ }
493
523
friendlyNameProp , err := expandBigQueryDatasetFriendlyName (d .Get ("friendly_name" ), d , config )
494
524
if err != nil {
495
525
return err
@@ -663,6 +693,9 @@ func resourceBigQueryDatasetRead(d *schema.ResourceData, meta interface{}) error
663
693
if err := d .Set ("etag" , flattenBigQueryDatasetEtag (res ["etag" ], d , config )); err != nil {
664
694
return fmt .Errorf ("Error reading Dataset: %s" , err )
665
695
}
696
+ if err := d .Set ("external_dataset_reference" , flattenBigQueryDatasetExternalDatasetReference (res ["externalDatasetReference" ], d , config )); err != nil {
697
+ return fmt .Errorf ("Error reading Dataset: %s" , err )
698
+ }
666
699
if err := d .Set ("friendly_name" , flattenBigQueryDatasetFriendlyName (res ["friendlyName" ], d , config )); err != nil {
667
700
return fmt .Errorf ("Error reading Dataset: %s" , err )
668
701
}
@@ -752,6 +785,12 @@ func resourceBigQueryDatasetUpdate(d *schema.ResourceData, meta interface{}) err
752
785
} else if v , ok := d .GetOkExists ("description" ); ! tpgresource .IsEmptyValue (reflect .ValueOf (v )) && (ok || ! reflect .DeepEqual (v , descriptionProp )) {
753
786
obj ["description" ] = descriptionProp
754
787
}
788
+ externalDatasetReferenceProp , err := expandBigQueryDatasetExternalDatasetReference (d .Get ("external_dataset_reference" ), d , config )
789
+ if err != nil {
790
+ return err
791
+ } else if v , ok := d .GetOkExists ("external_dataset_reference" ); ! tpgresource .IsEmptyValue (reflect .ValueOf (v )) && (ok || ! reflect .DeepEqual (v , externalDatasetReferenceProp )) {
792
+ obj ["externalDatasetReference" ] = externalDatasetReferenceProp
793
+ }
755
794
friendlyNameProp , err := expandBigQueryDatasetFriendlyName (d .Get ("friendly_name" ), d , config )
756
795
if err != nil {
757
796
return err
@@ -1131,6 +1170,29 @@ func flattenBigQueryDatasetEtag(v interface{}, d *schema.ResourceData, config *t
1131
1170
return v
1132
1171
}
1133
1172
1173
+ func flattenBigQueryDatasetExternalDatasetReference (v interface {}, d * schema.ResourceData , config * transport_tpg.Config ) interface {} {
1174
+ if v == nil {
1175
+ return nil
1176
+ }
1177
+ original := v .(map [string ]interface {})
1178
+ if len (original ) == 0 {
1179
+ return nil
1180
+ }
1181
+ transformed := make (map [string ]interface {})
1182
+ transformed ["external_source" ] =
1183
+ flattenBigQueryDatasetExternalDatasetReferenceExternalSource (original ["externalSource" ], d , config )
1184
+ transformed ["connection" ] =
1185
+ flattenBigQueryDatasetExternalDatasetReferenceConnection (original ["connection" ], d , config )
1186
+ return []interface {}{transformed }
1187
+ }
1188
+ func flattenBigQueryDatasetExternalDatasetReferenceExternalSource (v interface {}, d * schema.ResourceData , config * transport_tpg.Config ) interface {} {
1189
+ return v
1190
+ }
1191
+
1192
+ func flattenBigQueryDatasetExternalDatasetReferenceConnection (v interface {}, d * schema.ResourceData , config * transport_tpg.Config ) interface {} {
1193
+ return v
1194
+ }
1195
+
1134
1196
func flattenBigQueryDatasetFriendlyName (v interface {}, d * schema.ResourceData , config * transport_tpg.Config ) interface {} {
1135
1197
return v
1136
1198
}
@@ -1514,6 +1576,40 @@ func expandBigQueryDatasetDescription(v interface{}, d tpgresource.TerraformReso
1514
1576
return v , nil
1515
1577
}
1516
1578
1579
+ func expandBigQueryDatasetExternalDatasetReference (v interface {}, d tpgresource.TerraformResourceData , config * transport_tpg.Config ) (interface {}, error ) {
1580
+ l := v .([]interface {})
1581
+ if len (l ) == 0 || l [0 ] == nil {
1582
+ return nil , nil
1583
+ }
1584
+ raw := l [0 ]
1585
+ original := raw .(map [string ]interface {})
1586
+ transformed := make (map [string ]interface {})
1587
+
1588
+ transformedExternalSource , err := expandBigQueryDatasetExternalDatasetReferenceExternalSource (original ["external_source" ], d , config )
1589
+ if err != nil {
1590
+ return nil , err
1591
+ } else if val := reflect .ValueOf (transformedExternalSource ); val .IsValid () && ! tpgresource .IsEmptyValue (val ) {
1592
+ transformed ["externalSource" ] = transformedExternalSource
1593
+ }
1594
+
1595
+ transformedConnection , err := expandBigQueryDatasetExternalDatasetReferenceConnection (original ["connection" ], d , config )
1596
+ if err != nil {
1597
+ return nil , err
1598
+ } else if val := reflect .ValueOf (transformedConnection ); val .IsValid () && ! tpgresource .IsEmptyValue (val ) {
1599
+ transformed ["connection" ] = transformedConnection
1600
+ }
1601
+
1602
+ return transformed , nil
1603
+ }
1604
+
1605
+ func expandBigQueryDatasetExternalDatasetReferenceExternalSource (v interface {}, d tpgresource.TerraformResourceData , config * transport_tpg.Config ) (interface {}, error ) {
1606
+ return v , nil
1607
+ }
1608
+
1609
+ func expandBigQueryDatasetExternalDatasetReferenceConnection (v interface {}, d tpgresource.TerraformResourceData , config * transport_tpg.Config ) (interface {}, error ) {
1610
+ return v , nil
1611
+ }
1612
+
1517
1613
func expandBigQueryDatasetFriendlyName (v interface {}, d tpgresource.TerraformResourceData , config * transport_tpg.Config ) (interface {}, error ) {
1518
1614
return v , nil
1519
1615
}
0 commit comments