@@ -8,12 +8,11 @@ import (
8
8
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema"
9
9
"github.com/mongodb/terraform-provider-mongodbatlas/internal/common/conversion"
10
10
"github.com/mongodb/terraform-provider-mongodbatlas/internal/config"
11
- matlas "go.mongodb.org/atlas/mongodbatlas"
12
11
)
13
12
14
13
func DataSource () * schema.Resource {
15
14
return & schema.Resource {
16
- ReadContext : dataSourceMongoDBAtlasDataLakePipelineRead ,
15
+ ReadContext : dataSourceRead ,
17
16
Schema : map [string ]* schema.Schema {
18
17
"project_id" : {
19
18
Type : schema .TypeString ,
@@ -119,13 +118,13 @@ func DataSource() *schema.Resource {
119
118
},
120
119
},
121
120
},
122
- "snapshots" : dataSourceSchemaDataLakePipelineSnapshots (),
123
- "ingestion_schedules" : dataSourceSchemaDataLakePipelineIngestionSchedules (),
121
+ "snapshots" : dataSourceSchemaSnapshots (),
122
+ "ingestion_schedules" : dataSourceSchemaIngestionSchedules (),
124
123
},
125
124
}
126
125
}
127
126
128
- func dataSourceSchemaDataLakePipelineIngestionSchedules () * schema.Schema {
127
+ func dataSourceSchemaIngestionSchedules () * schema.Schema {
129
128
return & schema.Schema {
130
129
Type : schema .TypeSet ,
131
130
Computed : true ,
@@ -156,7 +155,7 @@ func dataSourceSchemaDataLakePipelineIngestionSchedules() *schema.Schema {
156
155
}
157
156
}
158
157
159
- func dataSourceSchemaDataLakePipelineSnapshots () * schema.Schema {
158
+ func dataSourceSchemaSnapshots () * schema.Schema {
160
159
return & schema.Schema {
161
160
Type : schema .TypeSet ,
162
161
Computed : true ,
@@ -222,73 +221,67 @@ func dataSourceSchemaDataLakePipelineSnapshots() *schema.Schema {
222
221
}
223
222
}
224
223
225
- func dataSourceMongoDBAtlasDataLakePipelineRead (ctx context.Context , d * schema.ResourceData , meta any ) diag.Diagnostics {
226
- conn := meta .(* config.MongoDBClient ).Atlas
224
+ func dataSourceRead (ctx context.Context , d * schema.ResourceData , meta any ) diag.Diagnostics {
225
+ connV2 := meta .(* config.MongoDBClient ).AtlasV2
227
226
projectID := d .Get ("project_id" ).(string )
228
227
name := d .Get ("name" ).(string )
229
228
230
- dataLakePipeline , _ , err := conn . DataLakePipeline . Get (ctx , projectID , name )
229
+ pipeline , _ , err := connV2 . DataLakePipelinesApi . GetPipeline (ctx , projectID , name ). Execute ( )
231
230
if err != nil {
232
231
return diag .FromErr (fmt .Errorf (errorDataLakePipelineRead , name , err ))
233
232
}
234
233
235
- snapshots , _ , err := conn . DataLakePipeline . ListSnapshots (ctx , projectID , name , nil )
234
+ snapshots , _ , err := connV2 . DataLakePipelinesApi . ListPipelineSnapshots (ctx , projectID , name ). Execute ( )
236
235
if err != nil {
237
236
return diag .FromErr (fmt .Errorf (errorDataLakePipelineRead , name , err ))
238
237
}
239
238
240
- ingestionSchedules , _ , err := conn . DataLakePipeline . ListIngestionSchedules (ctx , projectID , name )
239
+ ingestionSchedules , _ , err := connV2 . DataLakePipelinesApi . ListPipelineSchedules (ctx , projectID , name ). Execute ( )
241
240
if err != nil {
242
241
return diag .FromErr (fmt .Errorf (errorDataLakePipelineRead , name , err ))
243
242
}
244
243
245
- return setDataLakeResourceData (d , dataLakePipeline , snapshots , ingestionSchedules )
246
- }
244
+ pipelineName := pipeline .GetName ()
247
245
248
- func setDataLakeResourceData (
249
- d * schema.ResourceData ,
250
- pipeline * matlas.DataLakePipeline ,
251
- snapshots * matlas.DataLakePipelineSnapshotsResponse ,
252
- ingestionSchedules []* matlas.DataLakePipelineIngestionSchedule ) diag.Diagnostics {
253
- if err := d .Set ("id" , pipeline .ID ); err != nil {
254
- return diag .FromErr (fmt .Errorf (ErrorDataLakeSetting , "id" , pipeline .Name , err ))
246
+ if err := d .Set ("id" , pipeline .GetId ()); err != nil {
247
+ return diag .FromErr (fmt .Errorf (ErrorDataLakeSetting , "id" , pipelineName , err ))
255
248
}
256
249
257
- if err := d .Set ("state" , pipeline .State ); err != nil {
258
- return diag .FromErr (fmt .Errorf (errorDataLakePipelineSetting , "state" , pipeline . Name , err ))
250
+ if err := d .Set ("state" , pipeline .GetState () ); err != nil {
251
+ return diag .FromErr (fmt .Errorf (errorDataLakePipelineSetting , "state" , pipelineName , err ))
259
252
}
260
253
261
- if err := d .Set ("created_date" , pipeline .CreatedDate ); err != nil {
262
- return diag .FromErr (fmt .Errorf (errorDataLakePipelineSetting , "created_date" , pipeline . Name , err ))
254
+ if err := d .Set ("created_date" , conversion . TimePtrToStringPtr ( pipeline .CreatedDate ) ); err != nil {
255
+ return diag .FromErr (fmt .Errorf (errorDataLakePipelineSetting , "created_date" , pipelineName , err ))
263
256
}
264
257
265
- if err := d .Set ("last_updated_date" , pipeline .LastUpdatedDate ); err != nil {
266
- return diag .FromErr (fmt .Errorf (errorDataLakePipelineSetting , "last_updated_date" , pipeline . Name , err ))
258
+ if err := d .Set ("last_updated_date" , conversion . TimePtrToStringPtr ( pipeline .LastUpdatedDate ) ); err != nil {
259
+ return diag .FromErr (fmt .Errorf (errorDataLakePipelineSetting , "last_updated_date" , pipelineName , err ))
267
260
}
268
261
269
- if err := d .Set ("sink" , flattenDataLakePipelineSink (pipeline .Sink )); err != nil {
270
- return diag .FromErr (fmt .Errorf (errorDataLakePipelineSetting , "sink" , pipeline . Name , err ))
262
+ if err := d .Set ("sink" , flattenSink (pipeline .Sink )); err != nil {
263
+ return diag .FromErr (fmt .Errorf (errorDataLakePipelineSetting , "sink" , pipelineName , err ))
271
264
}
272
265
273
- if err := d .Set ("source" , flattenDataLakePipelineSource (pipeline .Source )); err != nil {
274
- return diag .FromErr (fmt .Errorf (errorDataLakePipelineSetting , "source" , pipeline . Name , err ))
266
+ if err := d .Set ("source" , flattenSource (pipeline .Source )); err != nil {
267
+ return diag .FromErr (fmt .Errorf (errorDataLakePipelineSetting , "source" , pipelineName , err ))
275
268
}
276
269
277
- if err := d .Set ("transformations" , flattenDataLakePipelineTransformations (pipeline .Transformations )); err != nil {
278
- return diag .FromErr (fmt .Errorf (errorDataLakePipelineSetting , "transformations" , pipeline . Name , err ))
270
+ if err := d .Set ("transformations" , flattenTransformations (pipeline .GetTransformations () )); err != nil {
271
+ return diag .FromErr (fmt .Errorf (errorDataLakePipelineSetting , "transformations" , pipelineName , err ))
279
272
}
280
273
281
- if err := d .Set ("snapshots" , flattenDataLakePipelineSnapshots (snapshots .Results )); err != nil {
282
- return diag .FromErr (fmt .Errorf (errorDataLakePipelineSetting , "snapshots" , pipeline . Name , err ))
274
+ if err := d .Set ("snapshots" , flattenSnapshots (snapshots .GetResults () )); err != nil {
275
+ return diag .FromErr (fmt .Errorf (errorDataLakePipelineSetting , "snapshots" , pipelineName , err ))
283
276
}
284
277
285
- if err := d .Set ("ingestion_schedules" , flattenDataLakePipelineIngestionSchedules (ingestionSchedules )); err != nil {
286
- return diag .FromErr (fmt .Errorf (errorDataLakePipelineSetting , "ingestion_schedules" , pipeline . Name , err ))
278
+ if err := d .Set ("ingestion_schedules" , flattenIngestionSchedules (ingestionSchedules )); err != nil {
279
+ return diag .FromErr (fmt .Errorf (errorDataLakePipelineSetting , "ingestion_schedules" , pipelineName , err ))
287
280
}
288
281
289
282
d .SetId (conversion .EncodeStateID (map [string ]string {
290
- "project_id" : pipeline .GroupID ,
291
- "name" : pipeline . Name ,
283
+ "project_id" : pipeline .GetGroupId () ,
284
+ "name" : pipelineName ,
292
285
}))
293
286
294
287
return nil
0 commit comments