265 строки
9.9 KiB
JSON
265 строки
9.9 KiB
JSON
{
|
|
"$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
|
|
"contentVersion": "1.0.0.0",
|
|
"parameters": {
|
|
"location": {
|
|
"type": "string",
|
|
"defaultValue": "[resourceGroup().location]"
|
|
},
|
|
"baseName": {
|
|
"type": "string"
|
|
},
|
|
"testApplicationId": {
|
|
"type": "string"
|
|
},
|
|
"testApplicationOid": {
|
|
"type": "string"
|
|
},
|
|
"tenantId": {
|
|
"type": "string"
|
|
},
|
|
"storageEndpointSuffix": {
|
|
"type": "string",
|
|
"defaultValue": "core.windows.net"
|
|
},
|
|
"azureCloud": {
|
|
"type": "string",
|
|
"defaultValue": "AzureCloud"
|
|
}
|
|
},
|
|
"variables": {
|
|
"keyVaultName": "[format('kv-smk-{0}', parameters('baseName'))]",
|
|
"eventHubNamespaceName": "[format('eh-smoke-{0}', parameters('baseName'))]",
|
|
"eventHubName": "myeventhub",
|
|
"eventHubAuthorizationRuleName": "RootManageSharedAccessKey",
|
|
"storageAccountName": "[format('stsmoke{0}', parameters('baseName'))]"
|
|
},
|
|
"resources": [
|
|
{
|
|
"type": "Microsoft.EventHub/namespaces",
|
|
"apiVersion": "2018-01-01-preview",
|
|
"name": "[variables('eventHubNamespaceName')]",
|
|
"location": "[parameters('location')]",
|
|
"sku": {
|
|
"name": "Basic",
|
|
"tier": "Basic",
|
|
"capacity": 1
|
|
},
|
|
"properties": {
|
|
"zoneRedundant": false,
|
|
"isAutoInflateEnabled": false,
|
|
"maximumThroughputUnits": 0,
|
|
"kafkaEnabled": false
|
|
}
|
|
},
|
|
{
|
|
"type": "Microsoft.KeyVault/vaults",
|
|
"apiVersion": "2016-10-01",
|
|
"name": "[variables('keyVaultName')]",
|
|
"location": "[parameters('location')]",
|
|
"properties": {
|
|
"sku": {
|
|
"family": "A",
|
|
"name": "standard"
|
|
},
|
|
"tenantId": "[parameters('tenantId')]",
|
|
"accessPolicies": [
|
|
{
|
|
"tenantId": "[parameters('tenantId')]",
|
|
"objectId": "[parameters('testApplicationOid')]",
|
|
"permissions": {
|
|
"keys": [
|
|
"backup",
|
|
"create",
|
|
"decrypt",
|
|
"delete",
|
|
"encrypt",
|
|
"get",
|
|
"import",
|
|
"list",
|
|
"purge",
|
|
"recover",
|
|
"restore",
|
|
"sign",
|
|
"unwrapKey",
|
|
"update",
|
|
"verify",
|
|
"wrapKey"
|
|
],
|
|
"secrets": [
|
|
"backup",
|
|
"delete",
|
|
"get",
|
|
"list",
|
|
"purge",
|
|
"recover",
|
|
"restore",
|
|
"set"
|
|
],
|
|
"certificates": [
|
|
"backup",
|
|
"create",
|
|
"delete",
|
|
"deleteissuers",
|
|
"get",
|
|
"getissuers",
|
|
"import",
|
|
"list",
|
|
"listissuers",
|
|
"managecontacts",
|
|
"manageissuers",
|
|
"purge",
|
|
"recover",
|
|
"restore",
|
|
"setissuers",
|
|
"update"
|
|
]
|
|
}
|
|
}
|
|
],
|
|
"enabledForDeployment": false,
|
|
"enabledForDiskEncryption": false,
|
|
"enabledForTemplateDeployment": false
|
|
}
|
|
},
|
|
{
|
|
"type": "Microsoft.Storage/storageAccounts",
|
|
"apiVersion": "2019-06-01",
|
|
"name": "[variables('storageAccountName')]",
|
|
"location": "[parameters('location')]",
|
|
"sku": {
|
|
"name": "Standard_RAGRS",
|
|
"tier": "Standard"
|
|
},
|
|
"kind": "StorageV2",
|
|
"properties": {
|
|
"networkAcls": {
|
|
"bypass": "AzureServices",
|
|
"virtualNetworkRules": [],
|
|
"ipRules": [],
|
|
"defaultAction": "Allow"
|
|
},
|
|
"supportsHttpsTrafficOnly": true,
|
|
"encryption": {
|
|
"services": {
|
|
"file": {
|
|
"keyType": "Account",
|
|
"enabled": true
|
|
},
|
|
"blob": {
|
|
"keyType": "Account",
|
|
"enabled": true
|
|
}
|
|
},
|
|
"keySource": "Microsoft.Storage"
|
|
},
|
|
"accessTier": "Hot"
|
|
}
|
|
},
|
|
{
|
|
"type": "Microsoft.EventHub/namespaces/AuthorizationRules",
|
|
"apiVersion": "2017-04-01",
|
|
"name": "[format('{0}/{1}', variables('eventHubNamespaceName'), variables('eventHubAuthorizationRuleName'))]",
|
|
"location": "[parameters('location')]",
|
|
"dependsOn": [
|
|
"[resourceId('Microsoft.EventHub/namespaces', variables('eventHubNamespaceName'))]"
|
|
],
|
|
"properties": {
|
|
"rights": [
|
|
"Listen",
|
|
"Manage",
|
|
"Send"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"type": "Microsoft.EventHub/namespaces/eventhubs",
|
|
"apiVersion": "2017-04-01",
|
|
"name": "[format('{0}/{1}', variables('eventHubNamespaceName'), variables('eventHubName'))]",
|
|
"location": "[parameters('location')]",
|
|
"dependsOn": [
|
|
"[resourceId('Microsoft.EventHub/namespaces', variables('eventHubNamespaceName'))]"
|
|
],
|
|
"properties": {
|
|
"messageRetentionInDays": 1,
|
|
"partitionCount": 2,
|
|
"status": "Active"
|
|
}
|
|
},
|
|
{
|
|
"type": "Microsoft.Storage/storageAccounts/blobServices",
|
|
"apiVersion": "2019-06-01",
|
|
"name": "[concat(variables('storageAccountName'), '/default')]",
|
|
"dependsOn": [
|
|
"[resourceId('Microsoft.Storage/storageAccounts', variables('storageAccountName'))]"
|
|
],
|
|
"sku": {
|
|
"name": "Standard_RAGRS"
|
|
},
|
|
"properties": {
|
|
"cors": {
|
|
"corsRules": []
|
|
},
|
|
"deleteRetentionPolicy": {
|
|
"enabled": false
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"type": "Microsoft.EventHub/namespaces/eventhubs/authorizationRules",
|
|
"apiVersion": "2017-04-01",
|
|
"name": "[concat(variables('eventHubNamespaceName'), '/myeventhub/Test')]",
|
|
"location": "[parameters('location')]",
|
|
"dependsOn": [
|
|
"[resourceId('Microsoft.EventHub/namespaces/eventhubs', variables('eventHubNamespaceName'), 'myeventhub')]",
|
|
"[resourceId('Microsoft.EventHub/namespaces', variables('eventHubNamespaceName'))]"
|
|
],
|
|
"properties": {
|
|
"rights": [
|
|
"Manage",
|
|
"Listen",
|
|
"Send"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"type": "Microsoft.Storage/storageAccounts/blobServices/containers",
|
|
"apiVersion": "2019-06-01",
|
|
"name": "[concat(variables('storageAccountName'), '/default/mycontainer')]",
|
|
"dependsOn": [
|
|
"[resourceId('Microsoft.Storage/storageAccounts/blobServices', variables('storageAccountName'), 'default')]",
|
|
"[resourceId('Microsoft.Storage/storageAccounts', variables('storageAccountName'))]"
|
|
],
|
|
"properties": {
|
|
"publicAccess": "None"
|
|
}
|
|
}
|
|
],
|
|
"outputs": {
|
|
"AZURE_TENANT_ID": {
|
|
"type": "string",
|
|
"value": "[parameters('tenantId')]"
|
|
},
|
|
"AZURE_CLIENT_ID": {
|
|
"type": "string",
|
|
"value": "[parameters('testApplicationId')]"
|
|
},
|
|
"AZURE_CLOUD": {
|
|
"type": "string",
|
|
"value": "[parameters('azureCloud')]"
|
|
},
|
|
"AZURE_PROJECT_URL": {
|
|
"type": "string",
|
|
"value": "[reference(variables('keyVaultName')).vaultUri]"
|
|
},
|
|
"EVENT_HUBS_CONNECTION_STRING": {
|
|
"type": "string",
|
|
"value": "[listKeys(resourceId('Microsoft.EventHub/namespaces/eventhubs/authorizationRules', variables('eventHubNamespaceName'), variables('eventHubName'), 'Test'), '2017-04-01').primaryConnectionString]"
|
|
},
|
|
"STORAGE_CONNECTION_STRING": {
|
|
"type": "string",
|
|
"value": "[concat('DefaultEndpointsProtocol=https;AccountName=', variables('storageAccountName'), ';AccountKey=', listKeys(resourceId('Microsoft.Storage/storageAccounts', variables('storageAccountName')), '2019-06-01').keys[0].value, ';EndpointSuffix=', parameters('storageEndpointSuffix'))]"
|
|
}
|
|
}
|
|
}
|