Top Tags

Terraform clone WSL instances

Clone WSL instances using Terraform

Base dir E:\WSL

bash
1terraform -chdir=E:\WSL init
2terraform -chdir=E:\WSL plan
3terraform -chdir=E:\WSL apply

File here https://github.com/dedkola/salsa/blob/main/terrraform/wsl.tf

terraform
1provider "local" {
2}
3
4resource "null_resource" "export_wsl" {
5 provisioner "local-exec" {
6 command = "wsl --export Ubuntu-24.04 E:\\WSL\\ubuntu-backup.tar"
7 }
8}
9
10resource "null_resource" "import_wsl_1" {
11 depends_on = [null_resource.export_wsl]
12
13 provisioner "local-exec" {
14 command = "wsl --import U1 E:\\WSL\\U1 E:\\WSL\\ubuntu-backup.tar"
15 }
16
17 provisioner "local-exec" {
18 when = destroy
19 command = "wsl --unregister U1"
20 }
21}
22
23resource "null_resource" "import_wsl_2" {
24 depends_on = [null_resource.export_wsl]
25
26 provisioner "local-exec" {
27 command = "wsl --import U2 E:\\WSL\\U2 E:\\WSL\\ubuntu-backup.tar"
28 }
29
30
31 provisioner "local-exec" {
32 when = destroy
33 command = "wsl --unregister U2"
34 }
35}
36provider "local" {
37}
38
39resource "null_resource" "export_wsl" {
40 provisioner "local-exec" {
41 command = "wsl --export Ubuntu-24.04 E:\\WSL\\ubuntu-backup.tar"
42 }
43}
44
45resource "null_resource" "import_wsl_1" {
46 depends_on = [null_resource.export_wsl]
47
48 provisioner "local-exec" {
49 command = "wsl --import U1 E:\\WSL\\U1 E:\\WSL\\ubuntu-backup.tar"
50 }
51
52 provisioner "local-exec" {
53 when = destroy
54 command = "wsl --unregister U1"
55 }
56}
57
58resource "null_resource" "import_wsl_2" {
59 depends_on = [null_resource.export_wsl]
60
61 provisioner "local-exec" {
62 command = "wsl --import U2 E:\\WSL\\U2 E:\\WSL\\ubuntu-backup.tar"
63 }
64
65
66 provisioner "local-exec" {
67 when = destroy
68 command = "wsl --unregister U2"
69 }
70}