Skip to content

Commit 9fdedb4

Browse files
Fixed #634
1 parent 43386c6 commit 9fdedb4

File tree

3 files changed

+44
-44
lines changed

3 files changed

+44
-44
lines changed

dynatrace/api/builtin/deployment/oneagent/defaultversion/service.go

Lines changed: 31 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,14 +18,43 @@
1818
package defaultversion
1919

2020
import (
21+
"context"
22+
23+
"github.com/dynatrace-oss/terraform-provider-dynatrace/dynatrace/api"
2124
defaultversion "github.com/dynatrace-oss/terraform-provider-dynatrace/dynatrace/api/builtin/deployment/oneagent/defaultversion/settings"
2225
"github.com/dynatrace-oss/terraform-provider-dynatrace/dynatrace/settings"
23-
"github.com/dynatrace-oss/terraform-provider-dynatrace/dynatrace/settings/services/settings20"
26+
"github.com/google/uuid"
2427
)
2528

2629
const SchemaVersion = "1.0.2"
2730
const SchemaID = "builtin:deployment.oneagent.default-version"
2831

2932
func Service(credentials *settings.Credentials) settings.CRUDService[*defaultversion.Settings] {
30-
return settings20.Service[*defaultversion.Settings](credentials, SchemaID, SchemaVersion)
33+
return &service{}
34+
}
35+
36+
type service struct{}
37+
38+
func (me *service) List(ctx context.Context) (api.Stubs, error) {
39+
return api.Stubs{}, nil
40+
}
41+
42+
func (me *service) Get(ctx context.Context, id string, v *defaultversion.Settings) error {
43+
return nil
44+
}
45+
46+
func (me *service) SchemaID() string {
47+
return SchemaID
48+
}
49+
50+
func (me *service) Create(ctx context.Context, v *defaultversion.Settings) (*api.Stub, error) {
51+
return &api.Stub{ID: uuid.NewString()}, nil
52+
}
53+
54+
func (me *service) Update(ctx context.Context, id string, v *defaultversion.Settings) error {
55+
return nil
56+
}
57+
58+
func (me *service) Delete(ctx context.Context, id string) error {
59+
return nil
3160
}

dynatrace/api/builtin/deployment/oneagent/defaultversion/settings/settings.go

Lines changed: 10 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -18,11 +18,8 @@
1818
package defaultversion
1919

2020
import (
21-
"fmt"
22-
2321
"github.com/dynatrace-oss/terraform-provider-dynatrace/terraform/hcl"
2422
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema"
25-
"golang.org/x/exp/slices"
2623
)
2724

2825
type Settings struct {
@@ -37,14 +34,18 @@ func (me *Settings) Name() string {
3734
func (me *Settings) Schema() map[string]*schema.Schema {
3835
return map[string]*schema.Schema{
3936
"default_version": {
40-
Type: schema.TypeString,
41-
Description: "Default version",
42-
Required: true,
37+
Type: schema.TypeString,
38+
Description: "Default version",
39+
Required: true,
40+
StateFunc: func(i any) string { return "" },
41+
DiffSuppressFunc: func(k, oldValue, newValue string, d *schema.ResourceData) bool { return true },
4342
},
4443
"revision": {
45-
Type: schema.TypeString,
46-
Description: "Revision",
47-
Optional: true, // precondition
44+
Type: schema.TypeString,
45+
Description: "Revision",
46+
Optional: true, // precondition
47+
StateFunc: func(i any) string { return "" },
48+
DiffSuppressFunc: func(k, oldValue, newValue string, d *schema.ResourceData) bool { return true },
4849
},
4950
}
5051
}
@@ -56,13 +57,6 @@ func (me *Settings) MarshalHCL(properties hcl.Properties) error {
5657
})
5758
}
5859

59-
func (me *Settings) HandlePreconditions() error {
60-
if me.Revision == nil && !slices.Contains([]string{"latest"}, string(me.DefaultVersion)) {
61-
return fmt.Errorf("'revision' must be specified if 'default_version' is not set to '%v'", me.DefaultVersion)
62-
}
63-
return nil
64-
}
65-
6660
func (me *Settings) UnmarshalHCL(decoder hcl.Decoder) error {
6761
return decoder.DecodeAll(map[string]any{
6862
"default_version": &me.DefaultVersion,
Lines changed: 3 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -1,30 +1,7 @@
11
---
22
layout: ""
33
page_title: dynatrace_oneagent_default_version Resource - terraform-provider-dynatrace"
4-
subcategory: "Environment Settings"
4+
subcategory: "Deprecated"
55
description: |-
6-
The resource `dynatrace_oneagent_default_version` covers configuration for OneAgent default version
7-
---
8-
9-
# dynatrace_oneagent_default_version (Resource)
10-
11-
-> This resource requires the API token scopes **Read settings** (`settings.read`) and **Write settings** (`settings.write`)
12-
13-
## Dynatrace Documentation
14-
15-
- OneAgent update - https://www.dynatrace.com/support/help/setup-and-configuration/dynatrace-oneagent/oneagent-update
16-
17-
- Settings API - https://www.dynatrace.com/support/help/dynatrace-api/environment-api/settings (schemaId: `builtin:deployment.oneagent.default-version`)
18-
19-
## Export Example Usage
20-
21-
- `terraform-provider-dynatrace -export dynatrace_oneagent_default_version` downloads existing OneAgent default version configuration
22-
23-
The full documentation of the export feature is available [here](https://dt-url.net/h203qmc).
24-
25-
## Resource Example Usage
26-
27-
{{ tffile "dynatrace/api/builtin/deployment/oneagent/defaultversion/testdata/terraform/example_a.tf" }}
28-
29-
{{ .SchemaMarkdown | trimspace }}
30-
6+
The resource `dynatrace_oneagent_default_version` just exists for backwards compatibility. The settings it addresses are no longer configurable. The resource `dynatrace_oneagent_updates` covers this functionality now.
7+
---

0 commit comments

Comments
 (0)