Skip to content

Commit 0859bcc

Browse files
apply PR suggestions
1 parent 693ee08 commit 0859bcc

File tree

10 files changed

+61
-60
lines changed

10 files changed

+61
-60
lines changed

docs/data-sources/alb_certificate.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +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`,`cert_id`.
32+
- `id` (String) Terraform's internal resource ID. It is structured as "`project_id`,`region`,`cert_id`".
3333
- `name` (String) Certificate name.
3434
- `public_key` (String) The PEM encoded public key part
3535
- `region` (String) The resource region (e.g. eu01). If not defined, the provider region is used.

docs/resources/alb_certificate.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ resource "tls_self_signed_cert" "example" {
3535
3636
subject {
3737
common_name = "localhost"
38-
organization = "Stackit Test"
38+
organization = "STACKIT Test"
3939
}
4040
4141
validity_period_hours = 12
@@ -73,4 +73,4 @@ resource "stackit_alb_certificate" "certificate" {
7373
### Read-Only
7474

7575
- `cert_id` (String) The ID of the certificate.
76-
- `id` (String) Terraform's internal resource ID. It is structured as `project_id`,`region`,`cert_id`.
76+
- `id` (String) Terraform's internal resource ID. It is structured as "`project_id`,`region`,`cert_id`".

examples/resources/stackit_alb_certificate/resource.tf

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ resource "tls_self_signed_cert" "example" {
1616

1717
subject {
1818
common_name = "localhost"
19-
organization = "Stackit Test"
19+
organization = "STACKIT Test"
2020
}
2121

2222
validity_period_hours = 12

stackit/internal/services/alb/alb_acc_test.go

Lines changed: 25 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -12,10 +12,10 @@ import (
1212
"github.com/hashicorp/terraform-plugin-testing/helper/acctest"
1313
"github.com/hashicorp/terraform-plugin-testing/helper/resource"
1414
"github.com/hashicorp/terraform-plugin-testing/terraform"
15+
"github.com/stackitcloud/stackit-sdk-go/core/utils"
1516
"github.com/stackitcloud/stackit-sdk-go/services/alb/v2api/wait"
1617
"github.com/stackitcloud/terraform-provider-stackit/stackit/internal/core"
1718

18-
"github.com/stackitcloud/stackit-sdk-go/core/utils"
1919
albSdk "github.com/stackitcloud/stackit-sdk-go/services/alb/v2api"
2020
"github.com/stackitcloud/terraform-provider-stackit/stackit/internal/testutil"
2121
)
@@ -621,7 +621,6 @@ func TestAccALBResourceMax(t *testing.T) {
621621
func testAccCheckALBDestroy(s *terraform.State) error {
622622
ctx := context.Background()
623623
client, err := albSdk.NewAPIClient(testutil.NewConfigBuilder().BuildClientOptions(testutil.ALBCustomEndpoint, false)...)
624-
625624
if err != nil {
626625
return fmt.Errorf("creating client: %w", err)
627626
}
@@ -630,40 +629,44 @@ func testAccCheckALBDestroy(s *terraform.State) error {
630629
if testutil.Region != "" {
631630
region = testutil.Region
632631
}
633-
loadbalancersToDestroy := []string{}
632+
loadBalancersToDestroy := []string{}
634633
for _, rs := range s.RootModule().Resources {
635-
if rs.Type != "stackit_loadbalancer" {
634+
if rs.Type != "stackit_application_load_balancer" {
636635
continue
637636
}
638637
// loadbalancer terraform ID: = "[project_id],[region],[name]"
639-
loadbalancerName := strings.Split(rs.Primary.ID, core.Separator)[1]
640-
loadbalancersToDestroy = append(loadbalancersToDestroy, loadbalancerName)
638+
loadBalancerName := strings.Split(rs.Primary.ID, core.Separator)[2]
639+
loadBalancersToDestroy = append(loadBalancersToDestroy, loadBalancerName)
641640
}
642641

643-
loadbalancersResp, err := client.DefaultAPI.ListLoadBalancers(ctx, testutil.ProjectId, region).Execute()
642+
loadBalancersResp, err := client.DefaultAPI.ListLoadBalancers(ctx, testutil.ProjectId, region).Execute()
644643
if err != nil {
645-
return fmt.Errorf("getting loadbalancersResp: %w", err)
644+
return fmt.Errorf("getting loadBalancersResp: %w", err)
646645
}
647646

648-
if loadbalancersResp.LoadBalancers == nil || (loadbalancersResp.LoadBalancers != nil && len(loadbalancersResp.LoadBalancers) == 0) {
647+
if loadBalancersResp.LoadBalancers == nil || (loadBalancersResp.LoadBalancers != nil && len(loadBalancersResp.LoadBalancers) == 0) {
649648
fmt.Print("No load balancers found for project \n")
650649
return nil
651650
}
652651

653-
items := loadbalancersResp.LoadBalancers
654-
for i := range items {
655-
if items[i].Name == nil {
656-
continue
652+
for i := range loadBalancersToDestroy {
653+
_, err := client.DefaultAPI.DeleteLoadBalancer(ctx, testutil.ProjectId, region, loadBalancersToDestroy[i]).Execute()
654+
if err != nil {
655+
return fmt.Errorf("destroying load balancer %s during CheckDestroy: %w", loadBalancersToDestroy[i], err)
656+
}
657+
_, err = wait.DeleteLoadbalancerWaitHandler(ctx, client.DefaultAPI, testutil.ProjectId, region, loadBalancersToDestroy[i]).WaitWithContext(ctx)
658+
if err != nil {
659+
return fmt.Errorf("destroying load balancer %s during CheckDestroy: waiting for deletion %w", loadBalancersToDestroy[i], err)
657660
}
658-
if utils.Contains(loadbalancersToDestroy, *items[i].Name) {
659-
_, err := client.DefaultAPI.DeleteLoadBalancer(ctx, testutil.ProjectId, region, *items[i].Name).Execute()
660-
if err != nil {
661-
return fmt.Errorf("destroying load balancer %s during CheckDestroy: %w", *items[i].Name, err)
662-
}
663-
_, err = wait.DeleteLoadbalancerWaitHandler(ctx, client.DefaultAPI, testutil.ProjectId, region, *items[i].Name).WaitWithContext(ctx)
664-
if err != nil {
665-
return fmt.Errorf("destroying load balancer %s during CheckDestroy: waiting for deletion %w", *items[i].Name, err)
666-
}
661+
}
662+
663+
loadBalancersResp, err = client.DefaultAPI.ListLoadBalancers(ctx, testutil.ProjectId, region).Execute()
664+
if err != nil {
665+
return fmt.Errorf("getting loadBalancersResp after destroy: %w", err)
666+
}
667+
for i := range loadBalancersResp.LoadBalancers {
668+
if utils.Contains(loadBalancersToDestroy, *loadBalancersResp.LoadBalancers[i].Name) {
669+
return fmt.Errorf("load balancer %s has not been destroyed: %w", *loadBalancersResp.LoadBalancers[i].Name, err)
667670
}
668671
}
669672
return nil

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

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ import (
99
"github.com/hashicorp/terraform-plugin-framework/datasource/schema"
1010
"github.com/hashicorp/terraform-plugin-log/tflog"
1111
certSdk "github.com/stackitcloud/stackit-sdk-go/services/certificates/v2api"
12+
1213
"github.com/stackitcloud/terraform-provider-stackit/stackit/internal/conversion"
1314
"github.com/stackitcloud/terraform-provider-stackit/stackit/internal/core"
1415
certUtils "github.com/stackitcloud/terraform-provider-stackit/stackit/internal/services/albcertificates/utils"
@@ -56,7 +57,7 @@ func (r *certDataSource) Configure(ctx context.Context, req datasource.Configure
5657
func (r *certDataSource) Schema(_ context.Context, _ datasource.SchemaRequest, resp *datasource.SchemaResponse) {
5758
descriptions := map[string]string{
5859
"main": "Certificates resource schema.",
59-
"id": "Terraform's internal resource ID. It is structured as `project_id`,`region`,`cert_id`.",
60+
"id": "Terraform's internal resource ID. It is structured as \"`project_id`,`region`,`cert_id`\".",
6061
"project_id": "STACKIT project ID to which the certificate is associated.",
6162
"region": "The resource region (e.g. eu01). If not defined, the provider region is used.",
6263
"cert_id": "The ID of the certificate.",

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

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ import (
1818
"github.com/hashicorp/terraform-plugin-log/tflog"
1919
"github.com/stackitcloud/stackit-sdk-go/core/oapierror"
2020
certSdk "github.com/stackitcloud/stackit-sdk-go/services/certificates/v2api"
21+
2122
"github.com/stackitcloud/terraform-provider-stackit/stackit/internal/conversion"
2223
"github.com/stackitcloud/terraform-provider-stackit/stackit/internal/core"
2324
certUtils "github.com/stackitcloud/terraform-provider-stackit/stackit/internal/services/albcertificates/utils"
@@ -115,7 +116,7 @@ func (r *certificatesResource) Configure(ctx context.Context, req resource.Confi
115116
func (r *certificatesResource) Schema(_ context.Context, _ resource.SchemaRequest, resp *resource.SchemaResponse) {
116117
descriptions := map[string]string{
117118
"main": "Certificates resource schema.",
118-
"id": "Terraform's internal resource ID. It is structured as `project_id`,`region`,`cert_id`.",
119+
"id": "Terraform's internal resource ID. It is structured as \"`project_id`,`region`,`cert_id`\".",
119120
"project_id": "STACKIT project ID to which the certificate is associated.",
120121
"region": "The resource region (e.g. eu01). If not defined, the provider region is used.",
121122
"cert_id": "The ID of the certificate.",

stackit/internal/services/albcertificates/certificate_acc_test.go

Lines changed: 24 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -11,9 +11,9 @@ import (
1111
"github.com/hashicorp/terraform-plugin-testing/helper/acctest"
1212
"github.com/hashicorp/terraform-plugin-testing/helper/resource"
1313
"github.com/hashicorp/terraform-plugin-testing/terraform"
14-
stackitSdkConfig "github.com/stackitcloud/stackit-sdk-go/core/config"
1514
"github.com/stackitcloud/stackit-sdk-go/core/utils"
1615
certSdk "github.com/stackitcloud/stackit-sdk-go/services/certificates/v2api"
16+
1717
"github.com/stackitcloud/terraform-provider-stackit/stackit/internal/core"
1818
"github.com/stackitcloud/terraform-provider-stackit/stackit/internal/testutil"
1919
)
@@ -49,7 +49,7 @@ func TestAccCertResourceMin(t *testing.T) {
4949
// Creation
5050
{
5151
ConfigVariables: testConfigVarsMin,
52-
Config: testutil.CertProviderConfig() + resourceMinConfig,
52+
Config: testutil.NewConfigBuilder().BuildProviderConfig() + resourceMinConfig,
5353
Check: resource.ComposeAggregateTestCheckFunc(
5454
// ALB Certificate instance resource
5555
resource.TestCheckResourceAttr("stackit_alb_certificate.certificate", "project_id", testutil.ConvertConfigVariable(testConfigVarsMin["project_id"])),
@@ -72,7 +72,7 @@ func TestAccCertResourceMin(t *testing.T) {
7272
cert_id = stackit_alb_certificate.certificate.cert_id
7373
}
7474
`,
75-
testutil.CertProviderConfig()+resourceMinConfig,
75+
testutil.NewConfigBuilder().BuildProviderConfig()+resourceMinConfig,
7676
),
7777
Check: resource.ComposeAggregateTestCheckFunc(
7878
// ALB Certificate instance
@@ -142,7 +142,7 @@ func TestAccCertResourceMax(t *testing.T) {
142142
// Creation
143143
{
144144
ConfigVariables: testConfigVarsMax,
145-
Config: testutil.CertProviderConfig() + resourceMaxConfig,
145+
Config: testutil.NewConfigBuilder().BuildProviderConfig() + resourceMaxConfig,
146146
Check: resource.ComposeAggregateTestCheckFunc(
147147
// ALB Certificate instance resource
148148
resource.TestCheckResourceAttr("stackit_alb_certificate.certificate", "project_id", testutil.ConvertConfigVariable(testConfigVarsMax["project_id"])),
@@ -165,7 +165,7 @@ func TestAccCertResourceMax(t *testing.T) {
165165
cert_id = stackit_alb_certificate.certificate.cert_id
166166
}
167167
`,
168-
testutil.CertProviderConfig()+resourceMaxConfig,
168+
testutil.NewConfigBuilder().BuildProviderConfig()+resourceMaxConfig,
169169
),
170170
Check: resource.ComposeAggregateTestCheckFunc(
171171
// ALB Certificate instance
@@ -223,15 +223,7 @@ func TestAccCertResourceMax(t *testing.T) {
223223

224224
func testAccCheckCertDestroy(s *terraform.State) error {
225225
ctx := context.Background()
226-
var client *certSdk.APIClient
227-
var err error
228-
if testutil.ALBCustomEndpoint == "" {
229-
client, err = certSdk.NewAPIClient()
230-
} else {
231-
client, err = certSdk.NewAPIClient(
232-
stackitSdkConfig.WithEndpoint(testutil.CertCustomEndpoint),
233-
)
234-
}
226+
client, err := certSdk.NewAPIClient(testutil.NewConfigBuilder().BuildClientOptions(testutil.ALBCertCustomEndpoint, false)...)
235227
if err != nil {
236228
return fmt.Errorf("creating client: %w", err)
237229
}
@@ -240,14 +232,14 @@ func testAccCheckCertDestroy(s *terraform.State) error {
240232
if testutil.Region != "" {
241233
region = testutil.Region
242234
}
243-
certificateToDestroy := []string{}
235+
certificatesToDestroy := []string{}
244236
for _, rs := range s.RootModule().Resources {
245-
if rs.Type != "stackit_loadbalancer" {
237+
if rs.Type != "stackit_alb_certificate" {
246238
continue
247239
}
248-
// cetificate terraform ID: = "[project_id],[region],[name]"
249-
certificateName := strings.Split(rs.Primary.ID, core.Separator)[1]
250-
certificateToDestroy = append(certificateToDestroy, certificateName)
240+
// certificate terraform ID: = "[project_id],[region],[cert_id]"
241+
certificateID := strings.Split(rs.Primary.ID, core.Separator)[2]
242+
certificatesToDestroy = append(certificatesToDestroy, certificateID)
251243
}
252244

253245
certificateResp, err := client.DefaultAPI.ListCertificates(ctx, testutil.ProjectId, region).Execute()
@@ -260,16 +252,20 @@ func testAccCheckCertDestroy(s *terraform.State) error {
260252
return nil
261253
}
262254

263-
items := certificateResp.Items
264-
for i := range items {
265-
if items[i].Name == nil {
266-
continue
255+
for i := range certificatesToDestroy {
256+
_, err := client.DefaultAPI.DeleteCertificate(ctx, testutil.ProjectId, region, certificatesToDestroy[i]).Execute()
257+
if err != nil {
258+
return fmt.Errorf("destroying certificate %s during CheckDestroy: %w", certificatesToDestroy[i], err)
267259
}
268-
if utils.Contains(certificateToDestroy, *items[i].Name) {
269-
_, err := client.DefaultAPI.DeleteCertificate(ctx, testutil.ProjectId, region, *items[i].Id).Execute()
270-
if err != nil {
271-
return fmt.Errorf("destroying certificate %s during CheckDestroy: %w", *items[i].Name, err)
272-
}
260+
}
261+
262+
certificateResp, err = client.DefaultAPI.ListCertificates(ctx, testutil.ProjectId, region).Execute()
263+
if err != nil {
264+
return fmt.Errorf("getting certificateResp after destroy: %w", err)
265+
}
266+
for i := range certificateResp.Items {
267+
if utils.Contains(certificatesToDestroy, *certificateResp.Items[i].Id) {
268+
return fmt.Errorf("certificate %s has not been destroyed", *certificateResp.Items[i].Id)
273269
}
274270
}
275271
return nil

stackit/internal/services/albcertificates/testfiles/resource-max.tf

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ resource "tls_self_signed_cert" "test" {
1313

1414
subject {
1515
common_name = "localhost"
16-
organization = "Stackit Test"
16+
organization = "STACKIT Test"
1717
}
1818

1919
validity_period_hours = 12

stackit/internal/services/albcertificates/testfiles/resource-min.tf

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ resource "tls_self_signed_cert" "test" {
1212

1313
subject {
1414
common_name = "localhost"
15-
organization = "Stackit Test"
15+
organization = "STACKIT Test"
1616
}
1717

1818
validity_period_hours = 12

stackit/internal/testutil/testutil.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -67,8 +67,8 @@ var (
6767
TestImageLocalFilePath = getenv("TF_ACC_TEST_IMAGE_LOCAL_FILE_PATH", "default")
6868

6969
ALBCustomEndpoint = customEndpointConfig{envVarName: "TF_ACC_ALB_CUSTOM_ENDPOINT", providerName: "alb_custom_endpoint"}
70+
ALBCertCustomEndpoint = customEndpointConfig{envVarName: "TF_ACC_ALB_CERT_CUSTOM_ENDPOINT", providerName: "alb_certificates_custom_endpoint"}
7071
CdnCustomEndpoint = customEndpointConfig{envVarName: "TF_ACC_CDN_CUSTOM_ENDPOINT", providerName: "cdn_custom_endpoint"}
71-
CertCustomEndpoint = customEndpointConfig{envVarName: "TF_ACC_CERT_CUSTOM_ENDPOINT", providerName: "alb_certificates_custom_endpoint"}
7272
DnsCustomEndpoint = customEndpointConfig{envVarName: "TF_ACC_DNS_CUSTOM_ENDPOINT", providerName: "dns_custom_endpoint"}
7373
EdgeCloudCustomEndpoint = customEndpointConfig{envVarName: "TF_ACC_EDGECLOUD_CUSTOM_ENDPOINT", providerName: "edgecloud_custom_endpoint"}
7474
GitCustomEndpoint = customEndpointConfig{envVarName: "TF_ACC_GIT_CUSTOM_ENDPOINT", providerName: "git_custom_endpoint"}
@@ -100,8 +100,8 @@ var (
100100

101101
allCustomEndpoints = []customEndpointConfig{
102102
ALBCustomEndpoint,
103+
ALBCertCustomEndpoint,
103104
CdnCustomEndpoint,
104-
CertCustomEndpoint,
105105
DnsCustomEndpoint,
106106
EdgeCloudCustomEndpoint,
107107
GitCustomEndpoint,

0 commit comments

Comments
 (0)