1. Packages
  2. OVH
  3. API Docs
  4. Dedicated
  5. ServerInstallTask
OVHCloud v1.0.0 published on Wednesday, Oct 30, 2024 by OVHcloud

ovh.Dedicated.ServerInstallTask

Explore with Pulumi AI

ovh logo
OVHCloud v1.0.0 published on Wednesday, Oct 30, 2024 by OVHcloud

    Example Usage

    Using a custom template based on an OVHCloud template

    import * as pulumi from "@pulumi/pulumi";
    import * as ovh from "@ovhcloud/pulumi-ovh";
    import * as ovh from "@pulumi/ovh";
    
    const rescue = ovh.Dedicated.getServerBoots({
        serviceName: "nsxxxxxxx.ip-xx-xx-xx.eu",
        bootType: "rescue",
    });
    const debian = new ovh.me.InstallationTemplate("debian", {
        baseTemplateName: "debian12_64",
        templateName: "mydebian12",
        customization: {
            customHostname: "mytest",
        },
    });
    const serverInstall = new ovh.dedicated.ServerInstallTask("serverInstall", {
        serviceName: "nsxxxxxxx.ip-xx-xx-xx.eu",
        templateName: debian.templateName,
        bootidOnDestroy: rescue.then(rescue => rescue.results?.[0]),
        details: {
            customHostname: "mytest",
        },
        userMetadatas: [
            {
                key: "sshKey",
                value: "ssh-ed25519 AAAAC3...",
            },
            {
                key: "postInstallationScript",
                value: `#!/bin/bash
      echo "coucou postInstallationScript" > /opt/coucou
      cat /etc/machine-id  >> /opt/coucou
      date "+%Y-%m-%d %H:%M:%S" --utc >> /opt/coucou
    `,
            },
        ],
    });
    
    import pulumi
    import pulumi_ovh as ovh
    
    rescue = ovh.Dedicated.get_server_boots(service_name="nsxxxxxxx.ip-xx-xx-xx.eu",
        boot_type="rescue")
    debian = ovh.me.InstallationTemplate("debian",
        base_template_name="debian12_64",
        template_name="mydebian12",
        customization={
            "custom_hostname": "mytest",
        })
    server_install = ovh.dedicated.ServerInstallTask("serverInstall",
        service_name="nsxxxxxxx.ip-xx-xx-xx.eu",
        template_name=debian.template_name,
        bootid_on_destroy=rescue.results[0],
        details={
            "custom_hostname": "mytest",
        },
        user_metadatas=[
            {
                "key": "sshKey",
                "value": "ssh-ed25519 AAAAC3...",
            },
            {
                "key": "postInstallationScript",
                "value": """#!/bin/bash
      echo "coucou postInstallationScript" > /opt/coucou
      cat /etc/machine-id  >> /opt/coucou
      date "+%Y-%m-%d %H:%M:%S" --utc >> /opt/coucou
    """,
            },
        ])
    
    package main
    
    import (
    	"github.com/ovh/pulumi-ovh/sdk/go/ovh/Dedicated"
    	"github.com/ovh/pulumi-ovh/sdk/go/ovh/Me"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		rescue, err := Dedicated.GetServerBoots(ctx, &dedicated.GetServerBootsArgs{
    			ServiceName: "nsxxxxxxx.ip-xx-xx-xx.eu",
    			BootType:    pulumi.StringRef("rescue"),
    		}, nil)
    		if err != nil {
    			return err
    		}
    		debian, err := Me.NewInstallationTemplate(ctx, "debian", &Me.InstallationTemplateArgs{
    			BaseTemplateName: pulumi.String("debian12_64"),
    			TemplateName:     pulumi.String("mydebian12"),
    			Customization: &me.InstallationTemplateCustomizationArgs{
    				CustomHostname: pulumi.String("mytest"),
    			},
    		})
    		if err != nil {
    			return err
    		}
    		_, err = Dedicated.NewServerInstallTask(ctx, "serverInstall", &Dedicated.ServerInstallTaskArgs{
    			ServiceName:     pulumi.String("nsxxxxxxx.ip-xx-xx-xx.eu"),
    			TemplateName:    debian.TemplateName,
    			BootidOnDestroy: pulumi.Int(rescue.Results[0]),
    			Details: &dedicated.ServerInstallTaskDetailsArgs{
    				CustomHostname: pulumi.String("mytest"),
    			},
    			UserMetadatas: dedicated.ServerInstallTaskUserMetadataArray{
    				&dedicated.ServerInstallTaskUserMetadataArgs{
    					Key:   pulumi.String("sshKey"),
    					Value: pulumi.String("ssh-ed25519 AAAAC3..."),
    				},
    				&dedicated.ServerInstallTaskUserMetadataArgs{
    					Key:   pulumi.String("postInstallationScript"),
    					Value: pulumi.String("#!/bin/bash\n  echo \"coucou postInstallationScript\" > /opt/coucou\n  cat /etc/machine-id  >> /opt/coucou\n  date \"+%Y-%m-%d %H:%M:%S\" --utc >> /opt/coucou\n"),
    				},
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Ovh = Pulumi.Ovh;
    
    return await Deployment.RunAsync(() => 
    {
        var rescue = Ovh.Dedicated.GetServerBoots.Invoke(new()
        {
            ServiceName = "nsxxxxxxx.ip-xx-xx-xx.eu",
            BootType = "rescue",
        });
    
        var debian = new Ovh.Me.InstallationTemplate("debian", new()
        {
            BaseTemplateName = "debian12_64",
            TemplateName = "mydebian12",
            Customization = new Ovh.Me.Inputs.InstallationTemplateCustomizationArgs
            {
                CustomHostname = "mytest",
            },
        });
    
        var serverInstall = new Ovh.Dedicated.ServerInstallTask("serverInstall", new()
        {
            ServiceName = "nsxxxxxxx.ip-xx-xx-xx.eu",
            TemplateName = debian.TemplateName,
            BootidOnDestroy = rescue.Apply(getServerBootsResult => getServerBootsResult.Results[0]),
            Details = new Ovh.Dedicated.Inputs.ServerInstallTaskDetailsArgs
            {
                CustomHostname = "mytest",
            },
            UserMetadatas = new[]
            {
                new Ovh.Dedicated.Inputs.ServerInstallTaskUserMetadataArgs
                {
                    Key = "sshKey",
                    Value = "ssh-ed25519 AAAAC3...",
                },
                new Ovh.Dedicated.Inputs.ServerInstallTaskUserMetadataArgs
                {
                    Key = "postInstallationScript",
                    Value = @"#!/bin/bash
      echo ""coucou postInstallationScript"" > /opt/coucou
      cat /etc/machine-id  >> /opt/coucou
      date ""+%Y-%m-%d %H:%M:%S"" --utc >> /opt/coucou
    ",
                },
            },
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.ovh.Dedicated.DedicatedFunctions;
    import com.pulumi.ovh.Dedicated.inputs.GetServerBootsArgs;
    import com.pulumi.ovh.Me.InstallationTemplate;
    import com.pulumi.ovh.Me.InstallationTemplateArgs;
    import com.pulumi.ovh.Me.inputs.InstallationTemplateCustomizationArgs;
    import com.pulumi.ovh.Dedicated.ServerInstallTask;
    import com.pulumi.ovh.Dedicated.ServerInstallTaskArgs;
    import com.pulumi.ovh.Dedicated.inputs.ServerInstallTaskDetailsArgs;
    import com.pulumi.ovh.Dedicated.inputs.ServerInstallTaskUserMetadataArgs;
    import java.util.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            final var rescue = DedicatedFunctions.getServerBoots(GetServerBootsArgs.builder()
                .serviceName("nsxxxxxxx.ip-xx-xx-xx.eu")
                .bootType("rescue")
                .build());
    
            var debian = new InstallationTemplate("debian", InstallationTemplateArgs.builder()
                .baseTemplateName("debian12_64")
                .templateName("mydebian12")
                .customization(InstallationTemplateCustomizationArgs.builder()
                    .customHostname("mytest")
                    .build())
                .build());
    
            var serverInstall = new ServerInstallTask("serverInstall", ServerInstallTaskArgs.builder()
                .serviceName("nsxxxxxxx.ip-xx-xx-xx.eu")
                .templateName(debian.templateName())
                .bootidOnDestroy(rescue.applyValue(getServerBootsResult -> getServerBootsResult.results()[0]))
                .details(ServerInstallTaskDetailsArgs.builder()
                    .customHostname("mytest")
                    .build())
                .userMetadatas(            
                    ServerInstallTaskUserMetadataArgs.builder()
                        .key("sshKey")
                        .value("ssh-ed25519 AAAAC3...")
                        .build(),
                    ServerInstallTaskUserMetadataArgs.builder()
                        .key("postInstallationScript")
                        .value("""
    #!/bin/bash
      echo "coucou postInstallationScript" > /opt/coucou
      cat /etc/machine-id  >> /opt/coucou
      date "+%Y-%m-%d %H:%M:%S" --utc >> /opt/coucou
                        """)
                        .build())
                .build());
    
        }
    }
    
    resources:
      debian:
        type: ovh:Me:InstallationTemplate
        properties:
          baseTemplateName: debian12_64
          templateName: mydebian12
          customization:
            customHostname: mytest
      serverInstall:
        type: ovh:Dedicated:ServerInstallTask
        properties:
          serviceName: nsxxxxxxx.ip-xx-xx-xx.eu
          templateName: ${debian.templateName}
          bootidOnDestroy: ${rescue.results[0]}
          details:
            customHostname: mytest
          userMetadatas:
            - key: sshKey
              value: ssh-ed25519 AAAAC3...
            - key: postInstallationScript
              value: |
                #!/bin/bash
                  echo "coucou postInstallationScript" > /opt/coucou
                  cat /etc/machine-id  >> /opt/coucou
                  date "+%Y-%m-%d %H:%M:%S" --utc >> /opt/coucou            
    variables:
      rescue:
        fn::invoke:
          Function: ovh:Dedicated:getServerBoots
          Arguments:
            serviceName: nsxxxxxxx.ip-xx-xx-xx.eu
            bootType: rescue
    

    Using a BringYourOwnLinux (BYOLinux) template (with userMetadata)

    import * as pulumi from "@pulumi/pulumi";
    import * as ovh from "@ovhcloud/pulumi-ovh";
    import * as ovh from "@pulumi/ovh";
    
    const server = ovh.getServer({
        serviceName: "nsxxxxxxx.ip-xx-xx-xx.eu",
    });
    const rescue = ovh.Dedicated.getServerBoots({
        serviceName: "nsxxxxxxx.ip-xx-xx-xx.eu",
        bootType: "rescue",
    });
    const serverInstall = new ovh.dedicated.ServerInstallTask("serverInstall", {
        serviceName: server.then(server => server.serviceName),
        templateName: "byolinux_64",
        bootidOnDestroy: rescue.then(rescue => rescue.results?.[0]),
        details: {
            customHostname: "mytest",
        },
        userMetadatas: [
            {
                key: "imageURL",
                value: "https://myimage.qcow2",
            },
            {
                key: "imageType",
                value: "qcow2",
            },
            {
                key: "httpHeaders0Key",
                value: "Authorization",
            },
            {
                key: "httpHeaders0Value",
                value: "Basic bG9naW46xxxxxxx=",
            },
            {
                key: "imageChecksumType",
                value: "sha512",
            },
            {
                key: "imageCheckSum",
                value: "047122c9ff4d2a69512212104b06c678f5a9cdb22b75467353613ff87ccd03b57b38967e56d810e61366f9d22d6bd39ac0addf4e00a4c6445112a2416af8f225",
            },
            {
                key: "configDriveUserData",
                value: `#cloud-config
    ssh_authorized_keys:
      - ${data.ovh_me_ssh_key.mykey.key}
    
    users:
      - name: patient0
        sudo: ALL=(ALL) NOPASSWD:ALL
        groups: users, sudo
        shell: /bin/bash
        lock_passwd: false
        ssh_authorized_keys:
          - ${data.ovh_me_ssh_key.mykey.key}
    disable_root: false
    packages:
      - vim
      - tree
    final_message: The system is finally up, after $UPTIME seconds
    `,
            },
        ],
    });
    
    import pulumi
    import pulumi_ovh as ovh
    
    server = ovh.get_server(service_name="nsxxxxxxx.ip-xx-xx-xx.eu")
    rescue = ovh.Dedicated.get_server_boots(service_name="nsxxxxxxx.ip-xx-xx-xx.eu",
        boot_type="rescue")
    server_install = ovh.dedicated.ServerInstallTask("serverInstall",
        service_name=server.service_name,
        template_name="byolinux_64",
        bootid_on_destroy=rescue.results[0],
        details={
            "custom_hostname": "mytest",
        },
        user_metadatas=[
            {
                "key": "imageURL",
                "value": "https://myimage.qcow2",
            },
            {
                "key": "imageType",
                "value": "qcow2",
            },
            {
                "key": "httpHeaders0Key",
                "value": "Authorization",
            },
            {
                "key": "httpHeaders0Value",
                "value": "Basic bG9naW46xxxxxxx=",
            },
            {
                "key": "imageChecksumType",
                "value": "sha512",
            },
            {
                "key": "imageCheckSum",
                "value": "047122c9ff4d2a69512212104b06c678f5a9cdb22b75467353613ff87ccd03b57b38967e56d810e61366f9d22d6bd39ac0addf4e00a4c6445112a2416af8f225",
            },
            {
                "key": "configDriveUserData",
                "value": f"""#cloud-config
    ssh_authorized_keys:
      - {data["ovh_me_ssh_key"]["mykey"]["key"]}
    
    users:
      - name: patient0
        sudo: ALL=(ALL) NOPASSWD:ALL
        groups: users, sudo
        shell: /bin/bash
        lock_passwd: false
        ssh_authorized_keys:
          - {data["ovh_me_ssh_key"]["mykey"]["key"]}
    disable_root: false
    packages:
      - vim
      - tree
    final_message: The system is finally up, after $UPTIME seconds
    """,
            },
        ])
    
    package main
    
    import (
    	"fmt"
    
    	"github.com/ovh/pulumi-ovh/sdk/go/ovh"
    	"github.com/ovh/pulumi-ovh/sdk/go/ovh/Dedicated"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		server, err := ovh.GetServer(ctx, &ovh.GetServerArgs{
    			ServiceName: "nsxxxxxxx.ip-xx-xx-xx.eu",
    		}, nil)
    		if err != nil {
    			return err
    		}
    		rescue, err := Dedicated.GetServerBoots(ctx, &dedicated.GetServerBootsArgs{
    			ServiceName: "nsxxxxxxx.ip-xx-xx-xx.eu",
    			BootType:    pulumi.StringRef("rescue"),
    		}, nil)
    		if err != nil {
    			return err
    		}
    		_, err = Dedicated.NewServerInstallTask(ctx, "serverInstall", &Dedicated.ServerInstallTaskArgs{
    			ServiceName:     pulumi.String(server.ServiceName),
    			TemplateName:    pulumi.String("byolinux_64"),
    			BootidOnDestroy: pulumi.Int(rescue.Results[0]),
    			Details: &dedicated.ServerInstallTaskDetailsArgs{
    				CustomHostname: pulumi.String("mytest"),
    			},
    			UserMetadatas: dedicated.ServerInstallTaskUserMetadataArray{
    				&dedicated.ServerInstallTaskUserMetadataArgs{
    					Key:   pulumi.String("imageURL"),
    					Value: pulumi.String("https://myimage.qcow2"),
    				},
    				&dedicated.ServerInstallTaskUserMetadataArgs{
    					Key:   pulumi.String("imageType"),
    					Value: pulumi.String("qcow2"),
    				},
    				&dedicated.ServerInstallTaskUserMetadataArgs{
    					Key:   pulumi.String("httpHeaders0Key"),
    					Value: pulumi.String("Authorization"),
    				},
    				&dedicated.ServerInstallTaskUserMetadataArgs{
    					Key:   pulumi.String("httpHeaders0Value"),
    					Value: pulumi.String("Basic bG9naW46xxxxxxx="),
    				},
    				&dedicated.ServerInstallTaskUserMetadataArgs{
    					Key:   pulumi.String("imageChecksumType"),
    					Value: pulumi.String("sha512"),
    				},
    				&dedicated.ServerInstallTaskUserMetadataArgs{
    					Key:   pulumi.String("imageCheckSum"),
    					Value: pulumi.String("047122c9ff4d2a69512212104b06c678f5a9cdb22b75467353613ff87ccd03b57b38967e56d810e61366f9d22d6bd39ac0addf4e00a4c6445112a2416af8f225"),
    				},
    				&dedicated.ServerInstallTaskUserMetadataArgs{
    					Key: pulumi.String("configDriveUserData"),
    					Value: pulumi.Sprintf(`#cloud-config
    ssh_authorized_keys:
      - %v
    
    users:
      - name: patient0
        sudo: ALL=(ALL) NOPASSWD:ALL
        groups: users, sudo
        shell: /bin/bash
        lock_passwd: false
        ssh_authorized_keys:
          - %v
    disable_root: false
    packages:
      - vim
      - tree
    final_message: The system is finally up, after $UPTIME seconds
    `, data.Ovh_me_ssh_key.Mykey.Key, data.Ovh_me_ssh_key.Mykey.Key),
    				},
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Ovh = Pulumi.Ovh;
    
    return await Deployment.RunAsync(() => 
    {
        var server = Ovh.GetServer.Invoke(new()
        {
            ServiceName = "nsxxxxxxx.ip-xx-xx-xx.eu",
        });
    
        var rescue = Ovh.Dedicated.GetServerBoots.Invoke(new()
        {
            ServiceName = "nsxxxxxxx.ip-xx-xx-xx.eu",
            BootType = "rescue",
        });
    
        var serverInstall = new Ovh.Dedicated.ServerInstallTask("serverInstall", new()
        {
            ServiceName = server.Apply(getServerResult => getServerResult.ServiceName),
            TemplateName = "byolinux_64",
            BootidOnDestroy = rescue.Apply(getServerBootsResult => getServerBootsResult.Results[0]),
            Details = new Ovh.Dedicated.Inputs.ServerInstallTaskDetailsArgs
            {
                CustomHostname = "mytest",
            },
            UserMetadatas = new[]
            {
                new Ovh.Dedicated.Inputs.ServerInstallTaskUserMetadataArgs
                {
                    Key = "imageURL",
                    Value = "https://myimage.qcow2",
                },
                new Ovh.Dedicated.Inputs.ServerInstallTaskUserMetadataArgs
                {
                    Key = "imageType",
                    Value = "qcow2",
                },
                new Ovh.Dedicated.Inputs.ServerInstallTaskUserMetadataArgs
                {
                    Key = "httpHeaders0Key",
                    Value = "Authorization",
                },
                new Ovh.Dedicated.Inputs.ServerInstallTaskUserMetadataArgs
                {
                    Key = "httpHeaders0Value",
                    Value = "Basic bG9naW46xxxxxxx=",
                },
                new Ovh.Dedicated.Inputs.ServerInstallTaskUserMetadataArgs
                {
                    Key = "imageChecksumType",
                    Value = "sha512",
                },
                new Ovh.Dedicated.Inputs.ServerInstallTaskUserMetadataArgs
                {
                    Key = "imageCheckSum",
                    Value = "047122c9ff4d2a69512212104b06c678f5a9cdb22b75467353613ff87ccd03b57b38967e56d810e61366f9d22d6bd39ac0addf4e00a4c6445112a2416af8f225",
                },
                new Ovh.Dedicated.Inputs.ServerInstallTaskUserMetadataArgs
                {
                    Key = "configDriveUserData",
                    Value = @$"#cloud-config
    ssh_authorized_keys:
      - {data.Ovh_me_ssh_key.Mykey.Key}
    
    users:
      - name: patient0
        sudo: ALL=(ALL) NOPASSWD:ALL
        groups: users, sudo
        shell: /bin/bash
        lock_passwd: false
        ssh_authorized_keys:
          - {data.Ovh_me_ssh_key.Mykey.Key}
    disable_root: false
    packages:
      - vim
      - tree
    final_message: The system is finally up, after $UPTIME seconds
    ",
                },
            },
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.ovh.OvhFunctions;
    import com.pulumi.ovh.inputs.GetServerArgs;
    import com.pulumi.ovh.Dedicated.DedicatedFunctions;
    import com.pulumi.ovh.Dedicated.inputs.GetServerBootsArgs;
    import com.pulumi.ovh.Dedicated.ServerInstallTask;
    import com.pulumi.ovh.Dedicated.ServerInstallTaskArgs;
    import com.pulumi.ovh.Dedicated.inputs.ServerInstallTaskDetailsArgs;
    import com.pulumi.ovh.Dedicated.inputs.ServerInstallTaskUserMetadataArgs;
    import java.util.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            final var server = OvhFunctions.getServer(GetServerArgs.builder()
                .serviceName("nsxxxxxxx.ip-xx-xx-xx.eu")
                .build());
    
            final var rescue = DedicatedFunctions.getServerBoots(GetServerBootsArgs.builder()
                .serviceName("nsxxxxxxx.ip-xx-xx-xx.eu")
                .bootType("rescue")
                .build());
    
            var serverInstall = new ServerInstallTask("serverInstall", ServerInstallTaskArgs.builder()
                .serviceName(server.applyValue(getServerResult -> getServerResult.serviceName()))
                .templateName("byolinux_64")
                .bootidOnDestroy(rescue.applyValue(getServerBootsResult -> getServerBootsResult.results()[0]))
                .details(ServerInstallTaskDetailsArgs.builder()
                    .customHostname("mytest")
                    .build())
                .userMetadatas(            
                    ServerInstallTaskUserMetadataArgs.builder()
                        .key("imageURL")
                        .value("https://myimage.qcow2")
                        .build(),
                    ServerInstallTaskUserMetadataArgs.builder()
                        .key("imageType")
                        .value("qcow2")
                        .build(),
                    ServerInstallTaskUserMetadataArgs.builder()
                        .key("httpHeaders0Key")
                        .value("Authorization")
                        .build(),
                    ServerInstallTaskUserMetadataArgs.builder()
                        .key("httpHeaders0Value")
                        .value("Basic bG9naW46xxxxxxx=")
                        .build(),
                    ServerInstallTaskUserMetadataArgs.builder()
                        .key("imageChecksumType")
                        .value("sha512")
                        .build(),
                    ServerInstallTaskUserMetadataArgs.builder()
                        .key("imageCheckSum")
                        .value("047122c9ff4d2a69512212104b06c678f5a9cdb22b75467353613ff87ccd03b57b38967e56d810e61366f9d22d6bd39ac0addf4e00a4c6445112a2416af8f225")
                        .build(),
                    ServerInstallTaskUserMetadataArgs.builder()
                        .key("configDriveUserData")
                        .value("""
    #cloud-config
    ssh_authorized_keys:
      - %s
    
    users:
      - name: patient0
        sudo: ALL=(ALL) NOPASSWD:ALL
        groups: users, sudo
        shell: /bin/bash
        lock_passwd: false
        ssh_authorized_keys:
          - %s
    disable_root: false
    packages:
      - vim
      - tree
    final_message: The system is finally up, after $UPTIME seconds
    ", data.ovh_me_ssh_key().mykey().key(),data.ovh_me_ssh_key().mykey().key()))
                        .build())
                .build());
    
        }
    }
    
    resources:
      serverInstall:
        type: ovh:Dedicated:ServerInstallTask
        properties:
          serviceName: ${server.serviceName}
          templateName: byolinux_64
          bootidOnDestroy: ${rescue.results[0]}
          details:
            customHostname: mytest
          userMetadatas:
            - key: imageURL
              value: https://myimage.qcow2
            - key: imageType
              value: qcow2
            - key: httpHeaders0Key
              value: Authorization
            - key: httpHeaders0Value
              value: Basic bG9naW46xxxxxxx=
            - key: imageChecksumType
              value: sha512
            - key: imageCheckSum
              value: 047122c9ff4d2a69512212104b06c678f5a9cdb22b75467353613ff87ccd03b57b38967e56d810e61366f9d22d6bd39ac0addf4e00a4c6445112a2416af8f225
            - key: configDriveUserData
              value: |
                #cloud-config
                ssh_authorized_keys:
                  - ${data.ovh_me_ssh_key.mykey.key}
    
                users:
                  - name: patient0
                    sudo: ALL=(ALL) NOPASSWD:ALL
                    groups: users, sudo
                    shell: /bin/bash
                    lock_passwd: false
                    ssh_authorized_keys:
                      - ${data.ovh_me_ssh_key.mykey.key}
                disable_root: false
                packages:
                  - vim
                  - tree
                final_message: The system is finally up, after $UPTIME seconds            
    variables:
      server:
        fn::invoke:
          Function: ovh:getServer
          Arguments:
            serviceName: nsxxxxxxx.ip-xx-xx-xx.eu
      rescue:
        fn::invoke:
          Function: ovh:Dedicated:getServerBoots
          Arguments:
            serviceName: nsxxxxxxx.ip-xx-xx-xx.eu
            bootType: rescue
    

    Using a Microsoft Windows server OVHcloud template with a specific language

    import * as pulumi from "@pulumi/pulumi";
    import * as ovh from "@ovhcloud/pulumi-ovh";
    import * as ovh from "@pulumi/ovh";
    
    const server = ovh.getServer({
        serviceName: "nsxxxxxxx.ip-xx-xx-xx.eu",
    });
    const rescue = ovh.Dedicated.getServerBoots({
        serviceName: "nsxxxxxxx.ip-xx-xx-xx.eu",
        bootType: "rescue",
    });
    const serverInstall = new ovh.dedicated.ServerInstallTask("serverInstall", {
        serviceName: server.then(server => server.serviceName),
        templateName: "win2019-std_64",
        bootidOnDestroy: rescue.then(rescue => rescue.results?.[0]),
        details: {
            customHostname: "mytest",
        },
        userMetadatas: [
            {
                key: "language",
                value: "fr-fr",
            },
            {
                key: "postInstallationScript",
                value: `coucou postInstallationScriptPowerShell" | Out-File -FilePath "c:\\ovhupd\\script\\coucou.txt"
          (Get-ItemProperty -LiteralPath "Registry::HKLM\\SOFTWARE\\Microsoft\\Cryptography" -Name "MachineGuid").MachineGuid | Out-File -FilePath "c:\\ovhupd\\script\\coucou.txt" -Append
          (Get-Date).ToUniversalTime().ToString("yyyy-MM-dd HH:mm:ss") | Out-File -FilePath "c:\\ovhupd\\script\\coucou.txt" -Append
    `,
            },
        ],
    });
    
    import pulumi
    import pulumi_ovh as ovh
    
    server = ovh.get_server(service_name="nsxxxxxxx.ip-xx-xx-xx.eu")
    rescue = ovh.Dedicated.get_server_boots(service_name="nsxxxxxxx.ip-xx-xx-xx.eu",
        boot_type="rescue")
    server_install = ovh.dedicated.ServerInstallTask("serverInstall",
        service_name=server.service_name,
        template_name="win2019-std_64",
        bootid_on_destroy=rescue.results[0],
        details={
            "custom_hostname": "mytest",
        },
        user_metadatas=[
            {
                "key": "language",
                "value": "fr-fr",
            },
            {
                "key": "postInstallationScript",
                "value": """coucou postInstallationScriptPowerShell" | Out-File -FilePath "c:\ovhupd\script\coucou.txt"
          (Get-ItemProperty -LiteralPath "Registry::HKLM\SOFTWARE\Microsoft\Cryptography" -Name "MachineGuid").MachineGuid | Out-File -FilePath "c:\ovhupd\script\coucou.txt" -Append
          (Get-Date).ToUniversalTime().ToString("yyyy-MM-dd HH:mm:ss") | Out-File -FilePath "c:\ovhupd\script\coucou.txt" -Append
    """,
            },
        ])
    
    package main
    
    import (
    	"github.com/ovh/pulumi-ovh/sdk/go/ovh"
    	"github.com/ovh/pulumi-ovh/sdk/go/ovh/Dedicated"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		server, err := ovh.GetServer(ctx, &ovh.GetServerArgs{
    			ServiceName: "nsxxxxxxx.ip-xx-xx-xx.eu",
    		}, nil)
    		if err != nil {
    			return err
    		}
    		rescue, err := Dedicated.GetServerBoots(ctx, &dedicated.GetServerBootsArgs{
    			ServiceName: "nsxxxxxxx.ip-xx-xx-xx.eu",
    			BootType:    pulumi.StringRef("rescue"),
    		}, nil)
    		if err != nil {
    			return err
    		}
    		_, err = Dedicated.NewServerInstallTask(ctx, "serverInstall", &Dedicated.ServerInstallTaskArgs{
    			ServiceName:     pulumi.String(server.ServiceName),
    			TemplateName:    pulumi.String("win2019-std_64"),
    			BootidOnDestroy: pulumi.Int(rescue.Results[0]),
    			Details: &dedicated.ServerInstallTaskDetailsArgs{
    				CustomHostname: pulumi.String("mytest"),
    			},
    			UserMetadatas: dedicated.ServerInstallTaskUserMetadataArray{
    				&dedicated.ServerInstallTaskUserMetadataArgs{
    					Key:   pulumi.String("language"),
    					Value: pulumi.String("fr-fr"),
    				},
    				&dedicated.ServerInstallTaskUserMetadataArgs{
    					Key:   pulumi.String("postInstallationScript"),
    					Value: pulumi.String("coucou postInstallationScriptPowerShell\" | Out-File -FilePath \"c:\\ovhupd\\script\\coucou.txt\"\n      (Get-ItemProperty -LiteralPath \"Registry::HKLM\\SOFTWARE\\Microsoft\\Cryptography\" -Name \"MachineGuid\").MachineGuid | Out-File -FilePath \"c:\\ovhupd\\script\\coucou.txt\" -Append\n      (Get-Date).ToUniversalTime().ToString(\"yyyy-MM-dd HH:mm:ss\") | Out-File -FilePath \"c:\\ovhupd\\script\\coucou.txt\" -Append\n"),
    				},
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Ovh = Pulumi.Ovh;
    
    return await Deployment.RunAsync(() => 
    {
        var server = Ovh.GetServer.Invoke(new()
        {
            ServiceName = "nsxxxxxxx.ip-xx-xx-xx.eu",
        });
    
        var rescue = Ovh.Dedicated.GetServerBoots.Invoke(new()
        {
            ServiceName = "nsxxxxxxx.ip-xx-xx-xx.eu",
            BootType = "rescue",
        });
    
        var serverInstall = new Ovh.Dedicated.ServerInstallTask("serverInstall", new()
        {
            ServiceName = server.Apply(getServerResult => getServerResult.ServiceName),
            TemplateName = "win2019-std_64",
            BootidOnDestroy = rescue.Apply(getServerBootsResult => getServerBootsResult.Results[0]),
            Details = new Ovh.Dedicated.Inputs.ServerInstallTaskDetailsArgs
            {
                CustomHostname = "mytest",
            },
            UserMetadatas = new[]
            {
                new Ovh.Dedicated.Inputs.ServerInstallTaskUserMetadataArgs
                {
                    Key = "language",
                    Value = "fr-fr",
                },
                new Ovh.Dedicated.Inputs.ServerInstallTaskUserMetadataArgs
                {
                    Key = "postInstallationScript",
                    Value = @"coucou postInstallationScriptPowerShell"" | Out-File -FilePath ""c:\ovhupd\script\coucou.txt""
          (Get-ItemProperty -LiteralPath ""Registry::HKLM\SOFTWARE\Microsoft\Cryptography"" -Name ""MachineGuid"").MachineGuid | Out-File -FilePath ""c:\ovhupd\script\coucou.txt"" -Append
          (Get-Date).ToUniversalTime().ToString(""yyyy-MM-dd HH:mm:ss"") | Out-File -FilePath ""c:\ovhupd\script\coucou.txt"" -Append
    ",
                },
            },
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.ovh.OvhFunctions;
    import com.pulumi.ovh.inputs.GetServerArgs;
    import com.pulumi.ovh.Dedicated.DedicatedFunctions;
    import com.pulumi.ovh.Dedicated.inputs.GetServerBootsArgs;
    import com.pulumi.ovh.Dedicated.ServerInstallTask;
    import com.pulumi.ovh.Dedicated.ServerInstallTaskArgs;
    import com.pulumi.ovh.Dedicated.inputs.ServerInstallTaskDetailsArgs;
    import com.pulumi.ovh.Dedicated.inputs.ServerInstallTaskUserMetadataArgs;
    import java.util.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            final var server = OvhFunctions.getServer(GetServerArgs.builder()
                .serviceName("nsxxxxxxx.ip-xx-xx-xx.eu")
                .build());
    
            final var rescue = DedicatedFunctions.getServerBoots(GetServerBootsArgs.builder()
                .serviceName("nsxxxxxxx.ip-xx-xx-xx.eu")
                .bootType("rescue")
                .build());
    
            var serverInstall = new ServerInstallTask("serverInstall", ServerInstallTaskArgs.builder()
                .serviceName(server.applyValue(getServerResult -> getServerResult.serviceName()))
                .templateName("win2019-std_64")
                .bootidOnDestroy(rescue.applyValue(getServerBootsResult -> getServerBootsResult.results()[0]))
                .details(ServerInstallTaskDetailsArgs.builder()
                    .customHostname("mytest")
                    .build())
                .userMetadatas(            
                    ServerInstallTaskUserMetadataArgs.builder()
                        .key("language")
                        .value("fr-fr")
                        .build(),
                    ServerInstallTaskUserMetadataArgs.builder()
                        .key("postInstallationScript")
                        .value("""
    coucou postInstallationScriptPowerShell" | Out-File -FilePath "c:\ovhupd\script\coucou.txt"
          (Get-ItemProperty -LiteralPath "Registry::HKLM\SOFTWARE\Microsoft\Cryptography" -Name "MachineGuid").MachineGuid | Out-File -FilePath "c:\ovhupd\script\coucou.txt" -Append
          (Get-Date).ToUniversalTime().ToString("yyyy-MM-dd HH:mm:ss") | Out-File -FilePath "c:\ovhupd\script\coucou.txt" -Append
                        """)
                        .build())
                .build());
    
        }
    }
    
    resources:
      serverInstall:
        type: ovh:Dedicated:ServerInstallTask
        properties:
          serviceName: ${server.serviceName}
          templateName: win2019-std_64
          bootidOnDestroy: ${rescue.results[0]}
          details:
            customHostname: mytest
          userMetadatas:
            - key: language
              value: fr-fr
            - key: postInstallationScript
              value: |
                coucou postInstallationScriptPowerShell" | Out-File -FilePath "c:\ovhupd\script\coucou.txt"
                      (Get-ItemProperty -LiteralPath "Registry::HKLM\SOFTWARE\Microsoft\Cryptography" -Name "MachineGuid").MachineGuid | Out-File -FilePath "c:\ovhupd\script\coucou.txt" -Append
                      (Get-Date).ToUniversalTime().ToString("yyyy-MM-dd HH:mm:ss") | Out-File -FilePath "c:\ovhupd\script\coucou.txt" -Append            
    variables:
      server:
        fn::invoke:
          Function: ovh:getServer
          Arguments:
            serviceName: nsxxxxxxx.ip-xx-xx-xx.eu
      rescue:
        fn::invoke:
          Function: ovh:Dedicated:getServerBoots
          Arguments:
            serviceName: nsxxxxxxx.ip-xx-xx-xx.eu
            bootType: rescue
    

    Create ServerInstallTask Resource

    Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.

    Constructor syntax

    new ServerInstallTask(name: string, args: ServerInstallTaskArgs, opts?: CustomResourceOptions);
    @overload
    def ServerInstallTask(resource_name: str,
                          args: ServerInstallTaskArgs,
                          opts: Optional[ResourceOptions] = None)
    
    @overload
    def ServerInstallTask(resource_name: str,
                          opts: Optional[ResourceOptions] = None,
                          service_name: Optional[str] = None,
                          template_name: Optional[str] = None,
                          bootid_on_destroy: Optional[int] = None,
                          details: Optional[_dedicated.ServerInstallTaskDetailsArgs] = None,
                          partition_scheme_name: Optional[str] = None,
                          user_metadatas: Optional[Sequence[_dedicated.ServerInstallTaskUserMetadataArgs]] = None)
    func NewServerInstallTask(ctx *Context, name string, args ServerInstallTaskArgs, opts ...ResourceOption) (*ServerInstallTask, error)
    public ServerInstallTask(string name, ServerInstallTaskArgs args, CustomResourceOptions? opts = null)
    public ServerInstallTask(String name, ServerInstallTaskArgs args)
    public ServerInstallTask(String name, ServerInstallTaskArgs args, CustomResourceOptions options)
    
    type: ovh:Dedicated:ServerInstallTask
    properties: # The arguments to resource properties.
    options: # Bag of options to control resource's behavior.
    
    

    Parameters

    name string
    The unique name of the resource.
    args ServerInstallTaskArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    resource_name str
    The unique name of the resource.
    args ServerInstallTaskArgs
    The arguments to resource properties.
    opts ResourceOptions
    Bag of options to control resource's behavior.
    ctx Context
    Context object for the current deployment.
    name string
    The unique name of the resource.
    args ServerInstallTaskArgs
    The arguments to resource properties.
    opts ResourceOption
    Bag of options to control resource's behavior.
    name string
    The unique name of the resource.
    args ServerInstallTaskArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    name String
    The unique name of the resource.
    args ServerInstallTaskArgs
    The arguments to resource properties.
    options CustomResourceOptions
    Bag of options to control resource's behavior.

    Constructor example

    The following reference example uses placeholder values for all input properties.

    var serverInstallTaskResource = new Ovh.Dedicated.ServerInstallTask("serverInstallTaskResource", new()
    {
        ServiceName = "string",
        TemplateName = "string",
        BootidOnDestroy = 0,
        Details = new Ovh.Dedicated.Inputs.ServerInstallTaskDetailsArgs
        {
            CustomHostname = "string",
            DiskGroupId = 0,
            NoRaid = false,
            SoftRaidDevices = 0,
        },
        PartitionSchemeName = "string",
        UserMetadatas = new[]
        {
            new Ovh.Dedicated.Inputs.ServerInstallTaskUserMetadataArgs
            {
                Key = "string",
                Value = "string",
            },
        },
    });
    
    example, err := Dedicated.NewServerInstallTask(ctx, "serverInstallTaskResource", &Dedicated.ServerInstallTaskArgs{
    	ServiceName:     pulumi.String("string"),
    	TemplateName:    pulumi.String("string"),
    	BootidOnDestroy: pulumi.Int(0),
    	Details: &dedicated.ServerInstallTaskDetailsArgs{
    		CustomHostname:  pulumi.String("string"),
    		DiskGroupId:     pulumi.Int(0),
    		NoRaid:          pulumi.Bool(false),
    		SoftRaidDevices: pulumi.Int(0),
    	},
    	PartitionSchemeName: pulumi.String("string"),
    	UserMetadatas: dedicated.ServerInstallTaskUserMetadataArray{
    		&dedicated.ServerInstallTaskUserMetadataArgs{
    			Key:   pulumi.String("string"),
    			Value: pulumi.String("string"),
    		},
    	},
    })
    
    var serverInstallTaskResource = new ServerInstallTask("serverInstallTaskResource", ServerInstallTaskArgs.builder()
        .serviceName("string")
        .templateName("string")
        .bootidOnDestroy(0)
        .details(ServerInstallTaskDetailsArgs.builder()
            .customHostname("string")
            .diskGroupId(0)
            .noRaid(false)
            .softRaidDevices(0)
            .build())
        .partitionSchemeName("string")
        .userMetadatas(ServerInstallTaskUserMetadataArgs.builder()
            .key("string")
            .value("string")
            .build())
        .build());
    
    server_install_task_resource = ovh.dedicated.ServerInstallTask("serverInstallTaskResource",
        service_name="string",
        template_name="string",
        bootid_on_destroy=0,
        details={
            "custom_hostname": "string",
            "disk_group_id": 0,
            "no_raid": False,
            "soft_raid_devices": 0,
        },
        partition_scheme_name="string",
        user_metadatas=[{
            "key": "string",
            "value": "string",
        }])
    
    const serverInstallTaskResource = new ovh.dedicated.ServerInstallTask("serverInstallTaskResource", {
        serviceName: "string",
        templateName: "string",
        bootidOnDestroy: 0,
        details: {
            customHostname: "string",
            diskGroupId: 0,
            noRaid: false,
            softRaidDevices: 0,
        },
        partitionSchemeName: "string",
        userMetadatas: [{
            key: "string",
            value: "string",
        }],
    });
    
    type: ovh:Dedicated:ServerInstallTask
    properties:
        bootidOnDestroy: 0
        details:
            customHostname: string
            diskGroupId: 0
            noRaid: false
            softRaidDevices: 0
        partitionSchemeName: string
        serviceName: string
        templateName: string
        userMetadatas:
            - key: string
              value: string
    

    ServerInstallTask Resource Properties

    To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.

    Inputs

    In Python, inputs that are objects can be passed either as argument classes or as dictionary literals.

    The ServerInstallTask resource accepts the following input properties:

    ServiceName string
    The service_name of your dedicated server.
    TemplateName string
    Template name.
    BootidOnDestroy int
    If set, reboot the server on the specified boot id during destroy phase.
    Details ServerInstallTaskDetails
    see details block below.
    PartitionSchemeName string
    Partition scheme name.
    UserMetadatas List<ServerInstallTaskUserMetadata>
    see user_metadata block below.
    ServiceName string
    The service_name of your dedicated server.
    TemplateName string
    Template name.
    BootidOnDestroy int
    If set, reboot the server on the specified boot id during destroy phase.
    Details ServerInstallTaskDetailsArgs
    see details block below.
    PartitionSchemeName string
    Partition scheme name.
    UserMetadatas []ServerInstallTaskUserMetadataArgs
    see user_metadata block below.
    serviceName String
    The service_name of your dedicated server.
    templateName String
    Template name.
    bootidOnDestroy Integer
    If set, reboot the server on the specified boot id during destroy phase.
    details ServerInstallTaskDetails
    see details block below.
    partitionSchemeName String
    Partition scheme name.
    userMetadatas List<ServerInstallTaskUserMetadata>
    see user_metadata block below.
    serviceName string
    The service_name of your dedicated server.
    templateName string
    Template name.
    bootidOnDestroy number
    If set, reboot the server on the specified boot id during destroy phase.
    details ServerInstallTaskDetails
    see details block below.
    partitionSchemeName string
    Partition scheme name.
    userMetadatas ServerInstallTaskUserMetadata[]
    see user_metadata block below.
    service_name str
    The service_name of your dedicated server.
    template_name str
    Template name.
    bootid_on_destroy int
    If set, reboot the server on the specified boot id during destroy phase.
    details dedicated.ServerInstallTaskDetailsArgs
    see details block below.
    partition_scheme_name str
    Partition scheme name.
    user_metadatas Sequence[dedicated.ServerInstallTaskUserMetadataArgs]
    see user_metadata block below.
    serviceName String
    The service_name of your dedicated server.
    templateName String
    Template name.
    bootidOnDestroy Number
    If set, reboot the server on the specified boot id during destroy phase.
    details Property Map
    see details block below.
    partitionSchemeName String
    Partition scheme name.
    userMetadatas List<Property Map>
    see user_metadata block below.

    Outputs

    All input properties are implicitly available as output properties. Additionally, the ServerInstallTask resource produces the following output properties:

    Comment string
    Details of this task. (should be Install asked)
    DoneDate string
    Completion date in RFC3339 format.
    Function string
    Function name (should be hardInstall).
    Id string
    The provider-assigned unique ID for this managed resource.
    LastUpdate string
    Last update in RFC3339 format.
    StartDate string
    Task creation date in RFC3339 format.
    Status string
    Task status (should be done)
    Comment string
    Details of this task. (should be Install asked)
    DoneDate string
    Completion date in RFC3339 format.
    Function string
    Function name (should be hardInstall).
    Id string
    The provider-assigned unique ID for this managed resource.
    LastUpdate string
    Last update in RFC3339 format.
    StartDate string
    Task creation date in RFC3339 format.
    Status string
    Task status (should be done)
    comment String
    Details of this task. (should be Install asked)
    doneDate String
    Completion date in RFC3339 format.
    function String
    Function name (should be hardInstall).
    id String
    The provider-assigned unique ID for this managed resource.
    lastUpdate String
    Last update in RFC3339 format.
    startDate String
    Task creation date in RFC3339 format.
    status String
    Task status (should be done)
    comment string
    Details of this task. (should be Install asked)
    doneDate string
    Completion date in RFC3339 format.
    function string
    Function name (should be hardInstall).
    id string
    The provider-assigned unique ID for this managed resource.
    lastUpdate string
    Last update in RFC3339 format.
    startDate string
    Task creation date in RFC3339 format.
    status string
    Task status (should be done)
    comment str
    Details of this task. (should be Install asked)
    done_date str
    Completion date in RFC3339 format.
    function str
    Function name (should be hardInstall).
    id str
    The provider-assigned unique ID for this managed resource.
    last_update str
    Last update in RFC3339 format.
    start_date str
    Task creation date in RFC3339 format.
    status str
    Task status (should be done)
    comment String
    Details of this task. (should be Install asked)
    doneDate String
    Completion date in RFC3339 format.
    function String
    Function name (should be hardInstall).
    id String
    The provider-assigned unique ID for this managed resource.
    lastUpdate String
    Last update in RFC3339 format.
    startDate String
    Task creation date in RFC3339 format.
    status String
    Task status (should be done)

    Look up Existing ServerInstallTask Resource

    Get an existing ServerInstallTask resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

    public static get(name: string, id: Input<ID>, state?: ServerInstallTaskState, opts?: CustomResourceOptions): ServerInstallTask
    @staticmethod
    def get(resource_name: str,
            id: str,
            opts: Optional[ResourceOptions] = None,
            bootid_on_destroy: Optional[int] = None,
            comment: Optional[str] = None,
            details: Optional[_dedicated.ServerInstallTaskDetailsArgs] = None,
            done_date: Optional[str] = None,
            function: Optional[str] = None,
            last_update: Optional[str] = None,
            partition_scheme_name: Optional[str] = None,
            service_name: Optional[str] = None,
            start_date: Optional[str] = None,
            status: Optional[str] = None,
            template_name: Optional[str] = None,
            user_metadatas: Optional[Sequence[_dedicated.ServerInstallTaskUserMetadataArgs]] = None) -> ServerInstallTask
    func GetServerInstallTask(ctx *Context, name string, id IDInput, state *ServerInstallTaskState, opts ...ResourceOption) (*ServerInstallTask, error)
    public static ServerInstallTask Get(string name, Input<string> id, ServerInstallTaskState? state, CustomResourceOptions? opts = null)
    public static ServerInstallTask get(String name, Output<String> id, ServerInstallTaskState state, CustomResourceOptions options)
    Resource lookup is not supported in YAML
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    resource_name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    The following state arguments are supported:
    BootidOnDestroy int
    If set, reboot the server on the specified boot id during destroy phase.
    Comment string
    Details of this task. (should be Install asked)
    Details ServerInstallTaskDetails
    see details block below.
    DoneDate string
    Completion date in RFC3339 format.
    Function string
    Function name (should be hardInstall).
    LastUpdate string
    Last update in RFC3339 format.
    PartitionSchemeName string
    Partition scheme name.
    ServiceName string
    The service_name of your dedicated server.
    StartDate string
    Task creation date in RFC3339 format.
    Status string
    Task status (should be done)
    TemplateName string
    Template name.
    UserMetadatas List<ServerInstallTaskUserMetadata>
    see user_metadata block below.
    BootidOnDestroy int
    If set, reboot the server on the specified boot id during destroy phase.
    Comment string
    Details of this task. (should be Install asked)
    Details ServerInstallTaskDetailsArgs
    see details block below.
    DoneDate string
    Completion date in RFC3339 format.
    Function string
    Function name (should be hardInstall).
    LastUpdate string
    Last update in RFC3339 format.
    PartitionSchemeName string
    Partition scheme name.
    ServiceName string
    The service_name of your dedicated server.
    StartDate string
    Task creation date in RFC3339 format.
    Status string
    Task status (should be done)
    TemplateName string
    Template name.
    UserMetadatas []ServerInstallTaskUserMetadataArgs
    see user_metadata block below.
    bootidOnDestroy Integer
    If set, reboot the server on the specified boot id during destroy phase.
    comment String
    Details of this task. (should be Install asked)
    details ServerInstallTaskDetails
    see details block below.
    doneDate String
    Completion date in RFC3339 format.
    function String
    Function name (should be hardInstall).
    lastUpdate String
    Last update in RFC3339 format.
    partitionSchemeName String
    Partition scheme name.
    serviceName String
    The service_name of your dedicated server.
    startDate String
    Task creation date in RFC3339 format.
    status String
    Task status (should be done)
    templateName String
    Template name.
    userMetadatas List<ServerInstallTaskUserMetadata>
    see user_metadata block below.
    bootidOnDestroy number
    If set, reboot the server on the specified boot id during destroy phase.
    comment string
    Details of this task. (should be Install asked)
    details ServerInstallTaskDetails
    see details block below.
    doneDate string
    Completion date in RFC3339 format.
    function string
    Function name (should be hardInstall).
    lastUpdate string
    Last update in RFC3339 format.
    partitionSchemeName string
    Partition scheme name.
    serviceName string
    The service_name of your dedicated server.
    startDate string
    Task creation date in RFC3339 format.
    status string
    Task status (should be done)
    templateName string
    Template name.
    userMetadatas ServerInstallTaskUserMetadata[]
    see user_metadata block below.
    bootid_on_destroy int
    If set, reboot the server on the specified boot id during destroy phase.
    comment str
    Details of this task. (should be Install asked)
    details dedicated.ServerInstallTaskDetailsArgs
    see details block below.
    done_date str
    Completion date in RFC3339 format.
    function str
    Function name (should be hardInstall).
    last_update str
    Last update in RFC3339 format.
    partition_scheme_name str
    Partition scheme name.
    service_name str
    The service_name of your dedicated server.
    start_date str
    Task creation date in RFC3339 format.
    status str
    Task status (should be done)
    template_name str
    Template name.
    user_metadatas Sequence[dedicated.ServerInstallTaskUserMetadataArgs]
    see user_metadata block below.
    bootidOnDestroy Number
    If set, reboot the server on the specified boot id during destroy phase.
    comment String
    Details of this task. (should be Install asked)
    details Property Map
    see details block below.
    doneDate String
    Completion date in RFC3339 format.
    function String
    Function name (should be hardInstall).
    lastUpdate String
    Last update in RFC3339 format.
    partitionSchemeName String
    Partition scheme name.
    serviceName String
    The service_name of your dedicated server.
    startDate String
    Task creation date in RFC3339 format.
    status String
    Task status (should be done)
    templateName String
    Template name.
    userMetadatas List<Property Map>
    see user_metadata block below.

    Supporting Types

    ServerInstallTaskDetails, ServerInstallTaskDetailsArgs

    CustomHostname string
    Set up the server using the provided hostname instead of the default hostname.
    DiskGroupId int
    Disk group id.
    NoRaid bool
    Set to true to disable RAID.
    SoftRaidDevices int
    soft raid devices.
    CustomHostname string
    Set up the server using the provided hostname instead of the default hostname.
    DiskGroupId int
    Disk group id.
    NoRaid bool
    Set to true to disable RAID.
    SoftRaidDevices int
    soft raid devices.
    customHostname String
    Set up the server using the provided hostname instead of the default hostname.
    diskGroupId Integer
    Disk group id.
    noRaid Boolean
    Set to true to disable RAID.
    softRaidDevices Integer
    soft raid devices.
    customHostname string
    Set up the server using the provided hostname instead of the default hostname.
    diskGroupId number
    Disk group id.
    noRaid boolean
    Set to true to disable RAID.
    softRaidDevices number
    soft raid devices.
    custom_hostname str
    Set up the server using the provided hostname instead of the default hostname.
    disk_group_id int
    Disk group id.
    no_raid bool
    Set to true to disable RAID.
    soft_raid_devices int
    soft raid devices.
    customHostname String
    Set up the server using the provided hostname instead of the default hostname.
    diskGroupId Number
    Disk group id.
    noRaid Boolean
    Set to true to disable RAID.
    softRaidDevices Number
    soft raid devices.

    ServerInstallTaskUserMetadata, ServerInstallTaskUserMetadataArgs

    Key string
    The key for the user_metadata
    Value string
    The value for the user_metadata
    Key string
    The key for the user_metadata
    Value string
    The value for the user_metadata
    key String
    The key for the user_metadata
    value String
    The value for the user_metadata
    key string
    The key for the user_metadata
    value string
    The value for the user_metadata
    key str
    The key for the user_metadata
    value str
    The value for the user_metadata
    key String
    The key for the user_metadata
    value String
    The value for the user_metadata

    Import

    Installation task can be imported using the service_name (nsXXXX.ip...) of the baremetal server, the template_name used and ths task_id, separated by “/” E.g.,

    bash

    $ pulumi import ovh:Dedicated/serverInstallTask:ServerInstallTask ovh_dedicated_server_install_task nsXXXX.ipXXXX/template_name/12345
    

    To learn more about importing existing cloud resources, see Importing resources.

    Package Details

    Repository
    ovh ovh/pulumi-ovh
    License
    Apache-2.0
    Notes
    This Pulumi package is based on the ovh Terraform Provider.
    ovh logo
    OVHCloud v1.0.0 published on Wednesday, Oct 30, 2024 by OVHcloud