Skip to content

Commit d1e12fc

Browse files
authored
fix(serverupdate, serverbackup): respect custom endpoint values (#1072)
relates to #1071
1 parent f1a49e6 commit d1e12fc

File tree

1 file changed

+42
-35
lines changed

1 file changed

+42
-35
lines changed

stackit/provider.go

Lines changed: 42 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -128,37 +128,40 @@ type providerModel struct {
128128
PrivateKeyPath types.String `tfsdk:"private_key_path"`
129129
Token types.String `tfsdk:"service_account_token"`
130130
// Deprecated: Use DefaultRegion instead
131-
Region types.String `tfsdk:"region"`
132-
DefaultRegion types.String `tfsdk:"default_region"`
131+
Region types.String `tfsdk:"region"`
132+
DefaultRegion types.String `tfsdk:"default_region"`
133+
134+
// Custom endpoints
135+
AuthorizationCustomEndpoint types.String `tfsdk:"authorization_custom_endpoint"`
133136
CdnCustomEndpoint types.String `tfsdk:"cdn_custom_endpoint"`
134-
DNSCustomEndpoint types.String `tfsdk:"dns_custom_endpoint"`
137+
DnsCustomEndpoint types.String `tfsdk:"dns_custom_endpoint"`
135138
GitCustomEndpoint types.String `tfsdk:"git_custom_endpoint"`
136139
IaaSCustomEndpoint types.String `tfsdk:"iaas_custom_endpoint"`
137-
KMSCustomEndpoint types.String `tfsdk:"kms_custom_endpoint"`
138-
PostgresFlexCustomEndpoint types.String `tfsdk:"postgresflex_custom_endpoint"`
139-
MongoDBFlexCustomEndpoint types.String `tfsdk:"mongodbflex_custom_endpoint"`
140-
ModelServingCustomEndpoint types.String `tfsdk:"modelserving_custom_endpoint"`
140+
KmsCustomEndpoint types.String `tfsdk:"kms_custom_endpoint"`
141141
LoadBalancerCustomEndpoint types.String `tfsdk:"loadbalancer_custom_endpoint"`
142142
LogMeCustomEndpoint types.String `tfsdk:"logme_custom_endpoint"`
143-
RabbitMQCustomEndpoint types.String `tfsdk:"rabbitmq_custom_endpoint"`
144143
MariaDBCustomEndpoint types.String `tfsdk:"mariadb_custom_endpoint"`
145-
AuthorizationCustomEndpoint types.String `tfsdk:"authorization_custom_endpoint"`
144+
ModelServingCustomEndpoint types.String `tfsdk:"modelserving_custom_endpoint"`
145+
MongoDBFlexCustomEndpoint types.String `tfsdk:"mongodbflex_custom_endpoint"`
146146
ObjectStorageCustomEndpoint types.String `tfsdk:"objectstorage_custom_endpoint"`
147147
ObservabilityCustomEndpoint types.String `tfsdk:"observability_custom_endpoint"`
148148
OpenSearchCustomEndpoint types.String `tfsdk:"opensearch_custom_endpoint"`
149+
PostgresFlexCustomEndpoint types.String `tfsdk:"postgresflex_custom_endpoint"`
150+
RabbitMQCustomEndpoint types.String `tfsdk:"rabbitmq_custom_endpoint"`
149151
RedisCustomEndpoint types.String `tfsdk:"redis_custom_endpoint"`
152+
ResourceManagerCustomEndpoint types.String `tfsdk:"resourcemanager_custom_endpoint"`
153+
ScfCustomEndpoint types.String `tfsdk:"scf_custom_endpoint"`
150154
SecretsManagerCustomEndpoint types.String `tfsdk:"secretsmanager_custom_endpoint"`
151-
SQLServerFlexCustomEndpoint types.String `tfsdk:"sqlserverflex_custom_endpoint"`
152-
SKECustomEndpoint types.String `tfsdk:"ske_custom_endpoint"`
153155
ServerBackupCustomEndpoint types.String `tfsdk:"server_backup_custom_endpoint"`
154156
ServerUpdateCustomEndpoint types.String `tfsdk:"server_update_custom_endpoint"`
155157
ServiceAccountCustomEndpoint types.String `tfsdk:"service_account_custom_endpoint"`
156-
ResourceManagerCustomEndpoint types.String `tfsdk:"resourcemanager_custom_endpoint"`
157-
ScfCustomEndpoint types.String `tfsdk:"scf_custom_endpoint"`
158-
TokenCustomEndpoint types.String `tfsdk:"token_custom_endpoint"`
159-
EnableBetaResources types.Bool `tfsdk:"enable_beta_resources"`
160158
ServiceEnablementCustomEndpoint types.String `tfsdk:"service_enablement_custom_endpoint"`
161-
Experiments types.List `tfsdk:"experiments"`
159+
SkeCustomEndpoint types.String `tfsdk:"ske_custom_endpoint"`
160+
SqlServerFlexCustomEndpoint types.String `tfsdk:"sqlserverflex_custom_endpoint"`
161+
TokenCustomEndpoint types.String `tfsdk:"token_custom_endpoint"`
162+
163+
EnableBetaResources types.Bool `tfsdk:"enable_beta_resources"`
164+
Experiments types.List `tfsdk:"experiments"`
162165
}
163166

164167
// Schema defines the provider-level schema for configuration data.
@@ -253,6 +256,16 @@ func (p *Provider) Schema(_ context.Context, _ provider.SchemaRequest, resp *pro
253256
stringvalidator.ConflictsWith(path.MatchRoot("region")),
254257
},
255258
},
259+
"enable_beta_resources": schema.BoolAttribute{
260+
Optional: true,
261+
Description: descriptions["enable_beta_resources"],
262+
},
263+
"experiments": schema.ListAttribute{
264+
ElementType: types.StringType,
265+
Optional: true,
266+
Description: descriptions["experiments"],
267+
},
268+
// Custom endpoints
256269
"cdn_custom_endpoint": schema.StringAttribute{
257270
Optional: true,
258271
Description: descriptions["cdn_custom_endpoint"],
@@ -361,15 +374,6 @@ func (p *Provider) Schema(_ context.Context, _ provider.SchemaRequest, resp *pro
361374
Optional: true,
362375
Description: descriptions["token_custom_endpoint"],
363376
},
364-
"enable_beta_resources": schema.BoolAttribute{
365-
Optional: true,
366-
Description: descriptions["enable_beta_resources"],
367-
},
368-
"experiments": schema.ListAttribute{
369-
ElementType: types.StringType,
370-
Optional: true,
371-
Description: descriptions["experiments"],
372-
},
373377
},
374378
}
375379
}
@@ -418,31 +422,34 @@ func (p *Provider) Configure(ctx context.Context, req provider.ConfigureRequest,
418422
// Provider Data Configuration
419423
setStringField(providerConfig.DefaultRegion, func(v string) { providerData.DefaultRegion = v })
420424
setStringField(providerConfig.Region, func(v string) { providerData.Region = v }) // nolint:staticcheck // preliminary handling of deprecated attribute
425+
setBoolField(providerConfig.EnableBetaResources, func(v bool) { providerData.EnableBetaResources = v })
426+
427+
setStringField(providerConfig.AuthorizationCustomEndpoint, func(v string) { providerData.AuthorizationCustomEndpoint = v })
421428
setStringField(providerConfig.CdnCustomEndpoint, func(v string) { providerData.CdnCustomEndpoint = v })
422-
setStringField(providerConfig.DNSCustomEndpoint, func(v string) { providerData.DnsCustomEndpoint = v })
429+
setStringField(providerConfig.DnsCustomEndpoint, func(v string) { providerData.DnsCustomEndpoint = v })
423430
setStringField(providerConfig.GitCustomEndpoint, func(v string) { providerData.GitCustomEndpoint = v })
424431
setStringField(providerConfig.IaaSCustomEndpoint, func(v string) { providerData.IaaSCustomEndpoint = v })
425-
setStringField(providerConfig.PostgresFlexCustomEndpoint, func(v string) { providerData.PostgresFlexCustomEndpoint = v })
426-
setStringField(providerConfig.KMSCustomEndpoint, func(v string) { providerData.KMSCustomEndpoint = v })
427-
setStringField(providerConfig.ModelServingCustomEndpoint, func(v string) { providerData.ModelServingCustomEndpoint = v })
428-
setStringField(providerConfig.MongoDBFlexCustomEndpoint, func(v string) { providerData.MongoDBFlexCustomEndpoint = v })
432+
setStringField(providerConfig.KmsCustomEndpoint, func(v string) { providerData.KMSCustomEndpoint = v })
429433
setStringField(providerConfig.LoadBalancerCustomEndpoint, func(v string) { providerData.LoadBalancerCustomEndpoint = v })
430434
setStringField(providerConfig.LogMeCustomEndpoint, func(v string) { providerData.LogMeCustomEndpoint = v })
431-
setStringField(providerConfig.RabbitMQCustomEndpoint, func(v string) { providerData.RabbitMQCustomEndpoint = v })
432435
setStringField(providerConfig.MariaDBCustomEndpoint, func(v string) { providerData.MariaDBCustomEndpoint = v })
433-
setStringField(providerConfig.AuthorizationCustomEndpoint, func(v string) { providerData.AuthorizationCustomEndpoint = v })
436+
setStringField(providerConfig.ModelServingCustomEndpoint, func(v string) { providerData.ModelServingCustomEndpoint = v })
437+
setStringField(providerConfig.MongoDBFlexCustomEndpoint, func(v string) { providerData.MongoDBFlexCustomEndpoint = v })
434438
setStringField(providerConfig.ObjectStorageCustomEndpoint, func(v string) { providerData.ObjectStorageCustomEndpoint = v })
435439
setStringField(providerConfig.ObservabilityCustomEndpoint, func(v string) { providerData.ObservabilityCustomEndpoint = v })
436440
setStringField(providerConfig.OpenSearchCustomEndpoint, func(v string) { providerData.OpenSearchCustomEndpoint = v })
441+
setStringField(providerConfig.PostgresFlexCustomEndpoint, func(v string) { providerData.PostgresFlexCustomEndpoint = v })
442+
setStringField(providerConfig.RabbitMQCustomEndpoint, func(v string) { providerData.RabbitMQCustomEndpoint = v })
437443
setStringField(providerConfig.RedisCustomEndpoint, func(v string) { providerData.RedisCustomEndpoint = v })
438444
setStringField(providerConfig.ResourceManagerCustomEndpoint, func(v string) { providerData.ResourceManagerCustomEndpoint = v })
439445
setStringField(providerConfig.ScfCustomEndpoint, func(v string) { providerData.ScfCustomEndpoint = v })
440446
setStringField(providerConfig.SecretsManagerCustomEndpoint, func(v string) { providerData.SecretsManagerCustomEndpoint = v })
441-
setStringField(providerConfig.SQLServerFlexCustomEndpoint, func(v string) { providerData.SQLServerFlexCustomEndpoint = v })
447+
setStringField(providerConfig.ServerBackupCustomEndpoint, func(v string) { providerData.ServerBackupCustomEndpoint = v })
448+
setStringField(providerConfig.ServerUpdateCustomEndpoint, func(v string) { providerData.ServerUpdateCustomEndpoint = v })
442449
setStringField(providerConfig.ServiceAccountCustomEndpoint, func(v string) { providerData.ServiceAccountCustomEndpoint = v })
443-
setStringField(providerConfig.SKECustomEndpoint, func(v string) { providerData.SKECustomEndpoint = v })
444450
setStringField(providerConfig.ServiceEnablementCustomEndpoint, func(v string) { providerData.ServiceEnablementCustomEndpoint = v })
445-
setBoolField(providerConfig.EnableBetaResources, func(v bool) { providerData.EnableBetaResources = v })
451+
setStringField(providerConfig.SkeCustomEndpoint, func(v string) { providerData.SKECustomEndpoint = v })
452+
setStringField(providerConfig.SqlServerFlexCustomEndpoint, func(v string) { providerData.SQLServerFlexCustomEndpoint = v })
446453

447454
if !(providerConfig.Experiments.IsUnknown() || providerConfig.Experiments.IsNull()) {
448455
var experimentValues []string

0 commit comments

Comments
 (0)