@@ -411,24 +411,38 @@ func DataSourceIBMIsVirtualNetworkInterfaces() *schema.Resource {
411411 },
412412 },
413413 },
414+ "resource_group" : {
415+ Type : schema .TypeString ,
416+ Optional : true ,
417+ Description : "The unique identifier of the resource group these virtual network interfaces belong to" ,
418+ },
414419 },
415420 }
416421}
417422
418423func dataSourceIBMIsVirtualNetworkInterfacesRead (context context.Context , d * schema.ResourceData , meta interface {}) diag.Diagnostics {
419- vpcbetaClient , err := meta .(conns.ClientSession ).VpcV1API ()
424+ vpcClient , err := meta .(conns.ClientSession ).VpcV1API ()
420425 if err != nil {
421426 return diag .FromErr (err )
422427 }
423428
424429 listVirtualNetworkInterfacesOptions := & vpcv1.ListVirtualNetworkInterfacesOptions {}
430+ if resgroupintf , ok := d .GetOk ("resource_group" ); ok {
431+ resGroup := resgroupintf .(string )
432+ listVirtualNetworkInterfacesOptions .ResourceGroupID = & resGroup
433+ }
434+ var pager * vpcv1.VirtualNetworkInterfacesPager
435+ pager , err = vpcClient .NewVirtualNetworkInterfacesPager (listVirtualNetworkInterfacesOptions )
436+ if err != nil {
437+ return diag .FromErr (err )
438+ }
425439
426- vniCollection , response , err := vpcbetaClient .ListVirtualNetworkInterfacesWithContext (context , listVirtualNetworkInterfacesOptions )
427- //log.Printf(len(vniCollection.VirtualNetworkInterfaces))
440+ allItems , err := pager .GetAll ()
428441 if err != nil {
429- log .Printf ("[DEBUG] VirtualNetworkInterfacesPager.GetAll() failed %s\n %s " , err , response )
430- return diag .FromErr (fmt .Errorf ("VirtualNetworkInterfacesPager.GetAll() failed %s\n %s " , err , response ))
442+ log .Printf ("[DEBUG] VirtualNetworkInterfacesPager.GetAll() failed %s" , err )
443+ return diag .FromErr (fmt .Errorf ("VirtualNetworkInterfacesPager.GetAll() failed %s" , err ))
431444 }
445+
432446 // var pager *vpcv1.VirtualNetworkInterfacesPager
433447 // pager, err = vpcbetaClient.NewVirtualNetworkInterfacesPager(listVirtualNetworkInterfacesOptions)
434448 // if err != nil {
@@ -444,7 +458,7 @@ func dataSourceIBMIsVirtualNetworkInterfacesRead(context context.Context, d *sch
444458 d .SetId (dataSourceIBMIsVirtualNetworkInterfacesID (d ))
445459
446460 mapSlice := []map [string ]interface {}{}
447- for _ , modelItem := range vniCollection . VirtualNetworkInterfaces {
461+ for _ , modelItem := range allItems {
448462 modelMap , err := dataSourceIBMIsVirtualNetworkInterfacesVirtualNetworkInterfaceToMap (& modelItem )
449463 if err != nil {
450464 return diag .FromErr (err )
0 commit comments