Skip to content

Commit 23b9017

Browse files
update docs
1 parent aae2396 commit 23b9017

File tree

2 files changed

+9
-14
lines changed

2 files changed

+9
-14
lines changed

docs/resources/apps_generic_resource.md

Lines changed: 6 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,11 @@
33
page_title: "grafana_apps_generic_resource Resource - terraform-provider-grafana"
44
subcategory: "Grafana Apps"
55
description: |-
6-
Manages arbitrary Grafana App Platform resources when a typed Terraform resource is not yet available.
6+
Manages arbitrary Grafana App Platform resources when a typed Terraform resource is not yet available. The resource is still experimental; diffing semantics are subject to change - feedback welcome in https://github.com/grafana/terraform-provider-grafana/issues.
77
This resource accepts a Kubernetes-style manifest as the single source of truth for the resource definition. Use HCL merge() if you need to inject Terraform variables into a static manifest file.
8-
Only namespaced App Platform kinds are supported. The provider autodiscovers the namespace from /bootdata on every operation. If autodiscovery does not find a cloud stack namespace, the provider falls back to the explicit stack_id and then org_id provider settings. This means cloud instances work correctly even when org_id is set for legacy API compatibility.
9-
Top-level manifest fields are limited to apiVersion, kind, metadata, spec, and the ignored status field. That allowlist is only for the top level of manifest; manifest.metadata itself is not restricted to a fixed field list. If metadata.namespace is configured, it must match the provider-selected namespace.
8+
Only namespaced App Platform kinds are supported. The provider autodiscovers the namespace from /bootdata on every operation. If autodiscovery does not find a cloud stack namespace, the provider falls back to the explicit stack_id and then org_id provider settings.
9+
Top-level manifest fields are limited to apiVersion, kind, metadata, spec, and the ignored status field. If metadata.namespace is configured, it must match the provider-selected namespace.
1010
Inside manifest.metadata, both Kubernetes name and uid are accepted as input aliases for the object identifier.
11-
The provider discovers the plural API route from Grafana's App Platform discovery endpoints for every operation. If discovery cannot resolve a namespaced route for the requested kind, the operation fails.
1211
The top-level secure argument is write-only and requires Terraform 1.11 or later. Each configured key must set exactly one of create or name, and Terraform only re-sends those secure values when secure_version changes.
1312
Reads refresh managed drift from the API. Metadata drift is limited to the metadata keys you configured; spec is authoritative, so extra remote spec fields are refreshed into state and will drift until Terraform restores the configured object.
1413
Import format:
@@ -20,18 +19,16 @@ description: |-
2019

2120
# grafana_apps_generic_resource (Resource)
2221

23-
Manages arbitrary Grafana App Platform resources when a typed Terraform resource is not yet available.
22+
Manages arbitrary Grafana App Platform resources when a typed Terraform resource is not yet available. The resource is still experimental; diffing semantics are subject to change - feedback welcome in https://github.com/grafana/terraform-provider-grafana/issues.
2423

2524
This resource accepts a Kubernetes-style `manifest` as the single source of truth for the resource definition. Use HCL `merge()` if you need to inject Terraform variables into a static manifest file.
2625

27-
Only namespaced App Platform kinds are supported. The provider autodiscovers the namespace from `/bootdata` on every operation. If autodiscovery does not find a cloud stack namespace, the provider falls back to the explicit `stack_id` and then `org_id` provider settings. This means cloud instances work correctly even when `org_id` is set for legacy API compatibility.
26+
Only namespaced App Platform kinds are supported. The provider autodiscovers the namespace from `/bootdata` on every operation. If autodiscovery does not find a cloud stack namespace, the provider falls back to the explicit `stack_id` and then `org_id` provider settings.
2827

29-
Top-level manifest fields are limited to `apiVersion`, `kind`, `metadata`, `spec`, and the ignored `status` field. That allowlist is only for the top level of `manifest`; `manifest.metadata` itself is not restricted to a fixed field list. If `metadata.namespace` is configured, it must match the provider-selected namespace.
28+
Top-level manifest fields are limited to `apiVersion`, `kind`, `metadata`, `spec`, and the ignored `status` field. If `metadata.namespace` is configured, it must match the provider-selected namespace.
3029

