chore(terraform): use a util func to build internal terraform id (#869)
This commit is contained in:
parent
801ef6033d
commit
b313ef6a39
72 changed files with 205 additions and 538 deletions
|
|
@ -494,8 +494,7 @@ func mapFields(ctx context.Context, alertGroup *observability.AlertGroup, model
|
|||
}
|
||||
|
||||
model.Name = types.StringValue(name)
|
||||
idParts := []string{model.ProjectId.ValueString(), model.InstanceId.ValueString(), name}
|
||||
model.Id = types.StringValue(strings.Join(idParts, core.Separator))
|
||||
model.Id = utils.BuildInternalTerraformId(model.ProjectId.ValueString(), model.InstanceId.ValueString(), name)
|
||||
|
||||
var interval string
|
||||
if !utils.IsUndefined(model.Interval) {
|
||||
|
|
|
|||
|
|
@ -4,7 +4,6 @@ import (
|
|||
"context"
|
||||
"fmt"
|
||||
"net/http"
|
||||
"strings"
|
||||
|
||||
"github.com/stackitcloud/terraform-provider-stackit/stackit/internal/conversion"
|
||||
observabilityUtils "github.com/stackitcloud/terraform-provider-stackit/stackit/internal/services/observability/utils"
|
||||
|
|
@ -165,13 +164,8 @@ func mapFields(r *observability.Credentials, model *Model) error {
|
|||
} else {
|
||||
return fmt.Errorf("username id not present")
|
||||
}
|
||||
idParts := []string{
|
||||
model.ProjectId.ValueString(),
|
||||
model.InstanceId.ValueString(),
|
||||
userName,
|
||||
}
|
||||
model.Id = types.StringValue(
|
||||
strings.Join(idParts, core.Separator),
|
||||
model.Id = utils.BuildInternalTerraformId(
|
||||
model.ProjectId.ValueString(), model.InstanceId.ValueString(), userName,
|
||||
)
|
||||
model.Username = types.StringPointerValue(r.Username)
|
||||
model.Password = types.StringPointerValue(r.Password)
|
||||
|
|
|
|||
|
|
@ -7,6 +7,8 @@ import (
|
|||
"strconv"
|
||||
"strings"
|
||||
|
||||
"github.com/stackitcloud/terraform-provider-stackit/stackit/internal/utils"
|
||||
|
||||
observabilityUtils "github.com/stackitcloud/terraform-provider-stackit/stackit/internal/services/observability/utils"
|
||||
|
||||
"github.com/hashicorp/terraform-plugin-framework-validators/listvalidator"
|
||||
|
|
@ -27,7 +29,7 @@ import (
|
|||
"github.com/hashicorp/terraform-plugin-framework/types/basetypes"
|
||||
"github.com/hashicorp/terraform-plugin-log/tflog"
|
||||
"github.com/stackitcloud/stackit-sdk-go/core/oapierror"
|
||||
"github.com/stackitcloud/stackit-sdk-go/core/utils"
|
||||
sdkUtils "github.com/stackitcloud/stackit-sdk-go/core/utils"
|
||||
"github.com/stackitcloud/stackit-sdk-go/services/observability"
|
||||
"github.com/stackitcloud/stackit-sdk-go/services/observability/wait"
|
||||
"github.com/stackitcloud/terraform-provider-stackit/stackit/internal/conversion"
|
||||
|
|
@ -1290,13 +1292,7 @@ func mapFields(ctx context.Context, r *observability.GetInstanceResponse, model
|
|||
return fmt.Errorf("instance id not present")
|
||||
}
|
||||
|
||||
idParts := []string{
|
||||
model.ProjectId.ValueString(),
|
||||
instanceId,
|
||||
}
|
||||
model.Id = types.StringValue(
|
||||
strings.Join(idParts, core.Separator),
|
||||
)
|
||||
model.Id = utils.BuildInternalTerraformId(model.ProjectId.ValueString(), instanceId)
|
||||
model.InstanceId = types.StringValue(instanceId)
|
||||
model.PlanName = types.StringPointerValue(r.PlanName)
|
||||
model.PlanId = types.StringPointerValue(r.PlanId)
|
||||
|
|
@ -1573,19 +1569,19 @@ func mapGlobalConfigToAttributes(respGlobalConfigs *observability.Global, global
|
|||
if globalConfigsTF != nil {
|
||||
if respGlobalConfigs.SmtpSmarthost == nil &&
|
||||
!globalConfigsTF.SmtpSmartHost.IsNull() && !globalConfigsTF.SmtpSmartHost.IsUnknown() {
|
||||
smtpSmartHost = utils.Ptr(globalConfigsTF.SmtpSmartHost.ValueString())
|
||||
smtpSmartHost = sdkUtils.Ptr(globalConfigsTF.SmtpSmartHost.ValueString())
|
||||
}
|
||||
if respGlobalConfigs.SmtpAuthIdentity == nil &&
|
||||
!globalConfigsTF.SmtpAuthIdentity.IsNull() && !globalConfigsTF.SmtpAuthIdentity.IsUnknown() {
|
||||
smtpAuthIdentity = utils.Ptr(globalConfigsTF.SmtpAuthIdentity.ValueString())
|
||||
smtpAuthIdentity = sdkUtils.Ptr(globalConfigsTF.SmtpAuthIdentity.ValueString())
|
||||
}
|
||||
if respGlobalConfigs.SmtpAuthPassword == nil &&
|
||||
!globalConfigsTF.SmtpAuthPassword.IsNull() && !globalConfigsTF.SmtpAuthPassword.IsUnknown() {
|
||||
smtpAuthPassword = utils.Ptr(globalConfigsTF.SmtpAuthPassword.ValueString())
|
||||
smtpAuthPassword = sdkUtils.Ptr(globalConfigsTF.SmtpAuthPassword.ValueString())
|
||||
}
|
||||
if respGlobalConfigs.SmtpAuthUsername == nil &&
|
||||
!globalConfigsTF.SmtpAuthUsername.IsNull() && !globalConfigsTF.SmtpAuthUsername.IsUnknown() {
|
||||
smtpAuthUsername = utils.Ptr(globalConfigsTF.SmtpAuthUsername.ValueString())
|
||||
smtpAuthUsername = sdkUtils.Ptr(globalConfigsTF.SmtpAuthUsername.ValueString())
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -1878,7 +1874,7 @@ func toUpdateMetricsStorageRetentionPayload(retentionDaysRaw, retentionDays5m, r
|
|||
|
||||
func updateACL(ctx context.Context, projectId, instanceId string, acl []string, client *observability.APIClient) error {
|
||||
payload := observability.UpdateACLPayload{
|
||||
Acl: utils.Ptr(acl),
|
||||
Acl: sdkUtils.Ptr(acl),
|
||||
}
|
||||
|
||||
_, err := client.UpdateACL(ctx, instanceId, projectId).UpdateACLPayload(payload).Execute()
|
||||
|
|
|
|||
|
|
@ -494,8 +494,7 @@ func mapFields(ctx context.Context, alertGroup *observability.AlertGroup, model
|
|||
}
|
||||
|
||||
model.Name = types.StringValue(name)
|
||||
idParts := []string{model.ProjectId.ValueString(), model.InstanceId.ValueString(), name}
|
||||
model.Id = types.StringValue(strings.Join(idParts, core.Separator))
|
||||
model.Id = utils.BuildInternalTerraformId(model.ProjectId.ValueString(), model.InstanceId.ValueString(), name)
|
||||
|
||||
var interval string
|
||||
if !utils.IsUndefined(model.Interval) {
|
||||
|
|
|
|||
|
|
@ -7,6 +7,8 @@ import (
|
|||
"strings"
|
||||
"time"
|
||||
|
||||
"github.com/stackitcloud/terraform-provider-stackit/stackit/internal/utils"
|
||||
|
||||
observabilityUtils "github.com/stackitcloud/terraform-provider-stackit/stackit/internal/services/observability/utils"
|
||||
|
||||
"github.com/hashicorp/terraform-plugin-framework-validators/int64validator"
|
||||
|
|
@ -28,7 +30,7 @@ import (
|
|||
"github.com/hashicorp/terraform-plugin-framework/types/basetypes"
|
||||
"github.com/hashicorp/terraform-plugin-log/tflog"
|
||||
"github.com/stackitcloud/stackit-sdk-go/core/oapierror"
|
||||
"github.com/stackitcloud/stackit-sdk-go/core/utils"
|
||||
sdkUtils "github.com/stackitcloud/stackit-sdk-go/core/utils"
|
||||
"github.com/stackitcloud/stackit-sdk-go/services/observability"
|
||||
"github.com/stackitcloud/stackit-sdk-go/services/observability/wait"
|
||||
"github.com/stackitcloud/terraform-provider-stackit/stackit/internal/conversion"
|
||||
|
|
@ -545,16 +547,8 @@ func mapFields(ctx context.Context, sc *observability.Job, model *Model) error {
|
|||
return fmt.Errorf("scrape config name not present")
|
||||
}
|
||||
|
||||
idParts := []string{
|
||||
model.ProjectId.ValueString(),
|
||||
model.InstanceId.ValueString(),
|
||||
scName,
|
||||
}
|
||||
model.Id = types.StringValue(
|
||||
strings.Join(idParts, core.Separator),
|
||||
)
|
||||
model.Id = utils.BuildInternalTerraformId(model.ProjectId.ValueString(), model.InstanceId.ValueString(), scName)
|
||||
model.Name = types.StringValue(scName)
|
||||
|
||||
model.MetricsPath = types.StringPointerValue(sc.MetricsPath)
|
||||
model.Scheme = types.StringValue(string(sc.GetScheme()))
|
||||
model.ScrapeInterval = types.StringPointerValue(sc.ScrapeInterval)
|
||||
|
|
@ -694,7 +688,7 @@ func toCreatePayload(ctx context.Context, model *Model, saml2Model *saml2Model,
|
|||
ScrapeInterval: conversion.StringValueToPointer(model.ScrapeInterval),
|
||||
ScrapeTimeout: conversion.StringValueToPointer(model.ScrapeTimeout),
|
||||
// potentially lossy conversion, depending on the allowed range for sample_limit
|
||||
SampleLimit: utils.Ptr(float64(model.SampleLimit.ValueInt64())),
|
||||
SampleLimit: sdkUtils.Ptr(float64(model.SampleLimit.ValueInt64())),
|
||||
Scheme: observability.CreateScrapeConfigPayloadGetSchemeAttributeType(conversion.StringValueToPointer(model.Scheme)),
|
||||
}
|
||||
setDefaultsCreateScrapeConfig(&sc, model, saml2Model)
|
||||
|
|
@ -750,13 +744,13 @@ func setDefaultsCreateScrapeConfig(sc *observability.CreateScrapeConfigPayload,
|
|||
sc.Scheme = DefaultScheme.Ptr()
|
||||
}
|
||||
if model.ScrapeInterval.IsNull() || model.ScrapeInterval.IsUnknown() {
|
||||
sc.ScrapeInterval = utils.Ptr(DefaultScrapeInterval)
|
||||
sc.ScrapeInterval = sdkUtils.Ptr(DefaultScrapeInterval)
|
||||
}
|
||||
if model.ScrapeTimeout.IsNull() || model.ScrapeTimeout.IsUnknown() {
|
||||
sc.ScrapeTimeout = utils.Ptr(DefaultScrapeTimeout)
|
||||
sc.ScrapeTimeout = sdkUtils.Ptr(DefaultScrapeTimeout)
|
||||
}
|
||||
if model.SampleLimit.IsNull() || model.SampleLimit.IsUnknown() {
|
||||
sc.SampleLimit = utils.Ptr(float64(DefaultSampleLimit))
|
||||
sc.SampleLimit = sdkUtils.Ptr(float64(DefaultSampleLimit))
|
||||
}
|
||||
// Make the API default more explicit by setting the field.
|
||||
if saml2Model.EnableURLParameters.IsNull() || saml2Model.EnableURLParameters.IsUnknown() {
|
||||
|
|
@ -783,7 +777,7 @@ func toUpdatePayload(ctx context.Context, model *Model, saml2Model *saml2Model,
|
|||
ScrapeInterval: conversion.StringValueToPointer(model.ScrapeInterval),
|
||||
ScrapeTimeout: conversion.StringValueToPointer(model.ScrapeTimeout),
|
||||
// potentially lossy conversion, depending on the allowed range for sample_limit
|
||||
SampleLimit: utils.Ptr(float64(model.SampleLimit.ValueInt64())),
|
||||
SampleLimit: sdkUtils.Ptr(float64(model.SampleLimit.ValueInt64())),
|
||||
Scheme: observability.UpdateScrapeConfigPayloadGetSchemeAttributeType(conversion.StringValueToPointer(model.Scheme)),
|
||||
}
|
||||
setDefaultsUpdateScrapeConfig(&sc, model)
|
||||
|
|
@ -839,12 +833,12 @@ func setDefaultsUpdateScrapeConfig(sc *observability.UpdateScrapeConfigPayload,
|
|||
sc.Scheme = observability.UpdateScrapeConfigPayloadGetSchemeAttributeType(DefaultScheme.Ptr())
|
||||
}
|
||||
if model.ScrapeInterval.IsNull() || model.ScrapeInterval.IsUnknown() {
|
||||
sc.ScrapeInterval = utils.Ptr(DefaultScrapeInterval)
|
||||
sc.ScrapeInterval = sdkUtils.Ptr(DefaultScrapeInterval)
|
||||
}
|
||||
if model.ScrapeTimeout.IsNull() || model.ScrapeTimeout.IsUnknown() {
|
||||
sc.ScrapeTimeout = utils.Ptr(DefaultScrapeTimeout)
|
||||
sc.ScrapeTimeout = sdkUtils.Ptr(DefaultScrapeTimeout)
|
||||
}
|
||||
if model.SampleLimit.IsNull() || model.SampleLimit.IsUnknown() {
|
||||
sc.SampleLimit = utils.Ptr(float64(DefaultSampleLimit))
|
||||
sc.SampleLimit = sdkUtils.Ptr(float64(DefaultSampleLimit))
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue