Skip to content

Commit

Permalink
feat(lb-frontend): add example with two certificates
Browse files Browse the repository at this point in the history
  • Loading branch information
Monitob committed Mar 28, 2022
1 parent 473ec5a commit 506944a
Show file tree
Hide file tree
Showing 3 changed files with 935 additions and 252 deletions.
4 changes: 2 additions & 2 deletions scaleway/resource_lb_frontend.go
Original file line number Diff line number Diff line change
Expand Up @@ -203,7 +203,7 @@ func resourceScalewayLbFrontendCreate(ctx context.Context, d *schema.ResourceDat

certificatesRaw, certificatesExist := d.GetOk("certificate_ids")
if certificatesExist {
createFrontendRequest.CertificateIDs = expandSlideIDsPtr(certificatesRaw)
createFrontendRequest.CertificateIDs = expandSliceIDsPtr(certificatesRaw)
}

res, err := lbAPI.CreateFrontend(createFrontendRequest, scw.WithContext(ctx))
Expand Down Expand Up @@ -400,7 +400,7 @@ func resourceScalewayLbFrontendUpdate(ctx context.Context, d *schema.ResourceDat
}

if d.HasChanges("certificate_ids") {
req.CertificateIDs = expandSlideIDsPtr(d.Get("certificate_ids"))
req.CertificateIDs = expandSliceIDsPtr(d.Get("certificate_ids"))
}

_, err = lbAPI.UpdateFrontend(req, scw.WithContext(ctx))
Expand Down
33 changes: 26 additions & 7 deletions scaleway/resource_lb_frontend_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -81,15 +81,25 @@ func TestAccScalewayLbFrontend_Basic(t *testing.T) {
func TestAccScalewayLbFrontend_Certificate(t *testing.T) {
tt := NewTestTools(t)
defer tt.Cleanup()
testDNSZone := fmt.Sprintf("test.%s", testDomain)
resource.ParallelTest(t, resource.TestCase{
PreCheck: func() { testAccPreCheck(t) },
ProviderFactories: tt.ProviderFactories,
CheckDestroy: testAccCheckScalewayLbFrontendDestroy(tt),
Steps: []resource.TestStep{
{
Config: `
Config: fmt.Sprintf(`
resource scaleway_lb_ip ip01 {}
resource "scaleway_domain_record" "tf_A" {
dns_zone = %[1]q
name = "test"
type = "A"
data = "${scaleway_lb_ip.ip01.ip_address}"
ttl = 3600
priority = 1
}
resource scaleway_lb lb01 {
ip_id = scaleway_lb_ip.ip01.id
name = "test-lb"
Expand All @@ -98,8 +108,8 @@ func TestAccScalewayLbFrontend_Certificate(t *testing.T) {
resource scaleway_lb_backend bkd01 {
lb_id = scaleway_lb.lb01.id
forward_protocol = "tcp"
forward_port = 443
forward_protocol = "http"
forward_port = 80
proxy_protocol = "none"
}
Expand All @@ -111,18 +121,27 @@ func TestAccScalewayLbFrontend_Certificate(t *testing.T) {
}
}
resource scaleway_lb_certificate cert02 {
lb_id = scaleway_lb.lb01.id
name = "test-cert-front-end2"
letsencrypt {
common_name = %[2]q
}
}
resource scaleway_lb_frontend frt01 {
lb_id = scaleway_lb.lb01.id
backend_id = scaleway_lb_backend.bkd01.id
inbound_port = 443
certificate_ids = [scaleway_lb_certificate.cert01.id]
inbound_port = 80
certificate_ids = [scaleway_lb_certificate.cert01.id, scaleway_lb_certificate.cert02.id]
}
`,
`, testDomain, testDNSZone),
Check: resource.ComposeTestCheckFunc(
testAccCheckScalewayLbFrontendExists(tt, "scaleway_lb_frontend.frt01"),
testAccCheckScalewayFrontendCertificateExist(tt, "scaleway_lb_frontend.frt01", "scaleway_lb_certificate.cert01"),
testAccCheckScalewayFrontendCertificateExist(tt, "scaleway_lb_frontend.frt01", "scaleway_lb_certificate.cert02"),
resource.TestCheckResourceAttr("scaleway_lb_frontend.frt01",
"certificate_ids.#", "1"),
"certificate_ids.#", "2"),
),
},
},
Expand Down

0 comments on commit 506944a

Please sign in to comment.