Skip to content

Commit 61dccc9

Browse files
committed
fix(baremetal): support install service_password and service_user (scaleway#3177)
* fix(baremetal): support install service_password and service_user * tests: add cassettes
1 parent 9e29a0d commit 61dccc9

File tree

3 files changed

+5058
-0
lines changed

3 files changed

+5058
-0
lines changed

internal/services/baremetal/server.go

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -382,6 +382,8 @@ func ResourceServerCreate(ctx context.Context, d *schema.ResourceData, m any) di
382382
User: types.ExpandStringPtr(d.Get("user")),
383383
Password: types.ExpandStringPtr(d.Get("password")),
384384
PartitioningSchema: &partitioningSchema,
385+
ServicePassword: types.ExpandStringPtr(d.Get("service_password")),
386+
ServiceUser: types.ExpandStringPtr(d.Get("service_user")),
385387
}
386388
}
387389

internal/services/baremetal/server_test.go

Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -236,6 +236,59 @@ func TestAccServer_CreateServerWithCustomInstallConfig(t *testing.T) {
236236
})
237237
}
238238

239+
func TestAccServer_CreateServerWithServicePassword(t *testing.T) {
240+
tt := acctest.NewTestTools(t)
241+
defer tt.Cleanup()
242+
243+
SSHKeyName := "TestAccServer_CreateServerWithServicePassword"
244+
password := "HelloWorld678!"
245+
246+
resource.ParallelTest(t, resource.TestCase{
247+
PreCheck: func() { acctest.PreCheck(t) },
248+
ProviderFactories: tt.ProviderFactories,
249+
CheckDestroy: baremetalchecks.CheckServerDestroy(tt),
250+
Steps: []resource.TestStep{
251+
{
252+
Config: fmt.Sprintf(`
253+
data "scaleway_baremetal_os" "by_id" {
254+
zone = "%s"
255+
name = "Proxmox"
256+
version = "VE 8 | Debian 12 (Bookworm)"
257+
}
258+
259+
data "scaleway_baremetal_offer" "server_model" {
260+
zone = "fr-par-2"
261+
name = "EM-A610R-NVME"
262+
subscription_period = "hourly"
263+
}
264+
265+
resource "scaleway_iam_ssh_key" "main" {
266+
name = "%s"
267+
public_key = "%s"
268+
}
269+
270+
resource "scaleway_baremetal_server" "TP" {
271+
zone = "%s"
272+
ssh_key_ids = [scaleway_iam_ssh_key.main.id]
273+
offer = data.scaleway_baremetal_offer.server_model.offer_id
274+
os = data.scaleway_baremetal_os.by_id.os_id
275+
service_password = "%s"
276+
}
277+
`, Zone, SSHKeyName, SSHKeyBaremetal, Zone, password),
278+
Check: resource.ComposeTestCheckFunc(
279+
testAccCheckBaremetalServerExists(tt, "scaleway_baremetal_server.TP"),
280+
resource.TestCheckResourceAttrSet("scaleway_baremetal_server.TP", "id"),
281+
resource.TestCheckResourceAttr("scaleway_baremetal_server.TP", "zone", Zone),
282+
resource.TestCheckResourceAttr("scaleway_baremetal_server.TP", "offer", "fr-par-1/e1680dec-52aa-4cbc-b70c-ef32d863fdb0"),
283+
resource.TestCheckResourceAttr("scaleway_baremetal_server.TP", "os", "fr-par-1/a5c00c1b-95b1-4c08-8a33-79cc079f9dac"), // Replace with actual os_id if needed
284+
resource.TestCheckResourceAttrSet("scaleway_baremetal_server.TP", "service_user"),
285+
acctest.CheckResourceAttrUUID("scaleway_baremetal_server.TP", "ssh_key_ids.0"),
286+
),
287+
},
288+
},
289+
})
290+
}
291+
239292
func TestAccServer_CreateServerWithOption(t *testing.T) {
240293
tt := acctest.NewTestTools(t)
241294
defer tt.Cleanup()

internal/services/baremetal/testdata/server-create-server-with-service-password.cassette.yaml

Lines changed: 5003 additions & 0 deletions
Large diffs are not rendered by default.

0 commit comments

Comments
 (0)