Backup Instance
BackupInstance Resource Uses Azure REST API version 2023-01-01. In version 1.x of the Azure Native provider, it used API version 2021-01-01. Other available API versions: 2023-04-01-preview, 2023-05-01, 2023-06-01-preview, 2023-08-01-preview, 2023-11-01, 2023-12-01, 2024-02-01-preview, 2024-03-01, 2024-04-01, 2025-01-01, 2025-02-01.
Example Usage
Create BackupInstance
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AzureNative = Pulumi.AzureNative;
return await Deployment.RunAsync(() =>
{
var backupInstance = new AzureNative.DataProtection.BackupInstance("backupInstance", new()
{
BackupInstanceName = "testInstance1",
Properties = new AzureNative.DataProtection.Inputs.BackupInstanceArgs
{
DataSourceInfo = new AzureNative.DataProtection.Inputs.DatasourceArgs
{
DatasourceType = "Microsoft.DBforPostgreSQL/servers/databases",
ObjectType = "Datasource",
ResourceID = "/subscriptions/f75d8d8b-6735-4697-82e1-1a7a3ff0d5d4/resourceGroups/viveksipgtest/providers/Microsoft.DBforPostgreSQL/servers/viveksipgtest/databases/testdb",
ResourceLocation = "",
ResourceName = "testdb",
ResourceType = "Microsoft.DBforPostgreSQL/servers/databases",
ResourceUri = "",
},
DataSourceSetInfo = new AzureNative.DataProtection.Inputs.DatasourceSetArgs
{
DatasourceType = "Microsoft.DBforPostgreSQL/servers/databases",
ObjectType = "DatasourceSet",
ResourceID = "/subscriptions/f75d8d8b-6735-4697-82e1-1a7a3ff0d5d4/resourceGroups/viveksipgtest/providers/Microsoft.DBforPostgreSQL/servers/viveksipgtest",
ResourceLocation = "",
ResourceName = "viveksipgtest",
ResourceType = "Microsoft.DBforPostgreSQL/servers",
ResourceUri = "",
},
DatasourceAuthCredentials = new AzureNative.DataProtection.Inputs.SecretStoreBasedAuthCredentialsArgs
{
ObjectType = "SecretStoreBasedAuthCredentials",
SecretStoreResource = new AzureNative.DataProtection.Inputs.SecretStoreResourceArgs
{
SecretStoreType = AzureNative.DataProtection.SecretStoreType.AzureKeyVault,
Uri = "https://samplevault.vault.azure.net/secrets/credentials",
},
},
FriendlyName = "harshitbi2",
ObjectType = "BackupInstance",
PolicyInfo = new AzureNative.DataProtection.Inputs.PolicyInfoArgs
{
PolicyId = "/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/000pikumar/providers/Microsoft.DataProtection/Backupvaults/PratikPrivatePreviewVault1/backupPolicies/PratikPolicy1",
PolicyParameters = new AzureNative.DataProtection.Inputs.PolicyParametersArgs
{
DataStoreParametersList = new[]
{
new AzureNative.DataProtection.Inputs.AzureOperationalStoreParametersArgs
{
DataStoreType = AzureNative.DataProtection.DataStoreTypes.OperationalStore,
ObjectType = "AzureOperationalStoreParameters",
ResourceGroupId = "/subscriptions/f75d8d8b-6735-4697-82e1-1a7a3ff0d5d4/resourceGroups/viveksipgtest",
},
},
},
},
ValidationType = AzureNative.DataProtection.ValidationType.ShallowValidation,
},
ResourceGroupName = "000pikumar",
Tags =
{
{ "key1", "val1" },
},
VaultName = "PratikPrivatePreviewVault1",
});
});
Content copied to clipboard
package main
import (
dataprotection "github.com/pulumi/pulumi-azure-native-sdk/dataprotection/v2"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := dataprotection.NewBackupInstance(ctx, "backupInstance", &dataprotection.BackupInstanceArgs{
BackupInstanceName: pulumi.String("testInstance1"),
Properties: &dataprotection.BackupInstanceTypeArgs{
DataSourceInfo: &dataprotection.DatasourceArgs{
DatasourceType: pulumi.String("Microsoft.DBforPostgreSQL/servers/databases"),
ObjectType: pulumi.String("Datasource"),
ResourceID: pulumi.String("/subscriptions/f75d8d8b-6735-4697-82e1-1a7a3ff0d5d4/resourceGroups/viveksipgtest/providers/Microsoft.DBforPostgreSQL/servers/viveksipgtest/databases/testdb"),
ResourceLocation: pulumi.String(""),
ResourceName: pulumi.String("testdb"),
ResourceType: pulumi.String("Microsoft.DBforPostgreSQL/servers/databases"),
ResourceUri: pulumi.String(""),
},
DataSourceSetInfo: &dataprotection.DatasourceSetArgs{
DatasourceType: pulumi.String("Microsoft.DBforPostgreSQL/servers/databases"),
ObjectType: pulumi.String("DatasourceSet"),
ResourceID: pulumi.String("/subscriptions/f75d8d8b-6735-4697-82e1-1a7a3ff0d5d4/resourceGroups/viveksipgtest/providers/Microsoft.DBforPostgreSQL/servers/viveksipgtest"),
ResourceLocation: pulumi.String(""),
ResourceName: pulumi.String("viveksipgtest"),
ResourceType: pulumi.String("Microsoft.DBforPostgreSQL/servers"),
ResourceUri: pulumi.String(""),
},
DatasourceAuthCredentials: &dataprotection.SecretStoreBasedAuthCredentialsArgs{
ObjectType: pulumi.String("SecretStoreBasedAuthCredentials"),
SecretStoreResource: &dataprotection.SecretStoreResourceArgs{
SecretStoreType: pulumi.String(dataprotection.SecretStoreTypeAzureKeyVault),
Uri: pulumi.String("https://samplevault.vault.azure.net/secrets/credentials"),
},
},
FriendlyName: pulumi.String("harshitbi2"),
ObjectType: pulumi.String("BackupInstance"),
PolicyInfo: &dataprotection.PolicyInfoArgs{
PolicyId: pulumi.String("/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/000pikumar/providers/Microsoft.DataProtection/Backupvaults/PratikPrivatePreviewVault1/backupPolicies/PratikPolicy1"),
PolicyParameters: &dataprotection.PolicyParametersArgs{
DataStoreParametersList: dataprotection.AzureOperationalStoreParametersArray{
&dataprotection.AzureOperationalStoreParametersArgs{
DataStoreType: pulumi.String(dataprotection.DataStoreTypesOperationalStore),
ObjectType: pulumi.String("AzureOperationalStoreParameters"),
ResourceGroupId: pulumi.String("/subscriptions/f75d8d8b-6735-4697-82e1-1a7a3ff0d5d4/resourceGroups/viveksipgtest"),
},
},
},
},
ValidationType: pulumi.String(dataprotection.ValidationTypeShallowValidation),
},
ResourceGroupName: pulumi.String("000pikumar"),
Tags: pulumi.StringMap{
"key1": pulumi.String("val1"),
},
VaultName: pulumi.String("PratikPrivatePreviewVault1"),
})
if err != nil {
return err
}
return nil
})
}
Content copied to clipboard
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.azurenative.dataprotection.BackupInstance;
import com.pulumi.azurenative.dataprotection.BackupInstanceArgs;
import com.pulumi.azurenative.dataprotection.inputs.BackupInstanceArgs;
import com.pulumi.azurenative.dataprotection.inputs.DatasourceArgs;
import com.pulumi.azurenative.dataprotection.inputs.DatasourceSetArgs;
import com.pulumi.azurenative.dataprotection.inputs.SecretStoreBasedAuthCredentialsArgs;
import com.pulumi.azurenative.dataprotection.inputs.SecretStoreResourceArgs;
import com.pulumi.azurenative.dataprotection.inputs.PolicyInfoArgs;
import com.pulumi.azurenative.dataprotection.inputs.PolicyParametersArgs;
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 backupInstance = new BackupInstance("backupInstance", BackupInstanceArgs.builder()
.backupInstanceName("testInstance1")
.properties(BackupInstanceArgs.builder()
.dataSourceInfo(DatasourceArgs.builder()
.datasourceType("Microsoft.DBforPostgreSQL/servers/databases")
.objectType("Datasource")
.resourceID("/subscriptions/f75d8d8b-6735-4697-82e1-1a7a3ff0d5d4/resourceGroups/viveksipgtest/providers/Microsoft.DBforPostgreSQL/servers/viveksipgtest/databases/testdb")
.resourceLocation("")
.resourceName("testdb")
.resourceType("Microsoft.DBforPostgreSQL/servers/databases")
.resourceUri("")
.build())
.dataSourceSetInfo(DatasourceSetArgs.builder()
.datasourceType("Microsoft.DBforPostgreSQL/servers/databases")
.objectType("DatasourceSet")
.resourceID("/subscriptions/f75d8d8b-6735-4697-82e1-1a7a3ff0d5d4/resourceGroups/viveksipgtest/providers/Microsoft.DBforPostgreSQL/servers/viveksipgtest")
.resourceLocation("")
.resourceName("viveksipgtest")
.resourceType("Microsoft.DBforPostgreSQL/servers")
.resourceUri("")
.build())
.datasourceAuthCredentials(SecretStoreBasedAuthCredentialsArgs.builder()
.objectType("SecretStoreBasedAuthCredentials")
.secretStoreResource(SecretStoreResourceArgs.builder()
.secretStoreType("AzureKeyVault")
.uri("https://samplevault.vault.azure.net/secrets/credentials")
.build())
.build())
.friendlyName("harshitbi2")
.objectType("BackupInstance")
.policyInfo(PolicyInfoArgs.builder()
.policyId("/subscriptions/04cf684a-d41f-4550-9f70-7708a3a2283b/resourceGroups/000pikumar/providers/Microsoft.DataProtection/Backupvaults/PratikPrivatePreviewVault1/backupPolicies/PratikPolicy1")
.policyParameters(PolicyParametersArgs.builder()
.dataStoreParametersList(AzureOperationalStoreParametersArgs.builder()
.dataStoreType("OperationalStore")
.objectType("AzureOperationalStoreParameters")
.resourceGroupId("/subscriptions/f75d8d8b-6735-4697-82e1-1a7a3ff0d5d4/resourceGroups/viveksipgtest")
.build())
.build())
.build())
.validationType("ShallowValidation")
.build())
.resourceGroupName("000pikumar")
.tags(Map.of("key1", "val1"))
.vaultName("PratikPrivatePreviewVault1")
.build());
}
}
Content copied to clipboard
Import
An existing resource can be imported using its type token, name, and identifier, e.g.
$ pulumi import azure-native:dataprotection:BackupInstance harshitbi2 /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataProtection/backupVaults/{vaultName}/backupInstances/{backupInstanceName}
Content copied to clipboard