![JAR search and dependency download from the Maven repository](/logo.png)
com.pulumi.azurenative.dataprotection.kotlin.BackupInstance.kt Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of pulumi-azure-native-kotlin Show documentation
Show all versions of pulumi-azure-native-kotlin Show documentation
Build cloud applications and infrastructure by combining the safety and reliability of infrastructure as code with the power of the Kotlin programming language.
@file:Suppress("NAME_SHADOWING", "DEPRECATION")
package com.pulumi.azurenative.dataprotection.kotlin
import com.pulumi.azurenative.dataprotection.kotlin.outputs.BackupInstanceResponse
import com.pulumi.azurenative.dataprotection.kotlin.outputs.SystemDataResponse
import com.pulumi.core.Output
import com.pulumi.kotlin.KotlinCustomResource
import com.pulumi.kotlin.PulumiTagMarker
import com.pulumi.kotlin.ResourceMapper
import com.pulumi.kotlin.options.CustomResourceOptions
import com.pulumi.kotlin.options.CustomResourceOptionsBuilder
import com.pulumi.resources.Resource
import kotlin.Boolean
import kotlin.String
import kotlin.Suppress
import kotlin.Unit
import kotlin.collections.Map
import com.pulumi.azurenative.dataprotection.kotlin.outputs.BackupInstanceResponse.Companion.toKotlin as backupInstanceResponseToKotlin
import com.pulumi.azurenative.dataprotection.kotlin.outputs.SystemDataResponse.Companion.toKotlin as systemDataResponseToKotlin
/**
* Builder for [BackupInstance].
*/
@PulumiTagMarker
public class BackupInstanceResourceBuilder internal constructor() {
public var name: String? = null
public var args: BackupInstanceArgs = BackupInstanceArgs()
public var opts: CustomResourceOptions = CustomResourceOptions()
/**
* @param name The _unique_ name of the resulting resource.
*/
public fun name(`value`: String) {
this.name = value
}
/**
* @param block The arguments to use to populate this resource's properties.
*/
public suspend fun args(block: suspend BackupInstanceArgsBuilder.() -> Unit) {
val builder = BackupInstanceArgsBuilder()
block(builder)
this.args = builder.build()
}
/**
* @param block A bag of options that control this resource's behavior.
*/
public suspend fun opts(block: suspend CustomResourceOptionsBuilder.() -> Unit) {
this.opts = com.pulumi.kotlin.options.CustomResourceOptions.opts(block)
}
internal fun build(): BackupInstance {
val builtJavaResource =
com.pulumi.azurenative.dataprotection.BackupInstance(
this.name,
this.args.toJava(),
this.opts.toJava(),
)
return BackupInstance(builtJavaResource)
}
}
/**
* BackupInstance Resource
* Azure REST API version: 2023-01-01. Prior API version in Azure Native 1.x: 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.
* ## Example Usage
* ### Create BackupInstance
* ```csharp
* 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",
* });
* });
* ```
* ```go
* 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
* })
* }
* ```
* ```java
* 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());
* }
* }
* ```
* ## Import
* An existing resource can be imported using its type token, name, and identifier, e.g.
* ```sh
* $ pulumi import azure-native:dataprotection:BackupInstance harshitbi2 /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataProtection/backupVaults/{vaultName}/backupInstances/{backupInstanceName}
* ```
*/
public class BackupInstance internal constructor(
override val javaResource: com.pulumi.azurenative.dataprotection.BackupInstance,
) : KotlinCustomResource(javaResource, BackupInstanceMapper) {
/**
* Proxy Resource name associated with the resource.
*/
public val name: Output
get() = javaResource.name().applyValue({ args0 -> args0 })
/**
* BackupInstanceResource properties
*/
public val properties: Output
get() = javaResource.properties().applyValue({ args0 ->
args0.let({ args0 ->
backupInstanceResponseToKotlin(args0)
})
})
/**
* Metadata pertaining to creation and last modification of the resource.
*/
public val systemData: Output
get() = javaResource.systemData().applyValue({ args0 ->
args0.let({ args0 ->
systemDataResponseToKotlin(args0)
})
})
/**
* Proxy Resource tags.
*/
public val tags: Output
© 2015 - 2025 Weber Informatics LLC | Privacy Policy