99 "strings"
1010
1111 "github.com/IBM-Cloud/terraform-provider-ibm/ibm/conns"
12- //"github.com/IBM-Cloud/terraform-provider-ibm/ibm/flex"
12+ "github.com/IBM-Cloud/terraform-provider-ibm/ibm/flex"
13+
1314 "github.com/hashicorp/terraform-plugin-sdk/v2/diag"
1415 "github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema"
1516)
@@ -103,7 +104,8 @@ func ResourceIBMDNSLinkedZone() *schema.Resource {
103104func resourceIBMDNSLinkedZoneCreate (ctx context.Context , d * schema.ResourceData , meta interface {}) diag.Diagnostics {
104105 sess , err := meta .(conns.ClientSession ).PrivateDNSClientSession ()
105106 if err != nil {
106- return diag .FromErr (err )
107+ tfErr := flex .TerraformErrorf (err , fmt .Sprintf ("resourceIBMDNSLinkedZoneCreate Client initialization failed: %s" , err .Error ()), "ibm_dns_linked_zone" , "create" )
108+ return tfErr .GetDiag ()
107109 }
108110
109111 var (
@@ -130,7 +132,8 @@ func resourceIBMDNSLinkedZoneCreate(ctx context.Context, d *schema.ResourceData,
130132
131133 resource , response , err := sess .CreateLinkedZone (createLinkedZoneOptions )
132134 if err != nil {
133- return diag .FromErr (fmt .Errorf ("[ERROR] Error creating DNS Linked zone:%s\n %s" , err , response ))
135+ tfErr := flex .TerraformErrorf (err , fmt .Sprintf ("CreateLinkedZone failed with error: %s and response:\n %s" , err , response ), "ibm_dns_linked_zone" , "create" )
136+ return tfErr .GetDiag ()
134137 }
135138
136139 d .SetId (fmt .Sprintf ("%s/%s" , instanceID , * resource .ID ))
@@ -140,11 +143,14 @@ func resourceIBMDNSLinkedZoneCreate(ctx context.Context, d *schema.ResourceData,
140143func resourceIBMDNSLinkedZoneRead (ctx context.Context , d * schema.ResourceData , meta interface {}) diag.Diagnostics {
141144 sess , err := meta .(conns.ClientSession ).PrivateDNSClientSession ()
142145 if err != nil {
143- return diag .FromErr (err )
146+ tfErr := flex .TerraformErrorf (err , fmt .Sprintf ("resourceIBMDNSLinkedZoneRead Client initialization failed: %s" , err .Error ()), "ibm_dns_linked_zone" , "read" )
147+ return tfErr .GetDiag ()
144148 }
145149 idSet := strings .Split (d .Id (), "/" )
146150 if len (idSet ) < 2 {
147- return diag .FromErr (fmt .Errorf ("[ERROR] Incorrect ID %s: Id should be a combination of InstanceID/linkedDnsZoneID" , d .Id ()))
151+ err := fmt .Errorf ("[ERROR] Incorrect ID %s: Id should be a combination of InstanceID/linkedDnsZoneID" , d .Id ())
152+ tfErr := flex .TerraformErrorf (err , err .Error (), "ibm_dns_linked_zone" , "read" )
153+ return tfErr .GetDiag ()
148154 }
149155 instanceID := idSet [0 ]
150156 linkedDnsZoneID := idSet [1 ]
@@ -156,7 +162,8 @@ func resourceIBMDNSLinkedZoneRead(ctx context.Context, d *schema.ResourceData, m
156162 d .SetId ("" )
157163 return nil
158164 }
159- return diag .FromErr (fmt .Errorf ("[ERROR] Error reading DNS Linked zone:%s\n %s" , err , response ))
165+ tfErr := flex .TerraformErrorf (err , fmt .Sprintf ("GetLinkedZone failed with error: %s and response:\n %s" , err , response ), "ibm_dns_linked_zone" , "read" )
166+ return tfErr .GetDiag ()
160167 }
161168
162169 d .Set (DnsLinkedZoneInstanceID , idSet [0 ])
@@ -171,12 +178,15 @@ func resourceIBMDNSLinkedZoneRead(ctx context.Context, d *schema.ResourceData, m
171178func resourceIBMDNSLinkedZoneUpdate (ctx context.Context , d * schema.ResourceData , meta interface {}) diag.Diagnostics {
172179 sess , err := meta .(conns.ClientSession ).PrivateDNSClientSession ()
173180 if err != nil {
174- return diag .FromErr (err )
181+ tfErr := flex .TerraformErrorf (err , fmt .Sprintf ("resourceIBMDNSLinkedZoneUpdate Client initialization failed: %s" , err .Error ()), "ibm_dns_linked_zone" , "update" )
182+ return tfErr .GetDiag ()
175183 }
176184
177185 idSet := strings .Split (d .Id (), "/" )
178186 if len (idSet ) < 2 {
179- return diag .FromErr (fmt .Errorf ("[ERROR] Incorrect ID %s: Id should be a combination of InstanceID/resolverID/secondaryZoneID" , d .Id ()))
187+ err := fmt .Errorf ("[ERROR] Incorrect ID %s: Id should be a combination of InstanceID/resolverID/secondaryZoneID" , d .Id ())
188+ tfErr := flex .TerraformErrorf (err , err .Error (), "ibm_dns_linked_zone" , "update" )
189+ return tfErr .GetDiag ()
180190 }
181191 instanceID := idSet [0 ]
182192 linkedDnsZoneID := idSet [1 ]
@@ -185,7 +195,8 @@ func resourceIBMDNSLinkedZoneUpdate(ctx context.Context, d *schema.ResourceData,
185195 getLinkedZoneOptions := sess .NewGetLinkedZoneOptions (instanceID , linkedDnsZoneID )
186196 _ , response , err := sess .GetLinkedZone (getLinkedZoneOptions )
187197 if err != nil {
188- return diag .FromErr (fmt .Errorf ("[ERROR] Error fetching secondary zone:%s\n %s" , err , response ))
198+ tfErr := flex .TerraformErrorf (err , fmt .Sprintf ("resourceIBMDNSLinkedZoneUpdate GetLinkedZone failed with error: %s and response:\n %s" , err , response ), "ibm_dns_linked_zone" , "update" )
199+ return tfErr .GetDiag ()
189200 }
190201
191202 // Update DNS Linked zone if attributes has any change
@@ -204,7 +215,8 @@ func resourceIBMDNSLinkedZoneUpdate(ctx context.Context, d *schema.ResourceData,
204215 _ , response , err := sess .UpdateLinkedZone (updateLinkedZoneOptions )
205216
206217 if err != nil {
207- return diag .FromErr (fmt .Errorf ("[ERROR] Error updating DNS Services zone:%s\n %s" , err , response ))
218+ tfErr := flex .TerraformErrorf (err , fmt .Sprintf ("UpdateLinkedZone failed with error: %s and response:\n %s" , err , response ), "ibm_dns_linked_zone" , "update" )
219+ return tfErr .GetDiag ()
208220 }
209221 }
210222
@@ -213,11 +225,14 @@ func resourceIBMDNSLinkedZoneUpdate(ctx context.Context, d *schema.ResourceData,
213225func resourceIBMDNSLinkedZoneDelete (ctx context.Context , d * schema.ResourceData , meta interface {}) diag.Diagnostics {
214226 sess , err := meta .(conns.ClientSession ).PrivateDNSClientSession ()
215227 if err != nil {
216- return diag .FromErr (err )
228+ tfErr := flex .TerraformErrorf (err , fmt .Sprintf ("resourceIBMDNSLinkedZoneDelete Client initialization failed: %s" , err .Error ()), "ibm_dns_linked_zone" , "delete" )
229+ return tfErr .GetDiag ()
217230 }
218231 idSet := strings .Split (d .Id (), "/" )
219232 if len (idSet ) < 2 {
220- return diag .FromErr (fmt .Errorf ("[ERROR] Incorrect ID %s: Id should be a combination of InstanceID/linkedDnsZoneID" , d .Id ()))
233+ err := fmt .Errorf ("[ERROR] Incorrect ID %s: Id should be a combination of InstanceID/linkedDnsZoneID" , d .Id ())
234+ tfErr := flex .TerraformErrorf (err , err .Error (), "ibm_dns_linked_zone" , "delete" )
235+ return tfErr .GetDiag ()
221236 }
222237 instanceID := idSet [0 ]
223238 linkedDnsZoneID := idSet [1 ]
@@ -232,7 +247,8 @@ func resourceIBMDNSLinkedZoneDelete(ctx context.Context, d *schema.ResourceData,
232247 if response != nil && response .StatusCode == 404 {
233248 return nil
234249 }
235- return diag .FromErr (fmt .Errorf ("[ERROR] Error reading DNS Services secondary zone:%s\n %s" , err , response ))
250+ tfErr := flex .TerraformErrorf (err , fmt .Sprintf ("resourceIBMDNSLinkedZoneDelete failed with error: %s and response:\n %s" , err , response ), "ibm_dns_linked_zone" , "delete" )
251+ return tfErr .GetDiag ()
236252 }
237253
238254 d .SetId ("" )
0 commit comments