@@ -8,11 +8,11 @@ import (
8
8
9
9
func TestAccScalewayLbCertificate_Basic (t * testing.T ) {
10
10
/**
11
- * Note regarding the usage of xip.io
12
- * See the discussion on https://github.com/terraform-providers/terraform-provider-scaleway/pull/396
11
+ * See the discussion on https://github.com/scaleway/terraform-provider-scaleway/pull/396
13
12
* Long story short, scaleway API will not permit you to request a certificate in case common name is not pointed
14
13
* to the load balancer IP (which is unknown before creating it). In production, this can be overcome by introducing
15
- * an additional step which creates a DNS record and depending on it, but for test purposes, xip.io is an ideal solution.
14
+ * an additional step which creates a DNS record and depending on it
15
+ * We use a DNS name like: 195-154-70-235.lb.fr-par.scw.cloud
16
16
*/
17
17
tt := NewTestTools (t )
18
18
defer tt .Cleanup ()
@@ -23,17 +23,22 @@ func TestAccScalewayLbCertificate_Basic(t *testing.T) {
23
23
Steps : []resource.TestStep {
24
24
{
25
25
Config : `
26
- resource scaleway_lb_ip ip01 {}
26
+ resource scaleway_lb_ip ip01 {
27
+ region = "fr-par"
28
+ }
29
+
27
30
resource scaleway_lb lb01 {
28
31
ip_id = scaleway_lb_ip.ip01.id
29
32
name = "test-lb"
30
33
type = "lb-s"
34
+ region = "fr-par"
31
35
}
36
+
32
37
resource scaleway_lb_certificate cert01 {
33
38
lb_id = scaleway_lb.lb01.id
34
39
name = "test-cert"
35
40
letsencrypt {
36
- common_name = "${scaleway_lb.lb01 .ip_address}.xip.io "
41
+ common_name = "${replace(scaleway_lb_ip.ip01 .ip_address,".", "-")}.lb.fr-par.scw.cloud "
37
42
}
38
43
}
39
44
` ,
@@ -44,18 +49,23 @@ func TestAccScalewayLbCertificate_Basic(t *testing.T) {
44
49
},
45
50
{
46
51
Config : `
47
- resource scaleway_lb_ip ip01 {}
52
+ resource scaleway_lb_ip ip01 {
53
+ region = "fr-par"
54
+ }
55
+
48
56
resource scaleway_lb lb01 {
49
- ip_id = scaleway_lb_ip.ip01.id
50
- name = "test-lb"
51
- type = "lb-s"
57
+ ip_id = scaleway_lb_ip.ip01.id
58
+ name = "test-lb"
59
+ type = "lb-s"
60
+ region = "fr-par"
52
61
}
62
+
53
63
resource scaleway_lb_certificate cert01 {
54
64
lb_id = scaleway_lb.lb01.id
55
65
name = "test-cert-new"
56
- letsencrypt {
57
- common_name = "${scaleway_lb.lb01.ip_address}.xip.io "
58
- }
66
+ letsencrypt {
67
+ common_name = "${replace( scaleway_lb.lb01.ip_address, ".", "-")}.lb.fr-par.scw.cloud "
68
+ }
59
69
}
60
70
` ,
61
71
Check : resource .ComposeTestCheckFunc (
@@ -64,24 +74,29 @@ func TestAccScalewayLbCertificate_Basic(t *testing.T) {
64
74
},
65
75
{
66
76
Config : `
67
- resource scaleway_lb_ip ip01 {}
77
+ resource scaleway_lb_ip ip01 {
78
+ region = "fr-par"
79
+ }
80
+
68
81
resource scaleway_lb lb01 {
69
82
ip_id = scaleway_lb_ip.ip01.id
70
83
name = "test-lb"
71
84
type = "lb-s"
85
+ region = "fr-par"
72
86
}
87
+
73
88
resource scaleway_lb_certificate cert01 {
74
89
lb_id = scaleway_lb.lb01.id
75
90
name = "test-cert"
76
- letsencrypt {
77
- common_name = "${scaleway_lb.lb01.ip_address}.xip.io "
91
+ letsencrypt {
92
+ common_name = "${replace( scaleway_lb.lb01.ip_address, ".", "-")}.lb.fr-par.scw.cloud "
78
93
subject_alternative_name = [
79
- "sub1.${scaleway_lb.lb01.ip_address}.xip.io ",
80
- "sub2.${scaleway_lb.lb01.ip_address}.xip.io "
94
+ "sub1.${replace( scaleway_lb.lb01.ip_address, ".", "-")}.lb.fr-par.scw.cloud ",
95
+ "sub2.${replace( scaleway_lb.lb01.ip_address, ".", "-")}.lb.fr-par.scw.cloud "
81
96
]
82
- }
97
+ }
83
98
}
84
- ` ,
99
+ ` ,
85
100
Check : resource .ComposeTestCheckFunc (
86
101
resource .TestCheckResourceAttr ("scaleway_lb_certificate.cert01" , "name" , "test-cert" ),
87
102
resource .TestCheckResourceAttr ("scaleway_lb_certificate.cert01" , "letsencrypt.#" , "1" ),
@@ -90,12 +105,17 @@ func TestAccScalewayLbCertificate_Basic(t *testing.T) {
90
105
},
91
106
{
92
107
Config : `
93
- resource scaleway_lb_ip ip01 {}
108
+ resource scaleway_lb_ip ip01 {
109
+ region = "fr-par"
110
+ }
111
+
94
112
resource scaleway_lb lb01 {
95
113
ip_id = scaleway_lb_ip.ip01.id
96
114
name = "test-lb"
97
115
type = "lb-s"
116
+ region = "fr-par"
98
117
}
118
+
99
119
resource scaleway_lb_certificate cert01 {
100
120
lb_id = scaleway_lb.lb01.id
101
121
name = "test-custom-cert"
0 commit comments