Skip to content

Commit 7bde34e

Browse files
authored
Merge pull request #47808 from bonclay7/f-observabilityadmin_telemetry_evaluation_for_organization
r/observabilityadmin_telemetry_evaluation_for_organization
2 parents e61356f + 39a4026 commit 7bde34e

15 files changed

Lines changed: 860 additions & 36 deletions

.changelog/47808.txt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
```release-note:new-resource
2+
aws_observabilityadmin_telemetry_evaluation_for_organization
3+
```

internal/service/observabilityadmin/exports_test.go

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,13 +5,15 @@ package observabilityadmin
55

66
// Exports for use in tests only.
77
var (
8-
ResourceCentralizationRuleForOrganization = newCentralizationRuleForOrganizationResource
9-
ResourceTelemetryEnrichment = newTelemetryEnrichmentResource
10-
ResourceTelemetryEvaluation = newTelemetryEvaluationResource
11-
ResourceTelemetryPipeline = newTelemetryPipelineResource
8+
ResourceCentralizationRuleForOrganization = newCentralizationRuleForOrganizationResource
9+
ResourceTelemetryEnrichment = newTelemetryEnrichmentResource
10+
ResourceTelemetryEvaluation = newTelemetryEvaluationResource
11+
ResourceTelemetryEvaluationForOrganization = newTelemetryEvaluationForOrganizationResource
12+
ResourceTelemetryPipeline = newTelemetryPipelineResource
1213

1314
FindCentralizationRuleForOrganizationByID = findCentralizationRuleForOrganizationByID
1415
FindTelemetryEnrichment = findTelemetryEnrichment
1516
FindTelemetryEvaluation = findTelemetryEvaluation
17+
FindTelemetryEvaluationForOrganization = findTelemetryEvaluationForOrganization
1618
FindTelemetryPipelineByARN = findTelemetryPipelineByARN
1719
)
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
// Copyright IBM Corp. 2014, 2026
2+
// SPDX-License-Identifier: MPL-2.0
3+
4+
package observabilityadmin_test
5+
6+
import (
7+
"testing"
8+
9+
"github.com/hashicorp/terraform-provider-aws/internal/acctest"
10+
)
11+
12+
func TestAccObservabilityAdmin_serial(t *testing.T) {
13+
t.Parallel()
14+
15+
testCases := map[string]map[string]func(t *testing.T){
16+
"TelemetryEnrichment": {
17+
acctest.CtBasic: testAccTelemetryEnrichment_basic,
18+
acctest.CtDisappears: testAccTelemetryEnrichment_disappears,
19+
"Identity": testAccObservabilityAdminTelemetryEnrichment_identitySerial,
20+
},
21+
"TelemetryEvaluation": {
22+
acctest.CtBasic: testAccTelemetryEvaluation_basic,
23+
acctest.CtDisappears: testAccTelemetryEvaluation_disappears,
24+
"Identity": testAccObservabilityAdminTelemetryEvaluation_identitySerial,
25+
},
26+
"TelemetryEvaluationForOrganization": {
27+
acctest.CtBasic: testAccTelemetryEvaluationForOrganization_basic,
28+
acctest.CtDisappears: testAccTelemetryEvaluationForOrganization_disappears,
29+
"Identity": testAccObservabilityAdminTelemetryEvaluationForOrganization_identitySerial,
30+
},
31+
}
32+
33+
acctest.RunSerialTests2Levels(t, testCases, 0)
34+
}

internal/service/observabilityadmin/service_package_gen.go

Lines changed: 10 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

