Add sqlserverflex instance (#381)
* Draft implementation sqlserverflex instance * Finish implementation * Fix acc test * Changes after review
This commit is contained in:
parent
6db3a550e6
commit
335e1cabb6
18 changed files with 2400 additions and 104 deletions
|
|
@ -43,6 +43,7 @@ import (
|
|||
skeCluster "github.com/stackitcloud/terraform-provider-stackit/stackit/internal/services/ske/cluster"
|
||||
skeKubeconfig "github.com/stackitcloud/terraform-provider-stackit/stackit/internal/services/ske/kubeconfig"
|
||||
skeProject "github.com/stackitcloud/terraform-provider-stackit/stackit/internal/services/ske/project"
|
||||
sqlServerFlexInstance "github.com/stackitcloud/terraform-provider-stackit/stackit/internal/services/sqlserverflex/instance"
|
||||
|
||||
sdkauth "github.com/stackitcloud/stackit-sdk-go/core/auth"
|
||||
"github.com/stackitcloud/stackit-sdk-go/core/config"
|
||||
|
|
@ -83,6 +84,7 @@ type providerModel struct {
|
|||
PrivateKeyPath types.String `tfsdk:"private_key_path"`
|
||||
Token types.String `tfsdk:"service_account_token"`
|
||||
Region types.String `tfsdk:"region"`
|
||||
ArgusCustomEndpoint types.String `tfsdk:"argus_custom_endpoint"`
|
||||
DNSCustomEndpoint types.String `tfsdk:"dns_custom_endpoint"`
|
||||
IaaSCustomEndpoint types.String `tfsdk:"iaas_custom_endpoint"`
|
||||
PostgreSQLCustomEndpoint types.String `tfsdk:"postgresql_custom_endpoint"`
|
||||
|
|
@ -96,7 +98,7 @@ type providerModel struct {
|
|||
OpenSearchCustomEndpoint types.String `tfsdk:"opensearch_custom_endpoint"`
|
||||
RedisCustomEndpoint types.String `tfsdk:"redis_custom_endpoint"`
|
||||
SecretsManagerCustomEndpoint types.String `tfsdk:"secretsmanager_custom_endpoint"`
|
||||
ArgusCustomEndpoint types.String `tfsdk:"argus_custom_endpoint"`
|
||||
SQLServerFlexCustomEndpoint types.String `tfsdk:"sqlserverflex_custom_endpoint"`
|
||||
SKECustomEndpoint types.String `tfsdk:"ske_custom_endpoint"`
|
||||
ResourceManagerCustomEndpoint types.String `tfsdk:"resourcemanager_custom_endpoint"`
|
||||
TokenCustomEndpoint types.String `tfsdk:"token_custom_endpoint"`
|
||||
|
|
@ -127,9 +129,10 @@ func (p *Provider) Schema(_ context.Context, _ provider.SchemaRequest, resp *pro
|
|||
"postgresql_custom_endpoint": "Custom endpoint for the PostgreSQL service",
|
||||
"postgresflex_custom_endpoint": "Custom endpoint for the PostgresFlex service",
|
||||
"redis_custom_endpoint": "Custom endpoint for the Redis service",
|
||||
"ske_custom_endpoint": "Custom endpoint for the Kubernetes Engine (SKE) service",
|
||||
"resourcemanager_custom_endpoint": "Custom endpoint for the Resource Manager service",
|
||||
"secretsmanager_custom_endpoint": "Custom endpoint for the Secrets Manager service",
|
||||
"sqlserverflex_custom_endpoint": "Custom endpoint for the SQL Server Flex service",
|
||||
"ske_custom_endpoint": "Custom endpoint for the Kubernetes Engine (SKE) service",
|
||||
"token_custom_endpoint": "Custom endpoint for the token API, which is used to request access tokens when using the key flow",
|
||||
"jwks_custom_endpoint": "Custom endpoint for the jwks API, which is used to get the json web key sets (jwks) to validate tokens when using the key flow",
|
||||
}
|
||||
|
|
@ -168,6 +171,10 @@ func (p *Provider) Schema(_ context.Context, _ provider.SchemaRequest, resp *pro
|
|||
Optional: true,
|
||||
Description: descriptions["region"],
|
||||
},
|
||||
"argus_custom_endpoint": schema.StringAttribute{
|
||||
Optional: true,
|
||||
Description: descriptions["argus_custom_endpoint"],
|
||||
},
|
||||
"dns_custom_endpoint": schema.StringAttribute{
|
||||
Optional: true,
|
||||
Description: descriptions["dns_custom_endpoint"],
|
||||
|
|
@ -216,22 +223,22 @@ func (p *Provider) Schema(_ context.Context, _ provider.SchemaRequest, resp *pro
|
|||
Optional: true,
|
||||
Description: descriptions["redis_custom_endpoint"],
|
||||
},
|
||||
"resourcemanager_custom_endpoint": schema.StringAttribute{
|
||||
Optional: true,
|
||||
Description: descriptions["resourcemanager_custom_endpoint"],
|
||||
},
|
||||
"secretsmanager_custom_endpoint": schema.StringAttribute{
|
||||
Optional: true,
|
||||
Description: descriptions["secretsmanager_custom_endpoint"],
|
||||
},
|
||||
"argus_custom_endpoint": schema.StringAttribute{
|
||||
"sqlserverflex_custom_endpoint": schema.StringAttribute{
|
||||
Optional: true,
|
||||
Description: descriptions["argus_custom_endpoint"],
|
||||
Description: descriptions["sqlserverflex_custom_endpoint"],
|
||||
},
|
||||
"ske_custom_endpoint": schema.StringAttribute{
|
||||
Optional: true,
|
||||
Description: descriptions["ske_custom_endpoint"],
|
||||
},
|
||||
"resourcemanager_custom_endpoint": schema.StringAttribute{
|
||||
Optional: true,
|
||||
Description: descriptions["resourcemanager_custom_endpoint"],
|
||||
},
|
||||
"token_custom_endpoint": schema.StringAttribute{
|
||||
Optional: true,
|
||||
Description: descriptions["token_custom_endpoint"],
|
||||
|
|
@ -283,6 +290,9 @@ func (p *Provider) Configure(ctx context.Context, req provider.ConfigureRequest,
|
|||
if !(providerConfig.Region.IsUnknown() || providerConfig.Region.IsNull()) {
|
||||
providerData.Region = providerConfig.Region.ValueString()
|
||||
}
|
||||
if !(providerConfig.ArgusCustomEndpoint.IsUnknown() || providerConfig.ArgusCustomEndpoint.IsNull()) {
|
||||
providerData.ArgusCustomEndpoint = providerConfig.ArgusCustomEndpoint.ValueString()
|
||||
}
|
||||
if !(providerConfig.DNSCustomEndpoint.IsUnknown() || providerConfig.DNSCustomEndpoint.IsNull()) {
|
||||
providerData.DnsCustomEndpoint = providerConfig.DNSCustomEndpoint.ValueString()
|
||||
}
|
||||
|
|
@ -319,18 +329,18 @@ func (p *Provider) Configure(ctx context.Context, req provider.ConfigureRequest,
|
|||
if !(providerConfig.RedisCustomEndpoint.IsUnknown() || providerConfig.RedisCustomEndpoint.IsNull()) {
|
||||
providerData.RedisCustomEndpoint = providerConfig.RedisCustomEndpoint.ValueString()
|
||||
}
|
||||
if !(providerConfig.ArgusCustomEndpoint.IsUnknown() || providerConfig.ArgusCustomEndpoint.IsNull()) {
|
||||
providerData.ArgusCustomEndpoint = providerConfig.ArgusCustomEndpoint.ValueString()
|
||||
}
|
||||
if !(providerConfig.SKECustomEndpoint.IsUnknown() || providerConfig.SKECustomEndpoint.IsNull()) {
|
||||
providerData.SKECustomEndpoint = providerConfig.SKECustomEndpoint.ValueString()
|
||||
}
|
||||
if !(providerConfig.ResourceManagerCustomEndpoint.IsUnknown() || providerConfig.ResourceManagerCustomEndpoint.IsNull()) {
|
||||
providerData.ResourceManagerCustomEndpoint = providerConfig.ResourceManagerCustomEndpoint.ValueString()
|
||||
}
|
||||
if !(providerConfig.SecretsManagerCustomEndpoint.IsUnknown() || providerConfig.SecretsManagerCustomEndpoint.IsNull()) {
|
||||
providerData.SecretsManagerCustomEndpoint = providerConfig.SecretsManagerCustomEndpoint.ValueString()
|
||||
}
|
||||
if !(providerConfig.SQLServerFlexCustomEndpoint.IsUnknown() || providerConfig.SQLServerFlexCustomEndpoint.IsNull()) {
|
||||
providerData.SQLServerFlexCustomEndpoint = providerConfig.SQLServerFlexCustomEndpoint.ValueString()
|
||||
}
|
||||
if !(providerConfig.SKECustomEndpoint.IsUnknown() || providerConfig.SKECustomEndpoint.IsNull()) {
|
||||
providerData.SKECustomEndpoint = providerConfig.SKECustomEndpoint.ValueString()
|
||||
}
|
||||
if !(providerConfig.TokenCustomEndpoint.IsUnknown() || providerConfig.TokenCustomEndpoint.IsNull()) {
|
||||
sdkConfig.TokenCustomUrl = providerConfig.TokenCustomEndpoint.ValueString()
|
||||
}
|
||||
|
|
@ -378,6 +388,7 @@ func (p *Provider) DataSources(_ context.Context) []func() datasource.DataSource
|
|||
resourceManagerProject.NewProjectDataSource,
|
||||
secretsManagerInstance.NewInstanceDataSource,
|
||||
secretsManagerUser.NewUserDataSource,
|
||||
sqlServerFlexInstance.NewInstanceDataSource,
|
||||
skeProject.NewProjectDataSource,
|
||||
skeCluster.NewClusterDataSource,
|
||||
}
|
||||
|
|
@ -417,6 +428,7 @@ func (p *Provider) Resources(_ context.Context) []func() resource.Resource {
|
|||
resourceManagerProject.NewProjectResource,
|
||||
secretsManagerInstance.NewInstanceResource,
|
||||
secretsManagerUser.NewUserResource,
|
||||
sqlServerFlexInstance.NewInstanceResource,
|
||||
skeProject.NewProjectResource,
|
||||
skeCluster.NewClusterResource,
|
||||
skeKubeconfig.NewKubeconfigResource,
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue