Skip to content

Commit 3032f2d

Browse files
apply PR suggestions
1 parent f3994d9 commit 3032f2d

File tree

10 files changed

+41
-40
lines changed

10 files changed

+41
-40
lines changed

docs/data-sources/alb_certificate.md

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,8 +29,7 @@ data "stackit_alb_certificate" "example" {
2929

3030
### Read-Only
3131

32-
- `id` (String) Terraform's internal resource ID. It is structured as `project_id`,`region`,`name`.
32+
- `id` (String) Terraform's internal resource ID. It is structured as `project_id`,`region`,`cert_id`.
3333
- `name` (String) Certificate name.
34-
- `private_key` (String) The PEM encoded private key part
3534
- `public_key` (String) The PEM encoded public key part
3635
- `region` (String) The resource region (e.g. eu01). If not defined, the provider region is used.

docs/resources/application_load_balancer.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -107,7 +107,7 @@ resource "stackit_server" "server" {
107107
}
108108
109109
# Create example credentials for observability of the ALB
110-
# Create real credentials in your stackit observability
110+
# Create real credentials in your STACKIT observability
111111
resource "stackit_loadbalancer_observability_credential" "observability" {
112112
project_id = var.project_id
113113
display_name = "my-cred"
@@ -127,7 +127,7 @@ resource "tls_self_signed_cert" "example" {
127127
128128
subject {
129129
common_name = "localhost"
130-
organization = "Stackit Test"
130+
organization = "STACKIT Test"
131131
}
132132
133133
validity_period_hours = 12

examples/resources/stackit_application_load_balancer/resource.tf

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -88,7 +88,7 @@ resource "stackit_server" "server" {
8888
}
8989

9090
# Create example credentials for observability of the ALB
91-
# Create real credentials in your stackit observability
91+
# Create real credentials in your STACKIT observability
9292
resource "stackit_loadbalancer_observability_credential" "observability" {
9393
project_id = var.project_id
9494
display_name = "my-cred"
@@ -108,7 +108,7 @@ resource "tls_self_signed_cert" "example" {
108108

109109
subject {
110110
common_name = "localhost"
111-
organization = "Stackit Test"
111+
organization = "STACKIT Test"
112112
}
113113

114114
validity_period_hours = 12

stackit/internal/services/albcertificates/certificate/datasource.go

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ import (
88
"github.com/hashicorp/terraform-plugin-framework/datasource"
99
"github.com/hashicorp/terraform-plugin-framework/datasource/schema"
1010
"github.com/hashicorp/terraform-plugin-log/tflog"
11-
certSdk "github.com/stackitcloud/stackit-sdk-go/services/certificates"
11+
certSdk "github.com/stackitcloud/stackit-sdk-go/services/certificates/v2api"
1212
"github.com/stackitcloud/terraform-provider-stackit/stackit/internal/conversion"
1313
"github.com/stackitcloud/terraform-provider-stackit/stackit/internal/core"
1414
certUtils "github.com/stackitcloud/terraform-provider-stackit/stackit/internal/services/albcertificates/utils"
@@ -56,10 +56,10 @@ func (r *certDataSource) Configure(ctx context.Context, req datasource.Configure
5656
func (r *certDataSource) Schema(_ context.Context, _ datasource.SchemaRequest, resp *datasource.SchemaResponse) {
5757
descriptions := map[string]string{
5858
"main": "Certificates resource schema.",
59-
"id": "Terraform's internal resource ID. It is structured as `project_id`,`region`,`name`.",
59+
"id": "Terraform's internal resource ID. It is structured as `project_id`,`region`,`cert_id`.",
6060
"project_id": "STACKIT project ID to which the certificate is associated.",
6161
"region": "The resource region (e.g. eu01). If not defined, the provider region is used.",
62-
"cert-id": "The ID of the certificate.",
62+
"cert_id": "The ID of the certificate.",
6363
"name": "Certificate name.",
6464
"private_key": "The PEM encoded private key part",
6565
"public_key": "The PEM encoded public key part",
@@ -87,7 +87,7 @@ func (r *certDataSource) Schema(_ context.Context, _ datasource.SchemaRequest, r
8787
Computed: true,
8888
},
8989
"cert_id": schema.StringAttribute{
90-
Description: descriptions["cert-id"],
90+
Description: descriptions["cert_id"],
9191
Required: true,
9292
},
9393
"private_key": schema.StringAttribute{
@@ -120,7 +120,7 @@ func (r *certDataSource) Read(ctx context.Context, req datasource.ReadRequest, r
120120
ctx = tflog.SetField(ctx, "region", region)
121121
ctx = tflog.SetField(ctx, "cert_id", certId)
122122

123-
certResp, err := r.client.GetCertificate(ctx, projectId, region, certId).Execute()
123+
certResp, err := r.client.DefaultAPI.GetCertificate(ctx, projectId, region, certId).Execute()
124124
if err != nil {
125125
utils.LogError(
126126
ctx,

stackit/internal/services/albcertificates/certificate/resource.go

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@ import (
99
"strings"
1010

1111
"github.com/hashicorp/terraform-plugin-framework-validators/stringvalidator"
12-
"github.com/hashicorp/terraform-plugin-framework/path"
1312
"github.com/hashicorp/terraform-plugin-framework/resource"
1413
"github.com/hashicorp/terraform-plugin-framework/resource/schema"
1514
"github.com/hashicorp/terraform-plugin-framework/resource/schema/planmodifier"
@@ -18,7 +17,7 @@ import (
1817
"github.com/hashicorp/terraform-plugin-framework/types"
1918
"github.com/hashicorp/terraform-plugin-log/tflog"
2019
"github.com/stackitcloud/stackit-sdk-go/core/oapierror"
21-
certSdk "github.com/stackitcloud/stackit-sdk-go/services/certificates"
20+
certSdk "github.com/stackitcloud/stackit-sdk-go/services/certificates/v2api"
2221
"github.com/stackitcloud/terraform-provider-stackit/stackit/internal/conversion"
2322
"github.com/stackitcloud/terraform-provider-stackit/stackit/internal/core"
2423
certUtils "github.com/stackitcloud/terraform-provider-stackit/stackit/internal/services/albcertificates/utils"
@@ -113,7 +112,7 @@ func (r *certificatesResource) Schema(_ context.Context, _ resource.SchemaReques
113112
"id": "Terraform's internal resource ID. It is structured as `project_id`,`region`,`cert_id`.",
114113
"project_id": "STACKIT project ID to which the certificate is associated.",
115114
"region": "The resource region (e.g. eu01). If not defined, the provider region is used.",
116-
"cert-id": "The ID of the certificate.",
115+
"cert_id": "The ID of the certificate.",
117116
"name": "Certificate name.",
118117
"private_key": "The PEM encoded private key part",
119118
"public_key": "The PEM encoded public key part",
@@ -151,7 +150,6 @@ The example below creates the supporting infrastructure using the STACKIT Terraf
151150
Computed: true,
152151
PlanModifiers: []planmodifier.String{
153152
stringplanmodifier.RequiresReplace(),
154-
stringplanmodifier.UseStateForUnknown(),
155153
},
156154
},
157155
"name": schema.StringAttribute{
@@ -168,7 +166,7 @@ The example below creates the supporting infrastructure using the STACKIT Terraf
168166
},
169167
},
170168
"cert_id": schema.StringAttribute{
171-
Description: descriptions["cert-id"],
169+
Description: descriptions["cert_id"],
172170
Computed: true,
173171
PlanModifiers: []planmodifier.String{
174172
stringplanmodifier.UseStateForUnknown(),
@@ -223,7 +221,7 @@ func (r *certificatesResource) Create(ctx context.Context, req resource.CreateRe
223221
}
224222

225223
// Create a new Certificate
226-
createResp, err := r.client.CreateCertificate(ctx, projectId, region).CreateCertificatePayload(*payload).Execute()
224+
createResp, err := r.client.DefaultAPI.CreateCertificate(ctx, projectId, region).CreateCertificatePayload(*payload).Execute()
227225
if err != nil {
228226
errStr := utils.PrettyApiErr(ctx, &resp.Diagnostics, err)
229227
core.LogAndAddError(ctx, &resp.Diagnostics, "Error creating Certificate", fmt.Sprintf("Calling API for create: %v", errStr))
@@ -273,7 +271,7 @@ func (r *certificatesResource) Read(ctx context.Context, req resource.ReadReques
273271
ctx = tflog.SetField(ctx, "region", region)
274272
ctx = tflog.SetField(ctx, "cert_id", certId)
275273

276-
readResp, err := r.client.GetCertificate(ctx, projectId, region, certId).Execute()
274+
readResp, err := r.client.DefaultAPI.GetCertificate(ctx, projectId, region, certId).Execute()
277275
if err != nil {
278276
var oapiErr *oapierror.GenericOpenAPIError
279277
if errors.As(err, &oapiErr) {
@@ -329,7 +327,7 @@ func (r *certificatesResource) Delete(ctx context.Context, req resource.DeleteRe
329327
ctx = tflog.SetField(ctx, "region", region)
330328

331329
// Delete Certificate
332-
_, err := r.client.DeleteCertificate(ctx, projectId, region, certId).Execute()
330+
_, err := r.client.DefaultAPI.DeleteCertificate(ctx, projectId, region, certId).Execute()
333331
if err != nil {
334332
errStr := utils.PrettyApiErr(ctx, &resp.Diagnostics, err)
335333
core.LogAndAddError(ctx, &resp.Diagnostics, "Error deleting Certificate", fmt.Sprintf("Calling API for delete: %v", errStr))
@@ -354,9 +352,11 @@ func (r *certificatesResource) ImportState(ctx context.Context, req resource.Imp
354352
return
355353
}
356354

357-
resp.Diagnostics.Append(resp.State.SetAttribute(ctx, path.Root("project_id"), idParts[0])...)
358-
resp.Diagnostics.Append(resp.State.SetAttribute(ctx, path.Root("region"), idParts[1])...)
359-
resp.Diagnostics.Append(resp.State.SetAttribute(ctx, path.Root("cert_id"), idParts[2])...)
355+
ctx = utils.SetAndLogStateFields(ctx, &resp.Diagnostics, &resp.State, map[string]interface{}{
356+
"project_id": idParts[0],
357+
"region": idParts[1],
358+
"cert_id": idParts[2],
359+
})
360360
tflog.Info(ctx, "Certificate state imported")
361361
}
362362

stackit/internal/services/albcertificates/certificate/resource_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ import (
66
"github.com/google/go-cmp/cmp"
77
"github.com/hashicorp/terraform-plugin-framework/types"
88
"github.com/stackitcloud/stackit-sdk-go/core/utils"
9-
certSdk "github.com/stackitcloud/stackit-sdk-go/services/certificates"
9+
certSdk "github.com/stackitcloud/stackit-sdk-go/services/certificates/v2api"
1010
)
1111

1212
const (

stackit/internal/services/albcertificates/certificate_acc_test.go

Lines changed: 11 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ import (
1313
"github.com/hashicorp/terraform-plugin-testing/terraform"
1414
stackitSdkConfig "github.com/stackitcloud/stackit-sdk-go/core/config"
1515
"github.com/stackitcloud/stackit-sdk-go/core/utils"
16-
certSdk "github.com/stackitcloud/stackit-sdk-go/services/certificates"
16+
certSdk "github.com/stackitcloud/stackit-sdk-go/services/certificates/v2api"
1717
"github.com/stackitcloud/terraform-provider-stackit/stackit/internal/core"
1818
"github.com/stackitcloud/terraform-provider-stackit/stackit/internal/testutil"
1919
)
@@ -51,11 +51,12 @@ func TestAccCertResourceMin(t *testing.T) {
5151
ConfigVariables: testConfigVarsMin,
5252
Config: testutil.CertProviderConfig() + resourceMinConfig,
5353
Check: resource.ComposeAggregateTestCheckFunc(
54-
// Load balancer instance resource
54+
// ALB Certificate instance resource
5555
resource.TestCheckResourceAttr("stackit_alb_certificate.certificate", "project_id", testutil.ConvertConfigVariable(testConfigVarsMin["project_id"])),
5656
resource.TestCheckResourceAttr("stackit_alb_certificate.certificate", "name", testutil.ConvertConfigVariable(testConfigVarsMin["cert_name"])),
5757
resource.TestCheckResourceAttrSet("stackit_alb_certificate.certificate", "public_key"),
5858
resource.TestCheckResourceAttrSet("stackit_alb_certificate.certificate", "private_key"),
59+
resource.TestCheckResourceAttrPair("stackit_alb_certificate.certificate", "private_key", "tls_self_signed_cert.test", "private_key_pem"),
5960
resource.TestCheckResourceAttrSet("stackit_alb_certificate.certificate", "region"),
6061
resource.TestCheckResourceAttrSet("stackit_alb_certificate.certificate", "id"),
6162
),
@@ -74,7 +75,7 @@ func TestAccCertResourceMin(t *testing.T) {
7475
testutil.CertProviderConfig()+resourceMinConfig,
7576
),
7677
Check: resource.ComposeAggregateTestCheckFunc(
77-
// Load balancer instance
78+
// ALB Certificate instance
7879
resource.TestCheckResourceAttr("data.stackit_alb_certificate.certificate", "project_id", testutil.ConvertConfigVariable(testConfigVarsMin["project_id"])),
7980
resource.TestCheckResourceAttr("data.stackit_alb_certificate.certificate", "name", testutil.ConvertConfigVariable(testConfigVarsMin["cert_name"])),
8081
resource.TestCheckResourceAttrSet("data.stackit_alb_certificate.certificate", "public_key"),
@@ -143,12 +144,13 @@ func TestAccCertResourceMax(t *testing.T) {
143144
ConfigVariables: testConfigVarsMax,
144145
Config: testutil.CertProviderConfig() + resourceMaxConfig,
145146
Check: resource.ComposeAggregateTestCheckFunc(
146-
// Load balancer instance resource
147+
// ALB Certificate instance resource
147148
resource.TestCheckResourceAttr("stackit_alb_certificate.certificate", "project_id", testutil.ConvertConfigVariable(testConfigVarsMax["project_id"])),
148149
resource.TestCheckResourceAttr("stackit_alb_certificate.certificate", "name", testutil.ConvertConfigVariable(testConfigVarsMax["cert_name"])),
149150
resource.TestCheckResourceAttr("stackit_alb_certificate.certificate", "region", testutil.ConvertConfigVariable(testConfigVarsMax["region"])),
150151
resource.TestCheckResourceAttrSet("stackit_alb_certificate.certificate", "public_key"),
151152
resource.TestCheckResourceAttrSet("stackit_alb_certificate.certificate", "private_key"),
153+
resource.TestCheckResourceAttrPair("stackit_alb_certificate.certificate", "private_key", "tls_self_signed_cert.test", "private_key_pem"),
152154
resource.TestCheckResourceAttrSet("stackit_alb_certificate.certificate", "id"),
153155
),
154156
},
@@ -166,7 +168,7 @@ func TestAccCertResourceMax(t *testing.T) {
166168
testutil.CertProviderConfig()+resourceMaxConfig,
167169
),
168170
Check: resource.ComposeAggregateTestCheckFunc(
169-
// Load balancer instance
171+
// ALB Certificate instance
170172
resource.TestCheckResourceAttr("data.stackit_alb_certificate.certificate", "project_id", testutil.ConvertConfigVariable(testConfigVarsMax["project_id"])),
171173
resource.TestCheckResourceAttr("data.stackit_alb_certificate.certificate", "name", testutil.ConvertConfigVariable(testConfigVarsMax["cert_name"])),
172174
resource.TestCheckResourceAttr("data.stackit_alb_certificate.certificate", "region", testutil.ConvertConfigVariable(testConfigVarsMax["region"])),
@@ -248,23 +250,23 @@ func testAccCheckCertDestroy(s *terraform.State) error {
248250
certificateToDestroy = append(certificateToDestroy, certificateName)
249251
}
250252

251-
certificateResp, err := client.ListCertificates(ctx, testutil.ProjectId, region).Execute()
253+
certificateResp, err := client.DefaultAPI.ListCertificates(ctx, testutil.ProjectId, region).Execute()
252254
if err != nil {
253255
return fmt.Errorf("getting certificateResp: %w", err)
254256
}
255257

256-
if certificateResp.Items == nil || (certificateResp.Items != nil && len(*certificateResp.Items) == 0) {
258+
if certificateResp.Items == nil || (certificateResp.Items != nil && len(certificateResp.Items) == 0) {
257259
fmt.Print("No certificates found for project \n")
258260
return nil
259261
}
260262

261-
items := *certificateResp.Items
263+
items := certificateResp.Items
262264
for i := range items {
263265
if items[i].Name == nil {
264266
continue
265267
}
266268
if utils.Contains(certificateToDestroy, *items[i].Name) {
267-
_, err := client.DeleteCertificateExecute(ctx, testutil.ProjectId, region, *items[i].Id)
269+
_, err := client.DefaultAPI.DeleteCertificate(ctx, testutil.ProjectId, region, *items[i].Id).Execute()
268270
if err != nil {
269271
return fmt.Errorf("destroying certificate %s during CheckDestroy: %w", *items[i].Name, err)
270272
}

stackit/internal/services/albcertificates/utils/util.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ import (
66

77
"github.com/hashicorp/terraform-plugin-framework/diag"
88
"github.com/stackitcloud/stackit-sdk-go/core/config"
9-
certSdk "github.com/stackitcloud/stackit-sdk-go/services/certificates"
9+
certSdk "github.com/stackitcloud/stackit-sdk-go/services/certificates/v2api"
1010
"github.com/stackitcloud/terraform-provider-stackit/stackit/internal/core"
1111
"github.com/stackitcloud/terraform-provider-stackit/stackit/internal/utils"
1212
)
@@ -16,8 +16,8 @@ func ConfigureClient(ctx context.Context, providerData *core.ProviderData, diags
1616
config.WithCustomAuth(providerData.RoundTripper),
1717
utils.UserAgentConfigOption(providerData.Version),
1818
}
19-
if providerData.ALBCustomEndpoint != "" {
20-
apiClientConfigOptions = append(apiClientConfigOptions, config.WithEndpoint(providerData.ALBCustomEndpoint))
19+
if providerData.ALBCertificatesCustomEndpoint != "" {
20+
apiClientConfigOptions = append(apiClientConfigOptions, config.WithEndpoint(providerData.ALBCertificatesCustomEndpoint))
2121
}
2222
apiClient, err := certSdk.NewAPIClient(apiClientConfigOptions...)
2323
if err != nil {

stackit/internal/services/albcertificates/utils/util_test.go

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9,14 +9,14 @@ import (
99
"github.com/hashicorp/terraform-plugin-framework/diag"
1010
sdkClients "github.com/stackitcloud/stackit-sdk-go/core/clients"
1111
"github.com/stackitcloud/stackit-sdk-go/core/config"
12-
certSdk "github.com/stackitcloud/stackit-sdk-go/services/certificates"
12+
certSdk "github.com/stackitcloud/stackit-sdk-go/services/certificates/v2api"
1313
"github.com/stackitcloud/terraform-provider-stackit/stackit/internal/core"
1414
"github.com/stackitcloud/terraform-provider-stackit/stackit/internal/utils"
1515
)
1616

1717
const (
1818
testVersion = "1.2.3"
19-
testCustomEndpoint = "https://alb-custom-endpoint.api.stackit.cloud"
19+
testCustomEndpoint = "https://alb-cert-custom-endpoint.api.stackit.cloud"
2020
)
2121

2222
func TestConfigureClient(t *testing.T) {
@@ -58,8 +58,8 @@ func TestConfigureClient(t *testing.T) {
5858
name: "custom endpoint",
5959
args: args{
6060
providerData: &core.ProviderData{
61-
Version: testVersion,
62-
ALBCustomEndpoint: testCustomEndpoint,
61+
Version: testVersion,
62+
ALBCertificatesCustomEndpoint: testCustomEndpoint,
6363
},
6464
},
6565
expected: func() *certSdk.APIClient {

stackit/internal/testutil/testutil.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -151,7 +151,7 @@ func CertProviderConfig() string {
151151
}
152152
return fmt.Sprintf(`
153153
provider "stackit" {
154-
cart_custom_endpoint = "%s"
154+
alb_certificates_custom_endpoint = "%s"
155155
}`,
156156
CertCustomEndpoint,
157157
)

0 commit comments

Comments
 (0)