ManagedInstanceLongTermRetentionPolicyArgs

data class ManagedInstanceLongTermRetentionPolicyArgs(val backupStorageAccessTier: Output<Either<String, BackupStorageAccessTier>>? = null, val databaseName: Output<String>? = null, val managedInstanceName: Output<String>? = null, val monthlyRetention: Output<String>? = null, val policyName: Output<String>? = null, val resourceGroupName: Output<String>? = null, val weekOfYear: Output<Int>? = null, val weeklyRetention: Output<String>? = null, val yearlyRetention: Output<String>? = null) : ConvertibleToJava<ManagedInstanceLongTermRetentionPolicyArgs>

A long term retention policy. Uses Azure REST API version 2023-08-01. In version 2.x of the Azure Native provider, it used API version 2022-11-01-preview. Other available API versions: 2022-05-01-preview, 2022-08-01-preview, 2022-11-01-preview, 2023-02-01-preview, 2023-05-01-preview, 2023-08-01-preview, 2024-05-01-preview. These can be accessed by generating a local SDK package using the CLI command pulumi package add azure-native sql [ApiVersion]. See the ../../../version-guide/#accessing-any-api-version-via-local-packages for details.

Example Usage

Create or update the LTR policy for the managed database.

using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AzureNative = Pulumi.AzureNative;
return await Deployment.RunAsync(() =>
{
var managedInstanceLongTermRetentionPolicy = new AzureNative.Sql.ManagedInstanceLongTermRetentionPolicy("managedInstanceLongTermRetentionPolicy", new()
{
BackupStorageAccessTier = AzureNative.Sql.BackupStorageAccessTier.Hot,
DatabaseName = "testDatabase",
ManagedInstanceName = "testInstance",
MonthlyRetention = "P1Y",
PolicyName = "default",
ResourceGroupName = "testResourceGroup",
WeekOfYear = 5,
WeeklyRetention = "P1M",
YearlyRetention = "P5Y",
});
});
package main
import (
sql "github.com/pulumi/pulumi-azure-native-sdk/sql/v2"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := sql.NewManagedInstanceLongTermRetentionPolicy(ctx, "managedInstanceLongTermRetentionPolicy", &sql.ManagedInstanceLongTermRetentionPolicyArgs{
BackupStorageAccessTier: pulumi.String(sql.BackupStorageAccessTierHot),
DatabaseName: pulumi.String("testDatabase"),
ManagedInstanceName: pulumi.String("testInstance"),
MonthlyRetention: pulumi.String("P1Y"),
PolicyName: pulumi.String("default"),
ResourceGroupName: pulumi.String("testResourceGroup"),
WeekOfYear: pulumi.Int(5),
WeeklyRetention: pulumi.String("P1M"),
YearlyRetention: pulumi.String("P5Y"),
})
if err != nil {
return err
}
return nil
})
}
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.azurenative.sql.ManagedInstanceLongTermRetentionPolicy;
import com.pulumi.azurenative.sql.ManagedInstanceLongTermRetentionPolicyArgs;
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 managedInstanceLongTermRetentionPolicy = new ManagedInstanceLongTermRetentionPolicy("managedInstanceLongTermRetentionPolicy", ManagedInstanceLongTermRetentionPolicyArgs.builder()
.backupStorageAccessTier("Hot")
.databaseName("testDatabase")
.managedInstanceName("testInstance")
.monthlyRetention("P1Y")
.policyName("default")
.resourceGroupName("testResourceGroup")
.weekOfYear(5)
.weeklyRetention("P1M")
.yearlyRetention("P5Y")
.build());
}
}

Import

An existing resource can be imported using its type token, name, and identifier, e.g.

$ pulumi import azure-native:sql:ManagedInstanceLongTermRetentionPolicy default /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/databases/{databaseName}/backupLongTermRetentionPolicies/{policyName}

Constructors

constructor(backupStorageAccessTier: Output<Either<String, BackupStorageAccessTier>>? = null, databaseName: Output<String>? = null, managedInstanceName: Output<String>? = null, monthlyRetention: Output<String>? = null, policyName: Output<String>? = null, resourceGroupName: Output<String>? = null, weekOfYear: Output<Int>? = null, weeklyRetention: Output<String>? = null, yearlyRetention: Output<String>? = null)

Properties

Link copied to clipboard

The BackupStorageAccessTier for the LTR backups

Link copied to clipboard
val databaseName: Output<String>? = null

The name of the database.

Link copied to clipboard
val managedInstanceName: Output<String>? = null

The name of the managed instance.

Link copied to clipboard
val monthlyRetention: Output<String>? = null

The monthly retention policy for an LTR backup in an ISO 8601 format.

Link copied to clipboard
val policyName: Output<String>? = null

The policy name. Should always be Default.

Link copied to clipboard
val resourceGroupName: Output<String>? = null

The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.

Link copied to clipboard
val weeklyRetention: Output<String>? = null

The weekly retention policy for an LTR backup in an ISO 8601 format.

Link copied to clipboard
val weekOfYear: Output<Int>? = null

The week of year to take the yearly backup in an ISO 8601 format.

Link copied to clipboard
val yearlyRetention: Output<String>? = null

The yearly retention policy for an LTR backup in an ISO 8601 format.

Functions

Link copied to clipboard
open override fun toJava(): ManagedInstanceLongTermRetentionPolicyArgs