1. Packages
  2. Google Cloud (GCP) Classic
  3. API Docs
  4. backupdisasterrecovery
  5. RestoreWorkload
Google Cloud v9.10.0 published on Friday, Jan 16, 2026 by Pulumi
gcp logo
Google Cloud v9.10.0 published on Friday, Jan 16, 2026 by Pulumi

    An imperative resource that triggers a GCBDR restoration event. Creating this resource will initiate a restore operation from a specified backup. The resource represents the restore operation and its result.

    Example Usage

    Backup Dr Restore Workload Compute Instance Basic

    import * as pulumi from "@pulumi/pulumi";
    import * as gcp from "@pulumi/gcp";
    
    const restoreComputeBasic = new gcp.backupdisasterrecovery.RestoreWorkload("restore_compute_basic", {
        location: "us-central1",
        backupVaultId: "backup-vault",
        dataSourceId: "data-source",
        backupId: "backup",
        name: "projects/my-project/locations/us-central1/backups/my-backup",
        computeInstanceTargetEnvironment: {
            project: "my-project-name",
            zone: "us-central1-a",
        },
        computeInstanceRestoreProperties: {
            name: "restored-instance",
            machineType: "e2-medium",
        },
    });
    
    import pulumi
    import pulumi_gcp as gcp
    
    restore_compute_basic = gcp.backupdisasterrecovery.RestoreWorkload("restore_compute_basic",
        location="us-central1",
        backup_vault_id="backup-vault",
        data_source_id="data-source",
        backup_id="backup",
        name="projects/my-project/locations/us-central1/backups/my-backup",
        compute_instance_target_environment={
            "project": "my-project-name",
            "zone": "us-central1-a",
        },
        compute_instance_restore_properties={
            "name": "restored-instance",
            "machine_type": "e2-medium",
        })
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-gcp/sdk/v9/go/gcp/backupdisasterrecovery"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := backupdisasterrecovery.NewRestoreWorkload(ctx, "restore_compute_basic", &backupdisasterrecovery.RestoreWorkloadArgs{
    			Location:      pulumi.String("us-central1"),
    			BackupVaultId: pulumi.String("backup-vault"),
    			DataSourceId:  pulumi.String("data-source"),
    			BackupId:      pulumi.String("backup"),
    			Name:          pulumi.String("projects/my-project/locations/us-central1/backups/my-backup"),
    			ComputeInstanceTargetEnvironment: &backupdisasterrecovery.RestoreWorkloadComputeInstanceTargetEnvironmentArgs{
    				Project: pulumi.String("my-project-name"),
    				Zone:    pulumi.String("us-central1-a"),
    			},
    			ComputeInstanceRestoreProperties: &backupdisasterrecovery.RestoreWorkloadComputeInstanceRestorePropertiesArgs{
    				Name:        pulumi.String("restored-instance"),
    				MachineType: pulumi.String("e2-medium"),
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Gcp = Pulumi.Gcp;
    
    return await Deployment.RunAsync(() => 
    {
        var restoreComputeBasic = new Gcp.BackupDisasterRecovery.RestoreWorkload("restore_compute_basic", new()
        {
            Location = "us-central1",
            BackupVaultId = "backup-vault",
            DataSourceId = "data-source",
            BackupId = "backup",
            Name = "projects/my-project/locations/us-central1/backups/my-backup",
            ComputeInstanceTargetEnvironment = new Gcp.BackupDisasterRecovery.Inputs.RestoreWorkloadComputeInstanceTargetEnvironmentArgs
            {
                Project = "my-project-name",
                Zone = "us-central1-a",
            },
            ComputeInstanceRestoreProperties = new Gcp.BackupDisasterRecovery.Inputs.RestoreWorkloadComputeInstanceRestorePropertiesArgs
            {
                Name = "restored-instance",
                MachineType = "e2-medium",
            },
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.gcp.backupdisasterrecovery.RestoreWorkload;
    import com.pulumi.gcp.backupdisasterrecovery.RestoreWorkloadArgs;
    import com.pulumi.gcp.backupdisasterrecovery.inputs.RestoreWorkloadComputeInstanceTargetEnvironmentArgs;
    import com.pulumi.gcp.backupdisasterrecovery.inputs.RestoreWorkloadComputeInstanceRestorePropertiesArgs;
    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) {
            var restoreComputeBasic = new RestoreWorkload("restoreComputeBasic", RestoreWorkloadArgs.builder()
                .location("us-central1")
                .backupVaultId("backup-vault")
                .dataSourceId("data-source")
                .backupId("backup")
                .name("projects/my-project/locations/us-central1/backups/my-backup")
                .computeInstanceTargetEnvironment(RestoreWorkloadComputeInstanceTargetEnvironmentArgs.builder()
                    .project("my-project-name")
                    .zone("us-central1-a")
                    .build())
                .computeInstanceRestoreProperties(RestoreWorkloadComputeInstanceRestorePropertiesArgs.builder()
                    .name("restored-instance")
                    .machineType("e2-medium")
                    .build())
                .build());
    
        }
    }
    
    resources:
      restoreComputeBasic:
        type: gcp:backupdisasterrecovery:RestoreWorkload
        name: restore_compute_basic
        properties:
          location: us-central1
          backupVaultId: backup-vault
          dataSourceId: data-source
          backupId: backup
          name: projects/my-project/locations/us-central1/backups/my-backup
          computeInstanceTargetEnvironment:
            project: my-project-name
            zone: us-central1-a
          computeInstanceRestoreProperties:
            name: restored-instance
            machineType: e2-medium
    

    Backup Dr Restore Workload Compute Instance Full

    import * as pulumi from "@pulumi/pulumi";
    import * as gcp from "@pulumi/gcp";
    
    const restoreComputeFull = new gcp.backupdisasterrecovery.RestoreWorkload("restore_compute_full", {
        location: "us-central1",
        backupVaultId: "backup-vault",
        dataSourceId: "data-source",
        backupId: "backup",
        name: "projects/my-project/locations/us-central1/backups/my-backup",
        computeInstanceTargetEnvironment: {
            project: "my-project-name",
            zone: "us-central1-a",
        },
        computeInstanceRestoreProperties: {
            name: "restored-instance-full",
            machineType: "e2-medium",
            description: "Restored compute instance with advanced configuration",
            canIpForward: true,
            deletionProtection: false,
            labels: {
                environment: "production",
                restored: "true",
                team: "infrastructure",
            },
            tags: {
                items: [
                    "web",
                    "https-server",
                    "restored",
                ],
            },
            networkInterfaces: [{
                network: "default",
                subnetwork: "projects/my-project-name/regions/us-central1/subnetworks/default",
                accessConfigs: [{
                    name: "External NAT",
                    networkTier: "PREMIUM",
                }],
            }],
            scheduling: {
                automaticRestart: true,
                onHostMaintenance: "MIGRATE",
                preemptible: false,
                provisioningModel: "STANDARD",
            },
            serviceAccounts: [{
                email: "default",
                scopes: [
                    "https://www.googleapis.com/auth/cloud-platform",
                    "https://www.googleapis.com/auth/compute",
                ],
            }],
            shieldedInstanceConfig: {
                enableSecureBoot: true,
                enableVtpm: true,
                enableIntegrityMonitoring: true,
            },
            advancedMachineFeatures: {
                enableNestedVirtualization: false,
                threadsPerCore: 1,
            },
            metadata: {
                items: [
                    {
                        key: "startup-script",
                        value: `#!/bin/bash
    echo 'Instance restored' > /tmp/restored.txt`,
                    },
                    {
                        key: "enable-oslogin",
                        value: "TRUE",
                    },
                ],
            },
        },
    });
    
    import pulumi
    import pulumi_gcp as gcp
    
    restore_compute_full = gcp.backupdisasterrecovery.RestoreWorkload("restore_compute_full",
        location="us-central1",
        backup_vault_id="backup-vault",
        data_source_id="data-source",
        backup_id="backup",
        name="projects/my-project/locations/us-central1/backups/my-backup",
        compute_instance_target_environment={
            "project": "my-project-name",
            "zone": "us-central1-a",
        },
        compute_instance_restore_properties={
            "name": "restored-instance-full",
            "machine_type": "e2-medium",
            "description": "Restored compute instance with advanced configuration",
            "can_ip_forward": True,
            "deletion_protection": False,
            "labels": {
                "environment": "production",
                "restored": "true",
                "team": "infrastructure",
            },
            "tags": {
                "items": [
                    "web",
                    "https-server",
                    "restored",
                ],
            },
            "network_interfaces": [{
                "network": "default",
                "subnetwork": "projects/my-project-name/regions/us-central1/subnetworks/default",
                "access_configs": [{
                    "name": "External NAT",
                    "network_tier": "PREMIUM",
                }],
            }],
            "scheduling": {
                "automatic_restart": True,
                "on_host_maintenance": "MIGRATE",
                "preemptible": False,
                "provisioning_model": "STANDARD",
            },
            "service_accounts": [{
                "email": "default",
                "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform",
                    "https://www.googleapis.com/auth/compute",
                ],
            }],
            "shielded_instance_config": {
                "enable_secure_boot": True,
                "enable_vtpm": True,
                "enable_integrity_monitoring": True,
            },
            "advanced_machine_features": {
                "enable_nested_virtualization": False,
                "threads_per_core": 1,
            },
            "metadata": {
                "items": [
                    {
                        "key": "startup-script",
                        "value": """#!/bin/bash
    echo 'Instance restored' > /tmp/restored.txt""",
                    },
                    {
                        "key": "enable-oslogin",
                        "value": "TRUE",
                    },
                ],
            },
        })
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-gcp/sdk/v9/go/gcp/backupdisasterrecovery"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := backupdisasterrecovery.NewRestoreWorkload(ctx, "restore_compute_full", &backupdisasterrecovery.RestoreWorkloadArgs{
    			Location:      pulumi.String("us-central1"),
    			BackupVaultId: pulumi.String("backup-vault"),
    			DataSourceId:  pulumi.String("data-source"),
    			BackupId:      pulumi.String("backup"),
    			Name:          pulumi.String("projects/my-project/locations/us-central1/backups/my-backup"),
    			ComputeInstanceTargetEnvironment: &backupdisasterrecovery.RestoreWorkloadComputeInstanceTargetEnvironmentArgs{
    				Project: pulumi.String("my-project-name"),
    				Zone:    pulumi.String("us-central1-a"),
    			},
    			ComputeInstanceRestoreProperties: &backupdisasterrecovery.RestoreWorkloadComputeInstanceRestorePropertiesArgs{
    				Name:               pulumi.String("restored-instance-full"),
    				MachineType:        pulumi.String("e2-medium"),
    				Description:        pulumi.String("Restored compute instance with advanced configuration"),
    				CanIpForward:       pulumi.Bool(true),
    				DeletionProtection: pulumi.Bool(false),
    				Labels: backupdisasterrecovery.RestoreWorkloadComputeInstanceRestorePropertiesLabelArray{
    					Environment: "production",
    					Restored:    "true",
    					Team:        "infrastructure",
    				},
    				Tags: &backupdisasterrecovery.RestoreWorkloadComputeInstanceRestorePropertiesTagsArgs{
    					Items: pulumi.StringArray{
    						pulumi.String("web"),
    						pulumi.String("https-server"),
    						pulumi.String("restored"),
    					},
    				},
    				NetworkInterfaces: backupdisasterrecovery.RestoreWorkloadComputeInstanceRestorePropertiesNetworkInterfaceArray{
    					&backupdisasterrecovery.RestoreWorkloadComputeInstanceRestorePropertiesNetworkInterfaceArgs{
    						Network:    pulumi.String("default"),
    						Subnetwork: pulumi.String("projects/my-project-name/regions/us-central1/subnetworks/default"),
    						AccessConfigs: backupdisasterrecovery.RestoreWorkloadComputeInstanceRestorePropertiesNetworkInterfaceAccessConfigArray{
    							&backupdisasterrecovery.RestoreWorkloadComputeInstanceRestorePropertiesNetworkInterfaceAccessConfigArgs{
    								Name:        pulumi.String("External NAT"),
    								NetworkTier: pulumi.String("PREMIUM"),
    							},
    						},
    					},
    				},
    				Scheduling: &backupdisasterrecovery.RestoreWorkloadComputeInstanceRestorePropertiesSchedulingArgs{
    					AutomaticRestart:  pulumi.Bool(true),
    					OnHostMaintenance: pulumi.String("MIGRATE"),
    					Preemptible:       pulumi.Bool(false),
    					ProvisioningModel: pulumi.String("STANDARD"),
    				},
    				ServiceAccounts: backupdisasterrecovery.RestoreWorkloadComputeInstanceRestorePropertiesServiceAccountArray{
    					&backupdisasterrecovery.RestoreWorkloadComputeInstanceRestorePropertiesServiceAccountArgs{
    						Email: pulumi.String("default"),
    						Scopes: pulumi.StringArray{
    							pulumi.String("https://www.googleapis.com/auth/cloud-platform"),
    							pulumi.String("https://www.googleapis.com/auth/compute"),
    						},
    					},
    				},
    				ShieldedInstanceConfig: &backupdisasterrecovery.RestoreWorkloadComputeInstanceRestorePropertiesShieldedInstanceConfigArgs{
    					EnableSecureBoot:          pulumi.Bool(true),
    					EnableVtpm:                pulumi.Bool(true),
    					EnableIntegrityMonitoring: pulumi.Bool(true),
    				},
    				AdvancedMachineFeatures: &backupdisasterrecovery.RestoreWorkloadComputeInstanceRestorePropertiesAdvancedMachineFeaturesArgs{
    					EnableNestedVirtualization: pulumi.Bool(false),
    					ThreadsPerCore:             pulumi.Int(1),
    				},
    				Metadata: &backupdisasterrecovery.RestoreWorkloadComputeInstanceRestorePropertiesMetadataArgs{
    					Items: backupdisasterrecovery.RestoreWorkloadComputeInstanceRestorePropertiesMetadataItemArray{
    						&backupdisasterrecovery.RestoreWorkloadComputeInstanceRestorePropertiesMetadataItemArgs{
    							Key:   pulumi.String("startup-script"),
    							Value: pulumi.String("#!/bin/bash\necho 'Instance restored' > /tmp/restored.txt"),
    						},
    						&backupdisasterrecovery.RestoreWorkloadComputeInstanceRestorePropertiesMetadataItemArgs{
    							Key:   pulumi.String("enable-oslogin"),
    							Value: pulumi.String("TRUE"),
    						},
    					},
    				},
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Gcp = Pulumi.Gcp;
    
    return await Deployment.RunAsync(() => 
    {
        var restoreComputeFull = new Gcp.BackupDisasterRecovery.RestoreWorkload("restore_compute_full", new()
        {
            Location = "us-central1",
            BackupVaultId = "backup-vault",
            DataSourceId = "data-source",
            BackupId = "backup",
            Name = "projects/my-project/locations/us-central1/backups/my-backup",
            ComputeInstanceTargetEnvironment = new Gcp.BackupDisasterRecovery.Inputs.RestoreWorkloadComputeInstanceTargetEnvironmentArgs
            {
                Project = "my-project-name",
                Zone = "us-central1-a",
            },
            ComputeInstanceRestoreProperties = new Gcp.BackupDisasterRecovery.Inputs.RestoreWorkloadComputeInstanceRestorePropertiesArgs
            {
                Name = "restored-instance-full",
                MachineType = "e2-medium",
                Description = "Restored compute instance with advanced configuration",
                CanIpForward = true,
                DeletionProtection = false,
                Labels = 
                {
                    { "environment", "production" },
                    { "restored", "true" },
                    { "team", "infrastructure" },
                },
                Tags = new Gcp.BackupDisasterRecovery.Inputs.RestoreWorkloadComputeInstanceRestorePropertiesTagsArgs
                {
                    Items = new[]
                    {
                        "web",
                        "https-server",
                        "restored",
                    },
                },
                NetworkInterfaces = new[]
                {
                    new Gcp.BackupDisasterRecovery.Inputs.RestoreWorkloadComputeInstanceRestorePropertiesNetworkInterfaceArgs
                    {
                        Network = "default",
                        Subnetwork = "projects/my-project-name/regions/us-central1/subnetworks/default",
                        AccessConfigs = new[]
                        {
                            new Gcp.BackupDisasterRecovery.Inputs.RestoreWorkloadComputeInstanceRestorePropertiesNetworkInterfaceAccessConfigArgs
                            {
                                Name = "External NAT",
                                NetworkTier = "PREMIUM",
                            },
                        },
                    },
                },
                Scheduling = new Gcp.BackupDisasterRecovery.Inputs.RestoreWorkloadComputeInstanceRestorePropertiesSchedulingArgs
                {
                    AutomaticRestart = true,
                    OnHostMaintenance = "MIGRATE",
                    Preemptible = false,
                    ProvisioningModel = "STANDARD",
                },
                ServiceAccounts = new[]
                {
                    new Gcp.BackupDisasterRecovery.Inputs.RestoreWorkloadComputeInstanceRestorePropertiesServiceAccountArgs
                    {
                        Email = "default",
                        Scopes = new[]
                        {
                            "https://www.googleapis.com/auth/cloud-platform",
                            "https://www.googleapis.com/auth/compute",
                        },
                    },
                },
                ShieldedInstanceConfig = new Gcp.BackupDisasterRecovery.Inputs.RestoreWorkloadComputeInstanceRestorePropertiesShieldedInstanceConfigArgs
                {
                    EnableSecureBoot = true,
                    EnableVtpm = true,
                    EnableIntegrityMonitoring = true,
                },
                AdvancedMachineFeatures = new Gcp.BackupDisasterRecovery.Inputs.RestoreWorkloadComputeInstanceRestorePropertiesAdvancedMachineFeaturesArgs
                {
                    EnableNestedVirtualization = false,
                    ThreadsPerCore = 1,
                },
                Metadata = new Gcp.BackupDisasterRecovery.Inputs.RestoreWorkloadComputeInstanceRestorePropertiesMetadataArgs
                {
                    Items = new[]
                    {
                        new Gcp.BackupDisasterRecovery.Inputs.RestoreWorkloadComputeInstanceRestorePropertiesMetadataItemArgs
                        {
                            Key = "startup-script",
                            Value = @"#!/bin/bash
    echo 'Instance restored' > /tmp/restored.txt",
                        },
                        new Gcp.BackupDisasterRecovery.Inputs.RestoreWorkloadComputeInstanceRestorePropertiesMetadataItemArgs
                        {
                            Key = "enable-oslogin",
                            Value = "TRUE",
                        },
                    },
                },
            },
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.gcp.backupdisasterrecovery.RestoreWorkload;
    import com.pulumi.gcp.backupdisasterrecovery.RestoreWorkloadArgs;
    import com.pulumi.gcp.backupdisasterrecovery.inputs.RestoreWorkloadComputeInstanceTargetEnvironmentArgs;
    import com.pulumi.gcp.backupdisasterrecovery.inputs.RestoreWorkloadComputeInstanceRestorePropertiesArgs;
    import com.pulumi.gcp.backupdisasterrecovery.inputs.RestoreWorkloadComputeInstanceRestorePropertiesTagsArgs;
    import com.pulumi.gcp.backupdisasterrecovery.inputs.RestoreWorkloadComputeInstanceRestorePropertiesSchedulingArgs;
    import com.pulumi.gcp.backupdisasterrecovery.inputs.RestoreWorkloadComputeInstanceRestorePropertiesShieldedInstanceConfigArgs;
    import com.pulumi.gcp.backupdisasterrecovery.inputs.RestoreWorkloadComputeInstanceRestorePropertiesAdvancedMachineFeaturesArgs;
    import com.pulumi.gcp.backupdisasterrecovery.inputs.RestoreWorkloadComputeInstanceRestorePropertiesMetadataArgs;
    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) {
            var restoreComputeFull = new RestoreWorkload("restoreComputeFull", RestoreWorkloadArgs.builder()
                .location("us-central1")
                .backupVaultId("backup-vault")
                .dataSourceId("data-source")
                .backupId("backup")
                .name("projects/my-project/locations/us-central1/backups/my-backup")
                .computeInstanceTargetEnvironment(RestoreWorkloadComputeInstanceTargetEnvironmentArgs.builder()
                    .project("my-project-name")
                    .zone("us-central1-a")
                    .build())
                .computeInstanceRestoreProperties(RestoreWorkloadComputeInstanceRestorePropertiesArgs.builder()
                    .name("restored-instance-full")
                    .machineType("e2-medium")
                    .description("Restored compute instance with advanced configuration")
                    .canIpForward(true)
                    .deletionProtection(false)
                    .labels(RestoreWorkloadComputeInstanceRestorePropertiesLabelArgs.builder()
                        .environment("production")
                        .restored("true")
                        .team("infrastructure")
                        .build())
                    .tags(RestoreWorkloadComputeInstanceRestorePropertiesTagsArgs.builder()
                        .items(                    
                            "web",
                            "https-server",
                            "restored")
                        .build())
                    .networkInterfaces(RestoreWorkloadComputeInstanceRestorePropertiesNetworkInterfaceArgs.builder()
                        .network("default")
                        .subnetwork("projects/my-project-name/regions/us-central1/subnetworks/default")
                        .accessConfigs(RestoreWorkloadComputeInstanceRestorePropertiesNetworkInterfaceAccessConfigArgs.builder()
                            .name("External NAT")
                            .networkTier("PREMIUM")
                            .build())
                        .build())
                    .scheduling(RestoreWorkloadComputeInstanceRestorePropertiesSchedulingArgs.builder()
                        .automaticRestart(true)
                        .onHostMaintenance("MIGRATE")
                        .preemptible(false)
                        .provisioningModel("STANDARD")
                        .build())
                    .serviceAccounts(RestoreWorkloadComputeInstanceRestorePropertiesServiceAccountArgs.builder()
                        .email("default")
                        .scopes(                    
                            "https://www.googleapis.com/auth/cloud-platform",
                            "https://www.googleapis.com/auth/compute")
                        .build())
                    .shieldedInstanceConfig(RestoreWorkloadComputeInstanceRestorePropertiesShieldedInstanceConfigArgs.builder()
                        .enableSecureBoot(true)
                        .enableVtpm(true)
                        .enableIntegrityMonitoring(true)
                        .build())
                    .advancedMachineFeatures(RestoreWorkloadComputeInstanceRestorePropertiesAdvancedMachineFeaturesArgs.builder()
                        .enableNestedVirtualization(false)
                        .threadsPerCore(1)
                        .build())
                    .metadata(RestoreWorkloadComputeInstanceRestorePropertiesMetadataArgs.builder()
                        .items(                    
                            RestoreWorkloadComputeInstanceRestorePropertiesMetadataItemArgs.builder()
                                .key("startup-script")
                                .value("""
    #!/bin/bash
    echo 'Instance restored' > /tmp/restored.txt                            """)
                                .build(),
                            RestoreWorkloadComputeInstanceRestorePropertiesMetadataItemArgs.builder()
                                .key("enable-oslogin")
                                .value("TRUE")
                                .build())
                        .build())
                    .build())
                .build());
    
        }
    }
    
    resources:
      restoreComputeFull:
        type: gcp:backupdisasterrecovery:RestoreWorkload
        name: restore_compute_full
        properties:
          location: us-central1
          backupVaultId: backup-vault
          dataSourceId: data-source
          backupId: backup
          name: projects/my-project/locations/us-central1/backups/my-backup
          computeInstanceTargetEnvironment:
            project: my-project-name
            zone: us-central1-a
          computeInstanceRestoreProperties:
            name: restored-instance-full
            machineType: e2-medium
            description: Restored compute instance with advanced configuration
            canIpForward: true
            deletionProtection: false
            labels:
              environment: production
              restored: 'true'
              team: infrastructure
            tags:
              items:
                - web
                - https-server
                - restored
            networkInterfaces:
              - network: default
                subnetwork: projects/my-project-name/regions/us-central1/subnetworks/default
                accessConfigs:
                  - name: External NAT
                    networkTier: PREMIUM
            scheduling:
              automaticRestart: true
              onHostMaintenance: MIGRATE
              preemptible: false
              provisioningModel: STANDARD
            serviceAccounts:
              - email: default
                scopes:
                  - https://www.googleapis.com/auth/cloud-platform
                  - https://www.googleapis.com/auth/compute
            shieldedInstanceConfig:
              enableSecureBoot: true
              enableVtpm: true
              enableIntegrityMonitoring: true
            advancedMachineFeatures:
              enableNestedVirtualization: false
              threadsPerCore: 1
            metadata:
              items:
                - key: startup-script
                  value: |-
                    #!/bin/bash
                    echo 'Instance restored' > /tmp/restored.txt                
                - key: enable-oslogin
                  value: TRUE
    

    Backup Dr Restore Workload Disk Basic

    import * as pulumi from "@pulumi/pulumi";
    import * as gcp from "@pulumi/gcp";
    
    const restoreDiskBasic = new gcp.backupdisasterrecovery.RestoreWorkload("restore_disk_basic", {
        location: "us-central1",
        backupVaultId: "backup-vault",
        dataSourceId: "data-source",
        backupId: "backup",
        name: "projects/my-project/locations/us-central1/backups/my-backup",
        diskTargetEnvironment: {
            project: "my-project-name",
            zone: "us-central1-a",
        },
        diskRestoreProperties: {
            name: "restored-disk",
            sizeGb: 100,
            type: "pd-standard",
            description: "Restored persistent disk from backup",
            labels: {
                environment: "production",
                restored: "true",
            },
        },
    });
    
    import pulumi
    import pulumi_gcp as gcp
    
    restore_disk_basic = gcp.backupdisasterrecovery.RestoreWorkload("restore_disk_basic",
        location="us-central1",
        backup_vault_id="backup-vault",
        data_source_id="data-source",
        backup_id="backup",
        name="projects/my-project/locations/us-central1/backups/my-backup",
        disk_target_environment={
            "project": "my-project-name",
            "zone": "us-central1-a",
        },
        disk_restore_properties={
            "name": "restored-disk",
            "size_gb": 100,
            "type": "pd-standard",
            "description": "Restored persistent disk from backup",
            "labels": {
                "environment": "production",
                "restored": "true",
            },
        })
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-gcp/sdk/v9/go/gcp/backupdisasterrecovery"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := backupdisasterrecovery.NewRestoreWorkload(ctx, "restore_disk_basic", &backupdisasterrecovery.RestoreWorkloadArgs{
    			Location:      pulumi.String("us-central1"),
    			BackupVaultId: pulumi.String("backup-vault"),
    			DataSourceId:  pulumi.String("data-source"),
    			BackupId:      pulumi.String("backup"),
    			Name:          pulumi.String("projects/my-project/locations/us-central1/backups/my-backup"),
    			DiskTargetEnvironment: &backupdisasterrecovery.RestoreWorkloadDiskTargetEnvironmentArgs{
    				Project: pulumi.String("my-project-name"),
    				Zone:    pulumi.String("us-central1-a"),
    			},
    			DiskRestoreProperties: &backupdisasterrecovery.RestoreWorkloadDiskRestorePropertiesArgs{
    				Name:        pulumi.String("restored-disk"),
    				SizeGb:      pulumi.Int(100),
    				Type:        pulumi.String("pd-standard"),
    				Description: pulumi.String("Restored persistent disk from backup"),
    				Labels: backupdisasterrecovery.RestoreWorkloadDiskRestorePropertiesLabelArray{
    					Environment: "production",
    					Restored:    "true",
    				},
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Gcp = Pulumi.Gcp;
    
    return await Deployment.RunAsync(() => 
    {
        var restoreDiskBasic = new Gcp.BackupDisasterRecovery.RestoreWorkload("restore_disk_basic", new()
        {
            Location = "us-central1",
            BackupVaultId = "backup-vault",
            DataSourceId = "data-source",
            BackupId = "backup",
            Name = "projects/my-project/locations/us-central1/backups/my-backup",
            DiskTargetEnvironment = new Gcp.BackupDisasterRecovery.Inputs.RestoreWorkloadDiskTargetEnvironmentArgs
            {
                Project = "my-project-name",
                Zone = "us-central1-a",
            },
            DiskRestoreProperties = new Gcp.BackupDisasterRecovery.Inputs.RestoreWorkloadDiskRestorePropertiesArgs
            {
                Name = "restored-disk",
                SizeGb = 100,
                Type = "pd-standard",
                Description = "Restored persistent disk from backup",
                Labels = 
                {
                    { "environment", "production" },
                    { "restored", "true" },
                },
            },
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.gcp.backupdisasterrecovery.RestoreWorkload;
    import com.pulumi.gcp.backupdisasterrecovery.RestoreWorkloadArgs;
    import com.pulumi.gcp.backupdisasterrecovery.inputs.RestoreWorkloadDiskTargetEnvironmentArgs;
    import com.pulumi.gcp.backupdisasterrecovery.inputs.RestoreWorkloadDiskRestorePropertiesArgs;
    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) {
            var restoreDiskBasic = new RestoreWorkload("restoreDiskBasic", RestoreWorkloadArgs.builder()
                .location("us-central1")
                .backupVaultId("backup-vault")
                .dataSourceId("data-source")
                .backupId("backup")
                .name("projects/my-project/locations/us-central1/backups/my-backup")
                .diskTargetEnvironment(RestoreWorkloadDiskTargetEnvironmentArgs.builder()
                    .project("my-project-name")
                    .zone("us-central1-a")
                    .build())
                .diskRestoreProperties(RestoreWorkloadDiskRestorePropertiesArgs.builder()
                    .name("restored-disk")
                    .sizeGb(100)
                    .type("pd-standard")
                    .description("Restored persistent disk from backup")
                    .labels(RestoreWorkloadDiskRestorePropertiesLabelArgs.builder()
                        .environment("production")
                        .restored("true")
                        .build())
                    .build())
                .build());
    
        }
    }
    
    resources:
      restoreDiskBasic:
        type: gcp:backupdisasterrecovery:RestoreWorkload
        name: restore_disk_basic
        properties:
          location: us-central1
          backupVaultId: backup-vault
          dataSourceId: data-source
          backupId: backup
          name: projects/my-project/locations/us-central1/backups/my-backup
          diskTargetEnvironment:
            project: my-project-name
            zone: us-central1-a
          diskRestoreProperties:
            name: restored-disk
            sizeGb: 100
            type: pd-standard
            description: Restored persistent disk from backup
            labels:
              environment: production
              restored: 'true'
    

    Backup Dr Restore Workload Regional Disk

    import * as pulumi from "@pulumi/pulumi";
    import * as gcp from "@pulumi/gcp";
    
    const restoreRegionalDisk = new gcp.backupdisasterrecovery.RestoreWorkload("restore_regional_disk", {
        location: "us-central1",
        backupVaultId: "backup-vault",
        dataSourceId: "data-source",
        backupId: "backup",
        name: "projects/my-project/locations/us-central1/backups/my-backup",
        regionDiskTargetEnvironment: {
            project: "my-project-name",
            region: "us-central1",
            replicaZones: [
                "us-central1-a",
                "us-central1-b",
            ],
        },
        diskRestoreProperties: {
            name: "restored-regional-disk",
            sizeGb: 200,
            type: "pd-balanced",
            description: "Restored regional persistent disk",
            labels: {
                type: "regional",
                environment: "production",
            },
            provisionedIops: 3000,
            provisionedThroughput: 140,
        },
    });
    
    import pulumi
    import pulumi_gcp as gcp
    
    restore_regional_disk = gcp.backupdisasterrecovery.RestoreWorkload("restore_regional_disk",
        location="us-central1",
        backup_vault_id="backup-vault",
        data_source_id="data-source",
        backup_id="backup",
        name="projects/my-project/locations/us-central1/backups/my-backup",
        region_disk_target_environment={
            "project": "my-project-name",
            "region": "us-central1",
            "replica_zones": [
                "us-central1-a",
                "us-central1-b",
            ],
        },
        disk_restore_properties={
            "name": "restored-regional-disk",
            "size_gb": 200,
            "type": "pd-balanced",
            "description": "Restored regional persistent disk",
            "labels": {
                "type": "regional",
                "environment": "production",
            },
            "provisioned_iops": 3000,
            "provisioned_throughput": 140,
        })
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-gcp/sdk/v9/go/gcp/backupdisasterrecovery"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := backupdisasterrecovery.NewRestoreWorkload(ctx, "restore_regional_disk", &backupdisasterrecovery.RestoreWorkloadArgs{
    			Location:      pulumi.String("us-central1"),
    			BackupVaultId: pulumi.String("backup-vault"),
    			DataSourceId:  pulumi.String("data-source"),
    			BackupId:      pulumi.String("backup"),
    			Name:          pulumi.String("projects/my-project/locations/us-central1/backups/my-backup"),
    			RegionDiskTargetEnvironment: &backupdisasterrecovery.RestoreWorkloadRegionDiskTargetEnvironmentArgs{
    				Project: pulumi.String("my-project-name"),
    				Region:  pulumi.String("us-central1"),
    				ReplicaZones: pulumi.StringArray{
    					pulumi.String("us-central1-a"),
    					pulumi.String("us-central1-b"),
    				},
    			},
    			DiskRestoreProperties: &backupdisasterrecovery.RestoreWorkloadDiskRestorePropertiesArgs{
    				Name:        pulumi.String("restored-regional-disk"),
    				SizeGb:      pulumi.Int(200),
    				Type:        pulumi.String("pd-balanced"),
    				Description: pulumi.String("Restored regional persistent disk"),
    				Labels: backupdisasterrecovery.RestoreWorkloadDiskRestorePropertiesLabelArray{
    					Type:        "regional",
    					Environment: "production",
    				},
    				ProvisionedIops:       pulumi.Int(3000),
    				ProvisionedThroughput: pulumi.Int(140),
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Gcp = Pulumi.Gcp;
    
    return await Deployment.RunAsync(() => 
    {
        var restoreRegionalDisk = new Gcp.BackupDisasterRecovery.RestoreWorkload("restore_regional_disk", new()
        {
            Location = "us-central1",
            BackupVaultId = "backup-vault",
            DataSourceId = "data-source",
            BackupId = "backup",
            Name = "projects/my-project/locations/us-central1/backups/my-backup",
            RegionDiskTargetEnvironment = new Gcp.BackupDisasterRecovery.Inputs.RestoreWorkloadRegionDiskTargetEnvironmentArgs
            {
                Project = "my-project-name",
                Region = "us-central1",
                ReplicaZones = new[]
                {
                    "us-central1-a",
                    "us-central1-b",
                },
            },
            DiskRestoreProperties = new Gcp.BackupDisasterRecovery.Inputs.RestoreWorkloadDiskRestorePropertiesArgs
            {
                Name = "restored-regional-disk",
                SizeGb = 200,
                Type = "pd-balanced",
                Description = "Restored regional persistent disk",
                Labels = 
                {
                    { "type", "regional" },
                    { "environment", "production" },
                },
                ProvisionedIops = 3000,
                ProvisionedThroughput = 140,
            },
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.gcp.backupdisasterrecovery.RestoreWorkload;
    import com.pulumi.gcp.backupdisasterrecovery.RestoreWorkloadArgs;
    import com.pulumi.gcp.backupdisasterrecovery.inputs.RestoreWorkloadRegionDiskTargetEnvironmentArgs;
    import com.pulumi.gcp.backupdisasterrecovery.inputs.RestoreWorkloadDiskRestorePropertiesArgs;
    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) {
            var restoreRegionalDisk = new RestoreWorkload("restoreRegionalDisk", RestoreWorkloadArgs.builder()
                .location("us-central1")
                .backupVaultId("backup-vault")
                .dataSourceId("data-source")
                .backupId("backup")
                .name("projects/my-project/locations/us-central1/backups/my-backup")
                .regionDiskTargetEnvironment(RestoreWorkloadRegionDiskTargetEnvironmentArgs.builder()
                    .project("my-project-name")
                    .region("us-central1")
                    .replicaZones(                
                        "us-central1-a",
                        "us-central1-b")
                    .build())
                .diskRestoreProperties(RestoreWorkloadDiskRestorePropertiesArgs.builder()
                    .name("restored-regional-disk")
                    .sizeGb(200)
                    .type("pd-balanced")
                    .description("Restored regional persistent disk")
                    .labels(RestoreWorkloadDiskRestorePropertiesLabelArgs.builder()
                        .type("regional")
                        .environment("production")
                        .build())
                    .provisionedIops(3000)
                    .provisionedThroughput(140)
                    .build())
                .build());
    
        }
    }
    
    resources:
      restoreRegionalDisk:
        type: gcp:backupdisasterrecovery:RestoreWorkload
        name: restore_regional_disk
        properties:
          location: us-central1
          backupVaultId: backup-vault
          dataSourceId: data-source
          backupId: backup
          name: projects/my-project/locations/us-central1/backups/my-backup
          regionDiskTargetEnvironment:
            project: my-project-name
            region: us-central1
            replicaZones:
              - us-central1-a
              - us-central1-b
          diskRestoreProperties:
            name: restored-regional-disk
            sizeGb: 200
            type: pd-balanced
            description: Restored regional persistent disk
            labels:
              type: regional
              environment: production
            provisionedIops: 3000
            provisionedThroughput: 140
    

    Backup Dr Restore Workload Without Delete

    import * as pulumi from "@pulumi/pulumi";
    import * as gcp from "@pulumi/gcp";
    
    const restoreWithoutDelete = new gcp.backupdisasterrecovery.RestoreWorkload("restore_without_delete", {
        location: "us-central1",
        backupVaultId: "backup-vault",
        dataSourceId: "data-source",
        backupId: "backup",
        name: "projects/my-project/locations/us-central1/backups/my-backup",
        deleteRestoredInstance: false,
        diskTargetEnvironment: {
            project: "my-project-name",
            zone: "us-central1-a",
        },
        diskRestoreProperties: {
            name: "persistent-disk",
            sizeGb: 50,
            type: "pd-standard",
        },
    });
    
    import pulumi
    import pulumi_gcp as gcp
    
    restore_without_delete = gcp.backupdisasterrecovery.RestoreWorkload("restore_without_delete",
        location="us-central1",
        backup_vault_id="backup-vault",
        data_source_id="data-source",
        backup_id="backup",
        name="projects/my-project/locations/us-central1/backups/my-backup",
        delete_restored_instance=False,
        disk_target_environment={
            "project": "my-project-name",
            "zone": "us-central1-a",
        },
        disk_restore_properties={
            "name": "persistent-disk",
            "size_gb": 50,
            "type": "pd-standard",
        })
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-gcp/sdk/v9/go/gcp/backupdisasterrecovery"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := backupdisasterrecovery.NewRestoreWorkload(ctx, "restore_without_delete", &backupdisasterrecovery.RestoreWorkloadArgs{
    			Location:               pulumi.String("us-central1"),
    			BackupVaultId:          pulumi.String("backup-vault"),
    			DataSourceId:           pulumi.String("data-source"),
    			BackupId:               pulumi.String("backup"),
    			Name:                   pulumi.String("projects/my-project/locations/us-central1/backups/my-backup"),
    			DeleteRestoredInstance: pulumi.Bool(false),
    			DiskTargetEnvironment: &backupdisasterrecovery.RestoreWorkloadDiskTargetEnvironmentArgs{
    				Project: pulumi.String("my-project-name"),
    				Zone:    pulumi.String("us-central1-a"),
    			},
    			DiskRestoreProperties: &backupdisasterrecovery.RestoreWorkloadDiskRestorePropertiesArgs{
    				Name:   pulumi.String("persistent-disk"),
    				SizeGb: pulumi.Int(50),
    				Type:   pulumi.String("pd-standard"),
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Gcp = Pulumi.Gcp;
    
    return await Deployment.RunAsync(() => 
    {
        var restoreWithoutDelete = new Gcp.BackupDisasterRecovery.RestoreWorkload("restore_without_delete", new()
        {
            Location = "us-central1",
            BackupVaultId = "backup-vault",
            DataSourceId = "data-source",
            BackupId = "backup",
            Name = "projects/my-project/locations/us-central1/backups/my-backup",
            DeleteRestoredInstance = false,
            DiskTargetEnvironment = new Gcp.BackupDisasterRecovery.Inputs.RestoreWorkloadDiskTargetEnvironmentArgs
            {
                Project = "my-project-name",
                Zone = "us-central1-a",
            },
            DiskRestoreProperties = new Gcp.BackupDisasterRecovery.Inputs.RestoreWorkloadDiskRestorePropertiesArgs
            {
                Name = "persistent-disk",
                SizeGb = 50,
                Type = "pd-standard",
            },
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.gcp.backupdisasterrecovery.RestoreWorkload;
    import com.pulumi.gcp.backupdisasterrecovery.RestoreWorkloadArgs;
    import com.pulumi.gcp.backupdisasterrecovery.inputs.RestoreWorkloadDiskTargetEnvironmentArgs;
    import com.pulumi.gcp.backupdisasterrecovery.inputs.RestoreWorkloadDiskRestorePropertiesArgs;
    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) {
            var restoreWithoutDelete = new RestoreWorkload("restoreWithoutDelete", RestoreWorkloadArgs.builder()
                .location("us-central1")
                .backupVaultId("backup-vault")
                .dataSourceId("data-source")
                .backupId("backup")
                .name("projects/my-project/locations/us-central1/backups/my-backup")
                .deleteRestoredInstance(false)
                .diskTargetEnvironment(RestoreWorkloadDiskTargetEnvironmentArgs.builder()
                    .project("my-project-name")
                    .zone("us-central1-a")
                    .build())
                .diskRestoreProperties(RestoreWorkloadDiskRestorePropertiesArgs.builder()
                    .name("persistent-disk")
                    .sizeGb(50)
                    .type("pd-standard")
                    .build())
                .build());
    
        }
    }
    
    resources:
      restoreWithoutDelete:
        type: gcp:backupdisasterrecovery:RestoreWorkload
        name: restore_without_delete
        properties:
          location: us-central1
          backupVaultId: backup-vault
          dataSourceId: data-source
          backupId: backup
          name: projects/my-project/locations/us-central1/backups/my-backup
          deleteRestoredInstance: false
          diskTargetEnvironment:
            project: my-project-name
            zone: us-central1-a
          diskRestoreProperties:
            name: persistent-disk
            sizeGb: 50
            type: pd-standard
    

    Create RestoreWorkload Resource

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

    Constructor syntax

    new RestoreWorkload(name: string, args: RestoreWorkloadArgs, opts?: CustomResourceOptions);
    @overload
    def RestoreWorkload(resource_name: str,
                        args: RestoreWorkloadArgs,
                        opts: Optional[ResourceOptions] = None)
    
    @overload
    def RestoreWorkload(resource_name: str,
                        opts: Optional[ResourceOptions] = None,
                        data_source_id: Optional[str] = None,
                        backup_vault_id: Optional[str] = None,
                        location: Optional[str] = None,
                        backup_id: Optional[str] = None,
                        compute_instance_restore_properties: Optional[RestoreWorkloadComputeInstanceRestorePropertiesArgs] = None,
                        compute_instance_target_environment: Optional[RestoreWorkloadComputeInstanceTargetEnvironmentArgs] = None,
                        delete_restored_instance: Optional[bool] = None,
                        disk_restore_properties: Optional[RestoreWorkloadDiskRestorePropertiesArgs] = None,
                        disk_target_environment: Optional[RestoreWorkloadDiskTargetEnvironmentArgs] = None,
                        clear_overrides_field_mask: Optional[str] = None,
                        name: Optional[str] = None,
                        region_disk_target_environment: Optional[RestoreWorkloadRegionDiskTargetEnvironmentArgs] = None,
                        request_id: Optional[str] = None)
    func NewRestoreWorkload(ctx *Context, name string, args RestoreWorkloadArgs, opts ...ResourceOption) (*RestoreWorkload, error)
    public RestoreWorkload(string name, RestoreWorkloadArgs args, CustomResourceOptions? opts = null)
    public RestoreWorkload(String name, RestoreWorkloadArgs args)
    public RestoreWorkload(String name, RestoreWorkloadArgs args, CustomResourceOptions options)
    
    type: gcp:backupdisasterrecovery:RestoreWorkload
    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 RestoreWorkloadArgs
    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 RestoreWorkloadArgs
    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 RestoreWorkloadArgs
    The arguments to resource properties.
    opts ResourceOption
    Bag of options to control resource's behavior.
    name string
    The unique name of the resource.
    args RestoreWorkloadArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    name String
    The unique name of the resource.
    args RestoreWorkloadArgs
    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 restoreWorkloadResource = new Gcp.BackupDisasterRecovery.RestoreWorkload("restoreWorkloadResource", new()
    {
        DataSourceId = "string",
        BackupVaultId = "string",
        Location = "string",
        BackupId = "string",
        ComputeInstanceRestoreProperties = new Gcp.BackupDisasterRecovery.Inputs.RestoreWorkloadComputeInstanceRestorePropertiesArgs
        {
            Name = "string",
            Labels = new[]
            {
                new Gcp.BackupDisasterRecovery.Inputs.RestoreWorkloadComputeInstanceRestorePropertiesLabelArgs
                {
                    Key = "string",
                    Value = "string",
                },
            },
            Scheduling = new Gcp.BackupDisasterRecovery.Inputs.RestoreWorkloadComputeInstanceRestorePropertiesSchedulingArgs
            {
                AutomaticRestart = false,
                InstanceTerminationAction = "string",
                LocalSsdRecoveryTimeout = new Gcp.BackupDisasterRecovery.Inputs.RestoreWorkloadComputeInstanceRestorePropertiesSchedulingLocalSsdRecoveryTimeoutArgs
                {
                    Nanos = 0,
                    Seconds = 0,
                },
                MaxRunDuration = new Gcp.BackupDisasterRecovery.Inputs.RestoreWorkloadComputeInstanceRestorePropertiesSchedulingMaxRunDurationArgs
                {
                    Nanos = 0,
                    Seconds = 0,
                },
                MinNodeCpus = 0,
                NodeAffinities = new[]
                {
                    new Gcp.BackupDisasterRecovery.Inputs.RestoreWorkloadComputeInstanceRestorePropertiesSchedulingNodeAffinityArgs
                    {
                        Key = "string",
                        Operator = "string",
                        Values = new[]
                        {
                            "string",
                        },
                    },
                },
                OnHostMaintenance = "string",
                Preemptible = false,
                ProvisioningModel = "string",
                TerminationTime = "string",
            },
            ConfidentialInstanceConfig = new Gcp.BackupDisasterRecovery.Inputs.RestoreWorkloadComputeInstanceRestorePropertiesConfidentialInstanceConfigArgs
            {
                EnableConfidentialCompute = false,
            },
            DeletionProtection = false,
            Description = "string",
            Disks = new[]
            {
                new Gcp.BackupDisasterRecovery.Inputs.RestoreWorkloadComputeInstanceRestorePropertiesDiskArgs
                {
                    AutoDelete = false,
                    Boot = false,
                    DeviceName = "string",
                    DiskEncryptionKey = new Gcp.BackupDisasterRecovery.Inputs.RestoreWorkloadComputeInstanceRestorePropertiesDiskDiskEncryptionKeyArgs
                    {
                        KmsKeyName = "string",
                        KmsKeyServiceAccount = "string",
                        RawKey = "string",
                        RsaEncryptedKey = "string",
                    },
                    DiskInterface = "string",
                    DiskSizeGb = 0,
                    DiskType = "string",
                    GuestOsFeatures = new[]
                    {
                        new Gcp.BackupDisasterRecovery.Inputs.RestoreWorkloadComputeInstanceRestorePropertiesDiskGuestOsFeatureArgs
                        {
                            Type = "string",
                        },
                    },
                    Index = 0,
                    InitializeParams = new Gcp.BackupDisasterRecovery.Inputs.RestoreWorkloadComputeInstanceRestorePropertiesDiskInitializeParamsArgs
                    {
                        DiskName = "string",
                        ReplicaZones = new[]
                        {
                            "string",
                        },
                    },
                    Kind = "string",
                    Licenses = new[]
                    {
                        "string",
                    },
                    Mode = "string",
                    SavedState = "string",
                    Source = "string",
                    Type = "string",
                },
            },
            DisplayDevice = new Gcp.BackupDisasterRecovery.Inputs.RestoreWorkloadComputeInstanceRestorePropertiesDisplayDeviceArgs
            {
                EnableDisplay = false,
            },
            GuestAccelerators = new[]
            {
                new Gcp.BackupDisasterRecovery.Inputs.RestoreWorkloadComputeInstanceRestorePropertiesGuestAcceleratorArgs
                {
                    AcceleratorCount = 0,
                    AcceleratorType = "string",
                },
            },
            Hostname = "string",
            InstanceEncryptionKey = new Gcp.BackupDisasterRecovery.Inputs.RestoreWorkloadComputeInstanceRestorePropertiesInstanceEncryptionKeyArgs
            {
                KmsKeyName = "string",
                KmsKeyServiceAccount = "string",
                RawKey = "string",
                RsaEncryptedKey = "string",
            },
            KeyRevocationActionType = "string",
            AdvancedMachineFeatures = new Gcp.BackupDisasterRecovery.Inputs.RestoreWorkloadComputeInstanceRestorePropertiesAdvancedMachineFeaturesArgs
            {
                EnableNestedVirtualization = false,
                EnableUefiNetworking = false,
                ThreadsPerCore = 0,
                VisibleCoreCount = 0,
            },
            CanIpForward = false,
            MinCpuPlatform = "string",
            MachineType = "string",
            AllocationAffinity = new Gcp.BackupDisasterRecovery.Inputs.RestoreWorkloadComputeInstanceRestorePropertiesAllocationAffinityArgs
            {
                ConsumeAllocationType = "string",
                Key = "string",
                Values = new[]
                {
                    "string",
                },
            },
            NetworkInterfaces = new[]
            {
                new Gcp.BackupDisasterRecovery.Inputs.RestoreWorkloadComputeInstanceRestorePropertiesNetworkInterfaceArgs
                {
                    AccessConfigs = new[]
                    {
                        new Gcp.BackupDisasterRecovery.Inputs.RestoreWorkloadComputeInstanceRestorePropertiesNetworkInterfaceAccessConfigArgs
                        {
                            ExternalIp = "string",
                            ExternalIpv6 = "string",
                            ExternalIpv6PrefixLength = 0,
                            Name = "string",
                            NetworkTier = "string",
                            PublicPtrDomainName = "string",
                            SetPublicPtr = false,
                            Type = "string",
                        },
                    },
                    AliasIpRanges = new[]
                    {
                        new Gcp.BackupDisasterRecovery.Inputs.RestoreWorkloadComputeInstanceRestorePropertiesNetworkInterfaceAliasIpRangeArgs
                        {
                            IpCidrRange = "string",
                            SubnetworkRangeName = "string",
                        },
                    },
                    InternalIpv6PrefixLength = 0,
                    IpAddress = "string",
                    Ipv6AccessConfigs = new[]
                    {
                        new Gcp.BackupDisasterRecovery.Inputs.RestoreWorkloadComputeInstanceRestorePropertiesNetworkInterfaceIpv6AccessConfigArgs
                        {
                            ExternalIp = "string",
                            ExternalIpv6 = "string",
                            ExternalIpv6PrefixLength = 0,
                            Name = "string",
                            NetworkTier = "string",
                            PublicPtrDomainName = "string",
                            SetPublicPtr = false,
                            Type = "string",
                        },
                    },
                    Ipv6AccessType = "string",
                    Ipv6Address = "string",
                    Network = "string",
                    NetworkAttachment = "string",
                    NicType = "string",
                    QueueCount = 0,
                    StackType = "string",
                    Subnetwork = "string",
                },
            },
            NetworkPerformanceConfig = new Gcp.BackupDisasterRecovery.Inputs.RestoreWorkloadComputeInstanceRestorePropertiesNetworkPerformanceConfigArgs
            {
                TotalEgressBandwidthTier = "string",
            },
            Params = new Gcp.BackupDisasterRecovery.Inputs.RestoreWorkloadComputeInstanceRestorePropertiesParamsArgs
            {
                ResourceManagerTags = new[]
                {
                    new Gcp.BackupDisasterRecovery.Inputs.RestoreWorkloadComputeInstanceRestorePropertiesParamsResourceManagerTagArgs
                    {
                        Key = "string",
                        Value = "string",
                    },
                },
            },
            PrivateIpv6GoogleAccess = "string",
            ResourcePolicies = new[]
            {
                "string",
            },
            Metadata = new Gcp.BackupDisasterRecovery.Inputs.RestoreWorkloadComputeInstanceRestorePropertiesMetadataArgs
            {
                Items = new[]
                {
                    new Gcp.BackupDisasterRecovery.Inputs.RestoreWorkloadComputeInstanceRestorePropertiesMetadataItemArgs
                    {
                        Key = "string",
                        Value = "string",
                    },
                },
            },
            ServiceAccounts = new[]
            {
                new Gcp.BackupDisasterRecovery.Inputs.RestoreWorkloadComputeInstanceRestorePropertiesServiceAccountArgs
                {
                    Email = "string",
                    Scopes = new[]
                    {
                        "string",
                    },
                },
            },
            ShieldedInstanceConfig = new Gcp.BackupDisasterRecovery.Inputs.RestoreWorkloadComputeInstanceRestorePropertiesShieldedInstanceConfigArgs
            {
                EnableIntegrityMonitoring = false,
                EnableSecureBoot = false,
                EnableVtpm = false,
            },
            Tags = new Gcp.BackupDisasterRecovery.Inputs.RestoreWorkloadComputeInstanceRestorePropertiesTagsArgs
            {
                Items = new[]
                {
                    "string",
                },
            },
        },
        ComputeInstanceTargetEnvironment = new Gcp.BackupDisasterRecovery.Inputs.RestoreWorkloadComputeInstanceTargetEnvironmentArgs
        {
            Project = "string",
            Zone = "string",
        },
        DeleteRestoredInstance = false,
        DiskRestoreProperties = new Gcp.BackupDisasterRecovery.Inputs.RestoreWorkloadDiskRestorePropertiesArgs
        {
            Name = "string",
            Type = "string",
            SizeGb = 0,
            EnableConfidentialCompute = false,
            ProvisionedIops = 0,
            GuestOsFeatures = new[]
            {
                new Gcp.BackupDisasterRecovery.Inputs.RestoreWorkloadDiskRestorePropertiesGuestOsFeatureArgs
                {
                    Type = "string",
                },
            },
            Labels = new[]
            {
                new Gcp.BackupDisasterRecovery.Inputs.RestoreWorkloadDiskRestorePropertiesLabelArgs
                {
                    Key = "string",
                    Value = "string",
                },
            },
            Licenses = new[]
            {
                "string",
            },
            DiskEncryptionKey = new Gcp.BackupDisasterRecovery.Inputs.RestoreWorkloadDiskRestorePropertiesDiskEncryptionKeyArgs
            {
                KmsKeyName = "string",
                KmsKeyServiceAccount = "string",
                RawKey = "string",
                RsaEncryptedKey = "string",
            },
            PhysicalBlockSizeBytes = 0,
            AccessMode = "string",
            ProvisionedThroughput = 0,
            ResourceManagerTags = new[]
            {
                new Gcp.BackupDisasterRecovery.Inputs.RestoreWorkloadDiskRestorePropertiesResourceManagerTagArgs
                {
                    Key = "string",
                    Value = "string",
                },
            },
            ResourcePolicies = new[]
            {
                "string",
            },
            Description = "string",
            StoragePool = "string",
            Architecture = "string",
        },
        DiskTargetEnvironment = new Gcp.BackupDisasterRecovery.Inputs.RestoreWorkloadDiskTargetEnvironmentArgs
        {
            Project = "string",
            Zone = "string",
        },
        ClearOverridesFieldMask = "string",
        Name = "string",
        RegionDiskTargetEnvironment = new Gcp.BackupDisasterRecovery.Inputs.RestoreWorkloadRegionDiskTargetEnvironmentArgs
        {
            Project = "string",
            Region = "string",
            ReplicaZones = new[]
            {
                "string",
            },
        },
        RequestId = "string",
    });
    
    example, err := backupdisasterrecovery.NewRestoreWorkload(ctx, "restoreWorkloadResource", &backupdisasterrecovery.RestoreWorkloadArgs{
    	DataSourceId:  pulumi.String("string"),
    	BackupVaultId: pulumi.String("string"),
    	Location:      pulumi.String("string"),
    	BackupId:      pulumi.String("string"),
    	ComputeInstanceRestoreProperties: &backupdisasterrecovery.RestoreWorkloadComputeInstanceRestorePropertiesArgs{
    		Name: pulumi.String("string"),
    		Labels: backupdisasterrecovery.RestoreWorkloadComputeInstanceRestorePropertiesLabelArray{
    			&backupdisasterrecovery.RestoreWorkloadComputeInstanceRestorePropertiesLabelArgs{
    				Key:   pulumi.String("string"),
    				Value: pulumi.String("string"),
    			},
    		},
    		Scheduling: &backupdisasterrecovery.RestoreWorkloadComputeInstanceRestorePropertiesSchedulingArgs{
    			AutomaticRestart:          pulumi.Bool(false),
    			InstanceTerminationAction: pulumi.String("string"),
    			LocalSsdRecoveryTimeout: &backupdisasterrecovery.RestoreWorkloadComputeInstanceRestorePropertiesSchedulingLocalSsdRecoveryTimeoutArgs{
    				Nanos:   pulumi.Int(0),
    				Seconds: pulumi.Int(0),
    			},
    			MaxRunDuration: &backupdisasterrecovery.RestoreWorkloadComputeInstanceRestorePropertiesSchedulingMaxRunDurationArgs{
    				Nanos:   pulumi.Int(0),
    				Seconds: pulumi.Int(0),
    			},
    			MinNodeCpus: pulumi.Int(0),
    			NodeAffinities: backupdisasterrecovery.RestoreWorkloadComputeInstanceRestorePropertiesSchedulingNodeAffinityArray{
    				&backupdisasterrecovery.RestoreWorkloadComputeInstanceRestorePropertiesSchedulingNodeAffinityArgs{
    					Key:      pulumi.String("string"),
    					Operator: pulumi.String("string"),
    					Values: pulumi.StringArray{
    						pulumi.String("string"),
    					},
    				},
    			},
    			OnHostMaintenance: pulumi.String("string"),
    			Preemptible:       pulumi.Bool(false),
    			ProvisioningModel: pulumi.String("string"),
    			TerminationTime:   pulumi.String("string"),
    		},
    		ConfidentialInstanceConfig: &backupdisasterrecovery.RestoreWorkloadComputeInstanceRestorePropertiesConfidentialInstanceConfigArgs{
    			EnableConfidentialCompute: pulumi.Bool(false),
    		},
    		DeletionProtection: pulumi.Bool(false),
    		Description:        pulumi.String("string"),
    		Disks: backupdisasterrecovery.RestoreWorkloadComputeInstanceRestorePropertiesDiskArray{
    			&backupdisasterrecovery.RestoreWorkloadComputeInstanceRestorePropertiesDiskArgs{
    				AutoDelete: pulumi.Bool(false),
    				Boot:       pulumi.Bool(false),
    				DeviceName: pulumi.String("string"),
    				DiskEncryptionKey: &backupdisasterrecovery.RestoreWorkloadComputeInstanceRestorePropertiesDiskDiskEncryptionKeyArgs{
    					KmsKeyName:           pulumi.String("string"),
    					KmsKeyServiceAccount: pulumi.String("string"),
    					RawKey:               pulumi.String("string"),
    					RsaEncryptedKey:      pulumi.String("string"),
    				},
    				DiskInterface: pulumi.String("string"),
    				DiskSizeGb:    pulumi.Int(0),
    				DiskType:      pulumi.String("string"),
    				GuestOsFeatures: backupdisasterrecovery.RestoreWorkloadComputeInstanceRestorePropertiesDiskGuestOsFeatureArray{
    					&backupdisasterrecovery.RestoreWorkloadComputeInstanceRestorePropertiesDiskGuestOsFeatureArgs{
    						Type: pulumi.String("string"),
    					},
    				},
    				Index: pulumi.Int(0),
    				InitializeParams: &backupdisasterrecovery.RestoreWorkloadComputeInstanceRestorePropertiesDiskInitializeParamsArgs{
    					DiskName: pulumi.String("string"),
    					ReplicaZones: pulumi.StringArray{
    						pulumi.String("string"),
    					},
    				},
    				Kind: pulumi.String("string"),
    				Licenses: pulumi.StringArray{
    					pulumi.String("string"),
    				},
    				Mode:       pulumi.String("string"),
    				SavedState: pulumi.String("string"),
    				Source:     pulumi.String("string"),
    				Type:       pulumi.String("string"),
    			},
    		},
    		DisplayDevice: &backupdisasterrecovery.RestoreWorkloadComputeInstanceRestorePropertiesDisplayDeviceArgs{
    			EnableDisplay: pulumi.Bool(false),
    		},
    		GuestAccelerators: backupdisasterrecovery.RestoreWorkloadComputeInstanceRestorePropertiesGuestAcceleratorArray{
    			&backupdisasterrecovery.RestoreWorkloadComputeInstanceRestorePropertiesGuestAcceleratorArgs{
    				AcceleratorCount: pulumi.Int(0),
    				AcceleratorType:  pulumi.String("string"),
    			},
    		},
    		Hostname: pulumi.String("string"),
    		InstanceEncryptionKey: &backupdisasterrecovery.RestoreWorkloadComputeInstanceRestorePropertiesInstanceEncryptionKeyArgs{
    			KmsKeyName:           pulumi.String("string"),
    			KmsKeyServiceAccount: pulumi.String("string"),
    			RawKey:               pulumi.String("string"),
    			RsaEncryptedKey:      pulumi.String("string"),
    		},
    		KeyRevocationActionType: pulumi.String("string"),
    		AdvancedMachineFeatures: &backupdisasterrecovery.RestoreWorkloadComputeInstanceRestorePropertiesAdvancedMachineFeaturesArgs{
    			EnableNestedVirtualization: pulumi.Bool(false),
    			EnableUefiNetworking:       pulumi.Bool(false),
    			ThreadsPerCore:             pulumi.Int(0),
    			VisibleCoreCount:           pulumi.Int(0),
    		},
    		CanIpForward:   pulumi.Bool(false),
    		MinCpuPlatform: pulumi.String("string"),
    		MachineType:    pulumi.String("string"),
    		AllocationAffinity: &backupdisasterrecovery.RestoreWorkloadComputeInstanceRestorePropertiesAllocationAffinityArgs{
    			ConsumeAllocationType: pulumi.String("string"),
    			Key:                   pulumi.String("string"),
    			Values: pulumi.StringArray{
    				pulumi.String("string"),
    			},
    		},
    		NetworkInterfaces: backupdisasterrecovery.RestoreWorkloadComputeInstanceRestorePropertiesNetworkInterfaceArray{
    			&backupdisasterrecovery.RestoreWorkloadComputeInstanceRestorePropertiesNetworkInterfaceArgs{
    				AccessConfigs: backupdisasterrecovery.RestoreWorkloadComputeInstanceRestorePropertiesNetworkInterfaceAccessConfigArray{
    					&backupdisasterrecovery.RestoreWorkloadComputeInstanceRestorePropertiesNetworkInterfaceAccessConfigArgs{
    						ExternalIp:               pulumi.String("string"),
    						ExternalIpv6:             pulumi.String("string"),
    						ExternalIpv6PrefixLength: pulumi.Int(0),
    						Name:                     pulumi.String("string"),
    						NetworkTier:              pulumi.String("string"),
    						PublicPtrDomainName:      pulumi.String("string"),
    						SetPublicPtr:             pulumi.Bool(false),
    						Type:                     pulumi.String("string"),
    					},
    				},
    				AliasIpRanges: backupdisasterrecovery.RestoreWorkloadComputeInstanceRestorePropertiesNetworkInterfaceAliasIpRangeArray{
    					&backupdisasterrecovery.RestoreWorkloadComputeInstanceRestorePropertiesNetworkInterfaceAliasIpRangeArgs{
    						IpCidrRange:         pulumi.String("string"),
    						SubnetworkRangeName: pulumi.String("string"),
    					},
    				},
    				InternalIpv6PrefixLength: pulumi.Int(0),
    				IpAddress:                pulumi.String("string"),
    				Ipv6AccessConfigs: backupdisasterrecovery.RestoreWorkloadComputeInstanceRestorePropertiesNetworkInterfaceIpv6AccessConfigArray{
    					&backupdisasterrecovery.RestoreWorkloadComputeInstanceRestorePropertiesNetworkInterfaceIpv6AccessConfigArgs{
    						ExternalIp:               pulumi.String("string"),
    						ExternalIpv6:             pulumi.String("string"),
    						ExternalIpv6PrefixLength: pulumi.Int(0),
    						Name:                     pulumi.String("string"),
    						NetworkTier:              pulumi.String("string"),
    						PublicPtrDomainName:      pulumi.String("string"),
    						SetPublicPtr:             pulumi.Bool(false),
    						Type:                     pulumi.String("string"),
    					},
    				},
    				Ipv6AccessType:    pulumi.String("string"),
    				Ipv6Address:       pulumi.String("string"),
    				Network:           pulumi.String("string"),
    				NetworkAttachment: pulumi.String("string"),
    				NicType:           pulumi.String("string"),
    				QueueCount:        pulumi.Int(0),
    				StackType:         pulumi.String("string"),
    				Subnetwork:        pulumi.String("string"),
    			},
    		},
    		NetworkPerformanceConfig: &backupdisasterrecovery.RestoreWorkloadComputeInstanceRestorePropertiesNetworkPerformanceConfigArgs{
    			TotalEgressBandwidthTier: pulumi.String("string"),
    		},
    		Params: &backupdisasterrecovery.RestoreWorkloadComputeInstanceRestorePropertiesParamsArgs{
    			ResourceManagerTags: backupdisasterrecovery.RestoreWorkloadComputeInstanceRestorePropertiesParamsResourceManagerTagArray{
    				&backupdisasterrecovery.RestoreWorkloadComputeInstanceRestorePropertiesParamsResourceManagerTagArgs{
    					Key:   pulumi.String("string"),
    					Value: pulumi.String("string"),
    				},
    			},
    		},
    		PrivateIpv6GoogleAccess: pulumi.String("string"),
    		ResourcePolicies: pulumi.StringArray{
    			pulumi.String("string"),
    		},
    		Metadata: &backupdisasterrecovery.RestoreWorkloadComputeInstanceRestorePropertiesMetadataArgs{
    			Items: backupdisasterrecovery.RestoreWorkloadComputeInstanceRestorePropertiesMetadataItemArray{
    				&backupdisasterrecovery.RestoreWorkloadComputeInstanceRestorePropertiesMetadataItemArgs{
    					Key:   pulumi.String("string"),
    					Value: pulumi.String("string"),
    				},
    			},
    		},
    		ServiceAccounts: backupdisasterrecovery.RestoreWorkloadComputeInstanceRestorePropertiesServiceAccountArray{
    			&backupdisasterrecovery.RestoreWorkloadComputeInstanceRestorePropertiesServiceAccountArgs{
    				Email: pulumi.String("string"),
    				Scopes: pulumi.StringArray{
    					pulumi.String("string"),
    				},
    			},
    		},
    		ShieldedInstanceConfig: &backupdisasterrecovery.RestoreWorkloadComputeInstanceRestorePropertiesShieldedInstanceConfigArgs{
    			EnableIntegrityMonitoring: pulumi.Bool(false),
    			EnableSecureBoot:          pulumi.Bool(false),
    			EnableVtpm:                pulumi.Bool(false),
    		},
    		Tags: &backupdisasterrecovery.RestoreWorkloadComputeInstanceRestorePropertiesTagsArgs{
    			Items: pulumi.StringArray{
    				pulumi.String("string"),
    			},
    		},
    	},
    	ComputeInstanceTargetEnvironment: &backupdisasterrecovery.RestoreWorkloadComputeInstanceTargetEnvironmentArgs{
    		Project: pulumi.String("string"),
    		Zone:    pulumi.String("string"),
    	},
    	DeleteRestoredInstance: pulumi.Bool(false),
    	DiskRestoreProperties: &backupdisasterrecovery.RestoreWorkloadDiskRestorePropertiesArgs{
    		Name:                      pulumi.String("string"),
    		Type:                      pulumi.String("string"),
    		SizeGb:                    pulumi.Int(0),
    		EnableConfidentialCompute: pulumi.Bool(false),
    		ProvisionedIops:           pulumi.Int(0),
    		GuestOsFeatures: backupdisasterrecovery.RestoreWorkloadDiskRestorePropertiesGuestOsFeatureArray{
    			&backupdisasterrecovery.RestoreWorkloadDiskRestorePropertiesGuestOsFeatureArgs{
    				Type: pulumi.String("string"),
    			},
    		},
    		Labels: backupdisasterrecovery.RestoreWorkloadDiskRestorePropertiesLabelArray{
    			&backupdisasterrecovery.RestoreWorkloadDiskRestorePropertiesLabelArgs{
    				Key:   pulumi.String("string"),
    				Value: pulumi.String("string"),
    			},
    		},
    		Licenses: pulumi.StringArray{
    			pulumi.String("string"),
    		},
    		DiskEncryptionKey: &backupdisasterrecovery.RestoreWorkloadDiskRestorePropertiesDiskEncryptionKeyArgs{
    			KmsKeyName:           pulumi.String("string"),
    			KmsKeyServiceAccount: pulumi.String("string"),
    			RawKey:               pulumi.String("string"),
    			RsaEncryptedKey:      pulumi.String("string"),
    		},
    		PhysicalBlockSizeBytes: pulumi.Int(0),
    		AccessMode:             pulumi.String("string"),
    		ProvisionedThroughput:  pulumi.Int(0),
    		ResourceManagerTags: backupdisasterrecovery.RestoreWorkloadDiskRestorePropertiesResourceManagerTagArray{
    			&backupdisasterrecovery.RestoreWorkloadDiskRestorePropertiesResourceManagerTagArgs{
    				Key:   pulumi.String("string"),
    				Value: pulumi.String("string"),
    			},
    		},
    		ResourcePolicies: pulumi.StringArray{
    			pulumi.String("string"),
    		},
    		Description:  pulumi.String("string"),
    		StoragePool:  pulumi.String("string"),
    		Architecture: pulumi.String("string"),
    	},
    	DiskTargetEnvironment: &backupdisasterrecovery.RestoreWorkloadDiskTargetEnvironmentArgs{
    		Project: pulumi.String("string"),
    		Zone:    pulumi.String("string"),
    	},
    	ClearOverridesFieldMask: pulumi.String("string"),
    	Name:                    pulumi.String("string"),
    	RegionDiskTargetEnvironment: &backupdisasterrecovery.RestoreWorkloadRegionDiskTargetEnvironmentArgs{
    		Project: pulumi.String("string"),
    		Region:  pulumi.String("string"),
    		ReplicaZones: pulumi.StringArray{
    			pulumi.String("string"),
    		},
    	},
    	RequestId: pulumi.String("string"),
    })
    
    var restoreWorkloadResource = new RestoreWorkload("restoreWorkloadResource", RestoreWorkloadArgs.builder()
        .dataSourceId("string")
        .backupVaultId("string")
        .location("string")
        .backupId("string")
        .computeInstanceRestoreProperties(RestoreWorkloadComputeInstanceRestorePropertiesArgs.builder()
            .name("string")
            .labels(RestoreWorkloadComputeInstanceRestorePropertiesLabelArgs.builder()
                .key("string")
                .value("string")
                .build())
            .scheduling(RestoreWorkloadComputeInstanceRestorePropertiesSchedulingArgs.builder()
                .automaticRestart(false)
                .instanceTerminationAction("string")
                .localSsdRecoveryTimeout(RestoreWorkloadComputeInstanceRestorePropertiesSchedulingLocalSsdRecoveryTimeoutArgs.builder()
                    .nanos(0)
                    .seconds(0)
                    .build())
                .maxRunDuration(RestoreWorkloadComputeInstanceRestorePropertiesSchedulingMaxRunDurationArgs.builder()
                    .nanos(0)
                    .seconds(0)
                    .build())
                .minNodeCpus(0)
                .nodeAffinities(RestoreWorkloadComputeInstanceRestorePropertiesSchedulingNodeAffinityArgs.builder()
                    .key("string")
                    .operator("string")
                    .values("string")
                    .build())
                .onHostMaintenance("string")
                .preemptible(false)
                .provisioningModel("string")
                .terminationTime("string")
                .build())
            .confidentialInstanceConfig(RestoreWorkloadComputeInstanceRestorePropertiesConfidentialInstanceConfigArgs.builder()
                .enableConfidentialCompute(false)
                .build())
            .deletionProtection(false)
            .description("string")
            .disks(RestoreWorkloadComputeInstanceRestorePropertiesDiskArgs.builder()
                .autoDelete(false)
                .boot(false)
                .deviceName("string")
                .diskEncryptionKey(RestoreWorkloadComputeInstanceRestorePropertiesDiskDiskEncryptionKeyArgs.builder()
                    .kmsKeyName("string")
                    .kmsKeyServiceAccount("string")
                    .rawKey("string")
                    .rsaEncryptedKey("string")
                    .build())
                .diskInterface("string")
                .diskSizeGb(0)
                .diskType("string")
                .guestOsFeatures(RestoreWorkloadComputeInstanceRestorePropertiesDiskGuestOsFeatureArgs.builder()
                    .type("string")
                    .build())
                .index(0)
                .initializeParams(RestoreWorkloadComputeInstanceRestorePropertiesDiskInitializeParamsArgs.builder()
                    .diskName("string")
                    .replicaZones("string")
                    .build())
                .kind("string")
                .licenses("string")
                .mode("string")
                .savedState("string")
                .source("string")
                .type("string")
                .build())
            .displayDevice(RestoreWorkloadComputeInstanceRestorePropertiesDisplayDeviceArgs.builder()
                .enableDisplay(false)
                .build())
            .guestAccelerators(RestoreWorkloadComputeInstanceRestorePropertiesGuestAcceleratorArgs.builder()
                .acceleratorCount(0)
                .acceleratorType("string")
                .build())
            .hostname("string")
            .instanceEncryptionKey(RestoreWorkloadComputeInstanceRestorePropertiesInstanceEncryptionKeyArgs.builder()
                .kmsKeyName("string")
                .kmsKeyServiceAccount("string")
                .rawKey("string")
                .rsaEncryptedKey("string")
                .build())
            .keyRevocationActionType("string")
            .advancedMachineFeatures(RestoreWorkloadComputeInstanceRestorePropertiesAdvancedMachineFeaturesArgs.builder()
                .enableNestedVirtualization(false)
                .enableUefiNetworking(false)
                .threadsPerCore(0)
                .visibleCoreCount(0)
                .build())
            .canIpForward(false)
            .minCpuPlatform("string")
            .machineType("string")
            .allocationAffinity(RestoreWorkloadComputeInstanceRestorePropertiesAllocationAffinityArgs.builder()
                .consumeAllocationType("string")
                .key("string")
                .values("string")
                .build())
            .networkInterfaces(RestoreWorkloadComputeInstanceRestorePropertiesNetworkInterfaceArgs.builder()
                .accessConfigs(RestoreWorkloadComputeInstanceRestorePropertiesNetworkInterfaceAccessConfigArgs.builder()
                    .externalIp("string")
                    .externalIpv6("string")
                    .externalIpv6PrefixLength(0)
                    .name("string")
                    .networkTier("string")
                    .publicPtrDomainName("string")
                    .setPublicPtr(false)
                    .type("string")
                    .build())
                .aliasIpRanges(RestoreWorkloadComputeInstanceRestorePropertiesNetworkInterfaceAliasIpRangeArgs.builder()
                    .ipCidrRange("string")
                    .subnetworkRangeName("string")
                    .build())
                .internalIpv6PrefixLength(0)
                .ipAddress("string")
                .ipv6AccessConfigs(RestoreWorkloadComputeInstanceRestorePropertiesNetworkInterfaceIpv6AccessConfigArgs.builder()
                    .externalIp("string")
                    .externalIpv6("string")
                    .externalIpv6PrefixLength(0)
                    .name("string")
                    .networkTier("string")
                    .publicPtrDomainName("string")
                    .setPublicPtr(false)
                    .type("string")
                    .build())
                .ipv6AccessType("string")
                .ipv6Address("string")
                .network("string")
                .networkAttachment("string")
                .nicType("string")
                .queueCount(0)
                .stackType("string")
                .subnetwork("string")
                .build())
            .networkPerformanceConfig(RestoreWorkloadComputeInstanceRestorePropertiesNetworkPerformanceConfigArgs.builder()
                .totalEgressBandwidthTier("string")
                .build())
            .params(RestoreWorkloadComputeInstanceRestorePropertiesParamsArgs.builder()
                .resourceManagerTags(RestoreWorkloadComputeInstanceRestorePropertiesParamsResourceManagerTagArgs.builder()
                    .key("string")
                    .value("string")
                    .build())
                .build())
            .privateIpv6GoogleAccess("string")
            .resourcePolicies("string")
            .metadata(RestoreWorkloadComputeInstanceRestorePropertiesMetadataArgs.builder()
                .items(RestoreWorkloadComputeInstanceRestorePropertiesMetadataItemArgs.builder()
                    .key("string")
                    .value("string")
                    .build())
                .build())
            .serviceAccounts(RestoreWorkloadComputeInstanceRestorePropertiesServiceAccountArgs.builder()
                .email("string")
                .scopes("string")
                .build())
            .shieldedInstanceConfig(RestoreWorkloadComputeInstanceRestorePropertiesShieldedInstanceConfigArgs.builder()
                .enableIntegrityMonitoring(false)
                .enableSecureBoot(false)
                .enableVtpm(false)
                .build())
            .tags(RestoreWorkloadComputeInstanceRestorePropertiesTagsArgs.builder()
                .items("string")
                .build())
            .build())
        .computeInstanceTargetEnvironment(RestoreWorkloadComputeInstanceTargetEnvironmentArgs.builder()
            .project("string")
            .zone("string")
            .build())
        .deleteRestoredInstance(false)
        .diskRestoreProperties(RestoreWorkloadDiskRestorePropertiesArgs.builder()
            .name("string")
            .type("string")
            .sizeGb(0)
            .enableConfidentialCompute(false)
            .provisionedIops(0)
            .guestOsFeatures(RestoreWorkloadDiskRestorePropertiesGuestOsFeatureArgs.builder()
                .type("string")
                .build())
            .labels(RestoreWorkloadDiskRestorePropertiesLabelArgs.builder()
                .key("string")
                .value("string")
                .build())
            .licenses("string")
            .diskEncryptionKey(RestoreWorkloadDiskRestorePropertiesDiskEncryptionKeyArgs.builder()
                .kmsKeyName("string")
                .kmsKeyServiceAccount("string")
                .rawKey("string")
                .rsaEncryptedKey("string")
                .build())
            .physicalBlockSizeBytes(0)
            .accessMode("string")
            .provisionedThroughput(0)
            .resourceManagerTags(RestoreWorkloadDiskRestorePropertiesResourceManagerTagArgs.builder()
                .key("string")
                .value("string")
                .build())
            .resourcePolicies("string")
            .description("string")
            .storagePool("string")
            .architecture("string")
            .build())
        .diskTargetEnvironment(RestoreWorkloadDiskTargetEnvironmentArgs.builder()
            .project("string")
            .zone("string")
            .build())
        .clearOverridesFieldMask("string")
        .name("string")
        .regionDiskTargetEnvironment(RestoreWorkloadRegionDiskTargetEnvironmentArgs.builder()
            .project("string")
            .region("string")
            .replicaZones("string")
            .build())
        .requestId("string")
        .build());
    
    restore_workload_resource = gcp.backupdisasterrecovery.RestoreWorkload("restoreWorkloadResource",
        data_source_id="string",
        backup_vault_id="string",
        location="string",
        backup_id="string",
        compute_instance_restore_properties={
            "name": "string",
            "labels": [{
                "key": "string",
                "value": "string",
            }],
            "scheduling": {
                "automatic_restart": False,
                "instance_termination_action": "string",
                "local_ssd_recovery_timeout": {
                    "nanos": 0,
                    "seconds": 0,
                },
                "max_run_duration": {
                    "nanos": 0,
                    "seconds": 0,
                },
                "min_node_cpus": 0,
                "node_affinities": [{
                    "key": "string",
                    "operator": "string",
                    "values": ["string"],
                }],
                "on_host_maintenance": "string",
                "preemptible": False,
                "provisioning_model": "string",
                "termination_time": "string",
            },
            "confidential_instance_config": {
                "enable_confidential_compute": False,
            },
            "deletion_protection": False,
            "description": "string",
            "disks": [{
                "auto_delete": False,
                "boot": False,
                "device_name": "string",
                "disk_encryption_key": {
                    "kms_key_name": "string",
                    "kms_key_service_account": "string",
                    "raw_key": "string",
                    "rsa_encrypted_key": "string",
                },
                "disk_interface": "string",
                "disk_size_gb": 0,
                "disk_type": "string",
                "guest_os_features": [{
                    "type": "string",
                }],
                "index": 0,
                "initialize_params": {
                    "disk_name": "string",
                    "replica_zones": ["string"],
                },
                "kind": "string",
                "licenses": ["string"],
                "mode": "string",
                "saved_state": "string",
                "source": "string",
                "type": "string",
            }],
            "display_device": {
                "enable_display": False,
            },
            "guest_accelerators": [{
                "accelerator_count": 0,
                "accelerator_type": "string",
            }],
            "hostname": "string",
            "instance_encryption_key": {
                "kms_key_name": "string",
                "kms_key_service_account": "string",
                "raw_key": "string",
                "rsa_encrypted_key": "string",
            },
            "key_revocation_action_type": "string",
            "advanced_machine_features": {
                "enable_nested_virtualization": False,
                "enable_uefi_networking": False,
                "threads_per_core": 0,
                "visible_core_count": 0,
            },
            "can_ip_forward": False,
            "min_cpu_platform": "string",
            "machine_type": "string",
            "allocation_affinity": {
                "consume_allocation_type": "string",
                "key": "string",
                "values": ["string"],
            },
            "network_interfaces": [{
                "access_configs": [{
                    "external_ip": "string",
                    "external_ipv6": "string",
                    "external_ipv6_prefix_length": 0,
                    "name": "string",
                    "network_tier": "string",
                    "public_ptr_domain_name": "string",
                    "set_public_ptr": False,
                    "type": "string",
                }],
                "alias_ip_ranges": [{
                    "ip_cidr_range": "string",
                    "subnetwork_range_name": "string",
                }],
                "internal_ipv6_prefix_length": 0,
                "ip_address": "string",
                "ipv6_access_configs": [{
                    "external_ip": "string",
                    "external_ipv6": "string",
                    "external_ipv6_prefix_length": 0,
                    "name": "string",
                    "network_tier": "string",
                    "public_ptr_domain_name": "string",
                    "set_public_ptr": False,
                    "type": "string",
                }],
                "ipv6_access_type": "string",
                "ipv6_address": "string",
                "network": "string",
                "network_attachment": "string",
                "nic_type": "string",
                "queue_count": 0,
                "stack_type": "string",
                "subnetwork": "string",
            }],
            "network_performance_config": {
                "total_egress_bandwidth_tier": "string",
            },
            "params": {
                "resource_manager_tags": [{
                    "key": "string",
                    "value": "string",
                }],
            },
            "private_ipv6_google_access": "string",
            "resource_policies": ["string"],
            "metadata": {
                "items": [{
                    "key": "string",
                    "value": "string",
                }],
            },
            "service_accounts": [{
                "email": "string",
                "scopes": ["string"],
            }],
            "shielded_instance_config": {
                "enable_integrity_monitoring": False,
                "enable_secure_boot": False,
                "enable_vtpm": False,
            },
            "tags": {
                "items": ["string"],
            },
        },
        compute_instance_target_environment={
            "project": "string",
            "zone": "string",
        },
        delete_restored_instance=False,
        disk_restore_properties={
            "name": "string",
            "type": "string",
            "size_gb": 0,
            "enable_confidential_compute": False,
            "provisioned_iops": 0,
            "guest_os_features": [{
                "type": "string",
            }],
            "labels": [{
                "key": "string",
                "value": "string",
            }],
            "licenses": ["string"],
            "disk_encryption_key": {
                "kms_key_name": "string",
                "kms_key_service_account": "string",
                "raw_key": "string",
                "rsa_encrypted_key": "string",
            },
            "physical_block_size_bytes": 0,
            "access_mode": "string",
            "provisioned_throughput": 0,
            "resource_manager_tags": [{
                "key": "string",
                "value": "string",
            }],
            "resource_policies": ["string"],
            "description": "string",
            "storage_pool": "string",
            "architecture": "string",
        },
        disk_target_environment={
            "project": "string",
            "zone": "string",
        },
        clear_overrides_field_mask="string",
        name="string",
        region_disk_target_environment={
            "project": "string",
            "region": "string",
            "replica_zones": ["string"],
        },
        request_id="string")
    
    const restoreWorkloadResource = new gcp.backupdisasterrecovery.RestoreWorkload("restoreWorkloadResource", {
        dataSourceId: "string",
        backupVaultId: "string",
        location: "string",
        backupId: "string",
        computeInstanceRestoreProperties: {
            name: "string",
            labels: [{
                key: "string",
                value: "string",
            }],
            scheduling: {
                automaticRestart: false,
                instanceTerminationAction: "string",
                localSsdRecoveryTimeout: {
                    nanos: 0,
                    seconds: 0,
                },
                maxRunDuration: {
                    nanos: 0,
                    seconds: 0,
                },
                minNodeCpus: 0,
                nodeAffinities: [{
                    key: "string",
                    operator: "string",
                    values: ["string"],
                }],
                onHostMaintenance: "string",
                preemptible: false,
                provisioningModel: "string",
                terminationTime: "string",
            },
            confidentialInstanceConfig: {
                enableConfidentialCompute: false,
            },
            deletionProtection: false,
            description: "string",
            disks: [{
                autoDelete: false,
                boot: false,
                deviceName: "string",
                diskEncryptionKey: {
                    kmsKeyName: "string",
                    kmsKeyServiceAccount: "string",
                    rawKey: "string",
                    rsaEncryptedKey: "string",
                },
                diskInterface: "string",
                diskSizeGb: 0,
                diskType: "string",
                guestOsFeatures: [{
                    type: "string",
                }],
                index: 0,
                initializeParams: {
                    diskName: "string",
                    replicaZones: ["string"],
                },
                kind: "string",
                licenses: ["string"],
                mode: "string",
                savedState: "string",
                source: "string",
                type: "string",
            }],
            displayDevice: {
                enableDisplay: false,
            },
            guestAccelerators: [{
                acceleratorCount: 0,
                acceleratorType: "string",
            }],
            hostname: "string",
            instanceEncryptionKey: {
                kmsKeyName: "string",
                kmsKeyServiceAccount: "string",
                rawKey: "string",
                rsaEncryptedKey: "string",
            },
            keyRevocationActionType: "string",
            advancedMachineFeatures: {
                enableNestedVirtualization: false,
                enableUefiNetworking: false,
                threadsPerCore: 0,
                visibleCoreCount: 0,
            },
            canIpForward: false,
            minCpuPlatform: "string",
            machineType: "string",
            allocationAffinity: {
                consumeAllocationType: "string",
                key: "string",
                values: ["string"],
            },
            networkInterfaces: [{
                accessConfigs: [{
                    externalIp: "string",
                    externalIpv6: "string",
                    externalIpv6PrefixLength: 0,
                    name: "string",
                    networkTier: "string",
                    publicPtrDomainName: "string",
                    setPublicPtr: false,
                    type: "string",
                }],
                aliasIpRanges: [{
                    ipCidrRange: "string",
                    subnetworkRangeName: "string",
                }],
                internalIpv6PrefixLength: 0,
                ipAddress: "string",
                ipv6AccessConfigs: [{
                    externalIp: "string",
                    externalIpv6: "string",
                    externalIpv6PrefixLength: 0,
                    name: "string",
                    networkTier: "string",
                    publicPtrDomainName: "string",
                    setPublicPtr: false,
                    type: "string",
                }],
                ipv6AccessType: "string",
                ipv6Address: "string",
                network: "string",
                networkAttachment: "string",
                nicType: "string",
                queueCount: 0,
                stackType: "string",
                subnetwork: "string",
            }],
            networkPerformanceConfig: {
                totalEgressBandwidthTier: "string",
            },
            params: {
                resourceManagerTags: [{
                    key: "string",
                    value: "string",
                }],
            },
            privateIpv6GoogleAccess: "string",
            resourcePolicies: ["string"],
            metadata: {
                items: [{
                    key: "string",
                    value: "string",
                }],
            },
            serviceAccounts: [{
                email: "string",
                scopes: ["string"],
            }],
            shieldedInstanceConfig: {
                enableIntegrityMonitoring: false,
                enableSecureBoot: false,
                enableVtpm: false,
            },
            tags: {
                items: ["string"],
            },
        },
        computeInstanceTargetEnvironment: {
            project: "string",
            zone: "string",
        },
        deleteRestoredInstance: false,
        diskRestoreProperties: {
            name: "string",
            type: "string",
            sizeGb: 0,
            enableConfidentialCompute: false,
            provisionedIops: 0,
            guestOsFeatures: [{
                type: "string",
            }],
            labels: [{
                key: "string",
                value: "string",
            }],
            licenses: ["string"],
            diskEncryptionKey: {
                kmsKeyName: "string",
                kmsKeyServiceAccount: "string",
                rawKey: "string",
                rsaEncryptedKey: "string",
            },
            physicalBlockSizeBytes: 0,
            accessMode: "string",
            provisionedThroughput: 0,
            resourceManagerTags: [{
                key: "string",
                value: "string",
            }],
            resourcePolicies: ["string"],
            description: "string",
            storagePool: "string",
            architecture: "string",
        },
        diskTargetEnvironment: {
            project: "string",
            zone: "string",
        },
        clearOverridesFieldMask: "string",
        name: "string",
        regionDiskTargetEnvironment: {
            project: "string",
            region: "string",
            replicaZones: ["string"],
        },
        requestId: "string",
    });
    
    type: gcp:backupdisasterrecovery:RestoreWorkload
    properties:
        backupId: string
        backupVaultId: string
        clearOverridesFieldMask: string
        computeInstanceRestoreProperties:
            advancedMachineFeatures:
                enableNestedVirtualization: false
                enableUefiNetworking: false
                threadsPerCore: 0
                visibleCoreCount: 0
            allocationAffinity:
                consumeAllocationType: string
                key: string
                values:
                    - string
            canIpForward: false
            confidentialInstanceConfig:
                enableConfidentialCompute: false
            deletionProtection: false
            description: string
            disks:
                - autoDelete: false
                  boot: false
                  deviceName: string
                  diskEncryptionKey:
                    kmsKeyName: string
                    kmsKeyServiceAccount: string
                    rawKey: string
                    rsaEncryptedKey: string
                  diskInterface: string
                  diskSizeGb: 0
                  diskType: string
                  guestOsFeatures:
                    - type: string
                  index: 0
                  initializeParams:
                    diskName: string
                    replicaZones:
                        - string
                  kind: string
                  licenses:
                    - string
                  mode: string
                  savedState: string
                  source: string
                  type: string
            displayDevice:
                enableDisplay: false
            guestAccelerators:
                - acceleratorCount: 0
                  acceleratorType: string
            hostname: string
            instanceEncryptionKey:
                kmsKeyName: string
                kmsKeyServiceAccount: string
                rawKey: string
                rsaEncryptedKey: string
            keyRevocationActionType: string
            labels:
                - key: string
                  value: string
            machineType: string
            metadata:
                items:
                    - key: string
                      value: string
            minCpuPlatform: string
            name: string
            networkInterfaces:
                - accessConfigs:
                    - externalIp: string
                      externalIpv6: string
                      externalIpv6PrefixLength: 0
                      name: string
                      networkTier: string
                      publicPtrDomainName: string
                      setPublicPtr: false
                      type: string
                  aliasIpRanges:
                    - ipCidrRange: string
                      subnetworkRangeName: string
                  internalIpv6PrefixLength: 0
                  ipAddress: string
                  ipv6AccessConfigs:
                    - externalIp: string
                      externalIpv6: string
                      externalIpv6PrefixLength: 0
                      name: string
                      networkTier: string
                      publicPtrDomainName: string
                      setPublicPtr: false
                      type: string
                  ipv6AccessType: string
                  ipv6Address: string
                  network: string
                  networkAttachment: string
                  nicType: string
                  queueCount: 0
                  stackType: string
                  subnetwork: string
            networkPerformanceConfig:
                totalEgressBandwidthTier: string
            params:
                resourceManagerTags:
                    - key: string
                      value: string
            privateIpv6GoogleAccess: string
            resourcePolicies:
                - string
            scheduling:
                automaticRestart: false
                instanceTerminationAction: string
                localSsdRecoveryTimeout:
                    nanos: 0
                    seconds: 0
                maxRunDuration:
                    nanos: 0
                    seconds: 0
                minNodeCpus: 0
                nodeAffinities:
                    - key: string
                      operator: string
                      values:
                        - string
                onHostMaintenance: string
                preemptible: false
                provisioningModel: string
                terminationTime: string
            serviceAccounts:
                - email: string
                  scopes:
                    - string
            shieldedInstanceConfig:
                enableIntegrityMonitoring: false
                enableSecureBoot: false
                enableVtpm: false
            tags:
                items:
                    - string
        computeInstanceTargetEnvironment:
            project: string
            zone: string
        dataSourceId: string
        deleteRestoredInstance: false
        diskRestoreProperties:
            accessMode: string
            architecture: string
            description: string
            diskEncryptionKey:
                kmsKeyName: string
                kmsKeyServiceAccount: string
                rawKey: string
                rsaEncryptedKey: string
            enableConfidentialCompute: false
            guestOsFeatures:
                - type: string
            labels:
                - key: string
                  value: string
            licenses:
                - string
            name: string
            physicalBlockSizeBytes: 0
            provisionedIops: 0
            provisionedThroughput: 0
            resourceManagerTags:
                - key: string
                  value: string
            resourcePolicies:
                - string
            sizeGb: 0
            storagePool: string
            type: string
        diskTargetEnvironment:
            project: string
            zone: string
        location: string
        name: string
        regionDiskTargetEnvironment:
            project: string
            region: string
            replicaZones:
                - string
        requestId: string
    

    RestoreWorkload 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 RestoreWorkload resource accepts the following input properties:

    BackupId string
    Required. The ID of the backup to restore from.
    BackupVaultId string
    Required. The ID of the backup vault.
    DataSourceId string
    Required. The ID of the data source.
    Location string
    Required. The location for the backup vault.
    ClearOverridesFieldMask string
    Optional. A field mask used to clear server-side default values during restore.
    ComputeInstanceRestoreProperties RestoreWorkloadComputeInstanceRestoreProperties
    Optional. Compute Engine instance properties to be overridden during restore. Structure is documented below.
    ComputeInstanceTargetEnvironment RestoreWorkloadComputeInstanceTargetEnvironment
    Optional. The destination environment for GCE VM restoration. Structure is documented below.
    DeleteRestoredInstance bool
    DiskRestoreProperties RestoreWorkloadDiskRestoreProperties
    Optional. Disk properties to be overridden during restore. Structure is documented below.
    DiskTargetEnvironment RestoreWorkloadDiskTargetEnvironment
    Optional. The destination environment for zonal disk restoration. Structure is documented below.
    Name string
    Required. The resource name of the backup instance.
    RegionDiskTargetEnvironment RestoreWorkloadRegionDiskTargetEnvironment
    Optional. The destination environment for regional disk restoration. Structure is documented below.
    RequestId string
    Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.
    BackupId string
    Required. The ID of the backup to restore from.
    BackupVaultId string
    Required. The ID of the backup vault.
    DataSourceId string
    Required. The ID of the data source.
    Location string
    Required. The location for the backup vault.
    ClearOverridesFieldMask string
    Optional. A field mask used to clear server-side default values during restore.
    ComputeInstanceRestoreProperties RestoreWorkloadComputeInstanceRestorePropertiesArgs
    Optional. Compute Engine instance properties to be overridden during restore. Structure is documented below.
    ComputeInstanceTargetEnvironment RestoreWorkloadComputeInstanceTargetEnvironmentArgs
    Optional. The destination environment for GCE VM restoration. Structure is documented below.
    DeleteRestoredInstance bool
    DiskRestoreProperties RestoreWorkloadDiskRestorePropertiesArgs
    Optional. Disk properties to be overridden during restore. Structure is documented below.
    DiskTargetEnvironment RestoreWorkloadDiskTargetEnvironmentArgs
    Optional. The destination environment for zonal disk restoration. Structure is documented below.
    Name string
    Required. The resource name of the backup instance.
    RegionDiskTargetEnvironment RestoreWorkloadRegionDiskTargetEnvironmentArgs
    Optional. The destination environment for regional disk restoration. Structure is documented below.
    RequestId string
    Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.
    backupId String
    Required. The ID of the backup to restore from.
    backupVaultId String
    Required. The ID of the backup vault.
    dataSourceId String
    Required. The ID of the data source.
    location String
    Required. The location for the backup vault.
    clearOverridesFieldMask String
    Optional. A field mask used to clear server-side default values during restore.
    computeInstanceRestoreProperties RestoreWorkloadComputeInstanceRestoreProperties
    Optional. Compute Engine instance properties to be overridden during restore. Structure is documented below.
    computeInstanceTargetEnvironment RestoreWorkloadComputeInstanceTargetEnvironment
    Optional. The destination environment for GCE VM restoration. Structure is documented below.
    deleteRestoredInstance Boolean
    diskRestoreProperties RestoreWorkloadDiskRestoreProperties
    Optional. Disk properties to be overridden during restore. Structure is documented below.
    diskTargetEnvironment RestoreWorkloadDiskTargetEnvironment
    Optional. The destination environment for zonal disk restoration. Structure is documented below.
    name String
    Required. The resource name of the backup instance.
    regionDiskTargetEnvironment RestoreWorkloadRegionDiskTargetEnvironment
    Optional. The destination environment for regional disk restoration. Structure is documented below.
    requestId String
    Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.
    backupId string
    Required. The ID of the backup to restore from.
    backupVaultId string
    Required. The ID of the backup vault.
    dataSourceId string
    Required. The ID of the data source.
    location string
    Required. The location for the backup vault.
    clearOverridesFieldMask string
    Optional. A field mask used to clear server-side default values during restore.
    computeInstanceRestoreProperties RestoreWorkloadComputeInstanceRestoreProperties
    Optional. Compute Engine instance properties to be overridden during restore. Structure is documented below.
    computeInstanceTargetEnvironment RestoreWorkloadComputeInstanceTargetEnvironment
    Optional. The destination environment for GCE VM restoration. Structure is documented below.
    deleteRestoredInstance boolean
    diskRestoreProperties RestoreWorkloadDiskRestoreProperties
    Optional. Disk properties to be overridden during restore. Structure is documented below.
    diskTargetEnvironment RestoreWorkloadDiskTargetEnvironment
    Optional. The destination environment for zonal disk restoration. Structure is documented below.
    name string
    Required. The resource name of the backup instance.
    regionDiskTargetEnvironment RestoreWorkloadRegionDiskTargetEnvironment
    Optional. The destination environment for regional disk restoration. Structure is documented below.
    requestId string
    Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.
    backup_id str
    Required. The ID of the backup to restore from.
    backup_vault_id str
    Required. The ID of the backup vault.
    data_source_id str
    Required. The ID of the data source.
    location str
    Required. The location for the backup vault.
    clear_overrides_field_mask str
    Optional. A field mask used to clear server-side default values during restore.
    compute_instance_restore_properties RestoreWorkloadComputeInstanceRestorePropertiesArgs
    Optional. Compute Engine instance properties to be overridden during restore. Structure is documented below.
    compute_instance_target_environment RestoreWorkloadComputeInstanceTargetEnvironmentArgs
    Optional. The destination environment for GCE VM restoration. Structure is documented below.
    delete_restored_instance bool
    disk_restore_properties RestoreWorkloadDiskRestorePropertiesArgs
    Optional. Disk properties to be overridden during restore. Structure is documented below.
    disk_target_environment RestoreWorkloadDiskTargetEnvironmentArgs
    Optional. The destination environment for zonal disk restoration. Structure is documented below.
    name str
    Required. The resource name of the backup instance.
    region_disk_target_environment RestoreWorkloadRegionDiskTargetEnvironmentArgs
    Optional. The destination environment for regional disk restoration. Structure is documented below.
    request_id str
    Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.
    backupId String
    Required. The ID of the backup to restore from.
    backupVaultId String
    Required. The ID of the backup vault.
    dataSourceId String
    Required. The ID of the data source.
    location String
    Required. The location for the backup vault.
    clearOverridesFieldMask String
    Optional. A field mask used to clear server-side default values during restore.
    computeInstanceRestoreProperties Property Map
    Optional. Compute Engine instance properties to be overridden during restore. Structure is documented below.
    computeInstanceTargetEnvironment Property Map
    Optional. The destination environment for GCE VM restoration. Structure is documented below.
    deleteRestoredInstance Boolean
    diskRestoreProperties Property Map
    Optional. Disk properties to be overridden during restore. Structure is documented below.
    diskTargetEnvironment Property Map
    Optional. The destination environment for zonal disk restoration. Structure is documented below.
    name String
    Required. The resource name of the backup instance.
    regionDiskTargetEnvironment Property Map
    Optional. The destination environment for regional disk restoration. Structure is documented below.
    requestId String
    Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.

    Outputs

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

    Id string
    The provider-assigned unique ID for this managed resource.
    TargetResources List<RestoreWorkloadTargetResource>
    Output only. Details of the target resource created/modified as part of restore. Structure is documented below.
    Id string
    The provider-assigned unique ID for this managed resource.
    TargetResources []RestoreWorkloadTargetResource
    Output only. Details of the target resource created/modified as part of restore. Structure is documented below.
    id String
    The provider-assigned unique ID for this managed resource.
    targetResources List<RestoreWorkloadTargetResource>
    Output only. Details of the target resource created/modified as part of restore. Structure is documented below.
    id string
    The provider-assigned unique ID for this managed resource.
    targetResources RestoreWorkloadTargetResource[]
    Output only. Details of the target resource created/modified as part of restore. Structure is documented below.
    id str
    The provider-assigned unique ID for this managed resource.
    target_resources Sequence[RestoreWorkloadTargetResource]
    Output only. Details of the target resource created/modified as part of restore. Structure is documented below.
    id String
    The provider-assigned unique ID for this managed resource.
    targetResources List<Property Map>
    Output only. Details of the target resource created/modified as part of restore. Structure is documented below.

    Look up Existing RestoreWorkload Resource

    Get an existing RestoreWorkload 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?: RestoreWorkloadState, opts?: CustomResourceOptions): RestoreWorkload
    @staticmethod
    def get(resource_name: str,
            id: str,
            opts: Optional[ResourceOptions] = None,
            backup_id: Optional[str] = None,
            backup_vault_id: Optional[str] = None,
            clear_overrides_field_mask: Optional[str] = None,
            compute_instance_restore_properties: Optional[RestoreWorkloadComputeInstanceRestorePropertiesArgs] = None,
            compute_instance_target_environment: Optional[RestoreWorkloadComputeInstanceTargetEnvironmentArgs] = None,
            data_source_id: Optional[str] = None,
            delete_restored_instance: Optional[bool] = None,
            disk_restore_properties: Optional[RestoreWorkloadDiskRestorePropertiesArgs] = None,
            disk_target_environment: Optional[RestoreWorkloadDiskTargetEnvironmentArgs] = None,
            location: Optional[str] = None,
            name: Optional[str] = None,
            region_disk_target_environment: Optional[RestoreWorkloadRegionDiskTargetEnvironmentArgs] = None,
            request_id: Optional[str] = None,
            target_resources: Optional[Sequence[RestoreWorkloadTargetResourceArgs]] = None) -> RestoreWorkload
    func GetRestoreWorkload(ctx *Context, name string, id IDInput, state *RestoreWorkloadState, opts ...ResourceOption) (*RestoreWorkload, error)
    public static RestoreWorkload Get(string name, Input<string> id, RestoreWorkloadState? state, CustomResourceOptions? opts = null)
    public static RestoreWorkload get(String name, Output<String> id, RestoreWorkloadState state, CustomResourceOptions options)
    resources:  _:    type: gcp:backupdisasterrecovery:RestoreWorkload    get:      id: ${id}
    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:
    BackupId string
    Required. The ID of the backup to restore from.
    BackupVaultId string
    Required. The ID of the backup vault.
    ClearOverridesFieldMask string
    Optional. A field mask used to clear server-side default values during restore.
    ComputeInstanceRestoreProperties RestoreWorkloadComputeInstanceRestoreProperties
    Optional. Compute Engine instance properties to be overridden during restore. Structure is documented below.
    ComputeInstanceTargetEnvironment RestoreWorkloadComputeInstanceTargetEnvironment
    Optional. The destination environment for GCE VM restoration. Structure is documented below.
    DataSourceId string
    Required. The ID of the data source.
    DeleteRestoredInstance bool
    DiskRestoreProperties RestoreWorkloadDiskRestoreProperties
    Optional. Disk properties to be overridden during restore. Structure is documented below.
    DiskTargetEnvironment RestoreWorkloadDiskTargetEnvironment
    Optional. The destination environment for zonal disk restoration. Structure is documented below.
    Location string
    Required. The location for the backup vault.
    Name string
    Required. The resource name of the backup instance.
    RegionDiskTargetEnvironment RestoreWorkloadRegionDiskTargetEnvironment
    Optional. The destination environment for regional disk restoration. Structure is documented below.
    RequestId string
    Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.
    TargetResources List<RestoreWorkloadTargetResource>
    Output only. Details of the target resource created/modified as part of restore. Structure is documented below.
    BackupId string
    Required. The ID of the backup to restore from.
    BackupVaultId string
    Required. The ID of the backup vault.
    ClearOverridesFieldMask string
    Optional. A field mask used to clear server-side default values during restore.
    ComputeInstanceRestoreProperties RestoreWorkloadComputeInstanceRestorePropertiesArgs
    Optional. Compute Engine instance properties to be overridden during restore. Structure is documented below.
    ComputeInstanceTargetEnvironment RestoreWorkloadComputeInstanceTargetEnvironmentArgs
    Optional. The destination environment for GCE VM restoration. Structure is documented below.
    DataSourceId string
    Required. The ID of the data source.
    DeleteRestoredInstance bool
    DiskRestoreProperties RestoreWorkloadDiskRestorePropertiesArgs
    Optional. Disk properties to be overridden during restore. Structure is documented below.
    DiskTargetEnvironment RestoreWorkloadDiskTargetEnvironmentArgs
    Optional. The destination environment for zonal disk restoration. Structure is documented below.
    Location string
    Required. The location for the backup vault.
    Name string
    Required. The resource name of the backup instance.
    RegionDiskTargetEnvironment RestoreWorkloadRegionDiskTargetEnvironmentArgs
    Optional. The destination environment for regional disk restoration. Structure is documented below.
    RequestId string
    Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.
    TargetResources []RestoreWorkloadTargetResourceArgs
    Output only. Details of the target resource created/modified as part of restore. Structure is documented below.
    backupId String
    Required. The ID of the backup to restore from.
    backupVaultId String
    Required. The ID of the backup vault.
    clearOverridesFieldMask String
    Optional. A field mask used to clear server-side default values during restore.
    computeInstanceRestoreProperties RestoreWorkloadComputeInstanceRestoreProperties
    Optional. Compute Engine instance properties to be overridden during restore. Structure is documented below.
    computeInstanceTargetEnvironment RestoreWorkloadComputeInstanceTargetEnvironment
    Optional. The destination environment for GCE VM restoration. Structure is documented below.
    dataSourceId String
    Required. The ID of the data source.
    deleteRestoredInstance Boolean
    diskRestoreProperties RestoreWorkloadDiskRestoreProperties
    Optional. Disk properties to be overridden during restore. Structure is documented below.
    diskTargetEnvironment RestoreWorkloadDiskTargetEnvironment
    Optional. The destination environment for zonal disk restoration. Structure is documented below.
    location String
    Required. The location for the backup vault.
    name String
    Required. The resource name of the backup instance.
    regionDiskTargetEnvironment RestoreWorkloadRegionDiskTargetEnvironment
    Optional. The destination environment for regional disk restoration. Structure is documented below.
    requestId String
    Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.
    targetResources List<RestoreWorkloadTargetResource>
    Output only. Details of the target resource created/modified as part of restore. Structure is documented below.
    backupId string
    Required. The ID of the backup to restore from.
    backupVaultId string
    Required. The ID of the backup vault.
    clearOverridesFieldMask string
    Optional. A field mask used to clear server-side default values during restore.
    computeInstanceRestoreProperties RestoreWorkloadComputeInstanceRestoreProperties
    Optional. Compute Engine instance properties to be overridden during restore. Structure is documented below.
    computeInstanceTargetEnvironment RestoreWorkloadComputeInstanceTargetEnvironment
    Optional. The destination environment for GCE VM restoration. Structure is documented below.
    dataSourceId string
    Required. The ID of the data source.
    deleteRestoredInstance boolean
    diskRestoreProperties RestoreWorkloadDiskRestoreProperties
    Optional. Disk properties to be overridden during restore. Structure is documented below.
    diskTargetEnvironment RestoreWorkloadDiskTargetEnvironment
    Optional. The destination environment for zonal disk restoration. Structure is documented below.
    location string
    Required. The location for the backup vault.
    name string
    Required. The resource name of the backup instance.
    regionDiskTargetEnvironment RestoreWorkloadRegionDiskTargetEnvironment
    Optional. The destination environment for regional disk restoration. Structure is documented below.
    requestId string
    Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.
    targetResources RestoreWorkloadTargetResource[]
    Output only. Details of the target resource created/modified as part of restore. Structure is documented below.
    backup_id str
    Required. The ID of the backup to restore from.
    backup_vault_id str
    Required. The ID of the backup vault.
    clear_overrides_field_mask str
    Optional. A field mask used to clear server-side default values during restore.
    compute_instance_restore_properties RestoreWorkloadComputeInstanceRestorePropertiesArgs
    Optional. Compute Engine instance properties to be overridden during restore. Structure is documented below.
    compute_instance_target_environment RestoreWorkloadComputeInstanceTargetEnvironmentArgs
    Optional. The destination environment for GCE VM restoration. Structure is documented below.
    data_source_id str
    Required. The ID of the data source.
    delete_restored_instance bool
    disk_restore_properties RestoreWorkloadDiskRestorePropertiesArgs
    Optional. Disk properties to be overridden during restore. Structure is documented below.
    disk_target_environment RestoreWorkloadDiskTargetEnvironmentArgs
    Optional. The destination environment for zonal disk restoration. Structure is documented below.
    location str
    Required. The location for the backup vault.
    name str
    Required. The resource name of the backup instance.
    region_disk_target_environment RestoreWorkloadRegionDiskTargetEnvironmentArgs
    Optional. The destination environment for regional disk restoration. Structure is documented below.
    request_id str
    Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.
    target_resources Sequence[RestoreWorkloadTargetResourceArgs]
    Output only. Details of the target resource created/modified as part of restore. Structure is documented below.
    backupId String
    Required. The ID of the backup to restore from.
    backupVaultId String
    Required. The ID of the backup vault.
    clearOverridesFieldMask String
    Optional. A field mask used to clear server-side default values during restore.
    computeInstanceRestoreProperties Property Map
    Optional. Compute Engine instance properties to be overridden during restore. Structure is documented below.
    computeInstanceTargetEnvironment Property Map
    Optional. The destination environment for GCE VM restoration. Structure is documented below.
    dataSourceId String
    Required. The ID of the data source.
    deleteRestoredInstance Boolean
    diskRestoreProperties Property Map
    Optional. Disk properties to be overridden during restore. Structure is documented below.
    diskTargetEnvironment Property Map
    Optional. The destination environment for zonal disk restoration. Structure is documented below.
    location String
    Required. The location for the backup vault.
    name String
    Required. The resource name of the backup instance.
    regionDiskTargetEnvironment Property Map
    Optional. The destination environment for regional disk restoration. Structure is documented below.
    requestId String
    Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.
    targetResources List<Property Map>
    Output only. Details of the target resource created/modified as part of restore. Structure is documented below.

    Supporting Types

    RestoreWorkloadComputeInstanceRestoreProperties, RestoreWorkloadComputeInstanceRestorePropertiesArgs

    Name string
    Required. Name of the compute instance.
    AdvancedMachineFeatures RestoreWorkloadComputeInstanceRestorePropertiesAdvancedMachineFeatures
    Optional. Controls for advanced machine-related behavior features. Structure is documented below.
    AllocationAffinity RestoreWorkloadComputeInstanceRestorePropertiesAllocationAffinity
    Optional. Specifies the reservations that this instance can consume from. Structure is documented below.
    CanIpForward bool
    Optional. Allows this instance to send and receive packets with non-matching destination or source IPs.
    ConfidentialInstanceConfig RestoreWorkloadComputeInstanceRestorePropertiesConfidentialInstanceConfig
    Optional. Controls Confidential compute options on the instance. Structure is documented below.
    DeletionProtection bool
    Optional. Whether the resource should be protected against deletion.
    Description string
    Optional. An optional description of this resource.
    Disks List<RestoreWorkloadComputeInstanceRestorePropertiesDisk>
    Optional. Array of disks associated with this instance. Structure is documented below.
    DisplayDevice RestoreWorkloadComputeInstanceRestorePropertiesDisplayDevice
    Optional. Enables display device for the instance. Structure is documented below.
    GuestAccelerators List<RestoreWorkloadComputeInstanceRestorePropertiesGuestAccelerator>
    Optional. A list of the type and count of accelerator cards attached to the instance. Structure is documented below.
    Hostname string
    Optional. Specifies the hostname of the instance.
    InstanceEncryptionKey RestoreWorkloadComputeInstanceRestorePropertiesInstanceEncryptionKey
    Optional. Encrypts suspended data for an instance with a customer-managed encryption key. Structure is documented below.
    KeyRevocationActionType string
    Optional. KeyRevocationActionType of the instance. Possible values are: KEY_REVOCATION_ACTION_TYPE_UNSPECIFIED, NONE, STOP.
    Labels List<RestoreWorkloadComputeInstanceRestorePropertiesLabel>
    Optional. Labels to apply to this instance. Structure is documented below.
    MachineType string
    Optional. Full or partial URL of the machine type resource to use for this instance.
    Metadata RestoreWorkloadComputeInstanceRestorePropertiesMetadata
    Optional. This includes custom metadata and predefined keys. Structure is documented below.
    MinCpuPlatform string
    Optional. Minimum CPU platform to use for this instance.
    NetworkInterfaces List<RestoreWorkloadComputeInstanceRestorePropertiesNetworkInterface>
    Optional. An array of network configurations for this instance. Structure is documented below.
    NetworkPerformanceConfig RestoreWorkloadComputeInstanceRestorePropertiesNetworkPerformanceConfig
    Optional. Configure network performance such as egress bandwidth tier. Structure is documented below.
    Params RestoreWorkloadComputeInstanceRestorePropertiesParams
    Input only. Additional params passed with the request. Structure is documented below.
    PrivateIpv6GoogleAccess string
    Optional. The private IPv6 google access type for the VM. Possible values are: INSTANCE_PRIVATE_IPV6_GOOGLE_ACCESS_UNSPECIFIED, INHERIT_FROM_SUBNETWORK, ENABLE_OUTBOUND_VM_ACCESS_TO_GOOGLE, ENABLE_BIDIRECTIONAL_ACCESS_TO_GOOGLE.
    ResourcePolicies List<string>
    Optional. Resource policies applied to this instance.
    Scheduling RestoreWorkloadComputeInstanceRestorePropertiesScheduling
    Optional. Sets the scheduling options for this instance. Structure is documented below.
    ServiceAccounts List<RestoreWorkloadComputeInstanceRestorePropertiesServiceAccount>
    Optional. A list of service accounts, with their specified scopes, authorized for this instance. Structure is documented below.
    ShieldedInstanceConfig RestoreWorkloadComputeInstanceRestorePropertiesShieldedInstanceConfig
    Optional. Controls Shielded compute options on the instance. Structure is documented below.
    Tags RestoreWorkloadComputeInstanceRestorePropertiesTags
    Optional. Tags to apply to this instance. Structure is documented below.
    Name string
    Required. Name of the compute instance.
    AdvancedMachineFeatures RestoreWorkloadComputeInstanceRestorePropertiesAdvancedMachineFeatures
    Optional. Controls for advanced machine-related behavior features. Structure is documented below.
    AllocationAffinity RestoreWorkloadComputeInstanceRestorePropertiesAllocationAffinity
    Optional. Specifies the reservations that this instance can consume from. Structure is documented below.
    CanIpForward bool
    Optional. Allows this instance to send and receive packets with non-matching destination or source IPs.
    ConfidentialInstanceConfig RestoreWorkloadComputeInstanceRestorePropertiesConfidentialInstanceConfig
    Optional. Controls Confidential compute options on the instance. Structure is documented below.
    DeletionProtection bool
    Optional. Whether the resource should be protected against deletion.
    Description string
    Optional. An optional description of this resource.
    Disks []RestoreWorkloadComputeInstanceRestorePropertiesDisk
    Optional. Array of disks associated with this instance. Structure is documented below.
    DisplayDevice RestoreWorkloadComputeInstanceRestorePropertiesDisplayDevice
    Optional. Enables display device for the instance. Structure is documented below.
    GuestAccelerators []RestoreWorkloadComputeInstanceRestorePropertiesGuestAccelerator
    Optional. A list of the type and count of accelerator cards attached to the instance. Structure is documented below.
    Hostname string
    Optional. Specifies the hostname of the instance.
    InstanceEncryptionKey RestoreWorkloadComputeInstanceRestorePropertiesInstanceEncryptionKey
    Optional. Encrypts suspended data for an instance with a customer-managed encryption key. Structure is documented below.
    KeyRevocationActionType string
    Optional. KeyRevocationActionType of the instance. Possible values are: KEY_REVOCATION_ACTION_TYPE_UNSPECIFIED, NONE, STOP.
    Labels []RestoreWorkloadComputeInstanceRestorePropertiesLabel
    Optional. Labels to apply to this instance. Structure is documented below.
    MachineType string
    Optional. Full or partial URL of the machine type resource to use for this instance.
    Metadata RestoreWorkloadComputeInstanceRestorePropertiesMetadata
    Optional. This includes custom metadata and predefined keys. Structure is documented below.
    MinCpuPlatform string
    Optional. Minimum CPU platform to use for this instance.
    NetworkInterfaces []RestoreWorkloadComputeInstanceRestorePropertiesNetworkInterface
    Optional. An array of network configurations for this instance. Structure is documented below.
    NetworkPerformanceConfig RestoreWorkloadComputeInstanceRestorePropertiesNetworkPerformanceConfig
    Optional. Configure network performance such as egress bandwidth tier. Structure is documented below.
    Params RestoreWorkloadComputeInstanceRestorePropertiesParams
    Input only. Additional params passed with the request. Structure is documented below.
    PrivateIpv6GoogleAccess string
    Optional. The private IPv6 google access type for the VM. Possible values are: INSTANCE_PRIVATE_IPV6_GOOGLE_ACCESS_UNSPECIFIED, INHERIT_FROM_SUBNETWORK, ENABLE_OUTBOUND_VM_ACCESS_TO_GOOGLE, ENABLE_BIDIRECTIONAL_ACCESS_TO_GOOGLE.
    ResourcePolicies []string
    Optional. Resource policies applied to this instance.
    Scheduling RestoreWorkloadComputeInstanceRestorePropertiesScheduling
    Optional. Sets the scheduling options for this instance. Structure is documented below.
    ServiceAccounts []RestoreWorkloadComputeInstanceRestorePropertiesServiceAccount
    Optional. A list of service accounts, with their specified scopes, authorized for this instance. Structure is documented below.
    ShieldedInstanceConfig RestoreWorkloadComputeInstanceRestorePropertiesShieldedInstanceConfig
    Optional. Controls Shielded compute options on the instance. Structure is documented below.
    Tags RestoreWorkloadComputeInstanceRestorePropertiesTags
    Optional. Tags to apply to this instance. Structure is documented below.
    name String
    Required. Name of the compute instance.
    advancedMachineFeatures RestoreWorkloadComputeInstanceRestorePropertiesAdvancedMachineFeatures
    Optional. Controls for advanced machine-related behavior features. Structure is documented below.
    allocationAffinity RestoreWorkloadComputeInstanceRestorePropertiesAllocationAffinity
    Optional. Specifies the reservations that this instance can consume from. Structure is documented below.
    canIpForward Boolean
    Optional. Allows this instance to send and receive packets with non-matching destination or source IPs.
    confidentialInstanceConfig RestoreWorkloadComputeInstanceRestorePropertiesConfidentialInstanceConfig
    Optional. Controls Confidential compute options on the instance. Structure is documented below.
    deletionProtection Boolean
    Optional. Whether the resource should be protected against deletion.
    description String
    Optional. An optional description of this resource.
    disks List<RestoreWorkloadComputeInstanceRestorePropertiesDisk>
    Optional. Array of disks associated with this instance. Structure is documented below.
    displayDevice RestoreWorkloadComputeInstanceRestorePropertiesDisplayDevice
    Optional. Enables display device for the instance. Structure is documented below.
    guestAccelerators List<RestoreWorkloadComputeInstanceRestorePropertiesGuestAccelerator>
    Optional. A list of the type and count of accelerator cards attached to the instance. Structure is documented below.
    hostname String
    Optional. Specifies the hostname of the instance.
    instanceEncryptionKey RestoreWorkloadComputeInstanceRestorePropertiesInstanceEncryptionKey
    Optional. Encrypts suspended data for an instance with a customer-managed encryption key. Structure is documented below.
    keyRevocationActionType String
    Optional. KeyRevocationActionType of the instance. Possible values are: KEY_REVOCATION_ACTION_TYPE_UNSPECIFIED, NONE, STOP.
    labels List<RestoreWorkloadComputeInstanceRestorePropertiesLabel>
    Optional. Labels to apply to this instance. Structure is documented below.
    machineType String
    Optional. Full or partial URL of the machine type resource to use for this instance.
    metadata RestoreWorkloadComputeInstanceRestorePropertiesMetadata
    Optional. This includes custom metadata and predefined keys. Structure is documented below.
    minCpuPlatform String
    Optional. Minimum CPU platform to use for this instance.
    networkInterfaces List<RestoreWorkloadComputeInstanceRestorePropertiesNetworkInterface>
    Optional. An array of network configurations for this instance. Structure is documented below.
    networkPerformanceConfig RestoreWorkloadComputeInstanceRestorePropertiesNetworkPerformanceConfig
    Optional. Configure network performance such as egress bandwidth tier. Structure is documented below.
    params RestoreWorkloadComputeInstanceRestorePropertiesParams
    Input only. Additional params passed with the request. Structure is documented below.
    privateIpv6GoogleAccess String
    Optional. The private IPv6 google access type for the VM. Possible values are: INSTANCE_PRIVATE_IPV6_GOOGLE_ACCESS_UNSPECIFIED, INHERIT_FROM_SUBNETWORK, ENABLE_OUTBOUND_VM_ACCESS_TO_GOOGLE, ENABLE_BIDIRECTIONAL_ACCESS_TO_GOOGLE.
    resourcePolicies List<String>
    Optional. Resource policies applied to this instance.
    scheduling RestoreWorkloadComputeInstanceRestorePropertiesScheduling
    Optional. Sets the scheduling options for this instance. Structure is documented below.
    serviceAccounts List<RestoreWorkloadComputeInstanceRestorePropertiesServiceAccount>
    Optional. A list of service accounts, with their specified scopes, authorized for this instance. Structure is documented below.
    shieldedInstanceConfig RestoreWorkloadComputeInstanceRestorePropertiesShieldedInstanceConfig
    Optional. Controls Shielded compute options on the instance. Structure is documented below.
    tags RestoreWorkloadComputeInstanceRestorePropertiesTags
    Optional. Tags to apply to this instance. Structure is documented below.
    name string
    Required. Name of the compute instance.
    advancedMachineFeatures RestoreWorkloadComputeInstanceRestorePropertiesAdvancedMachineFeatures
    Optional. Controls for advanced machine-related behavior features. Structure is documented below.
    allocationAffinity RestoreWorkloadComputeInstanceRestorePropertiesAllocationAffinity
    Optional. Specifies the reservations that this instance can consume from. Structure is documented below.
    canIpForward boolean
    Optional. Allows this instance to send and receive packets with non-matching destination or source IPs.
    confidentialInstanceConfig RestoreWorkloadComputeInstanceRestorePropertiesConfidentialInstanceConfig
    Optional. Controls Confidential compute options on the instance. Structure is documented below.
    deletionProtection boolean
    Optional. Whether the resource should be protected against deletion.
    description string
    Optional. An optional description of this resource.
    disks RestoreWorkloadComputeInstanceRestorePropertiesDisk[]
    Optional. Array of disks associated with this instance. Structure is documented below.
    displayDevice RestoreWorkloadComputeInstanceRestorePropertiesDisplayDevice
    Optional. Enables display device for the instance. Structure is documented below.
    guestAccelerators RestoreWorkloadComputeInstanceRestorePropertiesGuestAccelerator[]
    Optional. A list of the type and count of accelerator cards attached to the instance. Structure is documented below.
    hostname string
    Optional. Specifies the hostname of the instance.
    instanceEncryptionKey RestoreWorkloadComputeInstanceRestorePropertiesInstanceEncryptionKey
    Optional. Encrypts suspended data for an instance with a customer-managed encryption key. Structure is documented below.
    keyRevocationActionType string
    Optional. KeyRevocationActionType of the instance. Possible values are: KEY_REVOCATION_ACTION_TYPE_UNSPECIFIED, NONE, STOP.
    labels RestoreWorkloadComputeInstanceRestorePropertiesLabel[]
    Optional. Labels to apply to this instance. Structure is documented below.
    machineType string
    Optional. Full or partial URL of the machine type resource to use for this instance.
    metadata RestoreWorkloadComputeInstanceRestorePropertiesMetadata
    Optional. This includes custom metadata and predefined keys. Structure is documented below.
    minCpuPlatform string
    Optional. Minimum CPU platform to use for this instance.
    networkInterfaces RestoreWorkloadComputeInstanceRestorePropertiesNetworkInterface[]
    Optional. An array of network configurations for this instance. Structure is documented below.
    networkPerformanceConfig RestoreWorkloadComputeInstanceRestorePropertiesNetworkPerformanceConfig
    Optional. Configure network performance such as egress bandwidth tier. Structure is documented below.
    params RestoreWorkloadComputeInstanceRestorePropertiesParams
    Input only. Additional params passed with the request. Structure is documented below.
    privateIpv6GoogleAccess string
    Optional. The private IPv6 google access type for the VM. Possible values are: INSTANCE_PRIVATE_IPV6_GOOGLE_ACCESS_UNSPECIFIED, INHERIT_FROM_SUBNETWORK, ENABLE_OUTBOUND_VM_ACCESS_TO_GOOGLE, ENABLE_BIDIRECTIONAL_ACCESS_TO_GOOGLE.
    resourcePolicies string[]
    Optional. Resource policies applied to this instance.
    scheduling RestoreWorkloadComputeInstanceRestorePropertiesScheduling
    Optional. Sets the scheduling options for this instance. Structure is documented below.
    serviceAccounts RestoreWorkloadComputeInstanceRestorePropertiesServiceAccount[]
    Optional. A list of service accounts, with their specified scopes, authorized for this instance. Structure is documented below.
    shieldedInstanceConfig RestoreWorkloadComputeInstanceRestorePropertiesShieldedInstanceConfig
    Optional. Controls Shielded compute options on the instance. Structure is documented below.
    tags RestoreWorkloadComputeInstanceRestorePropertiesTags
    Optional. Tags to apply to this instance. Structure is documented below.
    name str
    Required. Name of the compute instance.
    advanced_machine_features RestoreWorkloadComputeInstanceRestorePropertiesAdvancedMachineFeatures
    Optional. Controls for advanced machine-related behavior features. Structure is documented below.
    allocation_affinity RestoreWorkloadComputeInstanceRestorePropertiesAllocationAffinity
    Optional. Specifies the reservations that this instance can consume from. Structure is documented below.
    can_ip_forward bool
    Optional. Allows this instance to send and receive packets with non-matching destination or source IPs.
    confidential_instance_config RestoreWorkloadComputeInstanceRestorePropertiesConfidentialInstanceConfig
    Optional. Controls Confidential compute options on the instance. Structure is documented below.
    deletion_protection bool
    Optional. Whether the resource should be protected against deletion.
    description str
    Optional. An optional description of this resource.
    disks Sequence[RestoreWorkloadComputeInstanceRestorePropertiesDisk]
    Optional. Array of disks associated with this instance. Structure is documented below.
    display_device RestoreWorkloadComputeInstanceRestorePropertiesDisplayDevice
    Optional. Enables display device for the instance. Structure is documented below.
    guest_accelerators Sequence[RestoreWorkloadComputeInstanceRestorePropertiesGuestAccelerator]
    Optional. A list of the type and count of accelerator cards attached to the instance. Structure is documented below.
    hostname str
    Optional. Specifies the hostname of the instance.
    instance_encryption_key RestoreWorkloadComputeInstanceRestorePropertiesInstanceEncryptionKey
    Optional. Encrypts suspended data for an instance with a customer-managed encryption key. Structure is documented below.
    key_revocation_action_type str
    Optional. KeyRevocationActionType of the instance. Possible values are: KEY_REVOCATION_ACTION_TYPE_UNSPECIFIED, NONE, STOP.
    labels Sequence[RestoreWorkloadComputeInstanceRestorePropertiesLabel]
    Optional. Labels to apply to this instance. Structure is documented below.
    machine_type str
    Optional. Full or partial URL of the machine type resource to use for this instance.
    metadata RestoreWorkloadComputeInstanceRestorePropertiesMetadata
    Optional. This includes custom metadata and predefined keys. Structure is documented below.
    min_cpu_platform str
    Optional. Minimum CPU platform to use for this instance.
    network_interfaces Sequence[RestoreWorkloadComputeInstanceRestorePropertiesNetworkInterface]
    Optional. An array of network configurations for this instance. Structure is documented below.
    network_performance_config RestoreWorkloadComputeInstanceRestorePropertiesNetworkPerformanceConfig
    Optional. Configure network performance such as egress bandwidth tier. Structure is documented below.
    params RestoreWorkloadComputeInstanceRestorePropertiesParams
    Input only. Additional params passed with the request. Structure is documented below.
    private_ipv6_google_access str
    Optional. The private IPv6 google access type for the VM. Possible values are: INSTANCE_PRIVATE_IPV6_GOOGLE_ACCESS_UNSPECIFIED, INHERIT_FROM_SUBNETWORK, ENABLE_OUTBOUND_VM_ACCESS_TO_GOOGLE, ENABLE_BIDIRECTIONAL_ACCESS_TO_GOOGLE.
    resource_policies Sequence[str]
    Optional. Resource policies applied to this instance.
    scheduling RestoreWorkloadComputeInstanceRestorePropertiesScheduling
    Optional. Sets the scheduling options for this instance. Structure is documented below.
    service_accounts Sequence[RestoreWorkloadComputeInstanceRestorePropertiesServiceAccount]
    Optional. A list of service accounts, with their specified scopes, authorized for this instance. Structure is documented below.
    shielded_instance_config RestoreWorkloadComputeInstanceRestorePropertiesShieldedInstanceConfig
    Optional. Controls Shielded compute options on the instance. Structure is documented below.
    tags RestoreWorkloadComputeInstanceRestorePropertiesTags
    Optional. Tags to apply to this instance. Structure is documented below.
    name String
    Required. Name of the compute instance.
    advancedMachineFeatures Property Map
    Optional. Controls for advanced machine-related behavior features. Structure is documented below.
    allocationAffinity Property Map
    Optional. Specifies the reservations that this instance can consume from. Structure is documented below.
    canIpForward Boolean
    Optional. Allows this instance to send and receive packets with non-matching destination or source IPs.
    confidentialInstanceConfig Property Map
    Optional. Controls Confidential compute options on the instance. Structure is documented below.
    deletionProtection Boolean
    Optional. Whether the resource should be protected against deletion.
    description String
    Optional. An optional description of this resource.
    disks List<Property Map>
    Optional. Array of disks associated with this instance. Structure is documented below.
    displayDevice Property Map
    Optional. Enables display device for the instance. Structure is documented below.
    guestAccelerators List<Property Map>
    Optional. A list of the type and count of accelerator cards attached to the instance. Structure is documented below.
    hostname String
    Optional. Specifies the hostname of the instance.
    instanceEncryptionKey Property Map
    Optional. Encrypts suspended data for an instance with a customer-managed encryption key. Structure is documented below.
    keyRevocationActionType String
    Optional. KeyRevocationActionType of the instance. Possible values are: KEY_REVOCATION_ACTION_TYPE_UNSPECIFIED, NONE, STOP.
    labels List<Property Map>
    Optional. Labels to apply to this instance. Structure is documented below.
    machineType String
    Optional. Full or partial URL of the machine type resource to use for this instance.
    metadata Property Map
    Optional. This includes custom metadata and predefined keys. Structure is documented below.
    minCpuPlatform String
    Optional. Minimum CPU platform to use for this instance.
    networkInterfaces List<Property Map>
    Optional. An array of network configurations for this instance. Structure is documented below.
    networkPerformanceConfig Property Map
    Optional. Configure network performance such as egress bandwidth tier. Structure is documented below.
    params Property Map
    Input only. Additional params passed with the request. Structure is documented below.
    privateIpv6GoogleAccess String
    Optional. The private IPv6 google access type for the VM. Possible values are: INSTANCE_PRIVATE_IPV6_GOOGLE_ACCESS_UNSPECIFIED, INHERIT_FROM_SUBNETWORK, ENABLE_OUTBOUND_VM_ACCESS_TO_GOOGLE, ENABLE_BIDIRECTIONAL_ACCESS_TO_GOOGLE.
    resourcePolicies List<String>
    Optional. Resource policies applied to this instance.
    scheduling Property Map
    Optional. Sets the scheduling options for this instance. Structure is documented below.
    serviceAccounts List<Property Map>
    Optional. A list of service accounts, with their specified scopes, authorized for this instance. Structure is documented below.
    shieldedInstanceConfig Property Map
    Optional. Controls Shielded compute options on the instance. Structure is documented below.
    tags Property Map
    Optional. Tags to apply to this instance. Structure is documented below.

    RestoreWorkloadComputeInstanceRestorePropertiesAdvancedMachineFeatures, RestoreWorkloadComputeInstanceRestorePropertiesAdvancedMachineFeaturesArgs

    EnableNestedVirtualization bool
    Optional. Whether to enable nested virtualization or not (default is false).
    EnableUefiNetworking bool
    Optional. Whether to enable UEFI networking for instance creation.
    ThreadsPerCore int
    Optional. The number of threads per physical core.
    VisibleCoreCount int
    Optional. The number of physical cores to expose to an instance.
    EnableNestedVirtualization bool
    Optional. Whether to enable nested virtualization or not (default is false).
    EnableUefiNetworking bool
    Optional. Whether to enable UEFI networking for instance creation.
    ThreadsPerCore int
    Optional. The number of threads per physical core.
    VisibleCoreCount int
    Optional. The number of physical cores to expose to an instance.
    enableNestedVirtualization Boolean
    Optional. Whether to enable nested virtualization or not (default is false).
    enableUefiNetworking Boolean
    Optional. Whether to enable UEFI networking for instance creation.
    threadsPerCore Integer
    Optional. The number of threads per physical core.
    visibleCoreCount Integer
    Optional. The number of physical cores to expose to an instance.
    enableNestedVirtualization boolean
    Optional. Whether to enable nested virtualization or not (default is false).
    enableUefiNetworking boolean
    Optional. Whether to enable UEFI networking for instance creation.
    threadsPerCore number
    Optional. The number of threads per physical core.
    visibleCoreCount number
    Optional. The number of physical cores to expose to an instance.
    enable_nested_virtualization bool
    Optional. Whether to enable nested virtualization or not (default is false).
    enable_uefi_networking bool
    Optional. Whether to enable UEFI networking for instance creation.
    threads_per_core int
    Optional. The number of threads per physical core.
    visible_core_count int
    Optional. The number of physical cores to expose to an instance.
    enableNestedVirtualization Boolean
    Optional. Whether to enable nested virtualization or not (default is false).
    enableUefiNetworking Boolean
    Optional. Whether to enable UEFI networking for instance creation.
    threadsPerCore Number
    Optional. The number of threads per physical core.
    visibleCoreCount Number
    Optional. The number of physical cores to expose to an instance.

    RestoreWorkloadComputeInstanceRestorePropertiesAllocationAffinity, RestoreWorkloadComputeInstanceRestorePropertiesAllocationAffinityArgs

    ConsumeAllocationType string
    Possible values are: TYPE_UNSPECIFIED, NO_RESERVATION, ANY_RESERVATION, SPECIFIC_RESERVATION.
    Key string
    (Optional)
    Values List<string>
    (Optional)
    ConsumeAllocationType string
    Possible values are: TYPE_UNSPECIFIED, NO_RESERVATION, ANY_RESERVATION, SPECIFIC_RESERVATION.
    Key string
    (Optional)
    Values []string
    (Optional)
    consumeAllocationType String
    Possible values are: TYPE_UNSPECIFIED, NO_RESERVATION, ANY_RESERVATION, SPECIFIC_RESERVATION.
    key String
    (Optional)
    values List<String>
    (Optional)
    consumeAllocationType string
    Possible values are: TYPE_UNSPECIFIED, NO_RESERVATION, ANY_RESERVATION, SPECIFIC_RESERVATION.
    key string
    (Optional)
    values string[]
    (Optional)
    consume_allocation_type str
    Possible values are: TYPE_UNSPECIFIED, NO_RESERVATION, ANY_RESERVATION, SPECIFIC_RESERVATION.
    key str
    (Optional)
    values Sequence[str]
    (Optional)
    consumeAllocationType String
    Possible values are: TYPE_UNSPECIFIED, NO_RESERVATION, ANY_RESERVATION, SPECIFIC_RESERVATION.
    key String
    (Optional)
    values List<String>
    (Optional)

    RestoreWorkloadComputeInstanceRestorePropertiesConfidentialInstanceConfig, RestoreWorkloadComputeInstanceRestorePropertiesConfidentialInstanceConfigArgs

    EnableConfidentialCompute bool
    Optional. Defines whether the instance should have confidential compute enabled.
    EnableConfidentialCompute bool
    Optional. Defines whether the instance should have confidential compute enabled.
    enableConfidentialCompute Boolean
    Optional. Defines whether the instance should have confidential compute enabled.
    enableConfidentialCompute boolean
    Optional. Defines whether the instance should have confidential compute enabled.
    enable_confidential_compute bool
    Optional. Defines whether the instance should have confidential compute enabled.
    enableConfidentialCompute Boolean
    Optional. Defines whether the instance should have confidential compute enabled.

    RestoreWorkloadComputeInstanceRestorePropertiesDisk, RestoreWorkloadComputeInstanceRestorePropertiesDiskArgs

    AutoDelete bool
    Optional. Specifies whether the disk will be auto-deleted when the instance is deleted.
    Boot bool
    Optional. Indicates that this is a boot disk.
    DeviceName string
    Optional. This is used as an identifier for the disks.
    DiskEncryptionKey RestoreWorkloadComputeInstanceRestorePropertiesDiskDiskEncryptionKey
    Optional. Encrypts or decrypts a disk using a customer-supplied encryption key. Structure is documented below.
    DiskInterface string
    Optional. Specifies the disk interface to use for attaching this disk. Possible values are: DISK_INTERFACE_UNSPECIFIED, SCSI, NVME, NVDIMM, ISCSI.
    DiskSizeGb int
    Optional. The size of the disk in GB.
    DiskType string
    Output only. The URI of the disk type resource.
    GuestOsFeatures List<RestoreWorkloadComputeInstanceRestorePropertiesDiskGuestOsFeature>
    Optional. A list of features to enable on the guest operating system. Structure is documented below.
    Index int
    Optional. A zero-based index to this disk, where 0 is reserved for the boot disk.
    InitializeParams RestoreWorkloadComputeInstanceRestorePropertiesDiskInitializeParams
    Optional. Specifies the parameters to initialize this disk. Structure is documented below.
    Kind string
    Optional. Type of the resource.
    Licenses List<string>
    Optional. Any valid publicly visible licenses.
    Mode string
    Optional. The mode in which to attach this disk. Possible values are: DISK_MODE_UNSPECIFIED, READ_WRITE, READ_ONLY, LOCKED.
    SavedState string
    Optional. Specifies the saved state of the disk. Possible values are: DISK_SAVED_STATE_UNSPECIFIED, PRESERVED.
    Source string
    Optional. Specifies a valid partial or full URL to an existing Persistent Disk resource.
    Type string
    Optional. Specifies the type of the disk. Possible values are: DISK_TYPE_UNSPECIFIED, SCRATCH, PERSISTENT.
    AutoDelete bool
    Optional. Specifies whether the disk will be auto-deleted when the instance is deleted.
    Boot bool
    Optional. Indicates that this is a boot disk.
    DeviceName string
    Optional. This is used as an identifier for the disks.
    DiskEncryptionKey RestoreWorkloadComputeInstanceRestorePropertiesDiskDiskEncryptionKey
    Optional. Encrypts or decrypts a disk using a customer-supplied encryption key. Structure is documented below.
    DiskInterface string
    Optional. Specifies the disk interface to use for attaching this disk. Possible values are: DISK_INTERFACE_UNSPECIFIED, SCSI, NVME, NVDIMM, ISCSI.
    DiskSizeGb int
    Optional. The size of the disk in GB.
    DiskType string
    Output only. The URI of the disk type resource.
    GuestOsFeatures []RestoreWorkloadComputeInstanceRestorePropertiesDiskGuestOsFeature
    Optional. A list of features to enable on the guest operating system. Structure is documented below.
    Index int
    Optional. A zero-based index to this disk, where 0 is reserved for the boot disk.
    InitializeParams RestoreWorkloadComputeInstanceRestorePropertiesDiskInitializeParams
    Optional. Specifies the parameters to initialize this disk. Structure is documented below.
    Kind string
    Optional. Type of the resource.
    Licenses []string
    Optional. Any valid publicly visible licenses.
    Mode string
    Optional. The mode in which to attach this disk. Possible values are: DISK_MODE_UNSPECIFIED, READ_WRITE, READ_ONLY, LOCKED.
    SavedState string
    Optional. Specifies the saved state of the disk. Possible values are: DISK_SAVED_STATE_UNSPECIFIED, PRESERVED.
    Source string
    Optional. Specifies a valid partial or full URL to an existing Persistent Disk resource.
    Type string
    Optional. Specifies the type of the disk. Possible values are: DISK_TYPE_UNSPECIFIED, SCRATCH, PERSISTENT.
    autoDelete Boolean
    Optional. Specifies whether the disk will be auto-deleted when the instance is deleted.
    boot Boolean
    Optional. Indicates that this is a boot disk.
    deviceName String
    Optional. This is used as an identifier for the disks.
    diskEncryptionKey RestoreWorkloadComputeInstanceRestorePropertiesDiskDiskEncryptionKey
    Optional. Encrypts or decrypts a disk using a customer-supplied encryption key. Structure is documented below.
    diskInterface String
    Optional. Specifies the disk interface to use for attaching this disk. Possible values are: DISK_INTERFACE_UNSPECIFIED, SCSI, NVME, NVDIMM, ISCSI.
    diskSizeGb Integer
    Optional. The size of the disk in GB.
    diskType String
    Output only. The URI of the disk type resource.
    guestOsFeatures List<RestoreWorkloadComputeInstanceRestorePropertiesDiskGuestOsFeature>
    Optional. A list of features to enable on the guest operating system. Structure is documented below.
    index Integer
    Optional. A zero-based index to this disk, where 0 is reserved for the boot disk.
    initializeParams RestoreWorkloadComputeInstanceRestorePropertiesDiskInitializeParams
    Optional. Specifies the parameters to initialize this disk. Structure is documented below.
    kind String
    Optional. Type of the resource.
    licenses List<String>
    Optional. Any valid publicly visible licenses.
    mode String
    Optional. The mode in which to attach this disk. Possible values are: DISK_MODE_UNSPECIFIED, READ_WRITE, READ_ONLY, LOCKED.
    savedState String
    Optional. Specifies the saved state of the disk. Possible values are: DISK_SAVED_STATE_UNSPECIFIED, PRESERVED.
    source String
    Optional. Specifies a valid partial or full URL to an existing Persistent Disk resource.
    type String
    Optional. Specifies the type of the disk. Possible values are: DISK_TYPE_UNSPECIFIED, SCRATCH, PERSISTENT.
    autoDelete boolean
    Optional. Specifies whether the disk will be auto-deleted when the instance is deleted.
    boot boolean
    Optional. Indicates that this is a boot disk.
    deviceName string
    Optional. This is used as an identifier for the disks.
    diskEncryptionKey RestoreWorkloadComputeInstanceRestorePropertiesDiskDiskEncryptionKey
    Optional. Encrypts or decrypts a disk using a customer-supplied encryption key. Structure is documented below.
    diskInterface string
    Optional. Specifies the disk interface to use for attaching this disk. Possible values are: DISK_INTERFACE_UNSPECIFIED, SCSI, NVME, NVDIMM, ISCSI.
    diskSizeGb number
    Optional. The size of the disk in GB.
    diskType string
    Output only. The URI of the disk type resource.
    guestOsFeatures RestoreWorkloadComputeInstanceRestorePropertiesDiskGuestOsFeature[]
    Optional. A list of features to enable on the guest operating system. Structure is documented below.
    index number
    Optional. A zero-based index to this disk, where 0 is reserved for the boot disk.
    initializeParams RestoreWorkloadComputeInstanceRestorePropertiesDiskInitializeParams
    Optional. Specifies the parameters to initialize this disk. Structure is documented below.
    kind string
    Optional. Type of the resource.
    licenses string[]
    Optional. Any valid publicly visible licenses.
    mode string
    Optional. The mode in which to attach this disk. Possible values are: DISK_MODE_UNSPECIFIED, READ_WRITE, READ_ONLY, LOCKED.
    savedState string
    Optional. Specifies the saved state of the disk. Possible values are: DISK_SAVED_STATE_UNSPECIFIED, PRESERVED.
    source string
    Optional. Specifies a valid partial or full URL to an existing Persistent Disk resource.
    type string
    Optional. Specifies the type of the disk. Possible values are: DISK_TYPE_UNSPECIFIED, SCRATCH, PERSISTENT.
    auto_delete bool
    Optional. Specifies whether the disk will be auto-deleted when the instance is deleted.
    boot bool
    Optional. Indicates that this is a boot disk.
    device_name str
    Optional. This is used as an identifier for the disks.
    disk_encryption_key RestoreWorkloadComputeInstanceRestorePropertiesDiskDiskEncryptionKey
    Optional. Encrypts or decrypts a disk using a customer-supplied encryption key. Structure is documented below.
    disk_interface str
    Optional. Specifies the disk interface to use for attaching this disk. Possible values are: DISK_INTERFACE_UNSPECIFIED, SCSI, NVME, NVDIMM, ISCSI.
    disk_size_gb int
    Optional. The size of the disk in GB.
    disk_type str
    Output only. The URI of the disk type resource.
    guest_os_features Sequence[RestoreWorkloadComputeInstanceRestorePropertiesDiskGuestOsFeature]
    Optional. A list of features to enable on the guest operating system. Structure is documented below.
    index int
    Optional. A zero-based index to this disk, where 0 is reserved for the boot disk.
    initialize_params RestoreWorkloadComputeInstanceRestorePropertiesDiskInitializeParams
    Optional. Specifies the parameters to initialize this disk. Structure is documented below.
    kind str
    Optional. Type of the resource.
    licenses Sequence[str]
    Optional. Any valid publicly visible licenses.
    mode str
    Optional. The mode in which to attach this disk. Possible values are: DISK_MODE_UNSPECIFIED, READ_WRITE, READ_ONLY, LOCKED.
    saved_state str
    Optional. Specifies the saved state of the disk. Possible values are: DISK_SAVED_STATE_UNSPECIFIED, PRESERVED.
    source str
    Optional. Specifies a valid partial or full URL to an existing Persistent Disk resource.
    type str
    Optional. Specifies the type of the disk. Possible values are: DISK_TYPE_UNSPECIFIED, SCRATCH, PERSISTENT.
    autoDelete Boolean
    Optional. Specifies whether the disk will be auto-deleted when the instance is deleted.
    boot Boolean
    Optional. Indicates that this is a boot disk.
    deviceName String
    Optional. This is used as an identifier for the disks.
    diskEncryptionKey Property Map
    Optional. Encrypts or decrypts a disk using a customer-supplied encryption key. Structure is documented below.
    diskInterface String
    Optional. Specifies the disk interface to use for attaching this disk. Possible values are: DISK_INTERFACE_UNSPECIFIED, SCSI, NVME, NVDIMM, ISCSI.
    diskSizeGb Number
    Optional. The size of the disk in GB.
    diskType String
    Output only. The URI of the disk type resource.
    guestOsFeatures List<Property Map>
    Optional. A list of features to enable on the guest operating system. Structure is documented below.
    index Number
    Optional. A zero-based index to this disk, where 0 is reserved for the boot disk.
    initializeParams Property Map
    Optional. Specifies the parameters to initialize this disk. Structure is documented below.
    kind String
    Optional. Type of the resource.
    licenses List<String>
    Optional. Any valid publicly visible licenses.
    mode String
    Optional. The mode in which to attach this disk. Possible values are: DISK_MODE_UNSPECIFIED, READ_WRITE, READ_ONLY, LOCKED.
    savedState String
    Optional. Specifies the saved state of the disk. Possible values are: DISK_SAVED_STATE_UNSPECIFIED, PRESERVED.
    source String
    Optional. Specifies a valid partial or full URL to an existing Persistent Disk resource.
    type String
    Optional. Specifies the type of the disk. Possible values are: DISK_TYPE_UNSPECIFIED, SCRATCH, PERSISTENT.

    RestoreWorkloadComputeInstanceRestorePropertiesDiskDiskEncryptionKey, RestoreWorkloadComputeInstanceRestorePropertiesDiskDiskEncryptionKeyArgs

    KmsKeyName string
    (Optional)
    KmsKeyServiceAccount string
    (Optional)
    RawKey string
    (Optional)
    RsaEncryptedKey string
    (Optional)
    KmsKeyName string
    (Optional)
    KmsKeyServiceAccount string
    (Optional)
    RawKey string
    (Optional)
    RsaEncryptedKey string
    (Optional)
    kmsKeyName String
    (Optional)
    kmsKeyServiceAccount String
    (Optional)
    rawKey String
    (Optional)
    rsaEncryptedKey String
    (Optional)
    kmsKeyName string
    (Optional)
    kmsKeyServiceAccount string
    (Optional)
    rawKey string
    (Optional)
    rsaEncryptedKey string
    (Optional)
    kms_key_name str
    (Optional)
    kms_key_service_account str
    (Optional)
    raw_key str
    (Optional)
    rsa_encrypted_key str
    (Optional)
    kmsKeyName String
    (Optional)
    kmsKeyServiceAccount String
    (Optional)
    rawKey String
    (Optional)
    rsaEncryptedKey String
    (Optional)

    RestoreWorkloadComputeInstanceRestorePropertiesDiskGuestOsFeature, RestoreWorkloadComputeInstanceRestorePropertiesDiskGuestOsFeatureArgs

    Type string
    Possible values are: FEATURE_TYPE_UNSPECIFIED, VIRTIO_SCSI_MULTIQUEUE, WINDOWS, MULTI_IP_SUBNET, UEFI_COMPATIBLE, SECURE_BOOT, GVNIC, SEV_CAPABLE, BARE_METAL_LINUX_COMPATIBLE, SUSPEND_RESUME_COMPATIBLE, SEV_LIVE_MIGRATABLE, SEV_SNP_CAPABLE, TDX_CAPABLE, IDPF, SEV_LIVE_MIGRATABLE_V2.
    Type string
    Possible values are: FEATURE_TYPE_UNSPECIFIED, VIRTIO_SCSI_MULTIQUEUE, WINDOWS, MULTI_IP_SUBNET, UEFI_COMPATIBLE, SECURE_BOOT, GVNIC, SEV_CAPABLE, BARE_METAL_LINUX_COMPATIBLE, SUSPEND_RESUME_COMPATIBLE, SEV_LIVE_MIGRATABLE, SEV_SNP_CAPABLE, TDX_CAPABLE, IDPF, SEV_LIVE_MIGRATABLE_V2.
    type String
    Possible values are: FEATURE_TYPE_UNSPECIFIED, VIRTIO_SCSI_MULTIQUEUE, WINDOWS, MULTI_IP_SUBNET, UEFI_COMPATIBLE, SECURE_BOOT, GVNIC, SEV_CAPABLE, BARE_METAL_LINUX_COMPATIBLE, SUSPEND_RESUME_COMPATIBLE, SEV_LIVE_MIGRATABLE, SEV_SNP_CAPABLE, TDX_CAPABLE, IDPF, SEV_LIVE_MIGRATABLE_V2.
    type string
    Possible values are: FEATURE_TYPE_UNSPECIFIED, VIRTIO_SCSI_MULTIQUEUE, WINDOWS, MULTI_IP_SUBNET, UEFI_COMPATIBLE, SECURE_BOOT, GVNIC, SEV_CAPABLE, BARE_METAL_LINUX_COMPATIBLE, SUSPEND_RESUME_COMPATIBLE, SEV_LIVE_MIGRATABLE, SEV_SNP_CAPABLE, TDX_CAPABLE, IDPF, SEV_LIVE_MIGRATABLE_V2.
    type str
    Possible values are: FEATURE_TYPE_UNSPECIFIED, VIRTIO_SCSI_MULTIQUEUE, WINDOWS, MULTI_IP_SUBNET, UEFI_COMPATIBLE, SECURE_BOOT, GVNIC, SEV_CAPABLE, BARE_METAL_LINUX_COMPATIBLE, SUSPEND_RESUME_COMPATIBLE, SEV_LIVE_MIGRATABLE, SEV_SNP_CAPABLE, TDX_CAPABLE, IDPF, SEV_LIVE_MIGRATABLE_V2.
    type String
    Possible values are: FEATURE_TYPE_UNSPECIFIED, VIRTIO_SCSI_MULTIQUEUE, WINDOWS, MULTI_IP_SUBNET, UEFI_COMPATIBLE, SECURE_BOOT, GVNIC, SEV_CAPABLE, BARE_METAL_LINUX_COMPATIBLE, SUSPEND_RESUME_COMPATIBLE, SEV_LIVE_MIGRATABLE, SEV_SNP_CAPABLE, TDX_CAPABLE, IDPF, SEV_LIVE_MIGRATABLE_V2.

    RestoreWorkloadComputeInstanceRestorePropertiesDiskInitializeParams, RestoreWorkloadComputeInstanceRestorePropertiesDiskInitializeParamsArgs

    DiskName string
    Optional. Specifies the disk name.
    ReplicaZones List<string>
    Optional. URL of the zone where the disk should be created.
    DiskName string
    Optional. Specifies the disk name.
    ReplicaZones []string
    Optional. URL of the zone where the disk should be created.
    diskName String
    Optional. Specifies the disk name.
    replicaZones List<String>
    Optional. URL of the zone where the disk should be created.
    diskName string
    Optional. Specifies the disk name.
    replicaZones string[]
    Optional. URL of the zone where the disk should be created.
    disk_name str
    Optional. Specifies the disk name.
    replica_zones Sequence[str]
    Optional. URL of the zone where the disk should be created.
    diskName String
    Optional. Specifies the disk name.
    replicaZones List<String>
    Optional. URL of the zone where the disk should be created.

    RestoreWorkloadComputeInstanceRestorePropertiesDisplayDevice, RestoreWorkloadComputeInstanceRestorePropertiesDisplayDeviceArgs

    EnableDisplay bool
    Optional. Enables display for the Compute Engine VM.
    EnableDisplay bool
    Optional. Enables display for the Compute Engine VM.
    enableDisplay Boolean
    Optional. Enables display for the Compute Engine VM.
    enableDisplay boolean
    Optional. Enables display for the Compute Engine VM.
    enable_display bool
    Optional. Enables display for the Compute Engine VM.
    enableDisplay Boolean
    Optional. Enables display for the Compute Engine VM.

    RestoreWorkloadComputeInstanceRestorePropertiesGuestAccelerator, RestoreWorkloadComputeInstanceRestorePropertiesGuestAcceleratorArgs

    AcceleratorCount int
    Optional. The number of the guest accelerator cards exposed to this instance.
    AcceleratorType string
    Optional. Full or partial URL of the accelerator type resource.
    AcceleratorCount int
    Optional. The number of the guest accelerator cards exposed to this instance.
    AcceleratorType string
    Optional. Full or partial URL of the accelerator type resource.
    acceleratorCount Integer
    Optional. The number of the guest accelerator cards exposed to this instance.
    acceleratorType String
    Optional. Full or partial URL of the accelerator type resource.
    acceleratorCount number
    Optional. The number of the guest accelerator cards exposed to this instance.
    acceleratorType string
    Optional. Full or partial URL of the accelerator type resource.
    accelerator_count int
    Optional. The number of the guest accelerator cards exposed to this instance.
    accelerator_type str
    Optional. Full or partial URL of the accelerator type resource.
    acceleratorCount Number
    Optional. The number of the guest accelerator cards exposed to this instance.
    acceleratorType String
    Optional. Full or partial URL of the accelerator type resource.

    RestoreWorkloadComputeInstanceRestorePropertiesInstanceEncryptionKey, RestoreWorkloadComputeInstanceRestorePropertiesInstanceEncryptionKeyArgs

    KmsKeyName string
    (Optional)
    KmsKeyServiceAccount string
    (Optional)
    RawKey string
    (Optional)
    RsaEncryptedKey string
    (Optional)
    KmsKeyName string
    (Optional)
    KmsKeyServiceAccount string
    (Optional)
    RawKey string
    (Optional)
    RsaEncryptedKey string
    (Optional)
    kmsKeyName String
    (Optional)
    kmsKeyServiceAccount String
    (Optional)
    rawKey String
    (Optional)
    rsaEncryptedKey String
    (Optional)
    kmsKeyName string
    (Optional)
    kmsKeyServiceAccount string
    (Optional)
    rawKey string
    (Optional)
    rsaEncryptedKey string
    (Optional)
    kms_key_name str
    (Optional)
    kms_key_service_account str
    (Optional)
    raw_key str
    (Optional)
    rsa_encrypted_key str
    (Optional)
    kmsKeyName String
    (Optional)
    kmsKeyServiceAccount String
    (Optional)
    rawKey String
    (Optional)
    rsaEncryptedKey String
    (Optional)

    RestoreWorkloadComputeInstanceRestorePropertiesLabel, RestoreWorkloadComputeInstanceRestorePropertiesLabelArgs

    Key string
    The identifier for this object. Format specified above.
    Value string
    (Optional)
    Key string
    The identifier for this object. Format specified above.
    Value string
    (Optional)
    key String
    The identifier for this object. Format specified above.
    value String
    (Optional)
    key string
    The identifier for this object. Format specified above.
    value string
    (Optional)
    key str
    The identifier for this object. Format specified above.
    value str
    (Optional)
    key String
    The identifier for this object. Format specified above.
    value String
    (Optional)

    RestoreWorkloadComputeInstanceRestorePropertiesMetadata, RestoreWorkloadComputeInstanceRestorePropertiesMetadataArgs

    items List<Property Map>
    Structure is documented below.

    RestoreWorkloadComputeInstanceRestorePropertiesMetadataItem, RestoreWorkloadComputeInstanceRestorePropertiesMetadataItemArgs

    Key string
    (Optional)
    Value string
    (Optional)
    Key string
    (Optional)
    Value string
    (Optional)
    key String
    (Optional)
    value String
    (Optional)
    key string
    (Optional)
    value string
    (Optional)
    key str
    (Optional)
    value str
    (Optional)
    key String
    (Optional)
    value String
    (Optional)

    RestoreWorkloadComputeInstanceRestorePropertiesNetworkInterface, RestoreWorkloadComputeInstanceRestorePropertiesNetworkInterfaceArgs

    AccessConfigs List<RestoreWorkloadComputeInstanceRestorePropertiesNetworkInterfaceAccessConfig>
    Structure is documented below.
    AliasIpRanges List<RestoreWorkloadComputeInstanceRestorePropertiesNetworkInterfaceAliasIpRange>
    Structure is documented below.
    InternalIpv6PrefixLength int
    Optional. The prefix length of the primary internal IPv6 range.
    IpAddress string
    Optional. An IPv4 internal IP address to assign to the instance.
    Ipv6AccessConfigs List<RestoreWorkloadComputeInstanceRestorePropertiesNetworkInterfaceIpv6AccessConfig>
    Structure is documented below.
    Ipv6AccessType string
    Possible values are: UNSPECIFIED_IPV6_ACCESS_TYPE, INTERNAL, EXTERNAL.
    Ipv6Address string
    Optional. An IPv6 internal network address for this network interface.
    Network string
    Optional. URL of the VPC network resource for this instance.
    NetworkAttachment string
    (Optional)
    NicType string
    Possible values are: NIC_TYPE_UNSPECIFIED, VIRTIO_NET, GVNIC.
    QueueCount int
    (Optional)
    StackType string
    Possible values are: STACK_TYPE_UNSPECIFIED, IPV4_ONLY, IPV4_IPV6.
    Subnetwork string
    Optional. The URL of the Subnetwork resource for this instance.
    AccessConfigs []RestoreWorkloadComputeInstanceRestorePropertiesNetworkInterfaceAccessConfig
    Structure is documented below.
    AliasIpRanges []RestoreWorkloadComputeInstanceRestorePropertiesNetworkInterfaceAliasIpRange
    Structure is documented below.
    InternalIpv6PrefixLength int
    Optional. The prefix length of the primary internal IPv6 range.
    IpAddress string
    Optional. An IPv4 internal IP address to assign to the instance.
    Ipv6AccessConfigs []RestoreWorkloadComputeInstanceRestorePropertiesNetworkInterfaceIpv6AccessConfig
    Structure is documented below.
    Ipv6AccessType string
    Possible values are: UNSPECIFIED_IPV6_ACCESS_TYPE, INTERNAL, EXTERNAL.
    Ipv6Address string
    Optional. An IPv6 internal network address for this network interface.
    Network string
    Optional. URL of the VPC network resource for this instance.
    NetworkAttachment string
    (Optional)
    NicType string
    Possible values are: NIC_TYPE_UNSPECIFIED, VIRTIO_NET, GVNIC.
    QueueCount int
    (Optional)
    StackType string
    Possible values are: STACK_TYPE_UNSPECIFIED, IPV4_ONLY, IPV4_IPV6.
    Subnetwork string
    Optional. The URL of the Subnetwork resource for this instance.
    accessConfigs List<RestoreWorkloadComputeInstanceRestorePropertiesNetworkInterfaceAccessConfig>
    Structure is documented below.
    aliasIpRanges List<RestoreWorkloadComputeInstanceRestorePropertiesNetworkInterfaceAliasIpRange>
    Structure is documented below.
    internalIpv6PrefixLength Integer
    Optional. The prefix length of the primary internal IPv6 range.
    ipAddress String
    Optional. An IPv4 internal IP address to assign to the instance.
    ipv6AccessConfigs List<RestoreWorkloadComputeInstanceRestorePropertiesNetworkInterfaceIpv6AccessConfig>
    Structure is documented below.
    ipv6AccessType String
    Possible values are: UNSPECIFIED_IPV6_ACCESS_TYPE, INTERNAL, EXTERNAL.
    ipv6Address String
    Optional. An IPv6 internal network address for this network interface.
    network String
    Optional. URL of the VPC network resource for this instance.
    networkAttachment String
    (Optional)
    nicType String
    Possible values are: NIC_TYPE_UNSPECIFIED, VIRTIO_NET, GVNIC.
    queueCount Integer
    (Optional)
    stackType String
    Possible values are: STACK_TYPE_UNSPECIFIED, IPV4_ONLY, IPV4_IPV6.
    subnetwork String
    Optional. The URL of the Subnetwork resource for this instance.
    accessConfigs RestoreWorkloadComputeInstanceRestorePropertiesNetworkInterfaceAccessConfig[]
    Structure is documented below.
    aliasIpRanges RestoreWorkloadComputeInstanceRestorePropertiesNetworkInterfaceAliasIpRange[]
    Structure is documented below.
    internalIpv6PrefixLength number
    Optional. The prefix length of the primary internal IPv6 range.
    ipAddress string
    Optional. An IPv4 internal IP address to assign to the instance.
    ipv6AccessConfigs RestoreWorkloadComputeInstanceRestorePropertiesNetworkInterfaceIpv6AccessConfig[]
    Structure is documented below.
    ipv6AccessType string
    Possible values are: UNSPECIFIED_IPV6_ACCESS_TYPE, INTERNAL, EXTERNAL.
    ipv6Address string
    Optional. An IPv6 internal network address for this network interface.
    network string
    Optional. URL of the VPC network resource for this instance.
    networkAttachment string
    (Optional)
    nicType string
    Possible values are: NIC_TYPE_UNSPECIFIED, VIRTIO_NET, GVNIC.
    queueCount number
    (Optional)
    stackType string
    Possible values are: STACK_TYPE_UNSPECIFIED, IPV4_ONLY, IPV4_IPV6.
    subnetwork string
    Optional. The URL of the Subnetwork resource for this instance.
    access_configs Sequence[RestoreWorkloadComputeInstanceRestorePropertiesNetworkInterfaceAccessConfig]
    Structure is documented below.
    alias_ip_ranges Sequence[RestoreWorkloadComputeInstanceRestorePropertiesNetworkInterfaceAliasIpRange]
    Structure is documented below.
    internal_ipv6_prefix_length int
    Optional. The prefix length of the primary internal IPv6 range.
    ip_address str
    Optional. An IPv4 internal IP address to assign to the instance.
    ipv6_access_configs Sequence[RestoreWorkloadComputeInstanceRestorePropertiesNetworkInterfaceIpv6AccessConfig]
    Structure is documented below.
    ipv6_access_type str
    Possible values are: UNSPECIFIED_IPV6_ACCESS_TYPE, INTERNAL, EXTERNAL.
    ipv6_address str
    Optional. An IPv6 internal network address for this network interface.
    network str
    Optional. URL of the VPC network resource for this instance.
    network_attachment str
    (Optional)
    nic_type str
    Possible values are: NIC_TYPE_UNSPECIFIED, VIRTIO_NET, GVNIC.
    queue_count int
    (Optional)
    stack_type str
    Possible values are: STACK_TYPE_UNSPECIFIED, IPV4_ONLY, IPV4_IPV6.
    subnetwork str
    Optional. The URL of the Subnetwork resource for this instance.
    accessConfigs List<Property Map>
    Structure is documented below.
    aliasIpRanges List<Property Map>
    Structure is documented below.
    internalIpv6PrefixLength Number
    Optional. The prefix length of the primary internal IPv6 range.
    ipAddress String
    Optional. An IPv4 internal IP address to assign to the instance.
    ipv6AccessConfigs List<Property Map>
    Structure is documented below.
    ipv6AccessType String
    Possible values are: UNSPECIFIED_IPV6_ACCESS_TYPE, INTERNAL, EXTERNAL.
    ipv6Address String
    Optional. An IPv6 internal network address for this network interface.
    network String
    Optional. URL of the VPC network resource for this instance.
    networkAttachment String
    (Optional)
    nicType String
    Possible values are: NIC_TYPE_UNSPECIFIED, VIRTIO_NET, GVNIC.
    queueCount Number
    (Optional)
    stackType String
    Possible values are: STACK_TYPE_UNSPECIFIED, IPV4_ONLY, IPV4_IPV6.
    subnetwork String
    Optional. The URL of the Subnetwork resource for this instance.

    RestoreWorkloadComputeInstanceRestorePropertiesNetworkInterfaceAccessConfig, RestoreWorkloadComputeInstanceRestorePropertiesNetworkInterfaceAccessConfigArgs

    ExternalIp string
    (Optional)
    ExternalIpv6 string
    (Optional)
    ExternalIpv6PrefixLength int
    (Optional)
    Name string
    Optional. The name of this access configuration.
    NetworkTier string
    Possible values are: NETWORK_TIER_UNSPECIFIED, PREMIUM, STANDARD.
    PublicPtrDomainName string
    (Optional)
    SetPublicPtr bool
    (Optional)
    Type string
    Optional. The type of configuration. Possible values are: ACCESS_TYPE_UNSPECIFIED, ONE_TO_ONE_NAT, DIRECT_IPV6.
    ExternalIp string
    (Optional)
    ExternalIpv6 string
    (Optional)
    ExternalIpv6PrefixLength int
    (Optional)
    Name string
    Optional. The name of this access configuration.
    NetworkTier string
    Possible values are: NETWORK_TIER_UNSPECIFIED, PREMIUM, STANDARD.
    PublicPtrDomainName string
    (Optional)
    SetPublicPtr bool
    (Optional)
    Type string
    Optional. The type of configuration. Possible values are: ACCESS_TYPE_UNSPECIFIED, ONE_TO_ONE_NAT, DIRECT_IPV6.
    externalIp String
    (Optional)
    externalIpv6 String
    (Optional)
    externalIpv6PrefixLength Integer
    (Optional)
    name String
    Optional. The name of this access configuration.
    networkTier String
    Possible values are: NETWORK_TIER_UNSPECIFIED, PREMIUM, STANDARD.
    publicPtrDomainName String
    (Optional)
    setPublicPtr Boolean
    (Optional)
    type String
    Optional. The type of configuration. Possible values are: ACCESS_TYPE_UNSPECIFIED, ONE_TO_ONE_NAT, DIRECT_IPV6.
    externalIp string
    (Optional)
    externalIpv6 string
    (Optional)
    externalIpv6PrefixLength number
    (Optional)
    name string
    Optional. The name of this access configuration.
    networkTier string
    Possible values are: NETWORK_TIER_UNSPECIFIED, PREMIUM, STANDARD.
    publicPtrDomainName string
    (Optional)
    setPublicPtr boolean
    (Optional)
    type string
    Optional. The type of configuration. Possible values are: ACCESS_TYPE_UNSPECIFIED, ONE_TO_ONE_NAT, DIRECT_IPV6.
    external_ip str
    (Optional)
    external_ipv6 str
    (Optional)
    external_ipv6_prefix_length int
    (Optional)
    name str
    Optional. The name of this access configuration.
    network_tier str
    Possible values are: NETWORK_TIER_UNSPECIFIED, PREMIUM, STANDARD.
    public_ptr_domain_name str
    (Optional)
    set_public_ptr bool
    (Optional)
    type str
    Optional. The type of configuration. Possible values are: ACCESS_TYPE_UNSPECIFIED, ONE_TO_ONE_NAT, DIRECT_IPV6.
    externalIp String
    (Optional)
    externalIpv6 String
    (Optional)
    externalIpv6PrefixLength Number
    (Optional)
    name String
    Optional. The name of this access configuration.
    networkTier String
    Possible values are: NETWORK_TIER_UNSPECIFIED, PREMIUM, STANDARD.
    publicPtrDomainName String
    (Optional)
    setPublicPtr Boolean
    (Optional)
    type String
    Optional. The type of configuration. Possible values are: ACCESS_TYPE_UNSPECIFIED, ONE_TO_ONE_NAT, DIRECT_IPV6.

    RestoreWorkloadComputeInstanceRestorePropertiesNetworkInterfaceAliasIpRange, RestoreWorkloadComputeInstanceRestorePropertiesNetworkInterfaceAliasIpRangeArgs

    IpCidrRange string
    (Optional)
    SubnetworkRangeName string
    (Optional)
    IpCidrRange string
    (Optional)
    SubnetworkRangeName string
    (Optional)
    ipCidrRange String
    (Optional)
    subnetworkRangeName String
    (Optional)
    ipCidrRange string
    (Optional)
    subnetworkRangeName string
    (Optional)
    ip_cidr_range str
    (Optional)
    subnetwork_range_name str
    (Optional)
    ipCidrRange String
    (Optional)
    subnetworkRangeName String
    (Optional)

    RestoreWorkloadComputeInstanceRestorePropertiesNetworkInterfaceIpv6AccessConfig, RestoreWorkloadComputeInstanceRestorePropertiesNetworkInterfaceIpv6AccessConfigArgs

    ExternalIp string
    (Optional)
    ExternalIpv6 string
    (Optional)
    ExternalIpv6PrefixLength int
    (Optional)
    Name string
    Required. The resource name of the backup instance.
    NetworkTier string
    Possible values: ["NETWORK_TIER_UNSPECIFIED", "PREMIUM", "STANDARD"]
    PublicPtrDomainName string
    (Optional)
    SetPublicPtr bool
    (Optional)
    Type string
    Output only. Type of the resource.
    ExternalIp string
    (Optional)
    ExternalIpv6 string
    (Optional)
    ExternalIpv6PrefixLength int
    (Optional)
    Name string
    Required. The resource name of the backup instance.
    NetworkTier string
    Possible values: ["NETWORK_TIER_UNSPECIFIED", "PREMIUM", "STANDARD"]
    PublicPtrDomainName string
    (Optional)
    SetPublicPtr bool
    (Optional)
    Type string
    Output only. Type of the resource.
    externalIp String
    (Optional)
    externalIpv6 String
    (Optional)
    externalIpv6PrefixLength Integer
    (Optional)
    name String
    Required. The resource name of the backup instance.
    networkTier String
    Possible values: ["NETWORK_TIER_UNSPECIFIED", "PREMIUM", "STANDARD"]
    publicPtrDomainName String
    (Optional)
    setPublicPtr Boolean
    (Optional)
    type String
    Output only. Type of the resource.
    externalIp string
    (Optional)
    externalIpv6 string
    (Optional)
    externalIpv6PrefixLength number
    (Optional)
    name string
    Required. The resource name of the backup instance.
    networkTier string
    Possible values: ["NETWORK_TIER_UNSPECIFIED", "PREMIUM", "STANDARD"]
    publicPtrDomainName string
    (Optional)
    setPublicPtr boolean
    (Optional)
    type string
    Output only. Type of the resource.
    external_ip str
    (Optional)
    external_ipv6 str
    (Optional)
    external_ipv6_prefix_length int
    (Optional)
    name str
    Required. The resource name of the backup instance.
    network_tier str
    Possible values: ["NETWORK_TIER_UNSPECIFIED", "PREMIUM", "STANDARD"]
    public_ptr_domain_name str
    (Optional)
    set_public_ptr bool
    (Optional)
    type str
    Output only. Type of the resource.
    externalIp String
    (Optional)
    externalIpv6 String
    (Optional)
    externalIpv6PrefixLength Number
    (Optional)
    name String
    Required. The resource name of the backup instance.
    networkTier String
    Possible values: ["NETWORK_TIER_UNSPECIFIED", "PREMIUM", "STANDARD"]
    publicPtrDomainName String
    (Optional)
    setPublicPtr Boolean
    (Optional)
    type String
    Output only. Type of the resource.

    RestoreWorkloadComputeInstanceRestorePropertiesNetworkPerformanceConfig, RestoreWorkloadComputeInstanceRestorePropertiesNetworkPerformanceConfigArgs

    TotalEgressBandwidthTier string
    Possible values are: TIER_UNSPECIFIED, DEFAULT, TIER_1.
    TotalEgressBandwidthTier string
    Possible values are: TIER_UNSPECIFIED, DEFAULT, TIER_1.
    totalEgressBandwidthTier String
    Possible values are: TIER_UNSPECIFIED, DEFAULT, TIER_1.
    totalEgressBandwidthTier string
    Possible values are: TIER_UNSPECIFIED, DEFAULT, TIER_1.
    total_egress_bandwidth_tier str
    Possible values are: TIER_UNSPECIFIED, DEFAULT, TIER_1.
    totalEgressBandwidthTier String
    Possible values are: TIER_UNSPECIFIED, DEFAULT, TIER_1.

    RestoreWorkloadComputeInstanceRestorePropertiesParams, RestoreWorkloadComputeInstanceRestorePropertiesParamsArgs

    resourceManagerTags List<Property Map>
    Structure is documented below.

    RestoreWorkloadComputeInstanceRestorePropertiesParamsResourceManagerTag, RestoreWorkloadComputeInstanceRestorePropertiesParamsResourceManagerTagArgs

    Key string
    The identifier for this object. Format specified above.
    Value string
    (Optional)
    Key string
    The identifier for this object. Format specified above.
    Value string
    (Optional)
    key String
    The identifier for this object. Format specified above.
    value String
    (Optional)
    key string
    The identifier for this object. Format specified above.
    value string
    (Optional)
    key str
    The identifier for this object. Format specified above.
    value str
    (Optional)
    key String
    The identifier for this object. Format specified above.
    value String
    (Optional)

    RestoreWorkloadComputeInstanceRestorePropertiesScheduling, RestoreWorkloadComputeInstanceRestorePropertiesSchedulingArgs

    AutomaticRestart bool
    (Optional)
    InstanceTerminationAction string
    Possible values are: INSTANCE_TERMINATION_ACTION_UNSPECIFIED, DELETE, STOP.
    LocalSsdRecoveryTimeout RestoreWorkloadComputeInstanceRestorePropertiesSchedulingLocalSsdRecoveryTimeout
    A nested object resource. Structure is documented below.
    MaxRunDuration RestoreWorkloadComputeInstanceRestorePropertiesSchedulingMaxRunDuration
    A nested object resource. Structure is documented below.
    MinNodeCpus int
    (Optional)
    NodeAffinities List<RestoreWorkloadComputeInstanceRestorePropertiesSchedulingNodeAffinity>
    Structure is documented below.
    OnHostMaintenance string
    Possible values are: ON_HOST_MAINTENANCE_UNSPECIFIED, TERMINATE, MIGRATE.
    Preemptible bool
    (Optional)
    ProvisioningModel string
    Possible values are: PROVISIONING_MODEL_UNSPECIFIED, STANDARD, SPOT.
    TerminationTime string
    (Optional)
    AutomaticRestart bool
    (Optional)
    InstanceTerminationAction string
    Possible values are: INSTANCE_TERMINATION_ACTION_UNSPECIFIED, DELETE, STOP.
    LocalSsdRecoveryTimeout RestoreWorkloadComputeInstanceRestorePropertiesSchedulingLocalSsdRecoveryTimeout
    A nested object resource. Structure is documented below.
    MaxRunDuration RestoreWorkloadComputeInstanceRestorePropertiesSchedulingMaxRunDuration
    A nested object resource. Structure is documented below.
    MinNodeCpus int
    (Optional)
    NodeAffinities []RestoreWorkloadComputeInstanceRestorePropertiesSchedulingNodeAffinity
    Structure is documented below.
    OnHostMaintenance string
    Possible values are: ON_HOST_MAINTENANCE_UNSPECIFIED, TERMINATE, MIGRATE.
    Preemptible bool
    (Optional)
    ProvisioningModel string
    Possible values are: PROVISIONING_MODEL_UNSPECIFIED, STANDARD, SPOT.
    TerminationTime string
    (Optional)
    automaticRestart Boolean
    (Optional)
    instanceTerminationAction String
    Possible values are: INSTANCE_TERMINATION_ACTION_UNSPECIFIED, DELETE, STOP.
    localSsdRecoveryTimeout RestoreWorkloadComputeInstanceRestorePropertiesSchedulingLocalSsdRecoveryTimeout
    A nested object resource. Structure is documented below.
    maxRunDuration RestoreWorkloadComputeInstanceRestorePropertiesSchedulingMaxRunDuration
    A nested object resource. Structure is documented below.
    minNodeCpus Integer
    (Optional)
    nodeAffinities List<RestoreWorkloadComputeInstanceRestorePropertiesSchedulingNodeAffinity>
    Structure is documented below.
    onHostMaintenance String
    Possible values are: ON_HOST_MAINTENANCE_UNSPECIFIED, TERMINATE, MIGRATE.
    preemptible Boolean
    (Optional)
    provisioningModel String
    Possible values are: PROVISIONING_MODEL_UNSPECIFIED, STANDARD, SPOT.
    terminationTime String
    (Optional)
    automaticRestart boolean
    (Optional)
    instanceTerminationAction string
    Possible values are: INSTANCE_TERMINATION_ACTION_UNSPECIFIED, DELETE, STOP.
    localSsdRecoveryTimeout RestoreWorkloadComputeInstanceRestorePropertiesSchedulingLocalSsdRecoveryTimeout
    A nested object resource. Structure is documented below.
    maxRunDuration RestoreWorkloadComputeInstanceRestorePropertiesSchedulingMaxRunDuration
    A nested object resource. Structure is documented below.
    minNodeCpus number
    (Optional)
    nodeAffinities RestoreWorkloadComputeInstanceRestorePropertiesSchedulingNodeAffinity[]
    Structure is documented below.
    onHostMaintenance string
    Possible values are: ON_HOST_MAINTENANCE_UNSPECIFIED, TERMINATE, MIGRATE.
    preemptible boolean
    (Optional)
    provisioningModel string
    Possible values are: PROVISIONING_MODEL_UNSPECIFIED, STANDARD, SPOT.
    terminationTime string
    (Optional)
    automatic_restart bool
    (Optional)
    instance_termination_action str
    Possible values are: INSTANCE_TERMINATION_ACTION_UNSPECIFIED, DELETE, STOP.
    local_ssd_recovery_timeout RestoreWorkloadComputeInstanceRestorePropertiesSchedulingLocalSsdRecoveryTimeout
    A nested object resource. Structure is documented below.
    max_run_duration RestoreWorkloadComputeInstanceRestorePropertiesSchedulingMaxRunDuration
    A nested object resource. Structure is documented below.
    min_node_cpus int
    (Optional)
    node_affinities Sequence[RestoreWorkloadComputeInstanceRestorePropertiesSchedulingNodeAffinity]
    Structure is documented below.
    on_host_maintenance str
    Possible values are: ON_HOST_MAINTENANCE_UNSPECIFIED, TERMINATE, MIGRATE.
    preemptible bool
    (Optional)
    provisioning_model str
    Possible values are: PROVISIONING_MODEL_UNSPECIFIED, STANDARD, SPOT.
    termination_time str
    (Optional)
    automaticRestart Boolean
    (Optional)
    instanceTerminationAction String
    Possible values are: INSTANCE_TERMINATION_ACTION_UNSPECIFIED, DELETE, STOP.
    localSsdRecoveryTimeout Property Map
    A nested object resource. Structure is documented below.
    maxRunDuration Property Map
    A nested object resource. Structure is documented below.
    minNodeCpus Number
    (Optional)
    nodeAffinities List<Property Map>
    Structure is documented below.
    onHostMaintenance String
    Possible values are: ON_HOST_MAINTENANCE_UNSPECIFIED, TERMINATE, MIGRATE.
    preemptible Boolean
    (Optional)
    provisioningModel String
    Possible values are: PROVISIONING_MODEL_UNSPECIFIED, STANDARD, SPOT.
    terminationTime String
    (Optional)

    RestoreWorkloadComputeInstanceRestorePropertiesSchedulingLocalSsdRecoveryTimeout, RestoreWorkloadComputeInstanceRestorePropertiesSchedulingLocalSsdRecoveryTimeoutArgs

    Nanos int
    (Optional)
    Seconds int
    (Optional)
    Nanos int
    (Optional)
    Seconds int
    (Optional)
    nanos Integer
    (Optional)
    seconds Integer
    (Optional)
    nanos number
    (Optional)
    seconds number
    (Optional)
    nanos int
    (Optional)
    seconds int
    (Optional)
    nanos Number
    (Optional)
    seconds Number
    (Optional)

    RestoreWorkloadComputeInstanceRestorePropertiesSchedulingMaxRunDuration, RestoreWorkloadComputeInstanceRestorePropertiesSchedulingMaxRunDurationArgs

    Nanos int
    (Optional)
    Seconds int
    (Optional)
    Nanos int
    (Optional)
    Seconds int
    (Optional)
    nanos Integer
    (Optional)
    seconds Integer
    (Optional)
    nanos number
    (Optional)
    seconds number
    (Optional)
    nanos int
    (Optional)
    seconds int
    (Optional)
    nanos Number
    (Optional)
    seconds Number
    (Optional)

    RestoreWorkloadComputeInstanceRestorePropertiesSchedulingNodeAffinity, RestoreWorkloadComputeInstanceRestorePropertiesSchedulingNodeAffinityArgs

    Key string
    (Optional)
    Operator string
    Possible values are: OPERATOR_UNSPECIFIED, IN, NOT_IN.
    Values List<string>
    (Optional)
    Key string
    (Optional)
    Operator string
    Possible values are: OPERATOR_UNSPECIFIED, IN, NOT_IN.
    Values []string
    (Optional)
    key String
    (Optional)
    operator String
    Possible values are: OPERATOR_UNSPECIFIED, IN, NOT_IN.
    values List<String>
    (Optional)
    key string
    (Optional)
    operator string
    Possible values are: OPERATOR_UNSPECIFIED, IN, NOT_IN.
    values string[]
    (Optional)
    key str
    (Optional)
    operator str
    Possible values are: OPERATOR_UNSPECIFIED, IN, NOT_IN.
    values Sequence[str]
    (Optional)
    key String
    (Optional)
    operator String
    Possible values are: OPERATOR_UNSPECIFIED, IN, NOT_IN.
    values List<String>
    (Optional)

    RestoreWorkloadComputeInstanceRestorePropertiesServiceAccount, RestoreWorkloadComputeInstanceRestorePropertiesServiceAccountArgs

    Email string
    (Optional)
    Scopes List<string>
    (Optional)
    Email string
    (Optional)
    Scopes []string
    (Optional)
    email String
    (Optional)
    scopes List<String>
    (Optional)
    email string
    (Optional)
    scopes string[]
    (Optional)
    email str
    (Optional)
    scopes Sequence[str]
    (Optional)
    email String
    (Optional)
    scopes List<String>
    (Optional)

    RestoreWorkloadComputeInstanceRestorePropertiesShieldedInstanceConfig, RestoreWorkloadComputeInstanceRestorePropertiesShieldedInstanceConfigArgs

    EnableIntegrityMonitoring bool
    (Optional)
    EnableSecureBoot bool
    (Optional)
    EnableVtpm bool
    (Optional)
    EnableIntegrityMonitoring bool
    (Optional)
    EnableSecureBoot bool
    (Optional)
    EnableVtpm bool
    (Optional)
    enableIntegrityMonitoring Boolean
    (Optional)
    enableSecureBoot Boolean
    (Optional)
    enableVtpm Boolean
    (Optional)
    enableIntegrityMonitoring boolean
    (Optional)
    enableSecureBoot boolean
    (Optional)
    enableVtpm boolean
    (Optional)
    enable_integrity_monitoring bool
    (Optional)
    enable_secure_boot bool
    (Optional)
    enable_vtpm bool
    (Optional)
    enableIntegrityMonitoring Boolean
    (Optional)
    enableSecureBoot Boolean
    (Optional)
    enableVtpm Boolean
    (Optional)

    RestoreWorkloadComputeInstanceRestorePropertiesTags, RestoreWorkloadComputeInstanceRestorePropertiesTagsArgs

    Items List<string>
    (Optional)
    Items []string
    (Optional)
    items List<String>
    (Optional)
    items string[]
    (Optional)
    items Sequence[str]
    (Optional)
    items List<String>
    (Optional)

    RestoreWorkloadComputeInstanceTargetEnvironment, RestoreWorkloadComputeInstanceTargetEnvironmentArgs

    Project string
    Required. Target project for the Compute Engine instance.
    Zone string
    Required. The zone of the Compute Engine instance.
    Project string
    Required. Target project for the Compute Engine instance.
    Zone string
    Required. The zone of the Compute Engine instance.
    project String
    Required. Target project for the Compute Engine instance.
    zone String
    Required. The zone of the Compute Engine instance.
    project string
    Required. Target project for the Compute Engine instance.
    zone string
    Required. The zone of the Compute Engine instance.
    project str
    Required. Target project for the Compute Engine instance.
    zone str
    Required. The zone of the Compute Engine instance.
    project String
    Required. Target project for the Compute Engine instance.
    zone String
    Required. The zone of the Compute Engine instance.

    RestoreWorkloadDiskRestoreProperties, RestoreWorkloadDiskRestorePropertiesArgs

    Name string
    Required. Name of the disk.
    SizeGb int
    Required. The size of the disk in GB.
    Type string
    Required. URL of the disk type resource describing which disk type to use.
    AccessMode string
    Optional. The access mode of the disk. Possible values are: READ_WRITE_SINGLE, READ_WRITE_MANY, READ_ONLY_MANY.
    Architecture string
    Optional. The architecture of the source disk. Possible values are: ARCHITECTURE_UNSPECIFIED, X86_64, ARM64.
    Description string
    Optional. An optional description of this resource.
    DiskEncryptionKey RestoreWorkloadDiskRestorePropertiesDiskEncryptionKey
    Optional. Encrypts the disk using a customer-supplied encryption key. Structure is documented below.
    EnableConfidentialCompute bool
    Optional. Indicates whether this disk is using confidential compute mode.
    GuestOsFeatures List<RestoreWorkloadDiskRestorePropertiesGuestOsFeature>
    Optional. A list of features to enable in the guest operating system. Structure is documented below.
    Labels List<RestoreWorkloadDiskRestorePropertiesLabel>
    Optional. Labels to apply to this disk. Structure is documented below.
    Licenses List<string>
    Optional. A list of publicly available licenses that are applicable to this backup.
    PhysicalBlockSizeBytes int
    Optional. Physical block size of the persistent disk, in bytes.
    ProvisionedIops int
    Optional. Indicates how many IOPS to provision for the disk.
    ProvisionedThroughput int
    Optional. Indicates how much throughput to provision for the disk.
    ResourceManagerTags List<RestoreWorkloadDiskRestorePropertiesResourceManagerTag>
    Optional. Resource manager tags to be bound to the disk. Structure is documented below.
    ResourcePolicies List<string>
    Optional. Resource policies applied to this disk.
    StoragePool string
    Optional. The storage pool in which the new disk is created.
    Name string
    Required. Name of the disk.
    SizeGb int
    Required. The size of the disk in GB.
    Type string
    Required. URL of the disk type resource describing which disk type to use.
    AccessMode string
    Optional. The access mode of the disk. Possible values are: READ_WRITE_SINGLE, READ_WRITE_MANY, READ_ONLY_MANY.
    Architecture string
    Optional. The architecture of the source disk. Possible values are: ARCHITECTURE_UNSPECIFIED, X86_64, ARM64.
    Description string
    Optional. An optional description of this resource.
    DiskEncryptionKey RestoreWorkloadDiskRestorePropertiesDiskEncryptionKey
    Optional. Encrypts the disk using a customer-supplied encryption key. Structure is documented below.
    EnableConfidentialCompute bool
    Optional. Indicates whether this disk is using confidential compute mode.
    GuestOsFeatures []RestoreWorkloadDiskRestorePropertiesGuestOsFeature
    Optional. A list of features to enable in the guest operating system. Structure is documented below.
    Labels []RestoreWorkloadDiskRestorePropertiesLabel
    Optional. Labels to apply to this disk. Structure is documented below.
    Licenses []string
    Optional. A list of publicly available licenses that are applicable to this backup.
    PhysicalBlockSizeBytes int
    Optional. Physical block size of the persistent disk, in bytes.
    ProvisionedIops int
    Optional. Indicates how many IOPS to provision for the disk.
    ProvisionedThroughput int
    Optional. Indicates how much throughput to provision for the disk.
    ResourceManagerTags []RestoreWorkloadDiskRestorePropertiesResourceManagerTag
    Optional. Resource manager tags to be bound to the disk. Structure is documented below.
    ResourcePolicies []string
    Optional. Resource policies applied to this disk.
    StoragePool string
    Optional. The storage pool in which the new disk is created.
    name String
    Required. Name of the disk.
    sizeGb Integer
    Required. The size of the disk in GB.
    type String
    Required. URL of the disk type resource describing which disk type to use.
    accessMode String
    Optional. The access mode of the disk. Possible values are: READ_WRITE_SINGLE, READ_WRITE_MANY, READ_ONLY_MANY.
    architecture String
    Optional. The architecture of the source disk. Possible values are: ARCHITECTURE_UNSPECIFIED, X86_64, ARM64.
    description String
    Optional. An optional description of this resource.
    diskEncryptionKey RestoreWorkloadDiskRestorePropertiesDiskEncryptionKey
    Optional. Encrypts the disk using a customer-supplied encryption key. Structure is documented below.
    enableConfidentialCompute Boolean
    Optional. Indicates whether this disk is using confidential compute mode.
    guestOsFeatures List<RestoreWorkloadDiskRestorePropertiesGuestOsFeature>
    Optional. A list of features to enable in the guest operating system. Structure is documented below.
    labels List<RestoreWorkloadDiskRestorePropertiesLabel>
    Optional. Labels to apply to this disk. Structure is documented below.
    licenses List<String>
    Optional. A list of publicly available licenses that are applicable to this backup.
    physicalBlockSizeBytes Integer
    Optional. Physical block size of the persistent disk, in bytes.
    provisionedIops Integer
    Optional. Indicates how many IOPS to provision for the disk.
    provisionedThroughput Integer
    Optional. Indicates how much throughput to provision for the disk.
    resourceManagerTags List<RestoreWorkloadDiskRestorePropertiesResourceManagerTag>
    Optional. Resource manager tags to be bound to the disk. Structure is documented below.
    resourcePolicies List<String>
    Optional. Resource policies applied to this disk.
    storagePool String
    Optional. The storage pool in which the new disk is created.
    name string
    Required. Name of the disk.
    sizeGb number
    Required. The size of the disk in GB.
    type string
    Required. URL of the disk type resource describing which disk type to use.
    accessMode string
    Optional. The access mode of the disk. Possible values are: READ_WRITE_SINGLE, READ_WRITE_MANY, READ_ONLY_MANY.
    architecture string
    Optional. The architecture of the source disk. Possible values are: ARCHITECTURE_UNSPECIFIED, X86_64, ARM64.
    description string
    Optional. An optional description of this resource.
    diskEncryptionKey RestoreWorkloadDiskRestorePropertiesDiskEncryptionKey
    Optional. Encrypts the disk using a customer-supplied encryption key. Structure is documented below.
    enableConfidentialCompute boolean
    Optional. Indicates whether this disk is using confidential compute mode.
    guestOsFeatures RestoreWorkloadDiskRestorePropertiesGuestOsFeature[]
    Optional. A list of features to enable in the guest operating system. Structure is documented below.
    labels RestoreWorkloadDiskRestorePropertiesLabel[]
    Optional. Labels to apply to this disk. Structure is documented below.
    licenses string[]
    Optional. A list of publicly available licenses that are applicable to this backup.
    physicalBlockSizeBytes number
    Optional. Physical block size of the persistent disk, in bytes.
    provisionedIops number
    Optional. Indicates how many IOPS to provision for the disk.
    provisionedThroughput number
    Optional. Indicates how much throughput to provision for the disk.
    resourceManagerTags RestoreWorkloadDiskRestorePropertiesResourceManagerTag[]
    Optional. Resource manager tags to be bound to the disk. Structure is documented below.
    resourcePolicies string[]
    Optional. Resource policies applied to this disk.
    storagePool string
    Optional. The storage pool in which the new disk is created.
    name str
    Required. Name of the disk.
    size_gb int
    Required. The size of the disk in GB.
    type str
    Required. URL of the disk type resource describing which disk type to use.
    access_mode str
    Optional. The access mode of the disk. Possible values are: READ_WRITE_SINGLE, READ_WRITE_MANY, READ_ONLY_MANY.
    architecture str
    Optional. The architecture of the source disk. Possible values are: ARCHITECTURE_UNSPECIFIED, X86_64, ARM64.
    description str
    Optional. An optional description of this resource.
    disk_encryption_key RestoreWorkloadDiskRestorePropertiesDiskEncryptionKey
    Optional. Encrypts the disk using a customer-supplied encryption key. Structure is documented below.
    enable_confidential_compute bool
    Optional. Indicates whether this disk is using confidential compute mode.
    guest_os_features Sequence[RestoreWorkloadDiskRestorePropertiesGuestOsFeature]
    Optional. A list of features to enable in the guest operating system. Structure is documented below.
    labels Sequence[RestoreWorkloadDiskRestorePropertiesLabel]
    Optional. Labels to apply to this disk. Structure is documented below.
    licenses Sequence[str]
    Optional. A list of publicly available licenses that are applicable to this backup.
    physical_block_size_bytes int
    Optional. Physical block size of the persistent disk, in bytes.
    provisioned_iops int
    Optional. Indicates how many IOPS to provision for the disk.
    provisioned_throughput int
    Optional. Indicates how much throughput to provision for the disk.
    resource_manager_tags Sequence[RestoreWorkloadDiskRestorePropertiesResourceManagerTag]
    Optional. Resource manager tags to be bound to the disk. Structure is documented below.
    resource_policies Sequence[str]
    Optional. Resource policies applied to this disk.
    storage_pool str
    Optional. The storage pool in which the new disk is created.
    name String
    Required. Name of the disk.
    sizeGb Number
    Required. The size of the disk in GB.
    type String
    Required. URL of the disk type resource describing which disk type to use.
    accessMode String
    Optional. The access mode of the disk. Possible values are: READ_WRITE_SINGLE, READ_WRITE_MANY, READ_ONLY_MANY.
    architecture String
    Optional. The architecture of the source disk. Possible values are: ARCHITECTURE_UNSPECIFIED, X86_64, ARM64.
    description String
    Optional. An optional description of this resource.
    diskEncryptionKey Property Map
    Optional. Encrypts the disk using a customer-supplied encryption key. Structure is documented below.
    enableConfidentialCompute Boolean
    Optional. Indicates whether this disk is using confidential compute mode.
    guestOsFeatures List<Property Map>
    Optional. A list of features to enable in the guest operating system. Structure is documented below.
    labels List<Property Map>
    Optional. Labels to apply to this disk. Structure is documented below.
    licenses List<String>
    Optional. A list of publicly available licenses that are applicable to this backup.
    physicalBlockSizeBytes Number
    Optional. Physical block size of the persistent disk, in bytes.
    provisionedIops Number
    Optional. Indicates how many IOPS to provision for the disk.
    provisionedThroughput Number
    Optional. Indicates how much throughput to provision for the disk.
    resourceManagerTags List<Property Map>
    Optional. Resource manager tags to be bound to the disk. Structure is documented below.
    resourcePolicies List<String>
    Optional. Resource policies applied to this disk.
    storagePool String
    Optional. The storage pool in which the new disk is created.

    RestoreWorkloadDiskRestorePropertiesDiskEncryptionKey, RestoreWorkloadDiskRestorePropertiesDiskEncryptionKeyArgs

    KmsKeyName string
    (Optional)
    KmsKeyServiceAccount string
    (Optional)
    RawKey string
    (Optional)
    RsaEncryptedKey string
    (Optional)
    KmsKeyName string
    (Optional)
    KmsKeyServiceAccount string
    (Optional)
    RawKey string
    (Optional)
    RsaEncryptedKey string
    (Optional)
    kmsKeyName String
    (Optional)
    kmsKeyServiceAccount String
    (Optional)
    rawKey String
    (Optional)
    rsaEncryptedKey String
    (Optional)
    kmsKeyName string
    (Optional)
    kmsKeyServiceAccount string
    (Optional)
    rawKey string
    (Optional)
    rsaEncryptedKey string
    (Optional)
    kms_key_name str
    (Optional)
    kms_key_service_account str
    (Optional)
    raw_key str
    (Optional)
    rsa_encrypted_key str
    (Optional)
    kmsKeyName String
    (Optional)
    kmsKeyServiceAccount String
    (Optional)
    rawKey String
    (Optional)
    rsaEncryptedKey String
    (Optional)

    RestoreWorkloadDiskRestorePropertiesGuestOsFeature, RestoreWorkloadDiskRestorePropertiesGuestOsFeatureArgs

    Type string
    Possible values are: FEATURE_TYPE_UNSPECIFIED, VIRTIO_SCSI_MULTIQUEUE, WINDOWS, MULTI_IP_SUBNET, UEFI_COMPATIBLE, SECURE_BOOT, GVNIC, SEV_CAPABLE, BARE_METAL_LINUX_COMPATIBLE, SUSPEND_RESUME_COMPATIBLE, SEV_LIVE_MIGRATABLE, SEV_SNP_CAPABLE, TDX_CAPABLE, IDPF, SEV_LIVE_MIGRATABLE_V2.
    Type string
    Possible values are: FEATURE_TYPE_UNSPECIFIED, VIRTIO_SCSI_MULTIQUEUE, WINDOWS, MULTI_IP_SUBNET, UEFI_COMPATIBLE, SECURE_BOOT, GVNIC, SEV_CAPABLE, BARE_METAL_LINUX_COMPATIBLE, SUSPEND_RESUME_COMPATIBLE, SEV_LIVE_MIGRATABLE, SEV_SNP_CAPABLE, TDX_CAPABLE, IDPF, SEV_LIVE_MIGRATABLE_V2.
    type String
    Possible values are: FEATURE_TYPE_UNSPECIFIED, VIRTIO_SCSI_MULTIQUEUE, WINDOWS, MULTI_IP_SUBNET, UEFI_COMPATIBLE, SECURE_BOOT, GVNIC, SEV_CAPABLE, BARE_METAL_LINUX_COMPATIBLE, SUSPEND_RESUME_COMPATIBLE, SEV_LIVE_MIGRATABLE, SEV_SNP_CAPABLE, TDX_CAPABLE, IDPF, SEV_LIVE_MIGRATABLE_V2.
    type string
    Possible values are: FEATURE_TYPE_UNSPECIFIED, VIRTIO_SCSI_MULTIQUEUE, WINDOWS, MULTI_IP_SUBNET, UEFI_COMPATIBLE, SECURE_BOOT, GVNIC, SEV_CAPABLE, BARE_METAL_LINUX_COMPATIBLE, SUSPEND_RESUME_COMPATIBLE, SEV_LIVE_MIGRATABLE, SEV_SNP_CAPABLE, TDX_CAPABLE, IDPF, SEV_LIVE_MIGRATABLE_V2.
    type str
    Possible values are: FEATURE_TYPE_UNSPECIFIED, VIRTIO_SCSI_MULTIQUEUE, WINDOWS, MULTI_IP_SUBNET, UEFI_COMPATIBLE, SECURE_BOOT, GVNIC, SEV_CAPABLE, BARE_METAL_LINUX_COMPATIBLE, SUSPEND_RESUME_COMPATIBLE, SEV_LIVE_MIGRATABLE, SEV_SNP_CAPABLE, TDX_CAPABLE, IDPF, SEV_LIVE_MIGRATABLE_V2.
    type String
    Possible values are: FEATURE_TYPE_UNSPECIFIED, VIRTIO_SCSI_MULTIQUEUE, WINDOWS, MULTI_IP_SUBNET, UEFI_COMPATIBLE, SECURE_BOOT, GVNIC, SEV_CAPABLE, BARE_METAL_LINUX_COMPATIBLE, SUSPEND_RESUME_COMPATIBLE, SEV_LIVE_MIGRATABLE, SEV_SNP_CAPABLE, TDX_CAPABLE, IDPF, SEV_LIVE_MIGRATABLE_V2.

    RestoreWorkloadDiskRestorePropertiesLabel, RestoreWorkloadDiskRestorePropertiesLabelArgs

    Key string
    The identifier for this object. Format specified above.
    Value string
    (Optional)
    Key string
    The identifier for this object. Format specified above.
    Value string
    (Optional)
    key String
    The identifier for this object. Format specified above.
    value String
    (Optional)
    key string
    The identifier for this object. Format specified above.
    value string
    (Optional)
    key str
    The identifier for this object. Format specified above.
    value str
    (Optional)
    key String
    The identifier for this object. Format specified above.
    value String
    (Optional)

    RestoreWorkloadDiskRestorePropertiesResourceManagerTag, RestoreWorkloadDiskRestorePropertiesResourceManagerTagArgs

    Key string
    The identifier for this object. Format specified above.
    Value string
    (Optional)
    Key string
    The identifier for this object. Format specified above.
    Value string
    (Optional)
    key String
    The identifier for this object. Format specified above.
    value String
    (Optional)
    key string
    The identifier for this object. Format specified above.
    value string
    (Optional)
    key str
    The identifier for this object. Format specified above.
    value str
    (Optional)
    key String
    The identifier for this object. Format specified above.
    value String
    (Optional)

    RestoreWorkloadDiskTargetEnvironment, RestoreWorkloadDiskTargetEnvironmentArgs

    Project string
    Required. Target project for the disk.
    Zone string
    Required. Target zone for the disk.
    Project string
    Required. Target project for the disk.
    Zone string
    Required. Target zone for the disk.
    project String
    Required. Target project for the disk.
    zone String
    Required. Target zone for the disk.
    project string
    Required. Target project for the disk.
    zone string
    Required. Target zone for the disk.
    project str
    Required. Target project for the disk.
    zone str
    Required. Target zone for the disk.
    project String
    Required. Target project for the disk.
    zone String
    Required. Target zone for the disk.

    RestoreWorkloadRegionDiskTargetEnvironment, RestoreWorkloadRegionDiskTargetEnvironmentArgs

    Project string
    Required. Target project for the disk.
    Region string
    Required. Target region for the disk.
    ReplicaZones List<string>
    Required. Target URLs of the replica zones for the disk.
    Project string
    Required. Target project for the disk.
    Region string
    Required. Target region for the disk.
    ReplicaZones []string
    Required. Target URLs of the replica zones for the disk.
    project String
    Required. Target project for the disk.
    region String
    Required. Target region for the disk.
    replicaZones List<String>
    Required. Target URLs of the replica zones for the disk.
    project string
    Required. Target project for the disk.
    region string
    Required. Target region for the disk.
    replicaZones string[]
    Required. Target URLs of the replica zones for the disk.
    project str
    Required. Target project for the disk.
    region str
    Required. Target region for the disk.
    replica_zones Sequence[str]
    Required. Target URLs of the replica zones for the disk.
    project String
    Required. Target project for the disk.
    region String
    Required. Target region for the disk.
    replicaZones List<String>
    Required. Target URLs of the replica zones for the disk.

    RestoreWorkloadTargetResource, RestoreWorkloadTargetResourceArgs

    GcpResource RestoreWorkloadTargetResourceGcpResource
    Output only. Details of the native Google Cloud resource created as part of restore. Structure is documented below.
    GcpResource RestoreWorkloadTargetResourceGcpResource
    Output only. Details of the native Google Cloud resource created as part of restore. Structure is documented below.
    gcpResource RestoreWorkloadTargetResourceGcpResource
    Output only. Details of the native Google Cloud resource created as part of restore. Structure is documented below.
    gcpResource RestoreWorkloadTargetResourceGcpResource
    Output only. Details of the native Google Cloud resource created as part of restore. Structure is documented below.
    gcp_resource RestoreWorkloadTargetResourceGcpResource
    Output only. Details of the native Google Cloud resource created as part of restore. Structure is documented below.
    gcpResource Property Map
    Output only. Details of the native Google Cloud resource created as part of restore. Structure is documented below.

    RestoreWorkloadTargetResourceGcpResource, RestoreWorkloadTargetResourceGcpResourceArgs

    GcpResourcename string
    Output only. Name of the Google Cloud resource.
    Location string
    Required. The location for the backup vault.
    Type string
    Output only. Type of the resource.
    GcpResourcename string
    Output only. Name of the Google Cloud resource.
    Location string
    Required. The location for the backup vault.
    Type string
    Output only. Type of the resource.
    gcpResourcename String
    Output only. Name of the Google Cloud resource.
    location String
    Required. The location for the backup vault.
    type String
    Output only. Type of the resource.
    gcpResourcename string
    Output only. Name of the Google Cloud resource.
    location string
    Required. The location for the backup vault.
    type string
    Output only. Type of the resource.
    gcp_resourcename str
    Output only. Name of the Google Cloud resource.
    location str
    Required. The location for the backup vault.
    type str
    Output only. Type of the resource.
    gcpResourcename String
    Output only. Name of the Google Cloud resource.
    location String
    Required. The location for the backup vault.
    type String
    Output only. Type of the resource.

    Import

    RestoreWorkload can be imported using any of these accepted formats:

    • /{{name}}

    • {{name}}

    When using the pulumi import command, RestoreWorkload can be imported using one of the formats above. For example:

    $ pulumi import gcp:backupdisasterrecovery/restoreWorkload:RestoreWorkload default /{{name}}
    
    $ pulumi import gcp:backupdisasterrecovery/restoreWorkload:RestoreWorkload default {{name}}
    

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

    Package Details

    Repository
    Google Cloud (GCP) Classic pulumi/pulumi-gcp
    License
    Apache-2.0
    Notes
    This Pulumi package is based on the google-beta Terraform Provider.
    gcp logo
    Google Cloud v9.10.0 published on Friday, Jan 16, 2026 by Pulumi
      Meet Neo: Your AI Platform Teammate