Skip to content

Instantly share code, notes, and snippets.

@marcosuma
Created November 28, 2023 07:25
Show Gist options
  • Save marcosuma/33c7201ae79e7ab77f6f34c90c6160a2 to your computer and use it in GitHub Desktop.
Save marcosuma/33c7201ae79e7ab77f6f34c90c6160a2 to your computer and use it in GitHub Desktop.
diff --git a/mongodbatlas/resource_backup_compliance_policy.go b/mongodbatlas/resource_backup_compliance_policy.go
index 01d2fe72..31ab9c52 100644
--- a/mongodbatlas/resource_backup_compliance_policy.go
+++ b/mongodbatlas/resource_backup_compliance_policy.go
@@ -228,7 +228,8 @@ func ResourceBackupCompliancePolicy() *schema.Resource {
}
func resourceMongoDBAtlasBackupCompliancePolicyCreate(ctx context.Context, d *schema.ResourceData, meta any) diag.Diagnostics {
- printWarningMessageForFirstLastNameFields()
+ diagnostics := []diag.Diagnostic{}
+ diagnostics = append(diagnostics, getWarningMessageForFirstLastNameFields())
conn := meta.(*config.MongoDBClient).Atlas
projectID := d.Get("project_id").(string)
@@ -309,7 +310,7 @@ func resourceMongoDBAtlasBackupCompliancePolicyCreate(ctx context.Context, d *sc
// there is not an entry point to create a backup compliance policy until it will use the update entry point
_, _, err := conn.BackupCompliancePolicy.Update(ctx, projectID, backupCompliancePolicyReq)
if err != nil {
- return diag.FromErr(fmt.Errorf(errorBackupPolicyUpdate, projectID, err))
+ return append(diagnostics, diag.Errorf(fmt.Sprintf(errorBackupPolicyUpdate, projectID, err), err)...)
}
d.SetId(conversion.EncodeStateID(map[string]string{
@@ -320,7 +321,8 @@ func resourceMongoDBAtlasBackupCompliancePolicyCreate(ctx context.Context, d *sc
}
func resourceMongoDBAtlasBackupCompliancePolicyRead(ctx context.Context, d *schema.ResourceData, meta any) diag.Diagnostics {
- printWarningMessageForFirstLastNameFields()
+ diagnostics := []diag.Diagnostic{}
+ diagnostics = append(diagnostics, getWarningMessageForFirstLastNameFields())
// Get client connection.
conn := meta.(*config.MongoDBClient).Atlas
@@ -331,22 +333,22 @@ func resourceMongoDBAtlasBackupCompliancePolicyRead(ctx context.Context, d *sche
if err != nil {
if resp != nil && resp.StatusCode == http.StatusNotFound {
d.SetId("")
- return nil
+ return diagnostics
}
- return diag.FromErr(fmt.Errorf(errorBackupPolicyRead, projectID, err))
+ return append(diagnostics, diag.Errorf(fmt.Sprintf(errorBackupPolicyRead, projectID, err))...)
}
if err := d.Set("authorized_email", backupPolicy.AuthorizedEmail); err != nil {
- return diag.FromErr(fmt.Errorf(errorBackupPolicySetting, "authorized_email", projectID, err))
+ return append(diagnostics, diag.Errorf(fmt.Sprintf(errorBackupPolicySetting, "authorized_email", projectID, err))...)
}
if err := d.Set("authorized_user_first_name", backupPolicy.AuthorizedUserFirstName); err != nil {
- return diag.FromErr(fmt.Errorf(errorBackupPolicySetting, "authorized_user_first_name", projectID, err))
+ return append(diagnostics, diag.Errorf(fmt.Sprintf(errorBackupPolicySetting, "authorized_user_first_name", projectID, err))...)
}
if err := d.Set("authorized_user_last_name", backupPolicy.AuthorizedUserLastName); err != nil {
- return diag.FromErr(fmt.Errorf(errorBackupPolicySetting, "authorized_user_last_name", projectID, err))
+ return append(diagnostics, diag.Errorf(fmt.Sprintf(errorBackupPolicySetting, "authorized_user_last_name", projectID, err))...)
}
if err := d.Set("restore_window_days", backupPolicy.RestoreWindowDays); err != nil {
@@ -572,6 +574,11 @@ func expandDemandBackupPolicyItem(d *schema.ResourceData) *matlas.PolicyItem {
return &onDemand
}
-func printWarningMessageForFirstLastNameFields() {
- log.Printf("[WARN] Note: Starting from v1.14.0 authorized_user_first_name and authorized_user_last_name will become mandatory. Please update your script accordingly.")
+func getWarningMessageForFirstLastNameFields() diag.Diagnostic {
+ return diag.Diagnostic{
+ Severity: diag.Warning,
+ Summary: "authorized_user_first_name and authorized_user_last_name will become mandatory",
+ Detail: "Starting from v1.15.0 authorized_user_first_name and authorized_user_last_name will become mandatory. Please update your script accordingly.",
+ }
+ // log.Printf("[WARN] Note: Starting from v1.14.0 authorized_user_first_name and authorized_user_last_name will become mandatory. Please update your script accordingly.")
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment