@@ -53,3 +53,90 @@ func TestAccEdgeServicesBackend_Basic(t *testing.T) {
5353 },
5454 })
5555}
56+
57+ func TestAccEdgeServicesBackend_LB (t * testing.T ) {
58+ tt := acctest .NewTestTools (t )
59+ defer tt .Cleanup ()
60+ resource .ParallelTest (t , resource.TestCase {
61+ PreCheck : func () { acctest .PreCheck (t ) },
62+ ProviderFactories : tt .ProviderFactories ,
63+ CheckDestroy : edgeservicestestfuncs .CheckEdgeServicesBackendDestroy (tt ),
64+ Steps : []resource.TestStep {
65+ {
66+ Config : `
67+ resource "scaleway_lb_ip" "lb_ip" {}
68+
69+ resource "scaleway_lb" "lb01" {
70+ name = "lb_name"
71+ ip_id = scaleway_lb_ip.lb_ip.id
72+ type = "LB-S"
73+ }
74+
75+ resource "scaleway_lb_backend" "bck01" {
76+ lb_id = scaleway_lb.lb01.id
77+ name = "backend"
78+ forward_protocol = "http"
79+ forward_port = 80
80+ ssl_bridging = true
81+
82+ health_check_http {
83+ uri = "/healthcheck"
84+ method = "GET"
85+ code = 200
86+ }
87+ }
88+
89+ resource "scaleway_lb_frontend" "frt01" {
90+ lb_id = scaleway_lb.lb01.id
91+ backend_id = scaleway_lb_backend.bck01.id
92+ name = "frontend"
93+ inbound_port = "443"
94+ certificate_ids = [
95+ scaleway_lb_certificate.cert01.id,
96+ ]
97+ }
98+
99+ resource "scaleway_lb_certificate" "cert01" {
100+ lb_id = scaleway_lb.lb01.id
101+ name = "test-cert"
102+ letsencrypt {
103+ common_name = "${replace(scaleway_lb_ip.lb_ip.ip_address, ".", "-")}.lb.${scaleway_lb.lb01.region}.scw.cloud"
104+ }
105+ }
106+
107+ resource "scaleway_edge_services_pipeline" "main" {
108+ name = "my-edge_services-pipeline"
109+ description = "pipeline description"
110+ }
111+
112+ resource "scaleway_edge_services_backend_stage" "main" {
113+ pipeline_id = scaleway_edge_services_pipeline.main.id
114+ lb_backend_config {
115+ lb_config {
116+ id = scaleway_lb.lb01.id
117+ frontend_id = scaleway_lb_frontend.frt01.id
118+ is_ssl = true
119+ }
120+ }
121+ }
122+ ` ,
123+ Check : resource .ComposeTestCheckFunc (
124+ edgeservicestestfuncs .CheckEdgeServicesBackendExists (tt , "scaleway_edge_services_backend_stage.main" ),
125+ resource .TestCheckResourceAttrPair (
126+ "scaleway_edge_services_backend_stage.main" , "lb_backend_config.0.lb_config.0.id" ,
127+ "scaleway_lb.lb01" , "id" ),
128+ resource .TestCheckResourceAttrPair (
129+ "scaleway_edge_services_backend_stage.main" , "lb_backend_config.0.lb_config.0.frontend_id" ,
130+ "scaleway_lb_frontend.frt01" , "id" ),
131+ resource .TestCheckResourceAttrPair (
132+ "scaleway_edge_services_pipeline.main" , "id" ,
133+ "scaleway_edge_services_backend_stage.main" , "pipeline_id" ),
134+ resource .TestCheckResourceAttr ("scaleway_edge_services_backend_stage.main" , "lb_backend_config.0.lb_config.0.is_ssl" , "true" ),
135+ resource .TestCheckResourceAttr ("scaleway_edge_services_backend_stage.main" , "lb_backend_config.0.lb_config.0.zone" , "fr-par-1" ),
136+ resource .TestCheckResourceAttrSet ("scaleway_edge_services_backend_stage.main" , "created_at" ),
137+ resource .TestCheckResourceAttrSet ("scaleway_edge_services_backend_stage.main" , "updated_at" ),
138+ ),
139+ },
140+ },
141+ })
142+ }
0 commit comments