From f0922712c204a0cb851b2d9b4a28d98ce7f2fb93 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 29 Jan 2026 07:07:43 +0000 Subject: [PATCH 1/3] chore(deps): bump github.com/stackitcloud/stackit-sdk-go/services/observability Bumps [github.com/stackitcloud/stackit-sdk-go/services/observability](https://github.com/stackitcloud/stackit-sdk-go) from 0.15.1 to 0.16.1. - [Release notes](https://github.com/stackitcloud/stackit-sdk-go/releases) - [Changelog](https://github.com/stackitcloud/stackit-sdk-go/blob/main/CHANGELOG.md) - [Commits](https://github.com/stackitcloud/stackit-sdk-go/compare/core/v0.15.1...services/mongodbflex/v0.16.1) --- updated-dependencies: - dependency-name: github.com/stackitcloud/stackit-sdk-go/services/observability dependency-version: 0.16.1 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index e700f0849..443fc61d7 100644 --- a/go.mod +++ b/go.mod @@ -25,7 +25,7 @@ require ( github.com/stackitcloud/stackit-sdk-go/services/modelserving v0.6.3 github.com/stackitcloud/stackit-sdk-go/services/mongodbflex v1.5.5 github.com/stackitcloud/stackit-sdk-go/services/objectstorage v1.4.2 - github.com/stackitcloud/stackit-sdk-go/services/observability v0.15.1 + github.com/stackitcloud/stackit-sdk-go/services/observability v0.16.1 github.com/stackitcloud/stackit-sdk-go/services/opensearch v0.24.4 github.com/stackitcloud/stackit-sdk-go/services/postgresflex v1.3.2 github.com/stackitcloud/stackit-sdk-go/services/rabbitmq v0.25.3 diff --git a/go.sum b/go.sum index e75fed2bb..136178a00 100644 --- a/go.sum +++ b/go.sum @@ -179,8 +179,8 @@ github.com/stackitcloud/stackit-sdk-go/services/mongodbflex v1.5.5 h1:tPISli81nu github.com/stackitcloud/stackit-sdk-go/services/mongodbflex v1.5.5/go.mod h1:G/UD3tzPzzu79MiFWUYqogxdLMB+YArNHR6Yqz7Cqr0= github.com/stackitcloud/stackit-sdk-go/services/objectstorage v1.4.2 h1:nsC6oA1whA4ibxEuD+0Osngmnpz8dLdV6bv+9jYP4Eo= github.com/stackitcloud/stackit-sdk-go/services/objectstorage v1.4.2/go.mod h1:WA6QlAAQ8aaw81W0VSVoDrxOfchGkdtmn2jQL/ub/50= -github.com/stackitcloud/stackit-sdk-go/services/observability v0.15.1 h1:zk+47GhutK2ajO4Yiek0laGm2PdXvY8BvFZc8yHFnSE= -github.com/stackitcloud/stackit-sdk-go/services/observability v0.15.1/go.mod h1:vapb/sJqbHlf+c7pZWdE9GqrbyI8wesGvUc9o7oJ1Xk= +github.com/stackitcloud/stackit-sdk-go/services/observability v0.16.1 h1:FKeW3uiMXRl6Oau3xE6yBriXh4t7CwPb8QH6PR0uQXM= +github.com/stackitcloud/stackit-sdk-go/services/observability v0.16.1/go.mod h1:RiknJnL3OuU9wb2lyb80Hu+EnlyDQMG8vejDV7B9a5U= github.com/stackitcloud/stackit-sdk-go/services/opensearch v0.24.4 h1:ppmezCAc8XBW6sdS5lvV6Edx0FOPwC/fosvH3FEIdps= github.com/stackitcloud/stackit-sdk-go/services/opensearch v0.24.4/go.mod h1:c509eL4M/Qdg4FGT6qTh7r4E07FtB2Ui3sbbLERUBqk= github.com/stackitcloud/stackit-sdk-go/services/postgresflex v1.3.2 h1:uQIpj0phDRGrV78/vhtULwxaO2cBdHwqZcFKYUrH1Hs= From 17769451e2c84a1ce47549a4a0b35d311afb1b8f Mon Sep 17 00:00:00 2001 From: Alexander Dahmen Date: Thu, 29 Jan 2026 08:32:57 +0100 Subject: [PATCH 2/3] fix(logalertgroup): Adjust toRulesPayload() Signed-off-by: Alexander Dahmen --- .../services/observability/log-alertgroup/resource.go | 8 ++++---- .../observability/log-alertgroup/resource_test.go | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/stackit/internal/services/observability/log-alertgroup/resource.go b/stackit/internal/services/observability/log-alertgroup/resource.go index 855b6300a..861461c45 100644 --- a/stackit/internal/services/observability/log-alertgroup/resource.go +++ b/stackit/internal/services/observability/log-alertgroup/resource.go @@ -412,9 +412,9 @@ func toCreatePayload(ctx context.Context, model *Model) (*observability.CreateLo } // toRulesPayload generates rules for create payload. -func toRulesPayload(ctx context.Context, model *Model) ([]observability.UpdateAlertgroupsRequestInnerRulesInner, error) { +func toRulesPayload(ctx context.Context, model *Model) ([]observability.CreateLogsAlertgroupsPayloadRulesInner, error) { if model.Rules.Elements() == nil || len(model.Rules.Elements()) == 0 { - return []observability.UpdateAlertgroupsRequestInnerRulesInner{}, nil + return []observability.CreateLogsAlertgroupsPayloadRulesInner{}, nil } var rules []rule @@ -423,10 +423,10 @@ func toRulesPayload(ctx context.Context, model *Model) ([]observability.UpdateAl return nil, core.DiagsToError(diags) } - var oarrs []observability.UpdateAlertgroupsRequestInnerRulesInner + var oarrs []observability.CreateLogsAlertgroupsPayloadRulesInner for i := range rules { rule := &rules[i] - oarr := observability.UpdateAlertgroupsRequestInnerRulesInner{} + oarr := observability.CreateLogsAlertgroupsPayloadRulesInner{} if !utils.IsUndefined(rule.Alert) { alert := conversion.StringValueToPointer(rule.Alert) diff --git a/stackit/internal/services/observability/log-alertgroup/resource_test.go b/stackit/internal/services/observability/log-alertgroup/resource_test.go index 4f3bd60bb..193cb65b3 100644 --- a/stackit/internal/services/observability/log-alertgroup/resource_test.go +++ b/stackit/internal/services/observability/log-alertgroup/resource_test.go @@ -80,7 +80,7 @@ func TestToCreatePayload(t *testing.T) { expect: &observability.CreateLogsAlertgroupsPayload{ Name: utils.Ptr("full-alertgroup"), Interval: utils.Ptr("10m"), - Rules: &[]observability.UpdateAlertgroupsRequestInnerRulesInner{ + Rules: &[]observability.CreateLogsAlertgroupsPayloadRulesInner{ { Alert: utils.Ptr("alert"), Annotations: &map[string]interface{}{ From 3f5012aadb6c3bdbaba4a7b533660a3e7e42cebe Mon Sep 17 00:00:00 2001 From: Alexander Dahmen Date: Thu, 29 Jan 2026 10:33:50 +0100 Subject: [PATCH 3/3] chore(observability): Remove grafanaAdminUser and grafanaAdminPassword. Add grafanaAdminEnabled field. Signed-off-by: Alexander Dahmen --- docs/data-sources/observability_instance.md | 3 +- docs/resources/observability_instance.md | 3 +- docs/resources/volume.md | 2 +- .../observability/instance/datasource.go | 9 ++---- .../observability/instance/resource.go | 30 +++++++------------ .../observability/observability_acc_test.go | 18 +++++------ .../observability/testdata/resource-max.tf | 8 +++-- .../observability/testdata/resource-min.tf | 8 +++-- 8 files changed, 33 insertions(+), 48 deletions(-) diff --git a/docs/data-sources/observability_instance.md b/docs/data-sources/observability_instance.md index bd6b3fd2b..218be96a9 100644 --- a/docs/data-sources/observability_instance.md +++ b/docs/data-sources/observability_instance.md @@ -33,8 +33,7 @@ data "stackit_observability_instance" "example" { - `alert_config` (Attributes) Alert configuration for the instance. (see [below for nested schema](#nestedatt--alert_config)) - `alerting_url` (String) Specifies Alerting URL. - `dashboard_url` (String) Specifies Observability instance dashboard URL. -- `grafana_initial_admin_password` (String, Sensitive) Specifies an initial Grafana admin password. -- `grafana_initial_admin_user` (String) Specifies an initial Grafana admin username. +- `grafana_admin_enabled` (Boolean) If true, a default Grafana server admin user was created. - `grafana_public_read_access` (Boolean) If true, anyone can access Grafana dashboards without logging in. - `grafana_url` (String) Specifies Grafana URL. - `id` (String) Terraform's internal data source. ID. It is structured as "`project_id`,`instance_id`". diff --git a/docs/resources/observability_instance.md b/docs/resources/observability_instance.md index fe8a5dbbd..7f2e5ade8 100644 --- a/docs/resources/observability_instance.md +++ b/docs/resources/observability_instance.md @@ -45,6 +45,7 @@ import { - `acl` (Set of String) The access control list for this instance. Each entry is an IP address range that is permitted to access, in CIDR notation. - `alert_config` (Attributes) Alert configuration for the instance. (see [below for nested schema](#nestedatt--alert_config)) +- `grafana_admin_enabled` (Boolean) If true, a default Grafana server admin user is created. It's recommended to set this to false and use STACKIT SSO (Owner or Observability Grafana Server Admin role) instead. It is still possible to manually create a new Grafana admin user via the Grafana UI later. - `logs_retention_days` (Number) Specifies for how many days the logs are kept. Default is set to `7`. - `metrics_retention_days` (Number) Specifies for how many days the raw metrics are kept. Default is set to `90`. - `metrics_retention_days_1h_downsampling` (Number) Specifies for how many days the 1h downsampled metrics are kept. must be less than the value of the 5m downsampling retention. Default is set to `90`. @@ -56,8 +57,6 @@ import { - `alerting_url` (String) Specifies Alerting URL. - `dashboard_url` (String) Specifies Observability instance dashboard URL. -- `grafana_initial_admin_password` (String, Sensitive) Specifies an initial Grafana admin password. -- `grafana_initial_admin_user` (String) Specifies an initial Grafana admin username. - `grafana_public_read_access` (Boolean) If true, anyone can access Grafana dashboards without logging in. - `grafana_url` (String) Specifies Grafana URL. - `id` (String) Terraform's internal resource ID. It is structured as "`project_id`,`instance_id`". diff --git a/docs/resources/volume.md b/docs/resources/volume.md index 125fed296..fb57dff6d 100644 --- a/docs/resources/volume.md +++ b/docs/resources/volume.md @@ -72,7 +72,7 @@ Required: Optional: - `key_payload_base64` (String, Sensitive) Optional predefined secret, which will be encrypted against the key-encryption-key within the STACKIT-KMS. If not defined, a random secret will be generated by the API and encrypted against the STACKIT-KMS. If a key-payload is provided here, it must be base64 encoded. -- `key_payload_base64_wo` (String, Sensitive, [Write-only](https://developer.hashicorp.com/terraform/language/resources/ephemeral#write-only-arguments)) Optional predefined secret, which will be encrypted against the key-encryption-key within the STACKIT-KMS. If not defined, a random secret will be generated by the API and encrypted against the STACKIT-KMS. If a key-payload is provided here, it must be base64 encoded. +- `key_payload_base64_wo` (String, Sensitive) Optional predefined secret, which will be encrypted against the key-encryption-key within the STACKIT-KMS. If not defined, a random secret will be generated by the API and encrypted against the STACKIT-KMS. If a key-payload is provided here, it must be base64 encoded. - `key_payload_base64_wo_version` (Number) Used together with `key_payload_base64_wo` to trigger an re-create. Increment this value when an update to `key_payload_base64_wo` is required. diff --git a/stackit/internal/services/observability/instance/datasource.go b/stackit/internal/services/observability/instance/datasource.go index 31b6cbd59..c892770da 100644 --- a/stackit/internal/services/observability/instance/datasource.go +++ b/stackit/internal/services/observability/instance/datasource.go @@ -123,15 +123,10 @@ func (d *instanceDataSource) Schema(_ context.Context, _ datasource.SchemaReques Description: "Specifies Grafana URL.", Computed: true, }, - "grafana_initial_admin_user": schema.StringAttribute{ - Description: "Specifies an initial Grafana admin username.", + "grafana_admin_enabled": schema.BoolAttribute{ + Description: "If true, a default Grafana server admin user was created.", Computed: true, }, - "grafana_initial_admin_password": schema.StringAttribute{ - Description: "Specifies an initial Grafana admin password.", - Computed: true, - Sensitive: true, - }, "traces_retention_days": schema.Int64Attribute{ Description: "Specifies for how many days the traces are kept. Default is set to `7`.", Computed: true, diff --git a/stackit/internal/services/observability/instance/resource.go b/stackit/internal/services/observability/instance/resource.go index 2afaaf577..0d68dd79c 100644 --- a/stackit/internal/services/observability/instance/resource.go +++ b/stackit/internal/services/observability/instance/resource.go @@ -63,8 +63,7 @@ type Model struct { IsUpdatable types.Bool `tfsdk:"is_updatable"` GrafanaURL types.String `tfsdk:"grafana_url"` GrafanaPublicReadAccess types.Bool `tfsdk:"grafana_public_read_access"` - GrafanaInitialAdminPassword types.String `tfsdk:"grafana_initial_admin_password"` - GrafanaInitialAdminUser types.String `tfsdk:"grafana_initial_admin_user"` + GrafanaAdminEnabled types.Bool `tfsdk:"grafana_admin_enabled"` MetricsRetentionDays types.Int64 `tfsdk:"metrics_retention_days"` MetricsRetentionDays5mDownsampling types.Int64 `tfsdk:"metrics_retention_days_5m_downsampling"` MetricsRetentionDays1hDownsampling types.Int64 `tfsdk:"metrics_retention_days_1h_downsampling"` @@ -500,20 +499,11 @@ func (r *instanceResource) Schema(_ context.Context, _ resource.SchemaRequest, r stringplanmodifier.UseStateForUnknown(), }, }, - "grafana_initial_admin_user": schema.StringAttribute{ - Description: "Specifies an initial Grafana admin username.", - Computed: true, - PlanModifiers: []planmodifier.String{ - stringplanmodifier.UseStateForUnknown(), - }, - }, - "grafana_initial_admin_password": schema.StringAttribute{ - Description: "Specifies an initial Grafana admin password.", + "grafana_admin_enabled": schema.BoolAttribute{ + Description: "If true, a default Grafana server admin user is created. It's recommended to set this to false and use STACKIT SSO (Owner or Observability Grafana Server Admin role) instead. It is still possible to manually create a new Grafana admin user via the Grafana UI later.", + Optional: true, Computed: true, - Sensitive: true, - PlanModifiers: []planmodifier.String{ - stringplanmodifier.UseStateForUnknown(), - }, + Default: booldefault.StaticBool(true), }, "traces_retention_days": schema.Int64Attribute{ Description: "Specifies for how many days the traces are kept. Default is set to `7`.", @@ -1558,8 +1548,6 @@ func mapFields(ctx context.Context, r *observability.GetInstanceResponse, model i := *r.Instance model.GrafanaURL = types.StringPointerValue(i.GrafanaUrl) model.GrafanaPublicReadAccess = types.BoolPointerValue(i.GrafanaPublicReadAccess) - model.GrafanaInitialAdminPassword = types.StringPointerValue(i.GrafanaAdminPassword) - model.GrafanaInitialAdminUser = types.StringPointerValue(i.GrafanaAdminUser) model.MetricsURL = types.StringPointerValue(i.MetricsUrl) model.MetricsPushURL = types.StringPointerValue(i.PushMetricsUrl) model.TargetsURL = types.StringPointerValue(i.TargetsUrl) @@ -1570,6 +1558,7 @@ func mapFields(ctx context.Context, r *observability.GetInstanceResponse, model model.JaegerUIURL = types.StringPointerValue(i.JaegerUiUrl) model.OtlpTracesURL = types.StringPointerValue(i.OtlpTracesUrl) model.ZipkinSpansURL = types.StringPointerValue(i.ZipkinSpansUrl) + model.GrafanaAdminEnabled = types.BoolPointerValue(i.GrafanaAdminEnabled) } return nil @@ -2128,9 +2117,10 @@ func toCreatePayload(model *Model) (*observability.CreateInstancePayload, error) pa[k] = elements[k].String() } return &observability.CreateInstancePayload{ - Name: conversion.StringValueToPointer(model.Name), - PlanId: conversion.StringValueToPointer(model.PlanId), - Parameter: &pa, + GrafanaAdminEnabled: conversion.BoolValueToPointer(model.GrafanaAdminEnabled), + Name: conversion.StringValueToPointer(model.Name), + PlanId: conversion.StringValueToPointer(model.PlanId), + Parameter: &pa, }, nil } diff --git a/stackit/internal/services/observability/observability_acc_test.go b/stackit/internal/services/observability/observability_acc_test.go index 9e5393f74..4098394e4 100644 --- a/stackit/internal/services/observability/observability_acc_test.go +++ b/stackit/internal/services/observability/observability_acc_test.go @@ -47,6 +47,7 @@ var testConfigVarsMin = config.Variables{ "scrapeconfig_name": config.StringVariable(fmt.Sprintf("tf-acc-sc%s", acctest.RandStringFromCharSet(5, acctest.CharSetAlphaNum))), "scrapeconfig_metrics_path": config.StringVariable("/metrics"), "scrapeconfig_targets_url": config.StringVariable("www.y97xyrrocx2gsxx.de"), + "grafana_admin_enabled": config.StringVariable("true"), } var testConfigVarsMax = config.Variables{ @@ -63,6 +64,7 @@ var testConfigVarsMax = config.Variables{ "scrapeconfig_metrics_path": config.StringVariable("/metrics"), "scrapeconfig_targets_url_1": config.StringVariable("www.y97xyrrocx2gsxx.de"), "scrapeconfig_targets_url_2": config.StringVariable("f6zkn8gzeigwanh.de"), + "grafana_admin_enabled": config.StringVariable("true"), // alert group "alert_for_time": config.StringVariable("60s"), "alert_label": config.StringVariable("label1"), @@ -162,12 +164,11 @@ func TestAccResourceMin(t *testing.T) { resource.TestCheckResourceAttrSet("stackit_observability_instance.instance", "instance_id"), resource.TestCheckResourceAttr("stackit_observability_instance.instance", "name", testutil.ConvertConfigVariable(testConfigVarsMin["instance_name"])), resource.TestCheckResourceAttr("stackit_observability_instance.instance", "plan_name", testutil.ConvertConfigVariable(testConfigVarsMin["plan_name"])), + resource.TestCheckResourceAttr("stackit_observability_instance.instance", "grafana_admin_enabled", testutil.ConvertConfigVariable(testConfigVarsMin["grafana_admin_enabled"])), resource.TestCheckResourceAttrSet("stackit_observability_instance.instance", "dashboard_url"), resource.TestCheckResourceAttrSet("stackit_observability_instance.instance", "is_updatable"), resource.TestCheckResourceAttrSet("stackit_observability_instance.instance", "grafana_public_read_access"), resource.TestCheckResourceAttrSet("stackit_observability_instance.instance", "grafana_url"), - resource.TestCheckResourceAttrSet("stackit_observability_instance.instance", "grafana_initial_admin_user"), - resource.TestCheckResourceAttrSet("stackit_observability_instance.instance", "grafana_initial_admin_password"), resource.TestCheckResourceAttrSet("stackit_observability_instance.instance", "metrics_url"), resource.TestCheckResourceAttrSet("stackit_observability_instance.instance", "metrics_push_url"), resource.TestCheckResourceAttrSet("stackit_observability_instance.instance", "targets_url"), @@ -261,6 +262,7 @@ func TestAccResourceMin(t *testing.T) { resource.TestCheckResourceAttrSet("data.stackit_observability_instance.instance", "instance_id"), resource.TestCheckResourceAttr("data.stackit_observability_instance.instance", "name", testutil.ConvertConfigVariable(testConfigVarsMin["instance_name"])), resource.TestCheckResourceAttr("data.stackit_observability_instance.instance", "plan_name", testutil.ConvertConfigVariable(testConfigVarsMin["plan_name"])), + resource.TestCheckResourceAttr("data.stackit_observability_instance.instance", "grafana_admin_enabled", testutil.ConvertConfigVariable(testConfigVarsMin["grafana_admin_enabled"])), resource.TestCheckResourceAttrPair( "stackit_observability_instance.instance", "project_id", @@ -405,12 +407,11 @@ func TestAccResourceMin(t *testing.T) { resource.TestCheckResourceAttrSet("stackit_observability_instance.instance", "instance_id"), resource.TestCheckResourceAttr("stackit_observability_instance.instance", "name", testutil.ConvertConfigVariable(testConfigVarsMin["instance_name"])), resource.TestCheckResourceAttr("stackit_observability_instance.instance", "plan_name", testutil.ConvertConfigVariable(testConfigVarsMin["plan_name"])), + resource.TestCheckResourceAttr("stackit_observability_instance.instance", "grafana_admin_enabled", testutil.ConvertConfigVariable(testConfigVarsMin["grafana_admin_enabled"])), resource.TestCheckResourceAttrSet("stackit_observability_instance.instance", "dashboard_url"), resource.TestCheckResourceAttrSet("stackit_observability_instance.instance", "is_updatable"), resource.TestCheckResourceAttrSet("stackit_observability_instance.instance", "grafana_public_read_access"), resource.TestCheckResourceAttrSet("stackit_observability_instance.instance", "grafana_url"), - resource.TestCheckResourceAttrSet("stackit_observability_instance.instance", "grafana_initial_admin_user"), - resource.TestCheckResourceAttrSet("stackit_observability_instance.instance", "grafana_initial_admin_password"), resource.TestCheckResourceAttrSet("stackit_observability_instance.instance", "metrics_url"), resource.TestCheckResourceAttrSet("stackit_observability_instance.instance", "metrics_push_url"), resource.TestCheckResourceAttrSet("stackit_observability_instance.instance", "targets_url"), @@ -486,12 +487,11 @@ func TestAccResourceMax(t *testing.T) { resource.TestCheckResourceAttrSet("stackit_observability_instance.instance", "instance_id"), resource.TestCheckResourceAttr("stackit_observability_instance.instance", "name", testutil.ConvertConfigVariable(testConfigVarsMax["instance_name"])), resource.TestCheckResourceAttr("stackit_observability_instance.instance", "plan_name", testutil.ConvertConfigVariable(testConfigVarsMax["plan_name"])), + resource.TestCheckResourceAttr("stackit_observability_instance.instance", "grafana_admin_enabled", testutil.ConvertConfigVariable(testConfigVarsMax["grafana_admin_enabled"])), resource.TestCheckResourceAttrSet("stackit_observability_instance.instance", "dashboard_url"), resource.TestCheckResourceAttrSet("stackit_observability_instance.instance", "is_updatable"), resource.TestCheckResourceAttrSet("stackit_observability_instance.instance", "grafana_public_read_access"), resource.TestCheckResourceAttrSet("stackit_observability_instance.instance", "grafana_url"), - resource.TestCheckResourceAttrSet("stackit_observability_instance.instance", "grafana_initial_admin_user"), - resource.TestCheckResourceAttrSet("stackit_observability_instance.instance", "grafana_initial_admin_password"), resource.TestCheckResourceAttrSet("stackit_observability_instance.instance", "metrics_url"), resource.TestCheckResourceAttrSet("stackit_observability_instance.instance", "metrics_push_url"), resource.TestCheckResourceAttrSet("stackit_observability_instance.instance", "targets_url"), @@ -656,12 +656,11 @@ func TestAccResourceMax(t *testing.T) { resource.TestCheckResourceAttrSet("data.stackit_observability_instance.instance", "instance_id"), resource.TestCheckResourceAttr("data.stackit_observability_instance.instance", "name", testutil.ConvertConfigVariable(testConfigVarsMax["instance_name"])), resource.TestCheckResourceAttr("data.stackit_observability_instance.instance", "plan_name", testutil.ConvertConfigVariable(testConfigVarsMax["plan_name"])), + resource.TestCheckResourceAttr("data.stackit_observability_instance.instance", "grafana_admin_enabled", testutil.ConvertConfigVariable(testConfigVarsMax["grafana_admin_enabled"])), resource.TestCheckResourceAttrSet("data.stackit_observability_instance.instance", "dashboard_url"), resource.TestCheckResourceAttrSet("data.stackit_observability_instance.instance", "is_updatable"), resource.TestCheckResourceAttrSet("data.stackit_observability_instance.instance", "grafana_public_read_access"), resource.TestCheckResourceAttrSet("data.stackit_observability_instance.instance", "grafana_url"), - resource.TestCheckResourceAttrSet("data.stackit_observability_instance.instance", "grafana_initial_admin_user"), - resource.TestCheckResourceAttrSet("data.stackit_observability_instance.instance", "grafana_initial_admin_password"), resource.TestCheckResourceAttrSet("data.stackit_observability_instance.instance", "metrics_url"), resource.TestCheckResourceAttrSet("data.stackit_observability_instance.instance", "metrics_push_url"), resource.TestCheckResourceAttrSet("data.stackit_observability_instance.instance", "targets_url"), @@ -884,12 +883,11 @@ func TestAccResourceMax(t *testing.T) { resource.TestCheckResourceAttrSet("stackit_observability_instance.instance", "instance_id"), resource.TestCheckResourceAttr("stackit_observability_instance.instance", "name", testutil.ConvertConfigVariable(testConfigVarsMax["instance_name"])), resource.TestCheckResourceAttr("stackit_observability_instance.instance", "plan_name", testutil.ConvertConfigVariable(configVarsMaxUpdated()["plan_name"])), + resource.TestCheckResourceAttr("stackit_observability_instance.instance", "grafana_admin_enabled", testutil.ConvertConfigVariable(testConfigVarsMax["grafana_admin_enabled"])), resource.TestCheckResourceAttrSet("stackit_observability_instance.instance", "dashboard_url"), resource.TestCheckResourceAttrSet("stackit_observability_instance.instance", "is_updatable"), resource.TestCheckResourceAttrSet("stackit_observability_instance.instance", "grafana_public_read_access"), resource.TestCheckResourceAttrSet("stackit_observability_instance.instance", "grafana_url"), - resource.TestCheckResourceAttrSet("stackit_observability_instance.instance", "grafana_initial_admin_user"), - resource.TestCheckResourceAttrSet("stackit_observability_instance.instance", "grafana_initial_admin_password"), resource.TestCheckResourceAttrSet("stackit_observability_instance.instance", "metrics_url"), resource.TestCheckResourceAttrSet("stackit_observability_instance.instance", "metrics_push_url"), resource.TestCheckResourceAttrSet("stackit_observability_instance.instance", "targets_url"), diff --git a/stackit/internal/services/observability/testdata/resource-max.tf b/stackit/internal/services/observability/testdata/resource-max.tf index 284602220..e943d2dbc 100644 --- a/stackit/internal/services/observability/testdata/resource-max.tf +++ b/stackit/internal/services/observability/testdata/resource-max.tf @@ -11,6 +11,7 @@ variable "alert_interval" {} variable "instance_name" {} variable "plan_name" {} +variable "grafana_admin_enabled" {} variable "logs_retention_days" {} variable "traces_retention_days" {} variable "metrics_retention_days" {} @@ -100,9 +101,10 @@ resource "stackit_observability_credential" "credential" { } resource "stackit_observability_instance" "instance" { - project_id = var.project_id - name = var.instance_name - plan_name = var.plan_name + project_id = var.project_id + name = var.instance_name + plan_name = var.plan_name + grafana_admin_enabled = var.grafana_admin_enabled logs_retention_days = var.logs_retention_days traces_retention_days = var.traces_retention_days diff --git a/stackit/internal/services/observability/testdata/resource-min.tf b/stackit/internal/services/observability/testdata/resource-min.tf index 68d405f0c..ecaa3b7ae 100644 --- a/stackit/internal/services/observability/testdata/resource-min.tf +++ b/stackit/internal/services/observability/testdata/resource-min.tf @@ -7,6 +7,7 @@ variable "alert_rule_expression" {} variable "instance_name" {} variable "plan_name" {} +variable "grafana_admin_enabled" {} variable "logalertgroup_name" {} variable "logalertgroup_alert" {} @@ -37,9 +38,10 @@ resource "stackit_observability_credential" "credential" { resource "stackit_observability_instance" "instance" { - project_id = var.project_id - name = var.instance_name - plan_name = var.plan_name + project_id = var.project_id + name = var.instance_name + plan_name = var.plan_name + grafana_admin_enabled = var.grafana_admin_enabled } resource "stackit_observability_logalertgroup" "logalertgroup" {