Skip to content

Commit a3b40dd

Browse files
committed
r/aws_prometheus_resource_policy: Cosmetics.
1 parent bdfa886 commit a3b40dd

File tree

2 files changed

+38
-28
lines changed

2 files changed

+38
-28
lines changed

internal/service/amp/resource_policy.go

Lines changed: 37 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -84,27 +84,29 @@ func (r *resourcePolicyResource) Create(ctx context.Context, request resource.Cr
8484

8585
conn := r.Meta().AMPClient(ctx)
8686

87+
workspaceID := fwflex.StringValueFromFramework(ctx, data.WorkspaceID)
8788
input := amp.PutResourcePolicyInput{
8889
ClientToken: aws.String(sdkid.UniqueId()),
8990
PolicyDocument: fwflex.StringFromFramework(ctx, data.PolicyDocument),
90-
WorkspaceId: fwflex.StringFromFramework(ctx, data.WorkspaceId),
91+
WorkspaceId: aws.String(workspaceID),
9192
}
9293

93-
if !data.RevisionId.IsNull() {
94-
input.RevisionId = fwflex.StringFromFramework(ctx, data.RevisionId)
94+
if !data.RevisionID.IsNull() {
95+
input.RevisionId = fwflex.StringFromFramework(ctx, data.RevisionID)
9596
}
9697

9798
output, err := conn.PutResourcePolicy(ctx, &input)
9899

99100
if err != nil {
100-
response.Diagnostics.AddError("creating Prometheus Workspace Resource Policy", err.Error())
101+
response.Diagnostics.AddError(fmt.Sprintf("creating Prometheus Workspace (%s) Resource Policy", workspaceID), err.Error())
101102
return
102103
}
103104

104105
// Set values for unknowns.
105-
data.RevisionId = fwflex.StringToFramework(ctx, output.RevisionId)
106-
if _, err := waitResourcePolicyCreated(ctx, conn, data.WorkspaceId.ValueString(), r.CreateTimeout(ctx, data.Timeouts)); err != nil {
107-
response.Diagnostics.AddError(fmt.Sprintf("waiting for Prometheus Workspace Resource Policy (%s) create", data.WorkspaceId.ValueString()), err.Error())
106+
data.RevisionID = fwflex.StringToFramework(ctx, output.RevisionId)
107+
108+
if _, err := waitResourcePolicyCreated(ctx, conn, workspaceID, r.CreateTimeout(ctx, data.Timeouts)); err != nil {
109+
response.Diagnostics.AddError(fmt.Sprintf("waiting for Prometheus Workspace (%s) Resource Policy create", workspaceID), err.Error())
108110
return
109111
}
110112

@@ -120,7 +122,8 @@ func (r *resourcePolicyResource) Read(ctx context.Context, request resource.Read
120122

121123
conn := r.Meta().AMPClient(ctx)
122124

123-
output, err := findResourcePolicyByWorkspaceID(ctx, conn, data.WorkspaceId.ValueString())
125+
workspaceID := fwflex.StringValueFromFramework(ctx, data.WorkspaceID)
126+
output, err := findResourcePolicyByWorkspaceID(ctx, conn, workspaceID)
124127

125128
if tfresource.NotFound(err) {
126129
response.Diagnostics.Append(fwdiag.NewResourceNotFoundWarningDiagnostic(err))
@@ -129,7 +132,7 @@ func (r *resourcePolicyResource) Read(ctx context.Context, request resource.Read
129132
}
130133

131134
if err != nil {
132-
response.Diagnostics.AddError(fmt.Sprintf("reading Prometheus Workspace Resource Policy (%s)", data.WorkspaceId.ValueString()), err.Error())
135+
response.Diagnostics.AddError(fmt.Sprintf("reading Prometheus Workspace (%s) Resource Policy", workspaceID), err.Error())
133136
return
134137
}
135138

@@ -155,27 +158,29 @@ func (r *resourcePolicyResource) Update(ctx context.Context, request resource.Up
155158

156159
conn := r.Meta().AMPClient(ctx)
157160

158-
if !new.PolicyDocument.Equal(old.PolicyDocument) {
161+
if !new.PolicyDocument.Equal(old.PolicyDocument) || !new.RevisionID.Equal(old.RevisionID) {
162+
workspaceID := fwflex.StringValueFromFramework(ctx, new.WorkspaceID)
159163
input := amp.PutResourcePolicyInput{
160164
ClientToken: aws.String(sdkid.UniqueId()),
161165
PolicyDocument: fwflex.StringFromFramework(ctx, new.PolicyDocument),
162-
WorkspaceId: fwflex.StringFromFramework(ctx, new.WorkspaceId),
166+
WorkspaceId: aws.String(workspaceID),
163167
}
164168

165-
if !new.RevisionId.IsNull() {
166-
input.RevisionId = fwflex.StringFromFramework(ctx, new.RevisionId)
169+
if !new.RevisionID.IsNull() {
170+
input.RevisionId = fwflex.StringFromFramework(ctx, new.RevisionID)
167171
}
168172

169173
output, err := conn.PutResourcePolicy(ctx, &input)
170174

171175
if err != nil {
172-
response.Diagnostics.AddError(fmt.Sprintf("updating Prometheus Workspace Resource Policy (%s)", new.WorkspaceId.ValueString()), err.Error())
176+
response.Diagnostics.AddError(fmt.Sprintf("updating Prometheus Workspace (%s) Resource Policy", workspaceID), err.Error())
173177
return
174178
}
175179

176-
new.RevisionId = fwflex.StringToFramework(ctx, output.RevisionId)
177-
if _, err := waitResourcePolicyUpdated(ctx, conn, new.WorkspaceId.ValueString(), r.UpdateTimeout(ctx, new.Timeouts)); err != nil {
178-
response.Diagnostics.AddError(fmt.Sprintf("waiting for Prometheus Workspace Resource Policy (%s) update", new.WorkspaceId.ValueString()), err.Error())
180+
new.RevisionID = fwflex.StringToFramework(ctx, output.RevisionId)
181+
182+
if _, err := waitResourcePolicyUpdated(ctx, conn, workspaceID, r.UpdateTimeout(ctx, new.Timeouts)); err != nil {
183+
response.Diagnostics.AddError(fmt.Sprintf("waiting for Prometheus Workspace (%s) Resource Policy update", workspaceID), err.Error())
179184
return
180185
}
181186
}
@@ -192,13 +197,14 @@ func (r *resourcePolicyResource) Delete(ctx context.Context, request resource.De
192197

193198
conn := r.Meta().AMPClient(ctx)
194199

200+
workspaceID := fwflex.StringValueFromFramework(ctx, data.WorkspaceID)
195201
input := amp.DeleteResourcePolicyInput{
196202
ClientToken: aws.String(sdkid.UniqueId()),
197-
WorkspaceId: fwflex.StringFromFramework(ctx, data.WorkspaceId),
203+
WorkspaceId: aws.String(workspaceID),
198204
}
199205

200-
if !data.RevisionId.IsNull() {
201-
input.RevisionId = fwflex.StringFromFramework(ctx, data.RevisionId)
206+
if !data.RevisionID.IsNull() {
207+
input.RevisionId = fwflex.StringFromFramework(ctx, data.RevisionID)
202208
}
203209

204210
_, err := conn.DeleteResourcePolicy(ctx, &input)
@@ -208,12 +214,12 @@ func (r *resourcePolicyResource) Delete(ctx context.Context, request resource.De
208214
}
209215

210216
if err != nil {
211-
response.Diagnostics.AddError(fmt.Sprintf("deleting Prometheus Workspace Resource Policy (%s)", data.WorkspaceId.ValueString()), err.Error())
217+
response.Diagnostics.AddError(fmt.Sprintf("deleting Prometheus Workspace (%s) Resource Policy", workspaceID), err.Error())
212218
return
213219
}
214220

215-
if _, err := waitResourcePolicyDeleted(ctx, conn, data.WorkspaceId.ValueString(), r.DeleteTimeout(ctx, data.Timeouts)); err != nil {
216-
response.Diagnostics.AddError(fmt.Sprintf("waiting for Prometheus Workspace Resource Policy (%s) delete", data.WorkspaceId.ValueString()), err.Error())
221+
if _, err := waitResourcePolicyDeleted(ctx, conn, workspaceID, r.DeleteTimeout(ctx, data.Timeouts)); err != nil {
222+
response.Diagnostics.AddError(fmt.Sprintf("waiting for Prometheus Workspace (%s) Resource Policy delete", workspaceID), err.Error())
217223
return
218224
}
219225
}
@@ -225,17 +231,21 @@ func (r *resourcePolicyResource) ImportState(ctx context.Context, request resour
225231
type resourcePolicyResourceModel struct {
226232
framework.WithRegionModel
227233
PolicyDocument fwtypes.IAMPolicy `tfsdk:"policy_document"`
228-
RevisionId types.String `tfsdk:"revision_id"`
234+
RevisionID types.String `tfsdk:"revision_id"`
229235
Timeouts timeouts.Value `tfsdk:"timeouts"`
230-
WorkspaceId types.String `tfsdk:"workspace_id"`
236+
WorkspaceID types.String `tfsdk:"workspace_id"`
231237
}
232238

233239
func findResourcePolicyByWorkspaceID(ctx context.Context, conn *amp.Client, workspaceID string) (*amp.DescribeResourcePolicyOutput, error) {
234240
input := amp.DescribeResourcePolicyInput{
235241
WorkspaceId: aws.String(workspaceID),
236242
}
237243

238-
output, err := conn.DescribeResourcePolicy(ctx, &input)
244+
return findResourcePolicy(ctx, conn, &input)
245+
}
246+
247+
func findResourcePolicy(ctx context.Context, conn *amp.Client, input *amp.DescribeResourcePolicyInput) (*amp.DescribeResourcePolicyOutput, error) {
248+
output, err := conn.DescribeResourcePolicy(ctx, input)
239249

240250
if errs.IsA[*awstypes.ResourceNotFoundException](err) {
241251
return nil, &retry.NotFoundError{
@@ -248,7 +258,7 @@ func findResourcePolicyByWorkspaceID(ctx context.Context, conn *amp.Client, work
248258
return nil, err
249259
}
250260

251-
if output == nil {
261+
if output == nil || output.PolicyDocument == nil {
252262
return nil, tfresource.NewEmptyResultError(input)
253263
}
254264

internal/service/amp/resource_policy_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -170,7 +170,7 @@ func testAccCheckResourcePolicyDestroy(ctx context.Context) resource.TestCheckFu
170170
return err
171171
}
172172

173-
return fmt.Errorf("Prometheus Resource Policy %s still exists", rs.Primary.Attributes["workspace_id"])
173+
return fmt.Errorf("Prometheus Workspace Resource Policy %s still exists", rs.Primary.Attributes["workspace_id"])
174174
}
175175

176176
return nil

0 commit comments

Comments
 (0)