internal/service/observabilityadmin/telemetry_enrichment.go

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,12 @@ func (r *telemetryEnrichmentResource) Create(ctx context.Context, req resource.C
7272
conn := r.Meta().ObservabilityAdminClient(ctx)
7373

7474
var input observabilityadmin.StartTelemetryEnrichmentInput
75-
_, err := conn.StartTelemetryEnrichment(ctx, &input)
75+
const (
76+
timeout = 1 * time.Minute
77+
)
78+
_, err := tfresource.RetryWhenIsA[any, *awstypes.ConflictException](ctx, timeout, func(ctx context.Context) (any, error) {
79+
return conn.StartTelemetryEnrichment(ctx, &input)
80+
})
7681
if err != nil {
7782
smerr.AddError(ctx, &resp.Diagnostics, err)
7883
return

internal/service/observabilityadmin/telemetry_enrichment_test.go

Lines changed: 0 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -24,18 +24,6 @@ import (
2424
"github.com/hashicorp/terraform-provider-aws/names"
2525
)
2626

27-
func TestAccObservabilityAdminTelemetryEnrichment_serial(t *testing.T) {
28-
t.Parallel()
29-
30-
testCases := map[string]func(t *testing.T){
31-
acctest.CtBasic: testAccTelemetryEnrichment_basic,
32-
acctest.CtDisappears: testAccTelemetryEnrichment_disappears,
33-
"Identity": testAccObservabilityAdminTelemetryEnrichment_identitySerial,
34-
}
35-
36-
acctest.RunSerialTests1Level(t, testCases, 0)
37-
}
38-
3927
func testAccTelemetryEnrichment_basic(t *testing.T) {
4028
ctx := acctest.Context(t)
4129
resourceName := "aws_observabilityadmin_telemetry_enrichment.test"

internal/service/observabilityadmin/telemetry_evaluation.go

Lines changed: 12 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -50,11 +50,11 @@ type telemetryEvaluationResource struct {
5050
func (r *telemetryEvaluationResource) Schema(ctx context.Context, req resource.SchemaRequest, resp *resource.SchemaResponse) {
5151
resp.Schema = schema.Schema{
5252
Attributes: map[string]schema.Attribute{
53-
names.AttrID: framework.IDAttributeDeprecatedWithAlternate(path.Root(names.AttrRegion)),
54-
names.AttrStatus: schema.StringAttribute{
53+
"failure_reason": schema.StringAttribute{
5554
Computed: true,
5655
},
57-
"failure_reason": schema.StringAttribute{
56+
names.AttrID: framework.IDAttributeDeprecatedWithAlternate(path.Root(names.AttrRegion)),
57+
names.AttrStatus: schema.StringAttribute{
5858
Computed: true,
5959
},
6060
},
@@ -77,7 +77,12 @@ func (r *telemetryEvaluationResource) Create(ctx context.Context, req resource.C
7777
conn := r.Meta().ObservabilityAdminClient(ctx)
7878

7979
var input observabilityadmin.StartTelemetryEvaluationInput
80-
_, err := conn.StartTelemetryEvaluation(ctx, &input)
80+
const (
81+
timeout = 1 * time.Minute
82+
)
83+
_, err := tfresource.RetryWhenIsA[any, *awstypes.ConflictException](ctx, timeout, func(ctx context.Context) (any, error) {
84+
return conn.StartTelemetryEvaluation(ctx, &input)
85+
})
8186
if err != nil {
8287
smerr.AddError(ctx, &resp.Diagnostics, err)
8388
return
@@ -89,9 +94,9 @@ func (r *telemetryEvaluationResource) Create(ctx context.Context, req resource.C
8994
return
9095
}
9196

92-
data.Status = fwflex.StringToFramework(ctx, (*string)(&out.Status))
9397
data.FailureReason = fwflex.StringToFramework(ctx, out.FailureReason)
9498
data.ID = fwflex.StringValueToFramework(ctx, r.Meta().Region(ctx))
99+
data.Status = fwflex.StringValueToFramework(ctx, out.Status)
95100

96101
smerr.AddEnrich(ctx, &resp.Diagnostics, resp.State.Set(ctx, data))
97102
}
@@ -116,8 +121,8 @@ func (r *telemetryEvaluationResource) Read(ctx context.Context, req resource.Rea
116121
return
117122
}
118123

119-
data.Status = fwflex.StringToFramework(ctx, (*string)(&out.Status))
120124
data.FailureReason = fwflex.StringToFramework(ctx, out.FailureReason)
125+
data.Status = fwflex.StringValueToFramework(ctx, out.Status)
121126

122127
smerr.AddEnrich(ctx, &resp.Diagnostics, resp.State.Set(ctx, &data))
123128
}
@@ -238,8 +243,8 @@ func waitTelemetryEvaluationStopped(ctx context.Context, conn *observabilityadmi
238243

239244
type telemetryEvaluationResourceModel struct {
240245
framework.WithRegionModel
246+
FailureReason types.String `tfsdk:"failure_reason"`
241247
ID types.String `tfsdk:"id"`
242248
Status types.String `tfsdk:"status"`
243-
FailureReason types.String `tfsdk:"failure_reason"`
244249
Timeouts timeouts.Value `tfsdk:"timeouts"`
245250
}

0 commit comments

Comments
 (0)