diff --git a/quickstarts/microsoft.keyvault/key-vault-key-create/azuredeploy.json b/quickstarts/microsoft.keyvault/key-vault-key-create/azuredeploy.json new file mode 100644 index 000000000000..3bb007602a80 --- /dev/null +++ b/quickstarts/microsoft.keyvault/key-vault-key-create/azuredeploy.json @@ -0,0 +1,145 @@ +{ + "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", + "contentVersion": "1.0.0.0", + "metadata": { + "_generator": { + "name": "bicep", + "version": "0.42.1.51946", + "templateHash": "4335991112049834035" + } + }, + "parameters": { + "vaultName": { + "type": "string", + "metadata": { + "description": "The name of the key vault to be created." + } + }, + "keyName": { + "type": "string", + "metadata": { + "description": "The name of the key to be created." + } + }, + "location": { + "type": "string", + "defaultValue": "[resourceGroup().location]", + "metadata": { + "description": "The location of the resources." + } + }, + "skuName": { + "type": "string", + "defaultValue": "standard", + "allowedValues": [ + "standard", + "premium" + ], + "metadata": { + "description": "The SKU of the vault to be created." + } + }, + "keyType": { + "type": "string", + "defaultValue": "RSA", + "allowedValues": [ + "EC", + "EC-HSM", + "RSA", + "RSA-HSM" + ], + "metadata": { + "description": "The JsonWebKeyType of the key to be created." + } + }, + "keyOps": { + "type": "array", + "defaultValue": [], + "metadata": { + "description": "The permitted JSON web key operations of the key to be created." + } + }, + "keySize": { + "type": "int", + "defaultValue": 2048, + "metadata": { + "description": "The size in bits of the key to be created." + } + }, + "curveName": { + "type": "string", + "defaultValue": "", + "allowedValues": [ + "", + "P-256", + "P-256K", + "P-384", + "P-521" + ], + "metadata": { + "description": "The JsonWebKeyCurveName of the key to be created." + } + } + }, + "resources": [ + { + "type": "Microsoft.KeyVault/vaults", + "apiVersion": "2023-07-01", + "name": "[parameters('vaultName')]", + "location": "[parameters('location')]", + "properties": { + "enableRbacAuthorization": true, + "enableSoftDelete": true, + "softDeleteRetentionInDays": 90, + "enabledForDeployment": false, + "enabledForDiskEncryption": false, + "enabledForTemplateDeployment": false, + "tenantId": "[subscription().tenantId]", + "sku": { + "name": "[parameters('skuName')]", + "family": "A" + }, + "networkAcls": { + "defaultAction": "Allow", + "bypass": "AzureServices" + } + } + }, + { + "type": "Microsoft.KeyVault/vaults/keys", + "apiVersion": "2023-07-01", + "name": "[format('{0}/{1}', parameters('vaultName'), parameters('keyName'))]", + "properties": { + "kty": "[parameters('keyType')]", + "keyOps": "[parameters('keyOps')]", + "keySize": "[parameters('keySize')]", + "curveName": "[parameters('curveName')]" + }, + "dependsOn": [ + "[resourceId('Microsoft.KeyVault/vaults', parameters('vaultName'))]" + ] + } + ], + "outputs": { + "proxyKey": { + "type": "object", + "value": "[reference(resourceId('Microsoft.KeyVault/vaults/keys', parameters('vaultName'), parameters('keyName')), '2023-07-01')]" + }, + "location": { + "type": "string", + "value": "[parameters('location')]" + }, + "name": { + "type": "string", + "value": "[parameters('vaultName')]" + }, + "resourceGroupName": { + "type": "string", + "value": "[resourceGroup().name]" + }, + "resourceId": { + "type": "string", + "value": "[resourceId('Microsoft.KeyVault/vaults', parameters('vaultName'))]" + } + } +} \ No newline at end of file