@@ -53,3 +53,90 @@ func TestAccEdgeServicesBackend_Basic(t *testing.T) {
53
53
},
54
54
})
55
55
}
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