зеркало из https://github.com/Azure/Moodle.git
763 строки
31 KiB
JSON
763 строки
31 KiB
JSON
{
|
|
"$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
|
|
"contentVersion": "1.0.0.0",
|
|
"parameters": {
|
|
"_artifactsLocation": {
|
|
"type": "string",
|
|
"metadata": {
|
|
"description": "The base URI where artifacts required by this template are located. When the template is deployed using the accompanying scripts, a private location in the subscription will be used and this value will be automatically generated."
|
|
},
|
|
"defaultValue": "https://raw.githubusercontent.com/Azure/Moodle/master/"
|
|
},
|
|
"_artifactsLocationSasToken": {
|
|
"type": "securestring",
|
|
"metadata": {
|
|
"description": "The sasToken required to access _artifactsLocation. When the template is deployed using the accompanying scripts, a sasToken will be automatically generated."
|
|
},
|
|
"defaultValue": ""
|
|
},
|
|
"applyScriptsSwitch": {
|
|
"defaultValue": true,
|
|
"metadata": {
|
|
"description": "Switch to process or bypass all scripts/extensions"
|
|
},
|
|
"type": "bool"
|
|
},
|
|
"azureBackupSwitch": {
|
|
"defaultValue": false,
|
|
"metadata": {
|
|
"description": "Switch to configure AzureBackup and enlist VM's"
|
|
},
|
|
"type": "bool"
|
|
},
|
|
"redisDeploySwitch": {
|
|
"defaultValue": true,
|
|
"metadata": {
|
|
"description": "Switch to deploy a redis cache or not"
|
|
},
|
|
"type": "bool"
|
|
},
|
|
"vnetGwDeploySwitch": {
|
|
"defaultValue": false,
|
|
"metadata": {
|
|
"description": "Switch to deploy a virtual network gateway or not"
|
|
},
|
|
"type": "bool"
|
|
},
|
|
"installO365pluginsSwitch": {
|
|
"defaultValue": false,
|
|
"metadata": {
|
|
"description": "Switch to install Moodle Office 365 plugins"
|
|
},
|
|
"type": "bool"
|
|
},
|
|
"installElasticSearchSwitch": {
|
|
"defaultValue": false,
|
|
"metadata": {
|
|
"description": "Switch to install Moodle ElasticSearch plugins & VMs"
|
|
},
|
|
"type": "bool"
|
|
},
|
|
"storageAccountType": {
|
|
"defaultValue": "Standard_LRS",
|
|
"allowedValues": [
|
|
"Standard_LRS",
|
|
"Standard_GRS",
|
|
"Standard_ZRS"
|
|
],
|
|
"metadata": {
|
|
"description": "Storage Account type"
|
|
},
|
|
"type": "string"
|
|
},
|
|
"dbServerType": {
|
|
"defaultValue": "mysql",
|
|
"allowedValues": [
|
|
"postgres",
|
|
"mysql",
|
|
"mssql"
|
|
],
|
|
"metadata": {
|
|
"description": "Database type"
|
|
},
|
|
"type": "string"
|
|
},
|
|
"fileServerType": {
|
|
"defaultValue": "gluster",
|
|
"allowedValues": [
|
|
"gluster",
|
|
"nfs"
|
|
],
|
|
"metadata": {
|
|
"description": "File server type: GlusterFS, Azure Files (CIFS)--disabled due to too slow perf, NFS--not highly available"
|
|
},
|
|
"type": "string"
|
|
},
|
|
"webServerType": {
|
|
"defaultValue": "apache",
|
|
"allowedValues": [
|
|
"apache",
|
|
"nginx"
|
|
],
|
|
"metadata": {
|
|
"description": "Web server type"
|
|
},
|
|
"type": "string"
|
|
},
|
|
"controllerVmSku": {
|
|
"defaultValue": "Standard_DS1_v2",
|
|
"metadata": {
|
|
"description": "VM size for the controller node"
|
|
},
|
|
"type": "string"
|
|
},
|
|
"autoscaleVmSku": {
|
|
"defaultValue": "Standard_DS2_v2",
|
|
"metadata": {
|
|
"description": "VM size for autoscaled nodes"
|
|
},
|
|
"type": "string"
|
|
},
|
|
"autoscaleVmCount": {
|
|
"defaultValue": 10,
|
|
"metadata": {
|
|
"description": "Maximum number of autoscaled nodes"
|
|
},
|
|
"type": "int"
|
|
},
|
|
"elasticVmSku": {
|
|
"defaultValue": "Standard_DS2_v2",
|
|
"metadata": {
|
|
"description": "VM size for the elastic search nodes"
|
|
},
|
|
"type": "string"
|
|
},
|
|
"firewallRuleName": {
|
|
"defaultValue": "open-to-the-world",
|
|
"metadata": {
|
|
"description": "Database firewall rule name"
|
|
},
|
|
"type": "string"
|
|
},
|
|
"gatewaySubnet": {
|
|
"allowedValues": [
|
|
"GatewaySubnet"
|
|
],
|
|
"defaultValue": "GatewaySubnet",
|
|
"metadata": {
|
|
"description": "name for Virtual network gateway subnet"
|
|
},
|
|
"type": "string"
|
|
},
|
|
"gatewayType": {
|
|
"allowedValues": [
|
|
"Vpn",
|
|
"ER"
|
|
],
|
|
"defaultValue": "Vpn",
|
|
"metadata": {
|
|
"description": "Virtual network gateway type"
|
|
},
|
|
"type": "string"
|
|
},
|
|
"glusterVmSku": {
|
|
"defaultValue": "Standard_DS2_v2",
|
|
"metadata": {
|
|
"description": "VM size for the gluster nodes"
|
|
},
|
|
"type": "string"
|
|
},
|
|
"fileServerDiskSize": {
|
|
"defaultValue": 127,
|
|
"metadata": {
|
|
"description": "Size per disk for gluster nodes or nfs server"
|
|
},
|
|
"type": "int"
|
|
},
|
|
"fileServerDiskCount": {
|
|
"defaultValue": 4,
|
|
"minValue": 2,
|
|
"maxValue": 8,
|
|
"metadata": {
|
|
"description": "Number of disks in raid0 per gluster node or nfs server"
|
|
},
|
|
"type": "int"
|
|
},
|
|
"moodleVersion": {
|
|
"allowedValues": [
|
|
"MOODLE_34_STABLE",
|
|
"MOODLE_33_STABLE",
|
|
"MOODLE_32_STABLE",
|
|
"MOODLE_31_STABLE",
|
|
"MOODLE_30_STABLE",
|
|
"MOODLE_29_STABLE"
|
|
],
|
|
"defaultValue": "MOODLE_34_STABLE",
|
|
"metadata": {
|
|
"description": "The Moodle version you want to install."
|
|
},
|
|
"type": "string"
|
|
},
|
|
"dbLogin": {
|
|
"defaultValue": "dbadmin",
|
|
"metadata": {
|
|
"description": "Database admin username"
|
|
},
|
|
"type": "string"
|
|
},
|
|
"siteURL": {
|
|
"defaultValue": "www.example.org",
|
|
"metadata": {
|
|
"description": "URL for Moodle site"
|
|
},
|
|
"type": "string"
|
|
},
|
|
"skuCapacityDTU": {
|
|
"allowedValues": [
|
|
50,
|
|
100,
|
|
200,
|
|
400,
|
|
800
|
|
],
|
|
"defaultValue": 100,
|
|
"metadata": {
|
|
"description": "MySql/Postgresql database trasaction units"
|
|
},
|
|
"type": "int"
|
|
},
|
|
|
|
"serviceObjective": {
|
|
"allowedValues": [
|
|
"S1",
|
|
"S2",
|
|
"S3",
|
|
"S4",
|
|
"S5",
|
|
"S6",
|
|
"S7",
|
|
"S9"
|
|
],
|
|
"defaultValue": "S1",
|
|
"metadata": {
|
|
"description": "MS SQL database trasaction units"
|
|
},
|
|
"type": "string"
|
|
},
|
|
|
|
"msDbSize": {
|
|
"allowedValues": [
|
|
"100MB",
|
|
"250MB",
|
|
"500MB",
|
|
"1GB",
|
|
"2GB",
|
|
"5GB",
|
|
"10GB",
|
|
"20GB",
|
|
"30GB",
|
|
"40GB",
|
|
"50GB",
|
|
"100GB",
|
|
"250GB",
|
|
"300GB",
|
|
"400GB",
|
|
"500GB",
|
|
"750GB",
|
|
"1024GB"
|
|
],
|
|
"defaultValue": "250GB",
|
|
"metadata": {
|
|
"description": "MS SQL database size"
|
|
},
|
|
"type": "string"
|
|
},
|
|
|
|
"skuFamily": {
|
|
"allowedValues": [
|
|
"SkuFamily"
|
|
],
|
|
"defaultValue": "SkuFamily",
|
|
"metadata": {
|
|
"description": "MySql/Postgresql sku family"
|
|
},
|
|
"type": "string"
|
|
},
|
|
"skuName": {
|
|
"allowedValues": [
|
|
"PGSQLB50",
|
|
"PGSQLB100",
|
|
"PGSQLS100",
|
|
"PGSQLS200",
|
|
"PGSQLS400",
|
|
"PGSQLS800",
|
|
"MYSQLB50",
|
|
"MYSQLB100",
|
|
"MYSQLS100",
|
|
"MYSQLS200",
|
|
"MYSQLS400",
|
|
"MYSQLS800"
|
|
],
|
|
"defaultValue": "MYSQLS100",
|
|
"metadata": {
|
|
"description": "MySql/Postgresql sku name"
|
|
},
|
|
"type": "string"
|
|
},
|
|
"skuSizeMB": {
|
|
"defaultValue": 128000,
|
|
"metadata": {
|
|
"description": "MySql/Postgresql sku size in MB. For Basic tier, minimum 50GB, increased by 125GB up to 1TB. For Standard tier, minimum 125GB, increase by 125GB up to 1TB"
|
|
},
|
|
"type": "int"
|
|
},
|
|
"skuTier": {
|
|
"allowedValues": [
|
|
"Basic",
|
|
"Standard"
|
|
],
|
|
"defaultValue": "Standard",
|
|
"metadata": {
|
|
"description": "MySql/Postgresql sku tier"
|
|
},
|
|
"type": "string"
|
|
},
|
|
"sshPublicKey": {
|
|
"metadata": {
|
|
"description": "ssh public key"
|
|
},
|
|
"type": "string"
|
|
},
|
|
"sshUsername": {
|
|
"defaultValue": "azureadmin",
|
|
"metadata": {
|
|
"description": "ssh user name"
|
|
},
|
|
"type": "string"
|
|
},
|
|
"sslEnforcement": {
|
|
"allowedValues": [
|
|
"Disabled",
|
|
"Enabled"
|
|
],
|
|
"defaultValue": "Disabled",
|
|
"metadata": {
|
|
"description": "MySql/Postgresql SSL connection"
|
|
},
|
|
"type": "string"
|
|
},
|
|
"postgresVersion": {
|
|
"allowedValues": [
|
|
"9.5",
|
|
"9.6"
|
|
],
|
|
"defaultValue": "9.6",
|
|
"metadata": {
|
|
"description": "Postgresql version"
|
|
},
|
|
"type": "string"
|
|
},
|
|
"mysqlVersion": {
|
|
"allowedValues": [
|
|
"5.6",
|
|
"5.7"
|
|
],
|
|
"defaultValue": "5.7",
|
|
"metadata": {
|
|
"description": "Mysql version"
|
|
},
|
|
"type": "string"
|
|
},
|
|
"mssqlVersion": {
|
|
"allowedValues": [
|
|
"12.0"
|
|
],
|
|
"defaultValue": "12.0",
|
|
"metadata": {
|
|
"description": "Mssql version"
|
|
},
|
|
"type": "string"
|
|
},
|
|
"vNetAddressSpace": {
|
|
"defaultValue": "172.31.0.0",
|
|
"metadata": {
|
|
"description": "Address range for the Moodle virtual network - presumed /16 - further subneting during vnet creation"
|
|
},
|
|
"type": "string"
|
|
},
|
|
"vpnType": {
|
|
"allowedValues": [
|
|
"RouteBased",
|
|
"PolicyBased"
|
|
],
|
|
"defaultValue": "RouteBased",
|
|
"metadata": {
|
|
"description": "Virtual network gateway vpn type"
|
|
},
|
|
"type": "string"
|
|
}
|
|
},
|
|
"resources": [
|
|
{
|
|
"type": "Microsoft.Resources/deployments",
|
|
"apiVersion": "2017-05-10",
|
|
"name": "pid-738e3eec-68d4-4667-8377-c05c77c21f1b",
|
|
"properties": {
|
|
"mode": "Incremental",
|
|
"template": {
|
|
"$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
|
|
"contentVersion": "1.0.0.0",
|
|
"resources": []
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"type": "Microsoft.Resources/deployments",
|
|
"apiVersion": "2017-05-10",
|
|
"name": "dbTemplate",
|
|
"properties": {
|
|
"mode": "Incremental",
|
|
"parameters": {
|
|
"moodleCommon": {
|
|
"value": "[variables('moodleCommon')]"
|
|
}
|
|
},
|
|
"templateLink": {
|
|
"uri": "[concat(variables('moodleCommon').baseTemplateUrl, parameters('dbServerType'), '.json', parameters('_artifactsLocationSasToken'))]"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"condition": "[parameters('azureBackupSwitch')]",
|
|
"type": "Microsoft.Resources/deployments",
|
|
"apiVersion": "2017-05-10",
|
|
"name": "recoveryTemplate",
|
|
"properties": {
|
|
"mode": "Incremental",
|
|
"parameters": {
|
|
"moodleCommon": {
|
|
"value": "[variables('moodleCommon')]"
|
|
}
|
|
},
|
|
"templateLink": {
|
|
"uri": "[concat(variables('moodleCommon').baseTemplateUrl,'recoveryservices.json',parameters('_artifactsLocationSasToken'))]"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"condition": "[parameters('redisDeploySwitch')]",
|
|
"type": "Microsoft.Resources/deployments",
|
|
"apiVersion": "2017-05-10",
|
|
"name": "redisTemplate",
|
|
"dependsOn": [
|
|
"Microsoft.Resources/deployments/networkTemplate"
|
|
],
|
|
"properties": {
|
|
"mode": "Incremental",
|
|
"parameters": {
|
|
"moodleCommon": {
|
|
"value": "[variables('moodleCommon')]"
|
|
}
|
|
},
|
|
"templateLink": {
|
|
"uri": "[concat(variables('moodleCommon').baseTemplateUrl,'redis.json',parameters('_artifactsLocationSasToken'))]"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"type": "Microsoft.Resources/deployments",
|
|
"apiVersion": "2017-05-10",
|
|
"name": "networkTemplate",
|
|
"properties": {
|
|
"mode": "Incremental",
|
|
"parameters": {
|
|
"moodleCommon": {
|
|
"value": "[variables('moodleCommon')]"
|
|
}
|
|
},
|
|
"templateLink": {
|
|
"uri": "[concat(variables('moodleCommon').baseTemplateUrl,'network.json',parameters('_artifactsLocationSasToken'))]"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"condition": "[parameters('installElasticSearchSwitch')]",
|
|
"type": "Microsoft.Resources/deployments",
|
|
"apiVersion": "2017-05-10",
|
|
"dependsOn": [
|
|
"Microsoft.Resources/deployments/networkTemplate",
|
|
"Microsoft.Resources/deployments/recoveryTemplate"
|
|
],
|
|
"name": "elasticTemplate",
|
|
"properties": {
|
|
"mode": "Incremental",
|
|
"parameters": {
|
|
"moodleCommon": {
|
|
"value": "[variables('moodleCommon')]"
|
|
}
|
|
},
|
|
"templateLink": {
|
|
"uri": "[concat(variables('moodleCommon').baseTemplateUrl,'elastic.json',parameters('_artifactsLocationSasToken'))]"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"condition": "[equals(parameters('fileServerType'),'gluster')]",
|
|
"type": "Microsoft.Resources/deployments",
|
|
"apiVersion": "2017-05-10",
|
|
"dependsOn": [
|
|
"Microsoft.Resources/deployments/networkTemplate",
|
|
"Microsoft.Resources/deployments/recoveryTemplate"
|
|
],
|
|
"name": "glusterTemplate",
|
|
"properties": {
|
|
"mode": "Incremental",
|
|
"parameters": {
|
|
"moodleCommon": {
|
|
"value": "[variables('moodleCommon')]"
|
|
}
|
|
},
|
|
"templateLink": {
|
|
"uri": "[concat(variables('moodleCommon').baseTemplateUrl,'gluster.json',parameters('_artifactsLocationSasToken'))]"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"type": "Microsoft.Resources/deployments",
|
|
"apiVersion": "2017-05-10",
|
|
"dependsOn": [
|
|
"Microsoft.Resources/deployments/elasticTemplate",
|
|
"Microsoft.Resources/deployments/glusterTemplate",
|
|
"Microsoft.Resources/deployments/recoveryTemplate",
|
|
"Microsoft.Resources/deployments/networkTemplate",
|
|
"Microsoft.Resources/deployments/dbTemplate",
|
|
"Microsoft.Resources/deployments/redisTemplate",
|
|
"Microsoft.Resources/deployments/storageAccountTemplate"
|
|
],
|
|
"name": "controllerTemplate",
|
|
"properties": {
|
|
"mode": "Incremental",
|
|
"parameters": {
|
|
"moodleCommon": {
|
|
"value": "[variables('moodleCommon')]"
|
|
}
|
|
},
|
|
"templateLink": {
|
|
"uri": "[concat(variables('moodleCommon').baseTemplateUrl,'controller.json',parameters('_artifactsLocationSasToken'))]"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"type": "Microsoft.Resources/deployments",
|
|
"apiVersion": "2017-05-10",
|
|
"dependsOn": [
|
|
"Microsoft.Resources/deployments/controllerTemplate",
|
|
"Microsoft.Resources/deployments/networkTemplate",
|
|
"Microsoft.Resources/deployments/redisTemplate",
|
|
"Microsoft.Resources/deployments/dbTemplate"
|
|
],
|
|
"name": "scaleSetTemplate",
|
|
"properties": {
|
|
"mode": "Incremental",
|
|
"parameters": {
|
|
"moodleCommon": {
|
|
"value": "[variables('moodleCommon')]"
|
|
}
|
|
},
|
|
"templateLink": {
|
|
"uri": "[concat(variables('moodleCommon').baseTemplateUrl,'webvmss.json',parameters('_artifactsLocationSasToken'))]"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"type": "Microsoft.Resources/deployments",
|
|
"apiVersion": "2017-05-10",
|
|
"name": "storageAccountTemplate",
|
|
"properties": {
|
|
"mode": "Incremental",
|
|
"parameters": {
|
|
"moodleCommon": {
|
|
"value": "[variables('moodleCommon')]"
|
|
}
|
|
},
|
|
"templateLink": {
|
|
"uri": "[concat(variables('moodleCommon').baseTemplateUrl,'storageAccount.json',parameters('_artifactsLocationSasToken'))]"
|
|
}
|
|
}
|
|
}
|
|
],
|
|
"outputs": {
|
|
"siteURL": {
|
|
"type": "string",
|
|
"value": "[variables('moodleCommon').siteURL]"
|
|
},
|
|
"controllerInstanceIP": {
|
|
"type": "string",
|
|
"value": "[reference('controllerTemplate').outputs.controllerIP.value]"
|
|
},
|
|
"databaseDNS": {
|
|
"type": "string",
|
|
"value": "[variables('moodleCommon').dbDNS]"
|
|
},
|
|
"databaseAdminUsername": {
|
|
"type": "string",
|
|
"value": "[variables('moodleCommon').dbUsername]"
|
|
},
|
|
"databaseAdminPassword": {
|
|
"type": "string",
|
|
"value": "[variables('moodleCommon').dbLoginPassword]"
|
|
},
|
|
"firstFrontendVmIP": {
|
|
"type": "string",
|
|
"value": "[reference('scaleSetTemplate').outputs.webvm1IP.value]"
|
|
},
|
|
"moodleAdminPassword": {
|
|
"type": "string",
|
|
"value": "[variables('moodleCommon').moodleAdminPass]"
|
|
},
|
|
"moodleDbUsername": {
|
|
"type": "string",
|
|
"value": "[variables('moodleCommon').moodleDbUserAzure]"
|
|
},
|
|
"moodleDbPassword": {
|
|
"type": "string",
|
|
"value": "[variables('moodleCommon').moodleDbPass]"
|
|
},
|
|
"loadBalancerDNS": {
|
|
"type": "string",
|
|
"value": "[variables('moodleCommon').lbDns]"
|
|
}
|
|
},
|
|
"variables": {
|
|
"documentation01": "This main-template calls multiple sub-templates to create the moodle system",
|
|
"documentation02": " recoveryservices0 - dummy template (see next statement)",
|
|
"documentation03": " recoveryservices1 - creates a recovery vault that will be subsequently used by the VM Backup - a paramter swtich controls whethe is is called or bypassed",
|
|
"documentation04": " redis - creates a redis cache",
|
|
"documentation05": " postgres / mysql - creates a postgresql / mysql server",
|
|
"documentation06": " vnet - creates a virtual network with three subnets",
|
|
"documentation07": " elastic - creates a elastic search cluster on a vm farm",
|
|
"documentation08": " gluster - creates a gluster file system on a vm farm",
|
|
"documentation09": " webvmss - creates a vm scale set",
|
|
"documentation10": " controller - creates a jumpbox and deploys code",
|
|
"documentation11": "GlusterFS Sizing guidance",
|
|
"moodleCommon": {
|
|
"baseTemplateUrl": "[concat(parameters('_artifactsLocation'), 'nested/')]",
|
|
"scriptLocation": "[concat(parameters('_artifactsLocation'), 'scripts/')]",
|
|
"artifactsSasToken": "[parameters('_artifactsLocationSasToken')]",
|
|
|
|
"applyScriptsSwitch": "[parameters('applyScriptsSwitch')]",
|
|
"autoscaleVmCount": "[parameters('autoscaleVmCount')]",
|
|
"autoscaleVmSku": "[parameters('autoscaleVmSku')]",
|
|
"azureBackupSwitch": "[parameters( 'azureBackupSwitch')]",
|
|
"commonFunctionsScriptUri": "[concat(parameters('_artifactsLocation'),'scripts/helper_functions.sh',parameters('_artifactsLocationSasToken'))]",
|
|
"controllerVmSku": "[parameters('controllerVmSku')]",
|
|
"dbLogin": "[parameters('dbLogin')]",
|
|
"dbLoginPassword": "[concat(substring(uniqueString(resourceGroup().id, deployment().name), 2, 11), '*7', toUpper('pfiwb'))]",
|
|
"dbServerType": "[parameters('dbServerType')]",
|
|
"dbUsername": "[concat(parameters('dbLogin'), '@', parameters('dbServerType'), '-', variables('resourceprefix'))]",
|
|
"elasticVmSku": "[parameters('elasticVmSku')]",
|
|
"dbDNS": "[if(equals(parameters('dbServerType'),'mssql'),concat(parameters('dbServerType'), '-',variables('resourcePrefix'), '.database.windows.net'), concat(parameters('dbServerType'), '-', variables('resourcePrefix'), '.', parameters('dbServerType'), '.database.azure.com'))]",
|
|
"elasticAvailabilitySetName": "[concat('elastic-avset-',variables('resourceprefix'))]",
|
|
"elasticClusterName": "[concat('es-cluster-',variables('resourceprefix'))]",
|
|
"elasticNicName1": "[concat('elastic-vm-nic-01-',variables('resourceprefix'))]",
|
|
"elasticNicName2": "[concat('elastic-vm-nic-02-',variables('resourceprefix'))]",
|
|
"elasticNicName3": "[concat('elastic-vm-nic-03-',variables('resourceprefix'))]",
|
|
"elasticScriptFilename": "install_elastic.sh",
|
|
"elasticVm1IP": "[concat( variables('octets')[0], '.', variables('octets')[1], '.', string(add(int(variables('octets')[2]),4)), '.20')]",
|
|
"elasticVm2IP": "[concat( variables('octets')[0], '.', variables('octets')[1], '.', string(add(int(variables('octets')[2]),4)), '.21')]",
|
|
"elasticVm3IP": "[concat( variables('octets')[0], '.', variables('octets')[1], '.', string(add(int(variables('octets')[2]),4)), '.22')]",
|
|
"elasticVmName": "[concat('elastic-vm-',variables('resourceprefix'))]",
|
|
"elasticVmName1": "[concat('elastic-vm-01-',variables('resourceprefix'))]",
|
|
"elasticVmName2": "[concat('elastic-vm-02-',variables('resourceprefix'))]",
|
|
"elasticVmName3": "[concat('elastic-vm-03-',variables('resourceprefix'))]",
|
|
"extBeName": "[concat('lb-backend-',variables('resourceprefix'))]",
|
|
"extFeName": "[concat('lb-frontend-',variables('resourceprefix'))]",
|
|
"extNatPool": "[concat('lb-natpool-',variables('resourceprefix'))]",
|
|
"extProbe": "[concat('lb-probe-',variables('resourceprefix'))]",
|
|
"fileServerDiskCount": "[parameters('fileServerDiskCount')]",
|
|
"fileServerDiskSize": "[parameters('fileServerDiskSize')]",
|
|
"fileServerType": "[parameters('fileServerType')]",
|
|
"firewallRuleName": "[parameters('firewallRuleName')]",
|
|
"gatewayName": "[concat('vnet-gateway-',variables('resourceprefix'))]",
|
|
"gatewayPublicIPName": "[concat('vnet-gw-ip-',variables('resourceprefix'))]",
|
|
"gatewaySubnet": "[parameters('gatewaySubnet')]",
|
|
"gatewaySubnetPrefix": "[concat(variables('octets')[0], '.', variables('octets')[1], '.', string(add(int(variables('octets')[2]),2)))]",
|
|
"gatewaySubnetRange": "[concat(variables('octets')[0], '.', variables('octets')[1], '.', string(add(int(variables('octets')[2]),2)), '.0/24')]",
|
|
"gatewayType": "[parameters('gatewayType')]",
|
|
"gfsNameRoot": "[concat('gluster-vm-',variables('resourceprefix'))]",
|
|
"gfxAvailabilitySetName": "[concat('gluster-avset-',variables('resourceprefix'))]",
|
|
"glusterScriptFilename": "install_gluster.sh",
|
|
"glusterVmCount": 2,
|
|
"glusterVmSku": "[parameters('glusterVmSku')]",
|
|
"installO365pluginsSwitch": "[parameters('installO365pluginsSwitch')]",
|
|
"installElasticSearchSwitch": "[parameters('installElasticSearchSwitch')]",
|
|
"jboxNicName": "[concat('jumpbox-vm-nic-',variables('resourceprefix'))]",
|
|
"jboxNsgName": "[concat('jumpbox-nsg-',variables('resourceprefix'))]",
|
|
"jboxPipName": "[concat('jumpbox-pubip-',variables('resourceprefix'))]",
|
|
"jboxVmName": "[concat('jumpbox-vm-',variables('resourceprefix'))]",
|
|
"lbDns": "[concat('lb-',variables('resourceprefix'),'.',resourceGroup().location,'.cloudapp.azure.com')]",
|
|
"lbName": "[concat('lb-',variables('resourceprefix'))]",
|
|
"lbPipName": "[concat('lb-pubip-',variables('resourceprefix'))]",
|
|
"moodleAdminPass": "[concat(toUpper('xl'), substring(uniqueString(resourceGroup().id, deployment().name), 6, 7),',1*8')]",
|
|
"moodleDbName": "moodle",
|
|
"moodleDbPass": "[concat('9#36^', substring(uniqueString(resourceGroup().id, deployment().name), 5, 8), toUpper('ercq'))]",
|
|
"moodleDbUser": "moodle",
|
|
"moodleDbUserAzure": "[concat('moodle', '@', parameters('dbServerType'), '-', variables('resourceprefix'))]",
|
|
"moodleInstallScriptFilename": "install_moodle.sh",
|
|
"moodleVersion": "[parameters('moodleVersion')]",
|
|
"mysqlVersion": "[parameters('mysqlVersion')]",
|
|
"osType": {
|
|
"offer": "UbuntuServer",
|
|
"publisher": "Canonical",
|
|
"sku": "16.04-LTS",
|
|
"version": "latest"
|
|
},
|
|
"policyName": "[concat('policy-',variables('resourceprefix'))]",
|
|
"postgresVersion": "[parameters('postgresVersion')]",
|
|
"mssqlVersion": "[parameters('mssqlVersion')]",
|
|
"redisCacheName": "[concat('redis-',variables('resourceprefix'))]",
|
|
"redisDeploySwitch": "[parameters('redisDeploySwitch')]",
|
|
"redisDns": "[concat('redis-',variables('resourceprefix'),'.redis.cache.windows.net')]",
|
|
"resourcesPrefix": "[variables('resourceprefix')]",
|
|
"serverName": "[concat(parameters('dbServerType'), '-',variables('resourceprefix'))]",
|
|
"siteURL": "[if(or(empty(parameters('siteURL')), equals(parameters('siteURL'), 'www.example.org')), concat('lb-',variables('resourceprefix'),'.',resourceGroup().location,'.cloudapp.azure.com'), parameters('siteURL'))]",
|
|
"skuCapacityDTU": "[parameters('skuCapacityDTU')]",
|
|
"skuFamily": "[parameters('skuFamily')]",
|
|
"skuName": "[parameters('skuName')]",
|
|
"skuSizeMB": "[parameters('skuSizeMB')]",
|
|
"skuTier": "[parameters('skuTier')]",
|
|
"sshPublicKey": "[parameters('sshPublicKey')]",
|
|
"sshUsername": "[parameters('sshUsername')]",
|
|
"sslEnforcement": "[parameters('sslEnforcement')]",
|
|
"storageAccountName": "[tolower(concat('abs',variables('resourceprefix')))]",
|
|
"storageAccountType": "[parameters('storageAccountType')]",
|
|
"subnetElastic": "[concat('elastic-subnet-',variables('resourceprefix'))]",
|
|
"subnetElasticPrefix": "[concat( variables('octets')[0], '.', variables('octets')[1], '.', string(add(int(variables('octets')[2]),4)))]",
|
|
"subnetElasticRange": "[concat( variables('octets')[0], '.', variables('octets')[1], '.', string(add(int(variables('octets')[2]),4)), '.0/24')]",
|
|
"subnetRedis": "[concat('redis-subnet-',variables('resourceprefix'))]",
|
|
"subnetRedisPrefix": "[concat( variables('octets')[0], '.', variables('octets')[1], '.', string(add(int(variables('octets')[2]),3)))]",
|
|
"subnetRedisRange": "[concat( variables('octets')[0], '.', variables('octets')[1], '.', string(add(int(variables('octets')[2]),3)), '.0/24')]",
|
|
"subnetSan": "[concat('san-subnet-',variables('resourceprefix'))]",
|
|
"subnetSanPrefix": "[concat( variables('octets')[0], '.', variables('octets')[1], '.', string(add(int(variables('octets')[2]),1)))]",
|
|
"subnetSanRange": "[concat( variables('octets')[0], '.', variables('octets')[1], '.', string(add(int(variables('octets')[2]),1)), '.0/24')]",
|
|
"subnetWeb": "[concat('web-subnet-',variables('resourceprefix'))]",
|
|
"subnetWebPrefix": "[concat( variables('octets')[0], '.', variables('octets')[1], '.', string(add(int(variables('octets')[2]),0)))]",
|
|
"subnetWebRange": "[concat( variables('octets')[0], '.', variables('octets')[1], '.', string(add(int(variables('octets')[2]),0)), '.0/24')]",
|
|
"vNetAddressSpace": "[parameters('vNetAddressSpace')]",
|
|
"vaultName": "[concat('vault-',variables('resourceprefix'))]",
|
|
"vmssName": "[concat('vmss-',variables('resourceprefix'))]",
|
|
"vmssdStorageAccounttName": "[concat('vmss',uniqueString(resourceGroup().id))]",
|
|
"vnetGwDeploySwitch": "[parameters('vnetGwDeploySwitch')]",
|
|
"vnetName": "[concat('vnet-',variables('resourceprefix'))]",
|
|
"vpnType": "[parameters('vpnType')]",
|
|
"webServerSetupScriptFilename": "setup_webserver.sh",
|
|
"webServerType": "[parameters('webServerType')]",
|
|
"serviceObjective": "[parameters('serviceObjective')]",
|
|
"msDbSize": "[parameters('msDbSize')]",
|
|
"webServerType": "[parameters('webServerType')]"
|
|
},
|
|
"octets": "[split(parameters('vNetAddressSpace'), '.')]",
|
|
"resourceprefix": "[substring(uniqueString(resourceGroup().id, deployment().name), 3, 6)]"
|
|
}
|
|
}
|