Skip to content

Commit 59aaeba

Browse files
committed
feat(dedicated_server{,_reinstall_task}): add customizations.config_drive_metadata
ref: #PUBM-43183 Signed-off-by: Jean-Baptiste Delon <[email protected]>
1 parent 6f783be commit 59aaeba

File tree

8 files changed

+100
-7
lines changed

8 files changed

+100
-7
lines changed

docs/resources/dedicated_server.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -109,6 +109,7 @@ resource "ovh_dedicated_server" "server" {
109109

110110
* `os` - Operating System to install
111111
* `customizations` - Customization of the OS configuration
112+
* `config_drive_metadata` - Config Drive MetaData
112113
* `config_drive_user_data` - Config Drive UserData
113114
* `efi_bootloader_path` - Path of the EFI bootloader from the OS installed on the server
114115
* `hostname` - Custom hostname

docs/resources/dedicated_server_reinstall_task.md

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -119,14 +119,16 @@ resource "ovh_dedicated_server_reinstall_task" "server_install" {
119119
service_name = data.ovh_dedicated_server.server.service_name
120120
os = "byolinux_64"
121121
customizations {
122+
config_drive_metadata = {
123+
foo = "bar"
124+
hello = "world"
125+
}
122126
config_drive_user_data = "I2Nsb3VkLWNvbmZpZwpzc2hfYXV0aG9yaXplZF9rZXlzOgogIC0gc3NoLXJzYSBBQUFBQjhkallpdz09IG15c2VsZkBteWRvbWFpbi5uZXQKCnVzZXJzOgogIC0gbmFtZTogcGF0aWVudDAKICAgIHN1ZG86IEFMTD0oQUxMKSBOT1BBU1NXRDpBTEwKICAgIGdyb3VwczogdXNlcnMsIHN1ZG8KICAgIHNoZWxsOiAvYmluL2Jhc2gKICAgIGxvY2tfcGFzc3dkOiBmYWxzZQogICAgc3NoX2F1dGhvcml6ZWRfa2V5czoKICAgICAgLSBzc2gtcnNhIEFBQUFCOGRqWWl3PT0gbXlzZWxmQG15ZG9tYWluLm5ldApkaXNhYmxlX3Jvb3Q6IGZhbHNlCnBhY2thZ2VzOgogIC0gdmltCiAgLSB0cmVlCmZpbmFsX21lc3NhZ2U6IFRoZSBzeXN0ZW0gaXMgZmluYWxseSB1cCwgYWZ0ZXIgJFVQVElNRSBzZWNvbmRzCg=="
123127
hostname = "mon-tux"
124128
http_headers = {
125129
Authorization = "Basic bG9naW46cGFzc3dvcmQ="
126130
}
127-
image_check_sum = "367f26c915f39314dde155db3a2b0326803e06975d1f4be04256f8b591e38fd4062d36eb7d50e99da7a50b7f4cd69640e56a4ab93e8e0274e4e478e0f84b5d29"
128-
image_check_sum_type = "sha512"
129-
image_url = "https://github.com/ashmonger/akution_test/releases/download/0.5-compress/deb11k6.qcow2"
131+
image_url = "https://github.com/ashmonger/akution_test/releases/download/0.5-compress/deb11k6.qcow2"
130132
}
131133
}
132134
```

examples/resources/dedicated_server_reinstall_task/example_4.tf

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,13 +10,15 @@ resource "ovh_dedicated_server_reinstall_task" "server_install" {
1010
service_name = data.ovh_dedicated_server.server.service_name
1111
os = "byolinux_64"
1212
customizations {
13+
config_drive_metadata = {
14+
foo = "bar"
15+
hello = "world"
16+
}
1317
config_drive_user_data = "I2Nsb3VkLWNvbmZpZwpzc2hfYXV0aG9yaXplZF9rZXlzOgogIC0gc3NoLXJzYSBBQUFBQjhkallpdz09IG15c2VsZkBteWRvbWFpbi5uZXQKCnVzZXJzOgogIC0gbmFtZTogcGF0aWVudDAKICAgIHN1ZG86IEFMTD0oQUxMKSBOT1BBU1NXRDpBTEwKICAgIGdyb3VwczogdXNlcnMsIHN1ZG8KICAgIHNoZWxsOiAvYmluL2Jhc2gKICAgIGxvY2tfcGFzc3dkOiBmYWxzZQogICAgc3NoX2F1dGhvcml6ZWRfa2V5czoKICAgICAgLSBzc2gtcnNhIEFBQUFCOGRqWWl3PT0gbXlzZWxmQG15ZG9tYWluLm5ldApkaXNhYmxlX3Jvb3Q6IGZhbHNlCnBhY2thZ2VzOgogIC0gdmltCiAgLSB0cmVlCmZpbmFsX21lc3NhZ2U6IFRoZSBzeXN0ZW0gaXMgZmluYWxseSB1cCwgYWZ0ZXIgJFVQVElNRSBzZWNvbmRzCg=="
1418
hostname = "mon-tux"
1519
http_headers = {
1620
Authorization = "Basic bG9naW46cGFzc3dvcmQ="
1721
}
18-
image_check_sum = "367f26c915f39314dde155db3a2b0326803e06975d1f4be04256f8b591e38fd4062d36eb7d50e99da7a50b7f4cd69640e56a4ab93e8e0274e4e478e0f84b5d29"
19-
image_check_sum_type = "sha512"
2022
image_url = "https://github.com/ashmonger/akution_test/releases/download/0.5-compress/deb11k6.qcow2"
2123
}
2224
}

ovh/resource_dedicated_server_gen.go

Lines changed: 74 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

ovh/resource_dedicated_server_reinstall_task.go

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,15 @@ func resourceDedicatedServerReinstallTask() *schema.Resource {
4848
Description: "OS reinstallation customizations",
4949
Elem: &schema.Resource{
5050
Schema: map[string]*schema.Schema{
51+
"config_drive_metadata": {
52+
Type: schema.TypeMap,
53+
Optional: true,
54+
ForceNew: true,
55+
Description: "Config Drive MetaData",
56+
Elem: &schema.Schema{
57+
Type: schema.TypeString,
58+
},
59+
},
5160
"config_drive_user_data": {
5261
Type: schema.TypeString,
5362
Optional: true,

ovh/resource_dedicated_server_reinstall_task_test.go

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -292,12 +292,14 @@ resource "ovh_dedicated_server_reinstall_task" "server_reinstall" {
292292
os = "byolinux_64"
293293
customizations {
294294
hostname = "mon-tux"
295-
image_check_sum = "047122c9ff4d2a69512212104b06c678f5a9cdb22b75467353613ff87ccd03b57b38967e56d810e61366f9d22d6bd39ac0addf4e00a4c6445112a2416af8f225"
296-
image_check_sum_type = "sha512"
297295
image_url = "https://github.com/ashmonger/akution_test/releases/download/0.6-fixCache/deb11k6.qcow2"
298296
efi_bootloader_path = "\\efi\\debian\\grubx64.efi"
299297
ssh_key = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIIrODOo0SvY5f0TlQNvGHIRKzr4bHPa+D5bYF18RiOgP [email protected]"
300298
config_drive_user_data = "c3NoX2F1dGhvcml6ZWRfa2V5czoKICAtIHNzaC1yc2EgQUFBQUI4ZGpZaXc9PSBteXNlbGZAbXlkb21haW4ubmV0Cgp1c2VyczoKICAtIG5hbWU6IHBhdGllbnQwCiAgICBzdWRvOiBBTEw9KEFMTCkgTk9QQVNTV0Q6QUxMCiAgICBncm91cHM6IHVzZXJzLCBzdWRvCiAgICBzaGVsbDogL2Jpbi9iYXNoCiAgICBsb2NrX3Bhc3N3ZDogZmFsc2UKICAgIHNzaF9hdXRob3JpemVkX2tleXM6CiAgICAgIC0gc3NoLXJzYSBBQUFBQjhkallpdz09IG15c2VsZkBteWRvbWFpbi5uZXQKZGlzYWJsZV9yb290OiBmYWxzZQpwYWNrYWdlczoKICAtIHZpbQogIC0gdHJlZQpmaW5hbF9tZXNzYWdlOiBUaGUgc3lzdGVtIGlzIGZpbmFsbHkgdXAsIGFmdGVyICRVUFRJTUUgc2Vjb25kcw=="
299+
config_drive_metadata = {
300+
foo = "bar"
301+
hello = "world"
302+
}
301303
http_headers = {
302304
Authorization = "Basic bG9naW46cGFzc3dvcmQ="
303305
}

ovh/types_dedicated_server.go

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -184,6 +184,7 @@ type ExtrasDetails struct {
184184
}
185185

186186
type DedicatedServerReinstallTaskCustomizations struct {
187+
ConfigDriveMetadata map[string]interface{} `json:"configDriveMetadata,omitempty"`
187188
ConfigDriveUserData *string `json:"configDriveUserData,omitempty"`
188189
EfiBootloaderPath *string `json:"efiBootloaderPath,omitempty"`
189190
Hostname *string `json:"hostname,omitempty"`
@@ -199,6 +200,7 @@ type DedicatedServerReinstallTaskCustomizations struct {
199200
}
200201

201202
func (opts *DedicatedServerReinstallTaskCustomizations) FromResource(d *schema.ResourceData, parent string) *DedicatedServerReinstallTaskCustomizations {
203+
opts.ConfigDriveMetadata = helpers.GetMapFromData(d, fmt.Sprintf("%s.config_drive_metadata", parent))
202204
opts.ConfigDriveUserData = helpers.GetNilStringPointerFromData(d, fmt.Sprintf("%s.config_drive_user_data", parent))
203205
opts.EfiBootloaderPath = helpers.GetNilStringPointerFromData(d, fmt.Sprintf("%s.efi_bootloader_path", parent))
204206
opts.Hostname = helpers.GetNilStringPointerFromData(d, fmt.Sprintf("%s.hostname", parent))

templates/resources/dedicated_server.md.tmpl

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,7 @@ Use this resource to order and manage a dedicated server.
5656

5757
* `os` - Operating System to install
5858
* `customizations` - Customization of the OS configuration
59+
* `config_drive_metadata` - Config Drive MetaData
5960
* `config_drive_user_data` - Config Drive UserData
6061
* `efi_bootloader_path` - Path of the EFI bootloader from the OS installed on the server
6162
* `hostname` - Custom hostname

0 commit comments

Comments
 (0)