ManagedHardwareSecurityModuleArgs

data class ManagedHardwareSecurityModuleArgs(val adminObjectIds: Output<List<String>>? = null, val location: Output<String>? = null, val name: Output<String>? = null, val networkAcls: Output<ManagedHardwareSecurityModuleNetworkAclsArgs>? = null, val publicNetworkAccessEnabled: Output<Boolean>? = null, val purgeProtectionEnabled: Output<Boolean>? = null, val resourceGroupName: Output<String>? = null, val securityDomainKeyVaultCertificateIds: Output<List<String>>? = null, val securityDomainQuorum: Output<Int>? = null, val skuName: Output<String>? = null, val softDeleteRetentionDays: Output<Int>? = null, val tags: Output<Map<String, String>>? = null, val tenantId: Output<String>? = null) : ConvertibleToJava<ManagedHardwareSecurityModuleArgs>

Manages a Key Vault Managed Hardware Security Module.

Note: The Azure Provider includes a Feature Toggle which will purge a Key Vault Managed Hardware Security Module resource on destroy, rather than the default soft-delete. See purge_soft_deleted_hardware_security_modules_on_destroy for more information.

Example Usage

package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.azure.core.CoreFunctions;
import com.pulumi.azure.core.ResourceGroup;
import com.pulumi.azure.core.ResourceGroupArgs;
import com.pulumi.azure.keyvault.ManagedHardwareSecurityModule;
import com.pulumi.azure.keyvault.ManagedHardwareSecurityModuleArgs;
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) {
final var current = CoreFunctions.getClientConfig();
var exampleResourceGroup = new ResourceGroup("exampleResourceGroup", ResourceGroupArgs.builder()
.location("West Europe")
.build());
var exampleManagedHardwareSecurityModule = new ManagedHardwareSecurityModule("exampleManagedHardwareSecurityModule", ManagedHardwareSecurityModuleArgs.builder()
.resourceGroupName(exampleResourceGroup.name())
.location(exampleResourceGroup.location())
.skuName("Standard_B1")
.purgeProtectionEnabled(false)
.softDeleteRetentionDays(90)
.tenantId(current.applyValue(getClientConfigResult -> getClientConfigResult.tenantId()))
.adminObjectIds(current.applyValue(getClientConfigResult -> getClientConfigResult.objectId()))
.tags(Map.of("Env", "Test"))
.build());
}
}

Import

Key Vault Managed Hardware Security Module can be imported using the resource id, e.g.

$ pulumi import azure:keyvault/managedHardwareSecurityModule:ManagedHardwareSecurityModule example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.KeyVault/managedHSMs/hsm1

Constructors

Link copied to clipboard
fun ManagedHardwareSecurityModuleArgs(adminObjectIds: Output<List<String>>? = null, location: Output<String>? = null, name: Output<String>? = null, networkAcls: Output<ManagedHardwareSecurityModuleNetworkAclsArgs>? = null, publicNetworkAccessEnabled: Output<Boolean>? = null, purgeProtectionEnabled: Output<Boolean>? = null, resourceGroupName: Output<String>? = null, securityDomainKeyVaultCertificateIds: Output<List<String>>? = null, securityDomainQuorum: Output<Int>? = null, skuName: Output<String>? = null, softDeleteRetentionDays: Output<Int>? = null, tags: Output<Map<String, String>>? = null, tenantId: Output<String>? = null)

Functions

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

Properties

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

Specifies a list of administrators object IDs for the key vault Managed Hardware Security Module. Changing this forces a new resource to be created.

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

Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.

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

Specifies the name of the Key Vault Managed Hardware Security Module. Changing this forces a new resource to be created.

Link copied to clipboard

A network_acls block as defined below.

Link copied to clipboard
val publicNetworkAccessEnabled: Output<Boolean>? = null

Whether traffic from public networks is permitted. Defaults to true. Changing this forces a new resource to be created.

Link copied to clipboard
val purgeProtectionEnabled: Output<Boolean>? = null

Is Purge Protection enabled for this Key Vault Managed Hardware Security Module? Changing this forces a new resource to be created.

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

The name of the resource group in which to create the Key Vault Managed Hardware Security Module. Changing this forces a new resource to be created.

Link copied to clipboard

A list of KeyVault certificates resource IDs (minimum of three and up to a maximum of 10) to activate this Managed HSM. More information see activate-your-managed-hsm

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

Specifies the minimum number of shares required to decrypt the security domain for recovery. This is required when security_domain_key_vault_certificate_ids is specified. Valid values are between 2 and 10.

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

The Name of the SKU used for this Key Vault Managed Hardware Security Module. Possible value is Standard_B1. Changing this forces a new resource to be created.

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

The number of days that items should be retained for once soft-deleted. This value can be between 7 and 90 days. Defaults to 90. Changing this forces a new resource to be created.

Link copied to clipboard
val tags: Output<Map<String, String>>? = null

A mapping of tags to assign to the resource. Changing this forces a new resource to be created.

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

The Azure Active Directory Tenant ID that should be used for authenticating requests to the key vault Managed Hardware Security Module. Changing this forces a new resource to be created.