Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix(Cloud Databases):Incorporate new client-error-toolchain in data sources #5320

Merged
merged 6 commits into from
May 2, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ require (
github.com/IBM/apigateway-go-sdk v0.0.0-20210714141226-a5d5d49caaca
github.com/IBM/appconfiguration-go-admin-sdk v0.3.0
github.com/IBM/appid-management-go-sdk v0.0.0-20210908164609-dd0e0eaf732f
github.com/IBM/cloud-databases-go-sdk v0.6.0
github.com/IBM/cloud-databases-go-sdk v0.7.0
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Has this sdk version released?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

github.com/IBM/cloudant-go-sdk v0.0.43
github.com/IBM/code-engine-go-sdk v0.0.0-20231106200405-99e81b3ee752
github.com/IBM/container-registry-go-sdk v1.1.0
Expand Down
4 changes: 2 additions & 2 deletions go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -116,8 +116,8 @@ github.com/IBM/appconfiguration-go-admin-sdk v0.3.0 h1:OqFxnDxro0JiRwHBKytCcseY2
github.com/IBM/appconfiguration-go-admin-sdk v0.3.0/go.mod h1:xPxAYhr/uywUIDEo/JqWbkUdTryPdzRdYBfUpA5IjoE=
github.com/IBM/appid-management-go-sdk v0.0.0-20210908164609-dd0e0eaf732f h1:4c1kqY4GqmkQ+tO03rneDb74Tv7BhTj8jDiDB1p8mdM=
github.com/IBM/appid-management-go-sdk v0.0.0-20210908164609-dd0e0eaf732f/go.mod h1:d22kTYY7RYBWcQlZpqrSdshpB/lJ16viWS5Sbjtlc8s=
github.com/IBM/cloud-databases-go-sdk v0.6.0 h1:QK3eif7+kusgeuMB54Zw5nco/kDwsDg2sD/84/foDxo=
github.com/IBM/cloud-databases-go-sdk v0.6.0/go.mod h1:nCIVfeZnhBYIiwByT959dFP4VWUeNLxomDYy63tTC6M=
github.com/IBM/cloud-databases-go-sdk v0.7.0 h1:prvLebKD1kcIk81D6yRhOr/TWp1VQJGLhGAasQr7RtA=
github.com/IBM/cloud-databases-go-sdk v0.7.0/go.mod h1:JYucI1PdwqbAd8XGdDAchxzxRP7bxOh1zUnseovHKsc=
github.com/IBM/cloudant-go-sdk v0.0.43 h1:YxTy4RpAEezX32YIWnds76hrBREmO4u6IkBz1WylNuQ=
github.com/IBM/cloudant-go-sdk v0.0.43/go.mod h1:WeYrJPaHTw19943ndWnVfwMIlZ5z0XUM2uEXNBrwZ1M=
github.com/IBM/code-engine-go-sdk v0.0.0-20231106200405-99e81b3ee752 h1:S5NT0aKKUqd9hnIrPN/qUijKx9cZjJi3kfFpog0ByDA=
Expand Down
2 changes: 1 addition & 1 deletion ibm/service/database/data_source_ibm_database.go
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
// Copyright IBM Corp. 2017, 2021 All Rights Reserved.
// Copyright IBM Corp. 2024 All Rights Reserved.
// Licensed under the Mozilla Public License v2.0

package database
Expand Down
36 changes: 23 additions & 13 deletions ibm/service/database/data_source_ibm_database_backup.go
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
// Copyright IBM Corp. 2022 All Rights Reserved.
// Copyright IBM Corp. 2024 All Rights Reserved.
// Licensed under the Mozilla Public License v2.0

package database
Expand Down Expand Up @@ -68,7 +68,9 @@ func DataSourceIBMDatabaseBackup() *schema.Resource {
func DataSourceIBMDatabaseBackupRead(context context.Context, d *schema.ResourceData, meta interface{}) diag.Diagnostics {
cloudDatabasesClient, err := meta.(conns.ClientSession).CloudDatabasesV5()
if err != nil {
return diag.FromErr(err)
tfErr := flex.TerraformErrorf(err, err.Error(), "(Data) ibm_database_backup", "read")
log.Printf("[DEBUG]\n%s", tfErr.GetDebugMessage())
return tfErr.GetDiag()
}

getBackupInfoOptions := &clouddatabasesv5.GetBackupInfoOptions{}
Expand All @@ -77,42 +79,50 @@ func DataSourceIBMDatabaseBackupRead(context context.Context, d *schema.Resource

backup, response, err := cloudDatabasesClient.GetBackupInfoWithContext(context, getBackupInfoOptions)
if err != nil {
log.Printf("[DEBUG] GetBackupInfoWithContext failed %s\n%s", err, response)
return diag.FromErr(fmt.Errorf("GetBackupInfoWithContext failed %s\n%s", err, response))
tfErr := flex.TerraformErrorf(err, fmt.Sprintf("GetBackupInfoWithContext failed: %s\n%s", err.Error(), response), "(Data) ibm_database_backup", "read")
log.Printf("[DEBUG]\n%s", tfErr.GetDebugMessage())
return tfErr.GetDiag()
}

d.SetId(*backup.Backup.ID)

if err = d.Set("backup_id", backup.Backup.ID); err != nil {
return diag.FromErr(fmt.Errorf("Error setting id: %s", err))
tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting backup_id: %s", err), "(Data) ibm_database_backup", "read")
return tfErr.GetDiag()
}

if err = d.Set("deployment_id", backup.Backup.DeploymentID); err != nil {
return diag.FromErr(fmt.Errorf("Error setting deployment_id: %s", err))
tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting deployment_id: %s", err), "(Data) ibm_database_backup", "read")
return tfErr.GetDiag()
}

if err = d.Set("type", backup.Backup.Type); err != nil {
return diag.FromErr(fmt.Errorf("Error setting type: %s", err))
tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting type: %s", err), "(Data) ibm_database_backup", "read")
return tfErr.GetDiag()
}

if err = d.Set("status", backup.Backup.Status); err != nil {
return diag.FromErr(fmt.Errorf("Error setting status: %s", err))
tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting status: %s", err), "(Data) ibm_database_backup", "read")
return tfErr.GetDiag()
}

if err = d.Set("is_downloadable", backup.Backup.IsDownloadable); err != nil {
return diag.FromErr(fmt.Errorf("Error setting is_downloadable: %s", err))
tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting is_downloadable: %s", err), "(Data) ibm_database_backup", "read")
return tfErr.GetDiag()
}

if err = d.Set("is_restorable", backup.Backup.IsRestorable); err != nil {
return diag.FromErr(fmt.Errorf("Error setting is_restorable: %s", err))
tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting is_restorable: %s", err), "(Data) ibm_database_backup", "read")
return tfErr.GetDiag()
}

if err = d.Set("download_link", backup.Backup.DownloadLink); err != nil {
return diag.FromErr(fmt.Errorf("Error setting download_link: %s", err))
tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting download_link: %s", err), "(Data) ibm_database_backup", "read")
return tfErr.GetDiag()
}

if err = d.Set("created_at", flex.DateTimeToString(backup.Backup.CreatedAt)); err != nil {
return diag.FromErr(fmt.Errorf("Error setting created_at: %s", err))
tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting created_at: %s", err), "(Data) ibm_database_backup", "read")
return tfErr.GetDiag()
}

return nil
Expand Down
21 changes: 14 additions & 7 deletions ibm/service/database/data_source_ibm_database_backups.go
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
// Copyright IBM Corp. 2022 All Rights Reserved.
// Copyright IBM Corp. 2024 All Rights Reserved.
// Licensed under the Mozilla Public License v2.0

package database
Expand All @@ -13,6 +13,7 @@ import (
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema"

"github.com/IBM-Cloud/terraform-provider-ibm/ibm/conns"
"github.com/IBM-Cloud/terraform-provider-ibm/ibm/flex"
"github.com/IBM-Cloud/terraform-provider-ibm/ibm/validate"
"github.com/IBM/cloud-databases-go-sdk/clouddatabasesv5"
)
Expand Down Expand Up @@ -102,16 +103,19 @@ func DataSourceIBMDatabaseBackupsValidator() *validate.ResourceValidator {
func DataSourceIBMDatabaseBackupsRead(context context.Context, d *schema.ResourceData, meta interface{}) diag.Diagnostics {
cloudDatabasesClient, err := meta.(conns.ClientSession).CloudDatabasesV5()
if err != nil {
return diag.FromErr(err)
tfErr := flex.TerraformErrorf(err, err.Error(), "(Data) ibm_database_backups", "read")
log.Printf("[DEBUG]\n%s", tfErr.GetDebugMessage())
return tfErr.GetDiag()
}

listDeploymentBackupsOptions := &clouddatabasesv5.ListDeploymentBackupsOptions{}
listDeploymentBackupsOptions.SetID(d.Get("deployment_id").(string))

backups, response, err := cloudDatabasesClient.ListDeploymentBackupsWithContext(context, listDeploymentBackupsOptions)
if err != nil {
log.Printf("[DEBUG] ListDeploymentBackupsWithContext failed %s\n%s", err, response)
return diag.FromErr(fmt.Errorf("ListDeploymentBackupsWithContext failed %s\n%s", err, response))
tfErr := flex.TerraformErrorf(err, fmt.Sprintf("ListDeploymentBackupsWithContext failed: %s\n%s", err.Error(), response), "(Data) ibm_database_backups", "read")
log.Printf("[DEBUG]\n%s", tfErr.GetDebugMessage())
return tfErr.GetDiag()
}

// Use the provided filter argument and construct a new list with only the requested resource(s)
Expand All @@ -134,7 +138,8 @@ func DataSourceIBMDatabaseBackupsRead(context context.Context, d *schema.Resourc

if suppliedFilter {
if len(backups.Backups) == 0 {
return diag.FromErr(fmt.Errorf("no Backups found with deploymentID %s", deploymentID))
tfErr := flex.TerraformErrorf(err, fmt.Sprintf("no Backups found with deploymentID %s", deploymentID), "(Data) ibm_database_backups", "read")
return tfErr.GetDiag()
}
d.SetId(deploymentID)
} else {
Expand All @@ -146,13 +151,15 @@ func DataSourceIBMDatabaseBackupsRead(context context.Context, d *schema.Resourc
for _, modelItem := range backups.Backups {
modelMap, err := DataSourceIBMDatabaseBackupsBackupToMap(&modelItem)
if err != nil {
return diag.FromErr(err)
tfErr := flex.TerraformErrorf(err, err.Error(), "(Data) ibm_database_backups", "read")
return tfErr.GetDiag()
}
backups2 = append(backups2, modelMap)
}
}
if err = d.Set("backups", backups2); err != nil {
return diag.FromErr(fmt.Errorf("Error setting backups %s", err))
tfErr := flex.TerraformErrorf(err, fmt.Sprintf("Error setting backups: %s", err), "(Data) ibm_database_backups", "read")
return tfErr.GetDiag()
}

return nil
Expand Down
Loading
Loading