From 36ba2acbed380c5e1ea242b3ff1c11a4417a6b51 Mon Sep 17 00:00:00 2001 From: David O'Rourke Date: Tue, 25 Jul 2023 15:05:44 +0100 Subject: [PATCH] r/aws_grafana_workspace: Allow in-place version updates --- internal/service/grafana/workspace.go | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/internal/service/grafana/workspace.go b/internal/service/grafana/workspace.go index 31c6c3527079..c1f4968aca57 100644 --- a/internal/service/grafana/workspace.go +++ b/internal/service/grafana/workspace.go @@ -93,7 +93,6 @@ func ResourceWorkspace() *schema.Resource { }, "grafana_version": { Type: schema.TypeString, - ForceNew: true, Optional: true, Computed: true, }, @@ -333,7 +332,7 @@ func resourceWorkspaceUpdate(ctx context.Context, d *schema.ResourceData, meta i var diags diag.Diagnostics conn := meta.(*conns.AWSClient).GrafanaConn(ctx) - if d.HasChangesExcept("configuration", "tags", "tags_all") { + if d.HasChangesExcept("configuration", "grafana_version", "tags", "tags_all") { input := &managedgrafana.UpdateWorkspaceInput{ WorkspaceId: aws.String(d.Id()), } @@ -409,10 +408,17 @@ func resourceWorkspaceUpdate(ctx context.Context, d *schema.ResourceData, meta i } } - if d.HasChange("configuration") { + if d.HasChanges("configuration", "grafana_version") { input := &managedgrafana.UpdateWorkspaceConfigurationInput{ - WorkspaceId: aws.String(d.Id()), - Configuration: aws.String(d.Get("configuration").(string)), + WorkspaceId: aws.String(d.Id()), + } + + if d.HasChange("configuration") { + input.Configuration = aws.String(d.Get("configuration").(string)) + } + + if d.HasChange("grafana_version") { + input.GrafanaVersion = aws.String(d.Get("grafana_version").(string)) } _, err := conn.UpdateWorkspaceConfigurationWithContext(ctx, input)