3130
Inside `manifest.metadata`, both Kubernetes `name` and `uid` are accepted as input aliases for the object identifier.
3231

33-
The provider discovers the plural API route from Grafana's App Platform discovery endpoints for every operation. If discovery cannot resolve a namespaced route for the requested kind, the operation fails.
34-
3532
The top-level `secure` argument is write-only and requires Terraform 1.11 or later. Each configured key must set exactly one of `create` or `name`, and Terraform only re-sends those secure values when `secure_version` changes.
3633

3734
Reads refresh managed drift from the API. Metadata drift is limited to the metadata keys you configured; `spec` is authoritative, so extra remote spec fields are refreshed into state and will drift until Terraform restores the configured object.

internal/resources/appplatform/generic/generic_resource.go

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -169,18 +169,16 @@ func (r *genericResource) Schema(_ context.Context, _ tfrsc.SchemaRequest, resp
169169
resp.Schema = schema.Schema{
170170
Description: "Manages arbitrary Grafana App Platform resources when a typed Terraform resource is not yet available.",
171171
MarkdownDescription: `
172-
Manages arbitrary Grafana App Platform resources when a typed Terraform resource is not yet available.
172+
Manages arbitrary Grafana App Platform resources when a typed Terraform resource is not yet available. The resource is still experimental; diffing semantics are subject to change - feedback welcome in https://github.com/grafana/terraform-provider-grafana/issues.
173173
174174
This resource accepts a Kubernetes-style ` + "`manifest`" + ` as the single source of truth for the resource definition. Use HCL ` + "`merge()`" + ` if you need to inject Terraform variables into a static manifest file.
175175
176-
Only namespaced App Platform kinds are supported. The provider autodiscovers the namespace from ` + "`/bootdata`" + ` on every operation. If autodiscovery does not find a cloud stack namespace, the provider falls back to the explicit ` + "`stack_id`" + ` and then ` + "`org_id`" + ` provider settings. This means cloud instances work correctly even when ` + "`org_id`" + ` is set for legacy API compatibility.
176+
Only namespaced App Platform kinds are supported. The provider autodiscovers the namespace from ` + "`/bootdata`" + ` on every operation. If autodiscovery does not find a cloud stack namespace, the provider falls back to the explicit ` + "`stack_id`" + ` and then ` + "`org_id`" + ` provider settings.
177177
178-
Top-level manifest fields are limited to ` + "`apiVersion`" + `, ` + "`kind`" + `, ` + "`metadata`" + `, ` + "`spec`" + `, and the ignored ` + "`status`" + ` field. That allowlist is only for the top level of ` + "`manifest`" + `; ` + "`manifest.metadata`" + ` itself is not restricted to a fixed field list. If ` + "`metadata.namespace`" + ` is configured, it must match the provider-selected namespace.
178+
Top-level manifest fields are limited to ` + "`apiVersion`" + `, ` + "`kind`" + `, ` + "`metadata`" + `, ` + "`spec`" + `, and the ignored ` + "`status`" + ` field. If ` + "`metadata.namespace`" + ` is configured, it must match the provider-selected namespace.
179179
180180
Inside ` + "`manifest.metadata`" + `, both Kubernetes ` + "`name`" + ` and ` + "`uid`" + ` are accepted as input aliases for the object identifier.
181181
182-
The provider discovers the plural API route from Grafana's App Platform discovery endpoints for every operation. If discovery cannot resolve a namespaced route for the requested kind, the operation fails.
183-
184182
The top-level ` + "`secure`" + ` argument is write-only and requires Terraform 1.11 or later. Each configured key must set exactly one of ` + "`create`" + ` or ` + "`name`" + `, and Terraform only re-sends those secure values when ` + "`secure_version`" + ` changes.
185183
186184
Reads refresh managed drift from the API. Metadata drift is limited to the metadata keys you configured; ` + "`spec`" + ` is authoritative, so extra remote spec fields are refreshed into state and will drift until Terraform restores the configured object.

0 commit comments

Comments
 (0)