Managed Hsm Args
data class ManagedHsmArgs(val identity: Output<ManagedServiceIdentityArgs>? = null, val location: Output<String>? = null, val name: Output<String>? = null, val properties: Output<ManagedHsmPropertiesArgs>? = null, val resourceGroupName: Output<String>? = null, val sku: Output<ManagedHsmSkuArgs>? = null, val tags: Output<Map<String, String>>? = null) : ConvertibleToJava<ManagedHsmArgs>
Resource information with extended details. Uses Azure REST API version 2024-11-01. In version 2.x of the Azure Native provider, it used API version 2023-02-01. Other available API versions: 2023-02-01, 2023-07-01, 2024-04-01-preview, 2024-12-01-preview. These can be accessed by generating a local SDK package using the CLI command pulumi package add azure-native keyvault [ApiVersion]
. See the ../../../version-guide/#accessing-any-api-version-via-local-packages for details.
Example Usage
Create a new managed HSM Pool or update an existing managed HSM Pool
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AzureNative = Pulumi.AzureNative;
return await Deployment.RunAsync(() =>
{
var managedHsm = new AzureNative.KeyVault.ManagedHsm("managedHsm", new()
{
Location = "westus",
Name = "hsm1",
Properties = new AzureNative.KeyVault.Inputs.ManagedHsmPropertiesArgs
{
EnablePurgeProtection = false,
EnableSoftDelete = true,
InitialAdminObjectIds = new[]
{
"00000000-0000-0000-0000-000000000000",
},
SoftDeleteRetentionInDays = 90,
TenantId = "00000000-0000-0000-0000-000000000000",
},
ResourceGroupName = "hsm-group",
Sku = new AzureNative.KeyVault.Inputs.ManagedHsmSkuArgs
{
Family = AzureNative.KeyVault.ManagedHsmSkuFamily.B,
Name = AzureNative.KeyVault.ManagedHsmSkuName.Standard_B1,
},
Tags =
{
{ "Dept", "hsm" },
{ "Environment", "dogfood" },
},
});
});
Content copied to clipboard
package main
import (
keyvault "github.com/pulumi/pulumi-azure-native-sdk/keyvault/v2"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := keyvault.NewManagedHsm(ctx, "managedHsm", &keyvault.ManagedHsmArgs{
Location: pulumi.String("westus"),
Name: pulumi.String("hsm1"),
Properties: &keyvault.ManagedHsmPropertiesArgs{
EnablePurgeProtection: pulumi.Bool(false),
EnableSoftDelete: pulumi.Bool(true),
InitialAdminObjectIds: pulumi.StringArray{
pulumi.String("00000000-0000-0000-0000-000000000000"),
},
SoftDeleteRetentionInDays: pulumi.Int(90),
TenantId: pulumi.String("00000000-0000-0000-0000-000000000000"),
},
ResourceGroupName: pulumi.String("hsm-group"),
Sku: &keyvault.ManagedHsmSkuArgs{
Family: pulumi.String(keyvault.ManagedHsmSkuFamilyB),
Name: keyvault.ManagedHsmSkuName_Standard_B1,
},
Tags: pulumi.StringMap{
"Dept": pulumi.String("hsm"),
"Environment": pulumi.String("dogfood"),
},
})
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.keyvault.ManagedHsm;
import com.pulumi.azurenative.keyvault.ManagedHsmArgs;
import com.pulumi.azurenative.keyvault.inputs.ManagedHsmPropertiesArgs;
import com.pulumi.azurenative.keyvault.inputs.ManagedHsmSkuArgs;
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 managedHsm = new ManagedHsm("managedHsm", ManagedHsmArgs.builder()
.location("westus")
.name("hsm1")
.properties(ManagedHsmPropertiesArgs.builder()
.enablePurgeProtection(false)
.enableSoftDelete(true)
.initialAdminObjectIds("00000000-0000-0000-0000-000000000000")
.softDeleteRetentionInDays(90)
.tenantId("00000000-0000-0000-0000-000000000000")
.build())
.resourceGroupName("hsm-group")
.sku(ManagedHsmSkuArgs.builder()
.family("B")
.name("Standard_B1")
.build())
.tags(Map.ofEntries(
Map.entry("Dept", "hsm"),
Map.entry("Environment", "dogfood")
))
.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:keyvault:ManagedHsm hsm1 /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/managedHSMs/{name}
Content copied to clipboard
Constructors
Link copied to clipboard
constructor(identity: Output<ManagedServiceIdentityArgs>? = null, location: Output<String>? = null, name: Output<String>? = null, properties: Output<ManagedHsmPropertiesArgs>? = null, resourceGroupName: Output<String>? = null, sku: Output<ManagedHsmSkuArgs>? = null, tags: Output<Map<String, String>>? = null)