11package ovh
22
33import (
4+ "context"
45 "fmt"
56 "log"
67 "net/url"
78
9+ "github.com/hashicorp/terraform-plugin-sdk/v2/diag"
810 "github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema"
911 "github.com/ovh/terraform-provider-ovh/ovh/helpers"
1012)
1113
1214func dataSourceCloudProjectDatabaseDatabase () * schema.Resource {
1315 return & schema.Resource {
14- Read : dataSourceCloudProjectDatabaseDatabaseRead ,
16+ ReadContext : dataSourceCloudProjectDatabaseDatabaseRead ,
1517 Schema : map [string ]* schema.Schema {
1618 "service_name" : {
1719 Type : schema .TypeString ,
@@ -45,39 +47,39 @@ func dataSourceCloudProjectDatabaseDatabase() *schema.Resource {
4547 }
4648}
4749
48- func dataSourceCloudProjectDatabaseDatabaseRead (d * schema.ResourceData , meta interface {}) error {
50+ func dataSourceCloudProjectDatabaseDatabaseRead (ctx context. Context , d * schema.ResourceData , meta interface {}) diag. Diagnostics {
4951 config := meta .(* Config )
5052 serviceName := d .Get ("service_name" ).(string )
5153 engine := d .Get ("engine" ).(string )
52- clusterId := d .Get ("cluster_id" ).(string )
54+ clusterID := d .Get ("cluster_id" ).(string )
5355 name := d .Get ("name" ).(string )
5456
5557 listEndpoint := fmt .Sprintf ("/cloud/project/%s/database/%s/%s/database" ,
5658 url .PathEscape (serviceName ),
5759 url .PathEscape (engine ),
58- url .PathEscape (clusterId ),
60+ url .PathEscape (clusterID ),
5961 )
6062
6163 listRes := make ([]string , 0 )
6264
63- log .Printf ("[DEBUG] Will read databases from cluster %s from project %s" , clusterId , serviceName )
65+ log .Printf ("[DEBUG] Will read databases from cluster %s from project %s" , clusterID , serviceName )
6466 if err := config .OVHClient .Get (listEndpoint , & listRes ); err != nil {
65- return fmt .Errorf ("Error calling GET %s:\n \t %q" , listEndpoint , err )
67+ return diag .Errorf ("Error calling GET %s:\n \t %q" , listEndpoint , err )
6668 }
6769
6870 for _ , id := range listRes {
6971 endpoint := fmt .Sprintf ("/cloud/project/%s/database/%s/%s/database/%s" ,
7072 url .PathEscape (serviceName ),
7173 url .PathEscape (engine ),
72- url .PathEscape (clusterId ),
74+ url .PathEscape (clusterID ),
7375 url .PathEscape (id ),
7476 )
7577
7678 res := & CloudProjectDatabaseDatabaseResponse {}
7779
78- log .Printf ("[DEBUG] Will read database %s from cluster %s from project %s" , id , clusterId , serviceName )
80+ log .Printf ("[DEBUG] Will read database %s from cluster %s from project %s" , id , clusterID , serviceName )
7981 if err := config .OVHClient .Get (endpoint , res ); err != nil {
80- return fmt .Errorf ("Error calling GET %s:\n \t %q" , endpoint , err )
82+ return diag .Errorf ("Error calling GET %s:\n \t %q" , endpoint , err )
8183 }
8284
8385 if res .Name == name {
@@ -93,5 +95,5 @@ func dataSourceCloudProjectDatabaseDatabaseRead(d *schema.ResourceData, meta int
9395 }
9496 }
9597
96- return fmt .Errorf ("Database name %s not found for cluster %s from project %s" , name , clusterId , serviceName )
98+ return diag .Errorf ("Database name %s not found for cluster %s from project %s" , name , clusterID , serviceName )
9799}
0 commit comments