diff --git a/Sitecore 9.0.0/XPASE/README.md b/Sitecore 9.0.0/XPASE/README.md new file mode 100644 index 00000000..ceac5a88 --- /dev/null +++ b/Sitecore 9.0.0/XPASE/README.md @@ -0,0 +1,46 @@ +# Sitecore XP Environment with App Service Environment + +Visualize: +[Infrastructure](http://armviz.io/#/?load=https%3A%2F%2Fraw.githubusercontent.com%2FSitecore%2Fsitecore-azure-quickstart-templates%2Fmaster%2FSitecore%209.0.0%2Fxp%2Fnested%2Finfrastructure.json), +[Application deployment](http://armviz.io/#/?load=https%3A%2F%2Fraw.githubusercontent.com%2FSitecore%2Fsitecore-azure-quickstart-templates%2Fmaster%2FSitecore%209.0.0%2Fxp%2Fnested%2Fapplication.json) + +This template creates a Sitecore XP Environment with all resources necessary to run Sitecore. + +Resources provisioned: + + * Azure SQL databases : core, master, web, reporting, pools, tasks, forms, refdata, smm, shard0, shard1, ma + * Azure Redis Cache for session state + * Sitecore roles: Content Delivery, Content Management, Processing, Reporting + * Hosting plans: one per role + * Preconfigured Web Applications, based on the provided WebDeploy packages + * XConnect services: Search, Collection, Reference data, Marketing Automation, Marketing Automation Reporting + * Hosting Plans: XConnect Basic, XConnect Resource Intensive + * Preconfigured Web Applications, based on the provided WebDeploy packages + * Azure Search Service + * Application Insights for diagnostics and monitoring + * App Services Environment + * Virtual Network + +## Parameters + +The **deploymentId** and **licenseXml** parameters in azuredeploy.parameters.json are filled in by the PowerShell script using **Name** and **LicenseXmlPath** parameters respectively. + +|Parameter | Description +--------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------- +| location | The geographical region of the current deployment. +| sqlServerLogin | The name of the administrator account for Azure SQL server that will be created. +| sqlServerPassword | The password for the administrator account for Azure SQL server. +| sitecoreAdminPassword | The new password for the Sitecore **admin** account. +| repAuthenticationApiKey | A unique value (e.g. a GUID) that will be used as authentication key for communication between Content Management and the Reporting Web App. **Note: The minimal required length is 32 symbols** +| cmMsDeployPackageUrl | The HTTP(s) URL to a Sitecore XP Content Management Web Deploy package. +| cdMsDeployPackageUrl | The HTTP(s) URL to a Sitecore XP Content Delivery Web Deploy package. +| prcMsDeployPackageUrl | The HTTP(s) URL to a Sitecore XP Processing Web Deploy package. +| repMsDeployPackageUrl | The HTTP(s) URL to a Sitecore XP Reporting Web Deploy package. +| xcRefDataMsDeployPackageUrl | The HTTP(s) URL to a XConnect Reference Data service Web Deploy package. +| xcCollectMsDeployPackageUrl | The HTTP(s) URL to a XConnect Collection service Web Deploy package. +| xcSearchMsDeployPackageUrl | The HTTP(s) URL to a XConnect Search service Web Deploy package. +| maOpsMsDeployPackageUrl | The HTTP(s) URL to a Marketing Automation service Web Deploy package. +| maRepMsDeployPackageUrl | The HTTP(s) URL to a Marketing Automation Reporting service Web Deploy package. +| authCertificateBlob | A Base64-encoded blob of the authentication certificate in PKCS #12 format. +| authCertificatePassword | A password to the authentication certificate. +| aseSize | Value can be either small, medium or large. This sets the size of frontend scale factor, amount of worker pools and multisize \ No newline at end of file diff --git a/Sitecore 9.0.0/XPASE/addons/bootloader.json b/Sitecore 9.0.0/XPASE/addons/bootloader.json new file mode 100644 index 00000000..8934e9f4 --- /dev/null +++ b/Sitecore 9.0.0/XPASE/addons/bootloader.json @@ -0,0 +1,122 @@ +{ + "$schema": "http://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#", + "contentVersion": "1.0.0.0", + "variables": { + "webApiVersion": "2016-08-01", + "cmWebAppNameTidy": "[toLower(trim(parameters('cmWebAppName')))]", + "cdWebAppNameTidy": "[toLower(trim(parameters('cdWebAppName')))]", + "prcWebAppNameTidy": "[toLower(trim(parameters('prcWebAppName')))]", + "repWebAppNameTidy": "[toLower(trim(parameters('repWebAppName')))]" + }, + "parameters": { + "standard": { + "type": "secureObject", + "defaultValue": { + "deploymentId": null, + "location": null, + "cmWebAppName": null, + "cdWebAppName": null, + "prcWebAppName": null, + "repWebAppName": null + } + }, + "extension": { + "type": "secureObject", + "defaultValue": {} + }, + "deploymentId": { + "type": "string", + "defaultValue": "[coalesce(parameters('standard').deploymentId, resourceGroup().name)]" + }, + "location": { + "type": "string", + "defaultValue": "[coalesce(parameters('standard').location, resourceGroup().location)]" + }, + "cmWebAppName": { + "type": "string", + "defaultValue": "[coalesce(parameters('standard').cmWebAppName, concat(parameters('deploymentId'), '-cm'))]" + }, + "cdWebAppName": { + "type": "string", + "defaultValue": "[coalesce(parameters('standard').cdWebAppName, concat(parameters('deploymentId'), '-cd'))]" + }, + "prcWebAppName": { + "type": "string", + "defaultValue": "[coalesce(parameters('standard').prcWebAppName, concat(parameters('deploymentId'), '-prc'))]" + }, + "repWebAppName": { + "type": "string", + "defaultValue": "[coalesce(parameters('standard').repWebAppName, concat(parameters('deploymentId'), '-rep'))]" + }, + "msDeployPackageUrl": { + "type": "securestring", + "defaultValue": "[parameters('extension').msDeployPackageUrl]" + } + }, + "resources": [ + { + "name": "[concat(variables('cmWebAppNameTidy'), '/', 'MSDeploy')]", + "type": "Microsoft.Web/sites/extensions", + "location": "[parameters('location')]", + "apiVersion": "[variables('webApiVersion')]", + "properties": { + "addOnPackages": [ + { + "packageUri": "[parameters('msDeployPackageUrl')]", + "setParameters": { + "Application Path": "[variables('cmWebAppNameTidy')]" + } + } + ] + } + }, + { + "name": "[concat(variables('cdWebAppNameTidy'), '/', 'MSDeploy')]", + "type": "Microsoft.Web/sites/extensions", + "location": "[parameters('location')]", + "apiVersion": "[variables('webApiVersion')]", + "properties": { + "addOnPackages": [ + { + "packageUri": "[parameters('msDeployPackageUrl')]", + "setParameters": { + "Application Path": "[variables('cdWebAppNameTidy')]" + } + } + ] + } + }, + { + "name": "[concat(variables('prcWebAppNameTidy'), '/', 'MSDeploy')]", + "type": "Microsoft.Web/sites/extensions", + "location": "[parameters('location')]", + "apiVersion": "[variables('webApiVersion')]", + "properties": { + "addOnPackages": [ + { + "packageUri": "[parameters('msDeployPackageUrl')]", + "setParameters": { + "Application Path": "[variables('prcWebAppNameTidy')]" + } + } + ] + } + }, + { + "name": "[concat(variables('repWebAppNameTidy'), '/', 'MSDeploy')]", + "type": "Microsoft.Web/sites/extensions", + "location": "[parameters('location')]", + "apiVersion": "[variables('webApiVersion')]", + "properties": { + "addOnPackages": [ + { + "packageUri": "[parameters('msDeployPackageUrl')]", + "setParameters": { + "Application Path": "[variables('repWebAppNameTidy')]" + } + } + ] + } + } + ] +} \ No newline at end of file diff --git a/Sitecore 9.0.0/XPASE/addons/generic.json b/Sitecore 9.0.0/XPASE/addons/generic.json new file mode 100644 index 00000000..f7f49d7e --- /dev/null +++ b/Sitecore 9.0.0/XPASE/addons/generic.json @@ -0,0 +1,208 @@ +{ + "$schema": "http://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#", + "contentVersion": "1.0.0.0", + "variables": { + "webApiVersion": "2016-08-01", + + "sqlServerFqdnTidy": "[trim(toLower(parameters('sqlServerFqdn')))]", + + "coreSqlDatabaseNameTidy": "[trim(toLower(parameters('coreSqlDatabaseName')))]", + "masterSqlDatabaseNameTidy": "[trim(toLower(parameters('masterSqlDatabaseName')))]", + "reportingSqlDatabaseNameTidy": "[trim(toLower(parameters('reportingSqlDatabaseName')))]", + + "cmWebAppNameTidy": "[trim(toLower(parameters('cmWebAppName')))]", + "cdWebAppNameTidy": "[trim(toLower(parameters('cdWebAppName')))]", + "prcWebAppNameTidy": "[trim(toLower(parameters('prcWebAppName')))]", + "repWebAppNameTidy": "[trim(toLower(parameters('repWebAppName')))]" + }, + "parameters": { + "standard": { + "type": "secureObject", + "defaultValue": { + "infrastructure": { "sqlServerFqdn":null }, + "deploymentId": null, + "location": null, + "sqlServerLogin": null, + "sqlServerPassword": null, + "coreSqlDatabaseName": null, + "masterSqlDatabaseName": null, + "reportingSqlDatabaseName": null, + "cmWebAppName": null, + "cdWebAppName": null, + "prcWebAppName": null, + "repWebAppName": null + } + }, + "extension": { + "type": "secureObject", + "defaultValue": { + "cmMsDeployPackageUrl": null, + "cdMsDeployPackageUrl": null, + "prcMsDeployPackageUrl": null, + "repMsDeployPackageUrl": null + } + }, + "infrastructure": { + "type": "secureObject", + "defaultValue": "[parameters('standard').infrastructure]" + }, + + "deploymentId": { + "type": "string", + "defaultValue": "[coalesce(parameters('standard').deploymentId, resourceGroup().name)]" + }, + "location": { + "type": "string", + "minLength": 1, + "defaultValue": "[coalesce(parameters('standard').location, resourceGroup().location)]" + }, + + "sqlServerFqdn": { + "type": "string", + "minLength": 1, + "defaultValue": "[parameters('infrastructure').sqlServerFqdn]" + }, + "sqlServerLogin": { + "type": "string", + "minLength": 1, + "defaultValue": "[parameters('standard').sqlServerLogin]" + }, + "sqlServerPassword": { + "type": "securestring", + "minLength": 8, + "defaultValue": "[parameters('standard').sqlServerPassword]" + }, + + "coreSqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[coalesce(parameters('standard').coreSqlDatabaseName, concat(parameters('deploymentId'), '-core-db'))]" + }, + "masterSqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[coalesce(parameters('standard').masterSqlDatabaseName, concat(parameters('deploymentId'), '-master-db'))]" + }, + "reportingSqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[coalesce(parameters('standard').reportingSqlDatabaseName, concat(parameters('deploymentId'), '-reporting-db'))]" + }, + + "cmWebAppName": { + "type": "string", + "defaultValue": "[coalesce(parameters('standard').cmWebAppName, concat(parameters('deploymentId'), '-cm'))]" + }, + "cdWebAppName": { + "type": "string", + "defaultValue": "[coalesce(parameters('standard').cdWebAppName, concat(parameters('deploymentId'), '-cd'))]" + }, + "prcWebAppName": { + "type": "string", + "defaultValue": "[coalesce(parameters('standard').prcWebAppName, concat(parameters('deploymentId'), '-prc'))]" + }, + "repWebAppName": { + "type": "string", + "defaultValue": "[coalesce(parameters('standard').repWebAppName, concat(parameters('deploymentId'), '-rep'))]" + }, + + "cmMsDeployPackageUrl": { + "type": "securestring", + "minLength": 1, + "defaultValue": "[parameters('extension').cmMsDeployPackageUrl]" + }, + "cdMsDeployPackageUrl": { + "type": "securestring", + "minLength": 1, + "defaultValue": "[parameters('extension').cdMsDeployPackageUrl]" + }, + "prcMsDeployPackageUrl": { + "type": "securestring", + "minLength": 1, + "defaultValue": "[parameters('extension').prcMsDeployPackageUrl]" + }, + "repMsDeployPackageUrl": { + "type": "securestring", + "minLength": 1, + "defaultValue": "[parameters('extension').repMsDeployPackageUrl]" + } + }, + "resources": [ + { + "name": "[concat(variables('cmWebAppNameTidy'), '/', 'MSDeploy')]", + "type": "Microsoft.Web/sites/extensions", + "location": "[parameters('location')]", + "apiVersion": "[variables('webApiVersion')]", + "properties": { + "addOnPackages": [ + { + "dbType": "SQL", + "connectionString": "[concat('Data Source=tcp:', variables('sqlServerFqdnTidy'), ',1433;Initial Catalog=master;User Id=', parameters('sqlServerLogin'), ';Password=', parameters('sqlServerPassword'), ';')]", + "packageUri": "[parameters('cmMsDeployPackageUrl')]", + "setParameters": { + "Application Path": "[variables('cmWebAppNameTidy')]", + "Core Admin Connection String": "[concat('Encrypt=True;TrustServerCertificate=False;Data Source=', variables('sqlServerFqdnTidy'), ',1433;Initial Catalog=',variables('coreSqlDatabaseNameTidy'),';User Id=', parameters('sqlServerLogin'), ';Password=', parameters('sqlServerPassword'), ';')]", + "Master Admin Connection String": "[concat('Encrypt=True;TrustServerCertificate=False;Data Source=', variables('sqlServerFqdnTidy'), ',1433;Initial Catalog=',variables('masterSqlDatabaseNameTidy'),';User Id=', parameters('sqlServerLogin'), ';Password=', parameters('sqlServerPassword'), ';')]" + } + } + ] + } + }, + { + "name": "[concat(variables('cdWebAppNameTidy'), '/', 'MSDeploy')]", + "type": "Microsoft.Web/sites/extensions", + "location": "[parameters('location')]", + "apiVersion": "[variables('webApiVersion')]", + "properties": { + "addOnPackages": [ + { + "dbType": "SQL", + "connectionString": "[concat('Data Source=tcp:', variables('sqlServerFqdnTidy'), ',1433;Initial Catalog=master;User Id=', parameters('sqlServerLogin'), ';Password=', parameters('sqlServerPassword'), ';')]", + "packageUri": "[parameters('cdMsDeployPackageUrl')]", + "setParameters": { + "Application Path": "[variables('cdWebAppNameTidy')]" + } + } + ] + } + }, + { + "name": "[concat(variables('prcWebAppNameTidy'), '/', 'MSDeploy')]", + "type": "Microsoft.Web/sites/extensions", + "location": "[parameters('location')]", + "apiVersion": "[variables('webApiVersion')]", + "properties": { + "addOnPackages": [ + { + "dbType": "SQL", + "connectionString": "[concat('Data Source=tcp:', variables('sqlServerFqdnTidy'), ',1433;Initial Catalog=master;User Id=', parameters('sqlServerLogin'), ';Password=', parameters('sqlServerPassword'), ';')]", + "packageUri": "[parameters('prcMsDeployPackageUrl')]", + "setParameters": { + "Application Path": "[variables('prcWebAppNameTidy')]", + "Reporting Admin Connection String": "[concat('Encrypt=True;TrustServerCertificate=False;Data Source=', variables('sqlServerFqdnTidy'), ',1433;Initial Catalog=',variables('reportingSqlDatabaseNameTidy'),';User Id=', parameters('sqlServerLogin'), ';Password=', parameters('sqlServerPassword'), ';')]" + } + } + ] + } + }, + { + "name": "[concat(variables('repWebAppNameTidy'), '/', 'MSDeploy')]", + "type": "Microsoft.Web/sites/extensions", + "location": "[parameters('location')]", + "apiVersion": "[variables('webApiVersion')]", + "properties": { + "addOnPackages": [ + { + "dbType": "SQL", + "connectionString": "[concat('Data Source=tcp:', variables('sqlServerFqdnTidy'), ',1433;Initial Catalog=master;User Id=', parameters('sqlServerLogin'), ';Password=', parameters('sqlServerPassword'), ';')]", + "packageUri": "[parameters('repMsDeployPackageUrl')]", + "setParameters": { + "Application Path": "[variables('repWebAppNameTidy')]", + "Master Admin Connection String": "[concat('Encrypt=True;TrustServerCertificate=False;Data Source=', variables('sqlServerFqdnTidy'), ',1433;Initial Catalog=',variables('masterSqlDatabaseNameTidy'),';User Id=', parameters('sqlServerLogin'), ';Password=', parameters('sqlServerPassword'), ';')]" + } + } + ] + } + } + ] +} diff --git a/Sitecore 9.0.0/XPASE/azuredeploy.json b/Sitecore 9.0.0/XPASE/azuredeploy.json new file mode 100644 index 00000000..98a50797 --- /dev/null +++ b/Sitecore 9.0.0/XPASE/azuredeploy.json @@ -0,0 +1,1285 @@ +{ + "$schema": "http://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#", + "contentVersion": "1.0.0.0", + "variables": { + "resourcesApiVersion": "2016-09-01", + "defaultDependency": [ + { + "name": "application" + } + ], + "dependencies": "[concat(variables('defaultDependency'), parameters('modules').items)]" + }, + "parameters": { + "modules": { + "type": "secureObject", + "defaultValue": { + "items": [ + { + "name": "empty", + "templateLink": "[concat(uri(parameters('templateLinkBase'), 'nested/emptyAddon.json'), parameters('templateLinkAccessToken'))]", + "parameters": { + } + } + ] + } + }, + + "templateLinkBase": { + "type": "string", + "minLength": 1, + "defaultValue": "[uri(replace(deployment().properties.templateLink.uri,' ','%20'), '.')]" + }, + "templateLinkAccessToken": { + "type": "securestring", + "defaultValue": "" + }, + + "deploymentId": { + "type": "string", + "defaultValue": "[resourceGroup().name]" + }, + "location": { + "type": "string", + "minLength": 1, + "defaultValue": "[resourceGroup().location]" + }, + + "sitecoreAdminPassword": { + "type": "securestring", + "minLength": 8 + }, + "licenseXml": { + "type": "securestring", + "minLength": 1 + }, + "sitecoreSKU": { + "type": "string", + "allowedValues": [ "Extra Small", "Small", "Medium", "Large", "Extra Large" ], + "defaultValue": "Extra Small", + "metadata": { + "description": "Sitecore SKU controls the sizes and service levels of the provisioned resources" + } + }, + "repAuthenticationApiKey": { + "type": "securestring", + "minLength": 32 + }, + + "sqlServerName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-sql')]" + }, + "sqlServerLogin": { + "type": "string", + "minLength": 1 + }, + "sqlServerPassword": { + "type": "securestring", + "minLength": 8 + }, + + "sqlServerVersion": { + "type": "string", + "minLength": 1, + "defaultValue": "12.0" + }, + "sqlDatabaseCollation": { + "type": "string", + "minLength": 1, + "defaultValue": "SQL_Latin1_General_CP1_CI_AS" + }, + + "coreSqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-core-db')]" + }, + "masterSqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-master-db')]" + }, + "webSqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-web-db')]" + }, + "reportingSqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-reporting-db')]" + }, + "poolsSqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-pools-db')]" + }, + "tasksSqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-tasks-db')]" + }, + "formsSqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-forms-db')]" + }, + "shardMapManagerSqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-smm-db')]" + }, + "shard0SqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-shard0-db')]" + }, + "shard1SqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-shard1-db')]" + }, + "refDataSqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-refdata-db')]" + }, + "maSqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-ma-db')]" + }, + + "coreSqlDatabaseUserName": { + "type": "string", + "minLength": 1, + "defaultValue": "coreuser" + }, + "coreSqlDatabasePassword": { + "type": "securestring", + "minLength": 8, + "defaultValue": "[concat(toUpper(uniqueString('core', parameters('passwordSalt'))), uniqueString('core', parameters('sqlServerPassword'), parameters('passwordSalt')), toUpper(uniqueString('core', parameters('sitecoreAdminPassword'), parameters('passwordSalt'))), '4@')]" + }, + "masterSqlDatabaseUserName": { + "type": "string", + "minLength": 1, + "defaultValue": "masteruser" + }, + "masterSqlDatabasePassword": { + "type": "securestring", + "minLength": 8, + "defaultValue": "[concat(toUpper(uniqueString('master', parameters('passwordSalt'))), uniqueString('master', parameters('sqlServerPassword'), parameters('passwordSalt')), toUpper(uniqueString('master', parameters('sitecoreAdminPassword'), parameters('passwordSalt'))), '4@')]" + }, + "webSqlDatabaseUserName": { + "type": "string", + "minLength": 1, + "defaultValue": "webuser" + }, + "webSqlDatabasePassword": { + "type": "securestring", + "minLength": 8, + "defaultValue": "[concat(toUpper(uniqueString('web', parameters('passwordSalt'))), uniqueString('web', parameters('sqlServerPassword'), parameters('passwordSalt')), toUpper(uniqueString('web', parameters('sitecoreAdminPassword'), parameters('passwordSalt'))), '4@')]" + }, + "formsSqlDatabaseUserName": { + "type": "string", + "minLength": 1, + "defaultValue": "formsuser" + }, + "formsSqlDatabasePassword": { + "type": "securestring", + "minLength": 8, + "defaultValue": "[concat(toUpper(uniqueString('forms', parameters('passwordSalt'))), uniqueString('forms', parameters('sqlServerPassword'), parameters('passwordSalt')), toUpper(uniqueString('forms', parameters('sitecoreAdminPassword'), parameters('passwordSalt'))), '4@')]" + }, + "reportingSqlDatabaseUserName": { + "type": "string", + "minLength": 1, + "defaultValue": "reportinguser" + }, + "reportingSqlDatabasePassword": { + "type": "securestring", + "minLength": 8, + "defaultValue": "[concat(toUpper(uniqueString('reporting', parameters('passwordSalt'))), uniqueString('reporting', parameters('sqlServerPassword'), parameters('passwordSalt')), toUpper(uniqueString('reporting', parameters('sitecoreAdminPassword'), parameters('passwordSalt'))), '4@')]" + }, + "poolsSqlDatabaseUserName": { + "type": "string", + "minLength": 1, + "defaultValue": "poolsuser" + }, + "poolsSqlDatabasePassword": { + "type": "securestring", + "minLength": 8, + "defaultValue": "[concat(toUpper(uniqueString('pools', parameters('passwordSalt'))), uniqueString('pools', parameters('sqlServerPassword'), parameters('passwordSalt')), toUpper(uniqueString('pools', parameters('sitecoreAdminPassword'), parameters('passwordSalt'))), '4@')]" + }, + "tasksSqlDatabaseUserName": { + "type": "string", + "minLength": 1, + "defaultValue": "tasksuser" + }, + "tasksSqlDatabasePassword": { + "type": "securestring", + "minLength": 8, + "defaultValue": "[concat(toUpper(uniqueString('tasks', parameters('passwordSalt'))), uniqueString('tasks', parameters('sqlServerPassword'), parameters('passwordSalt')), toUpper(uniqueString('tasks', parameters('sitecoreAdminPassword'), parameters('passwordSalt'))), '4@')]" + }, + "xcRefDataSqlDatabaseUserName": { + "type": "string", + "minLength": 1, + "defaultValue": "xcrefdatauser" + }, + "xcRefDataSqlDatabasePassword": { + "type": "securestring", + "minLength": 8, + "defaultValue": "[concat(toUpper(uniqueString('xcrefdata', parameters('passwordSalt'))), uniqueString('xcrefdata', parameters('sqlServerPassword'), parameters('passwordSalt')), toUpper(uniqueString('xcrefdata', parameters('sitecoreAdminPassword'), parameters('passwordSalt'))), '4@')]" + }, + "xcShardMapManagerSqlDatabaseUserName": { + "type": "string", + "minLength": 1, + "defaultValue": "xcsmmuser" + }, + "xcShardMapManagerSqlDatabasePassword": { + "type": "securestring", + "minLength": 8, + "defaultValue": "[concat(toUpper(uniqueString('xcsmm', parameters('passwordSalt'))), uniqueString('xcsmm', parameters('sqlServerPassword'), parameters('passwordSalt')), toUpper(uniqueString('xcsmm', parameters('sitecoreAdminPassword'), parameters('passwordSalt'))), '4@')]" + }, + "xcMaSqlDatabaseUserName": { + "type": "string", + "minLength": 1, + "defaultValue": "xcmauser" + }, + "xcMaSqlDatabasePassword": { + "type": "securestring", + "minLength": 8, + "defaultValue": "[concat(toUpper(uniqueString('xcma', parameters('passwordSalt'))), uniqueString('xcma', parameters('sqlServerPassword'), parameters('passwordSalt')), toUpper(uniqueString('xcma', parameters('sitecoreAdminPassword'), parameters('passwordSalt'))), '4@')]" + }, + + "redisCacheName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-redis')]" + }, + "searchServiceName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-as')]" + }, + "xcSearchIndexName": { + "type": "string", + "minLength": 1, + "defaultValue": "xdb" + }, + "applicationInsightsName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-ai')]" + }, + "applicationInsightsLocation": { + "type": "string", + "defaultValue": "East US" + }, + "applicationInsightsPricePlan": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-ai-pp')]" + }, + + "cmHostingPlanName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-cm-hp')]" + }, + "cdHostingPlanName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-cd-hp')]" + }, + "prcHostingPlanName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-prc-hp')]" + }, + "repHostingPlanName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-rep-hp')]" + }, + "xcBasicHostingPlanName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-xc-basic-hp')]" + }, + "xcResourceIntensiveHostingPlanName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-xc-resourceintensive-hp')]" + }, + + "cmWebAppName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-cm')]" + }, + "cdWebAppName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-cd')]" + }, + "prcWebAppName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-prc')]" + }, + "repWebAppName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-rep')]" + }, + "xcRefDataWebAppName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-xc-refdata')]" + }, + "xcCollectWebAppName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-xc-collect')]" + }, + "xcSearchWebAppName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-xc-search')]" + }, + "maOpsWebAppName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-ma-ops')]" + }, + "maRepWebAppName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-ma-rep')]" + }, + + "cmMsDeployPackageUrl": { + "type": "securestring" + }, + "cdMsDeployPackageUrl": { + "type": "securestring" + }, + "prcMsDeployPackageUrl": { + "type": "securestring" + }, + "repMsDeployPackageUrl": { + "type": "securestring" + }, + "xcRefDataMsDeployPackageUrl": { + "type": "securestring" + }, + "xcCollectMsDeployPackageUrl": { + "type": "securestring" + }, + "xcSearchMsDeployPackageUrl": { + "type": "securestring" + }, + "maOpsMsDeployPackageUrl": { + "type": "securestring" + }, + "maRepMsDeployPackageUrl": { + "type": "securestring" + }, + + "securityClientIp": { + "type": "string", + "minLength": 1, + "defaultValue": "0.0.0.0" + }, + "securityClientIpMask": { + "type": "string", + "minLength": 1, + "defaultValue": "0.0.0.0" + }, + + "telerikEncryptionKey": { + "type": "securestring", + "minLength": 8, + "defaultValue": "[concat(toUpper(uniqueString('telerik', parameters('passwordSalt'))), uniqueString('telerik', parameters('sqlServerPassword'), parameters('passwordSalt')), toUpper(uniqueString('telerik', parameters('sitecoreAdminPassword'), parameters('passwordSalt'))), '4@')]" + }, + + "allowInvalidClientCertificates": { + "type": "bool", + "defaultValue":false + }, + + "passwordSalt": { + "type": "securestring", + "minLength": 1, + "defaultValue": "[resourceGroup().id]" + }, + + "xcServerConfigurationEnvironment": { + "type": "string", + "defaultValue": "Production", + "allowedValues": [ "Development", "Production" ] + }, + "authCertificateName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-auth')]" + }, + "authCertificateBlob": { + "type": "securestring", + "minLength": 1, + "defaultValue": "" + }, + "authCertificatePassword": { + "type": "securestring", + "minLength": 1, + "defaultValue": "" + }, + + "deployPlatform": { + "type": "bool", + "defaultValue": true + }, + "deployXConnect": { + "type": "bool", + "defaultValue": true + }, + "vNetName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-vnet')]" + }, + "vNetSubnetName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-subnet')]" + }, + "vNetAddressPrefix": { + "type": "string", + "minLength": 1, + "defaultValue": "10.0.0.0/24" + }, + "aseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-ase')]" + }, + "aseIpSslCount": { + "type": "int", + "defaultValue": 1 + }, + "aseSize": { + "type": "string", + "allowedValues": [ "small", "medium", "large" ] + } + }, + "resources": [ + { + "apiVersion": "[variables('resourcesApiVersion')]", + "name": "[concat(deployment().name, '-infrastructure')]", + "type": "Microsoft.Resources/deployments", + "properties": { + "mode": "Incremental", + "templateLink": { + "uri": "[concat(uri(parameters('templateLinkBase'), 'nested/infrastructure.json'), parameters('templateLinkAccessToken'))]" + }, + "parameters": { + "deploymentId": { + "value": "[parameters('deploymentId')]" + }, + "location": { + "value": "[parameters('location')]" + }, + "sitecoreSKU": { + "value": "[parameters('sitecoreSKU')]" + }, + + "sqlServerName": { + "value": "[parameters('sqlServerName')]" + }, + "sqlServerLogin": { + "value": "[parameters('sqlServerLogin')]" + }, + "sqlServerPassword": { + "value": "[parameters('sqlServerPassword')]" + }, + + "sqlServerVersion": { + "value": "[parameters('sqlServerVersion')]" + }, + "sqlDatabaseCollation": { + "value": "[parameters('sqlDatabaseCollation')]" + }, + + "coreSqlDatabaseName": { + "value": "[parameters('coreSqlDatabaseName')]" + }, + "masterSqlDatabaseName": { + "value": "[parameters('masterSqlDatabaseName')]" + }, + "webSqlDatabaseName": { + "value": "[parameters('webSqlDatabaseName')]" + }, + "reportingSqlDatabaseName": { + "value": "[parameters('reportingSqlDatabaseName')]" + }, + "poolsSqlDatabaseName": { + "value": "[parameters('poolsSqlDatabaseName')]" + }, + "tasksSqlDatabaseName": { + "value": "[parameters('tasksSqlDatabaseName')]" + }, + "formsSqlDatabaseName": { + "value": "[parameters('formsSqlDatabaseName')]" + }, + + "searchServiceName": { + "value": "[parameters('searchServiceName')]" + }, + "redisCacheName": { + "value": "[parameters('redisCacheName')]" + }, + "applicationInsightsName": { + "value": "[parameters('applicationInsightsName')]" + }, + "applicationInsightsLocation": { + "value": "[parameters('applicationInsightsLocation')]" + }, + "applicationInsightsPricePlan": { + "value": "[parameters('applicationInsightsPricePlan')]" + }, + + "cmHostingPlanName": { + "value": "[parameters('cmHostingPlanName')]" + }, + "cdHostingPlanName": { + "value": "[parameters('cdHostingPlanName')]" + }, + "prcHostingPlanName": { + "value": "[parameters('prcHostingPlanName')]" + }, + "repHostingPlanName": { + "value": "[parameters('repHostingPlanName')]" + }, + + "cmWebAppName": { + "value": "[parameters('cmWebAppName')]" + }, + "cdWebAppName": { + "value": "[parameters('cdWebAppName')]" + }, + "prcWebAppName": { + "value": "[parameters('prcWebAppName')]" + }, + "repWebAppName": { + "value": "[parameters('repWebAppName')]" + }, + "authCertificateName": { + "value": "[parameters('authCertificateName')]" + }, + "authCertificateBlob": { + "value": "[parameters('authCertificateBlob')]" + }, + "authCertificatePassword": { + "value": "[parameters('authCertificatePassword')]" + }, + "aseName": { + "value": "[parameters('aseName')]" + } + } + }, + "dependsOn": [ + "[resourceId('Microsoft.Resources/deployments', concat(deployment().name, '-infrastructure-ase'))]" + ] + }, + { + "apiVersion": "[variables('resourcesApiVersion')]", + "name": "[concat(deployment().name, '-infrastructure-ase')]", + "type": "Microsoft.Resources/deployments", + "properties": { + "mode": "Incremental", + "templateLink": { + "uri": "[concat(uri(parameters('templateLinkBase'), 'nested/infrastructure-ase.json'), parameters('templateLinkAccessToken'))]" + }, + "parameters": { + "deploymentId": { + "value": "[parameters('deploymentId')]" + }, + "location": { + "value": "[parameters('location')]" + }, + "vNetName": { + "value": "[parameters('vNetName')]" + }, + "vNetSubnetName": { + "value": "[parameters('vNetSubnetName')]" + }, + "vNetAddressPrefix": { + "value": "[parameters('vNetAddressPrefix')]" + }, + "aseName": { + "value": "[parameters('aseName')]" + }, + "aseIpSslCount": { + "value": "[parameters('aseIpSslCount')]" + }, + "aseSize": { + "value": "[parameters('aseSize')]" + } + } + } + }, + { + "apiVersion": "[variables('resourcesApiVersion')]", + "name": "[concat(deployment().name, '-infrastructure-xconnect')]", + "type": "Microsoft.Resources/deployments", + "properties": { + "mode": "Incremental", + "templateLink": { + "uri": "[concat(uri(parameters('templateLinkBase'), 'nested/infrastructure-xconnect.json'), parameters('templateLinkAccessToken'))]" + }, + "parameters": { + "deploymentId": { + "value": "[parameters('deploymentId')]" + }, + "location": { + "value": "[parameters('location')]" + }, + "sitecoreSKU": { + "value": "[parameters('sitecoreSKU')]" + }, + + "sqlServerName": { + "value": "[parameters('sqlServerName')]" + }, + + "sqlDatabaseCollation": { + "value": "[parameters('sqlDatabaseCollation')]" + }, + + "shardMapManagerSqlDatabaseName": { + "value": "[parameters('shardMapManagerSqlDatabaseName')]" + }, + "shard0SqlDatabaseName": { + "value": "[parameters('shard0SqlDatabaseName')]" + }, + "shard1SqlDatabaseName": { + "value": "[parameters('shard1SqlDatabaseName')]" + }, + "refDataSqlDatabaseName": { + "value": "[parameters('refDataSqlDatabaseName')]" + }, + + "xcBasicHostingPlanName": { + "value": "[parameters('xcBasicHostingPlanName')]" + }, + "xcResourceIntensiveHostingPlanName": { + "value": "[parameters('xcResourceIntensiveHostingPlanName')]" + }, + + "xcRefDataWebAppName": { + "value": "[parameters('xcRefDataWebAppName')]" + }, + "xcCollectWebAppName": { + "value": "[parameters('xcCollectWebAppName')]" + }, + "xcSearchWebAppName": { + "value": "[parameters('xcSearchWebAppName')]" + }, + "aseName": { + "value": "[parameters('aseName')]" + } + } + }, + "dependsOn": [ + "[resourceId('Microsoft.Resources/deployments', concat(deployment().name, '-infrastructure'))]" + ] + }, + { + "apiVersion": "[variables('resourcesApiVersion')]", + "name": "[concat(deployment().name, '-infrastructure-ma')]", + "type": "Microsoft.Resources/deployments", + "properties": { + "mode": "Incremental", + "templateLink": { + "uri": "[concat(uri(parameters('templateLinkBase'), 'nested/infrastructure-ma.json'), parameters('templateLinkAccessToken'))]" + }, + "parameters": { + "deploymentId": { + "value": "[parameters('deploymentId')]" + }, + "location": { + "value": "[parameters('location')]" + }, + "sitecoreSKU": { + "value": "[parameters('sitecoreSKU')]" + }, + + "sqlServerName": { + "value": "[parameters('sqlServerName')]" + }, + + "sqlDatabaseCollation": { + "value": "[parameters('sqlDatabaseCollation')]" + }, + + "maSqlDatabaseName": { + "value": "[parameters('maSqlDatabaseName')]" + }, + + "xcBasicHostingPlanName": { + "value": "[parameters('xcBasicHostingPlanName')]" + }, + + "maOpsWebAppName": { + "value": "[parameters('maOpsWebAppName')]" + }, + "maRepWebAppName": { + "value": "[parameters('maRepWebAppName')]" + } + } + }, + "dependsOn": [ + "[resourceId('Microsoft.Resources/deployments',concat(deployment().name, '-infrastructure-xconnect'))]" + ] + }, + { + "apiVersion": "[variables('resourcesApiVersion')]", + "name": "[concat(deployment().name, '-application')]", + "condition": "[parameters('deployPlatform')]", + "type": "Microsoft.Resources/deployments", + "properties": { + "mode": "Incremental", + "templateLink": { + "uri": "[concat(uri(parameters('templateLinkBase'), 'nested/application.json'), parameters('templateLinkAccessToken'))]" + }, + "parameters": { + "infrastructure": { + "value": "[reference(concat(deployment().name, '-infrastructure')).outputs.infrastructure.value]" + }, + + "deploymentId": { + "value": "[parameters('deploymentId')]" + }, + "location": { + "value": "[parameters('location')]" + }, + + "sitecoreAdminPassword": { + "value": "[parameters('sitecoreAdminPassword')]" + }, + "licenseXml": { + "value": "[parameters('licenseXml')]" + }, + "repAuthenticationApiKey": { + "value": "[parameters('repAuthenticationApiKey')]" + }, + + "sqlServerLogin": { + "value": "[parameters('sqlServerLogin')]" + }, + "sqlServerPassword": { + "value": "[parameters('sqlServerPassword')]" + }, + + "coreSqlDatabaseName": { + "value": "[parameters('coreSqlDatabaseName')]" + }, + "masterSqlDatabaseName": { + "value": "[parameters('masterSqlDatabaseName')]" + }, + "webSqlDatabaseName": { + "value": "[parameters('webSqlDatabaseName')]" + }, + "reportingSqlDatabaseName": { + "value": "[parameters('reportingSqlDatabaseName')]" + }, + "poolsSqlDatabaseName": { + "value": "[parameters('poolsSqlDatabaseName')]" + }, + "tasksSqlDatabaseName": { + "value": "[parameters('tasksSqlDatabaseName')]" + }, + "refDataSqlDatabaseName": { + "value": "[parameters('refDataSqlDatabaseName')]" + }, + "formsSqlDatabaseName": { + "value": "[parameters('formsSqlDatabaseName')]" + }, + + "coreSqlDatabaseUserName": { + "value": "[parameters('coreSqlDatabaseUserName')]" + }, + "coreSqlDatabasePassword": { + "value": "[parameters('coreSqlDatabasePassword')]" + }, + "masterSqlDatabaseUserName": { + "value": "[parameters('masterSqlDatabaseUserName')]" + }, + "masterSqlDatabasePassword": { + "value": "[parameters('masterSqlDatabasePassword')]" + }, + "webSqlDatabaseUserName": { + "value": "[parameters('webSqlDatabaseUserName')]" + }, + "webSqlDatabasePassword": { + "value": "[parameters('webSqlDatabasePassword')]" + }, + "formsSqlDatabaseUserName": { + "value": "[parameters('formsSqlDatabaseUserName')]" + }, + "formsSqlDatabasePassword": { + "value": "[parameters('formsSqlDatabasePassword')]" + }, + "reportingSqlDatabaseUserName": { + "value": "[parameters('reportingSqlDatabaseUserName')]" + }, + "reportingSqlDatabasePassword": { + "value": "[parameters('reportingSqlDatabasePassword')]" + }, + "poolsSqlDatabaseUserName": { + "value": "[parameters('poolsSqlDatabaseUserName')]" + }, + "poolsSqlDatabasePassword": { + "value": "[parameters('poolsSqlDatabasePassword')]" + }, + "tasksSqlDatabaseUserName": { + "value": "[parameters('tasksSqlDatabaseUserName')]" + }, + "tasksSqlDatabasePassword": { + "value": "[parameters('tasksSqlDatabasePassword')]" + }, + "xcRefDataSqlDatabaseUserName": { + "value": "[parameters('xcRefDataSqlDatabaseUserName')]" + }, + "xcRefDataSqlDatabasePassword": { + "value": "[parameters('xcRefDataSqlDatabasePassword')]" + }, + + "redisCacheName": { + "value": "[parameters('redisCacheName')]" + }, + "searchServiceName": { + "value": "[parameters('searchServiceName')]" + }, + "applicationInsightsName": { + "value": "[parameters('applicationInsightsName')]" + }, + + "cmWebAppName": { + "value": "[parameters('cmWebAppName')]" + }, + "cdWebAppName": { + "value": "[parameters('cdWebAppName')]" + }, + "prcWebAppName": { + "value": "[parameters('prcWebAppName')]" + }, + "repWebAppName": { + "value": "[parameters('repWebAppName')]" + }, + "xcCollectWebAppName": { + "value": "[parameters('xcCollectWebAppName')]" + }, + "xcSearchWebAppName": { + "value": "[parameters('xcSearchWebAppName')]" + }, + "maOpsWebAppName": { + "value": "[parameters('maOpsWebAppName')]" + }, + "maRepWebAppName": { + "value": "[parameters('maRepWebAppName')]" + }, + "xcRefDataWebAppName": { + "value": "[parameters('xcRefDataWebAppName')]" + }, + + "cmMsDeployPackageUrl": { + "value": "[parameters('cmMsDeployPackageUrl')]" + }, + "cdMsDeployPackageUrl": { + "value": "[parameters('cdMsDeployPackageUrl')]" + }, + "prcMsDeployPackageUrl": { + "value": "[parameters('prcMsDeployPackageUrl')]" + }, + "repMsDeployPackageUrl": { + "value": "[parameters('repMsDeployPackageUrl')]" + }, + + "securityClientIp": { + "value": "[parameters('securityClientIp')]" + }, + "securityClientIpMask": { + "value": "[parameters('securityClientIpMask')]" + }, + + "telerikEncryptionKey": { + "value": "[parameters('telerikEncryptionKey')]" + }, + + "allowInvalidClientCertificates": { + "value": "[parameters('allowInvalidClientCertificates')]" + }, + + "passwordSalt": { + "value": "[parameters('passwordSalt')]" + } + } + }, + "dependsOn": [ + "[resourceId('Microsoft.Resources/deployments', concat(deployment().name, '-application-ma'))]" + ] + }, + { + "apiVersion": "[variables('resourcesApiVersion')]", + "name": "[concat(deployment().name, '-application-xconnect')]", + "condition": "[parameters('deployXConnect')]", + "type": "Microsoft.Resources/deployments", + "properties": { + "mode": "Incremental", + "templateLink": { + "uri": "[concat(uri(parameters('templateLinkBase'), 'nested/application-xconnect.json'), parameters('templateLinkAccessToken'))]" + }, + "parameters": { + "infrastructure": { + "value": "[reference(concat(deployment().name, '-infrastructure')).outputs.infrastructure.value]" + }, + + "deploymentId": { + "value": "[parameters('deploymentId')]" + }, + "location": { + "value": "[parameters('location')]" + }, + + "sitecoreAdminPassword": { + "value": "[parameters('sitecoreAdminPassword')]" + }, + "licenseXml": { + "value": "[parameters('licenseXml')]" + }, + + "sqlServerLogin": { + "value": "[parameters('sqlServerLogin')]" + }, + "sqlServerPassword": { + "value": "[parameters('sqlServerPassword')]" + }, + + "poolsSqlDatabaseName": { + "value": "[parameters('poolsSqlDatabaseName')]" + }, + "shardMapManagerSqlDatabaseName": { + "value": "[parameters('shardMapManagerSqlDatabaseName')]" + }, + "shard0SqlDatabaseName": { + "value": "[parameters('shard0SqlDatabaseName')]" + }, + "shard1SqlDatabaseName": { + "value": "[parameters('shard1SqlDatabaseName')]" + }, + "refDataSqlDatabaseName": { + "value": "[parameters('refDataSqlDatabaseName')]" + }, + "maSqlDatabaseName": { + "value": "[parameters('maSqlDatabaseName')]" + }, + + "poolsSqlDatabaseUserName": { + "value": "[parameters('poolsSqlDatabaseUserName')]" + }, + "poolsSqlDatabasePassword": { + "value": "[parameters('poolsSqlDatabasePassword')]" + }, + "xcRefDataSqlDatabaseUserName": { + "value": "[parameters('xcRefDataSqlDatabaseUserName')]" + }, + "xcRefDataSqlDatabasePassword": { + "value": "[parameters('xcRefDataSqlDatabasePassword')]" + }, + "xcShardMapManagerSqlDatabaseUserName": { + "value": "[parameters('xcShardMapManagerSqlDatabaseUserName')]" + }, + "xcShardMapManagerSqlDatabasePassword": { + "value": "[parameters('xcShardMapManagerSqlDatabasePassword')]" + }, + "xcMaSqlDatabaseUserName": { + "value": "[parameters('xcMaSqlDatabaseUserName')]" + }, + "xcMaSqlDatabasePassword": { + "value": "[parameters('xcMaSqlDatabasePassword')]" + }, + + "searchServiceName": { + "value": "[parameters('searchServiceName')]" + }, + "xcSearchIndexName": { + "value": "[parameters('xcSearchIndexName')]" + }, + + "applicationInsightsName": { + "value": "[parameters('applicationInsightsName')]" + }, + + "xcRefDataWebAppName": { + "value": "[parameters('xcRefDataWebAppName')]" + }, + "xcCollectWebAppName": { + "value": "[parameters('xcCollectWebAppName')]" + }, + "xcSearchWebAppName": { + "value": "[parameters('xcSearchWebAppName')]" + }, + + "xcRefDataMsDeployPackageUrl": { + "value": "[parameters('xcRefDataMsDeployPackageUrl')]" + }, + "xcCollectMsDeployPackageUrl": { + "value": "[parameters('xcCollectMsDeployPackageUrl')]" + }, + "xcSearchMsDeployPackageUrl": { + "value": "[parameters('xcSearchMsDeployPackageUrl')]" + }, + + "allowInvalidClientCertificates": { + "value": "[parameters('allowInvalidClientCertificates')]" + }, + + "passwordSalt": { + "value": "[parameters('passwordSalt')]" + }, + + "xcServerConfigurationEnvironment": { + "value": "[parameters('xcServerConfigurationEnvironment')]" + } + } + }, + "dependsOn": [ + "[resourceId('Microsoft.Resources/deployments', concat(deployment().name, '-infrastructure-ma'))]" + ] + }, + { + "apiVersion": "[variables('resourcesApiVersion')]", + "name": "[concat(deployment().name, '-application-ma')]", + "condition": "[parameters('deployXConnect')]", + "type": "Microsoft.Resources/deployments", + "properties": { + "mode": "Incremental", + "templateLink": { + "uri": "[concat(uri(parameters('templateLinkBase'), 'nested/application-ma.json'), parameters('templateLinkAccessToken'))]" + }, + "parameters": { + "infrastructure": { + "value": "[reference(concat(deployment().name, '-infrastructure')).outputs.infrastructure.value]" + }, + + "deploymentId": { + "value": "[parameters('deploymentId')]" + }, + "location": { + "value": "[parameters('location')]" + }, + + "sitecoreAdminPassword": { + "value": "[parameters('sitecoreAdminPassword')]" + }, + "licenseXml": { + "value": "[parameters('licenseXml')]" + }, + + "sqlServerLogin": { + "value": "[parameters('sqlServerLogin')]" + }, + "sqlServerPassword": { + "value": "[parameters('sqlServerPassword')]" + }, + + "poolsSqlDatabaseName": { + "value": "[parameters('poolsSqlDatabaseName')]" + }, + "maSqlDatabaseName": { + "value": "[parameters('maSqlDatabaseName')]" + }, + "refDataSqlDatabaseName": { + "value": "[parameters('refDataSqlDatabaseName')]" + }, + "shardMapManagerSqlDatabaseName": { + "value": "[parameters('shardMapManagerSqlDatabaseName')]" + }, + + "poolsSqlDatabaseUserName": { + "value": "[parameters('poolsSqlDatabaseUserName')]" + }, + "poolsSqlDatabasePassword": { + "value": "[parameters('poolsSqlDatabasePassword')]" + }, + "xcRefDataSqlDatabaseUserName": { + "value": "[parameters('xcRefDataSqlDatabaseUserName')]" + }, + "xcRefDataSqlDatabasePassword": { + "value": "[parameters('xcRefDataSqlDatabasePassword')]" + }, + "xcMaSqlDatabaseUserName": { + "value": "[parameters('xcMaSqlDatabaseUserName')]" + }, + "xcMaSqlDatabasePassword": { + "value": "[parameters('xcMaSqlDatabasePassword')]" + }, + "xcShardMapManagerSqlDatabaseUserName": { + "value": "[parameters('xcShardMapManagerSqlDatabaseUserName')]" + }, + "xcShardMapManagerSqlDatabasePassword": { + "value": "[parameters('xcShardMapManagerSqlDatabasePassword')]" + }, + + "applicationInsightsName": { + "value": "[parameters('applicationInsightsName')]" + }, + + "xcRefDataWebAppName": { + "value": "[parameters('xcRefDataWebAppName')]" + }, + "xcCollectWebAppName": { + "value": "[parameters('xcCollectWebAppName')]" + }, + "maOpsWebAppName": { + "value": "[parameters('maOpsWebAppName')]" + }, + "maRepWebAppName": { + "value": "[parameters('maRepWebAppName')]" + }, + + "maOpsMsDeployPackageUrl": { + "value": "[parameters('maOpsMsDeployPackageUrl')]" + }, + "maRepMsDeployPackageUrl": { + "value": "[parameters('maRepMsDeployPackageUrl')]" + }, + + "allowInvalidClientCertificates": { + "value": "[parameters('allowInvalidClientCertificates')]" + }, + + "passwordSalt": { + "value": "[parameters('passwordSalt')]" + }, + + "xcServerConfigurationEnvironment": { + "value": "[parameters('xcServerConfigurationEnvironment')]" + } + } + }, + "dependsOn": [ + "[resourceId('Microsoft.Resources/deployments', concat(deployment().name, '-application-xconnect'))]" + ] + }, + { + "copy": { + "name": "modules", + "count": "[length(parameters('modules').items)]" + }, + "name": "[concat(deployment().name, '-', parameters('modules').items[copyIndex()].name)]", + "condition": "[parameters('deployPlatform')]", + "apiVersion": "[variables('resourcesApiVersion')]", + "type": "Microsoft.Resources/deployments", + "properties": { + "mode": "Incremental", + "templateLink": { + "uri": "[parameters('modules').items[copyIndex()].templateLink]" + }, + "parameters": { + "standard": { + "value": { + "infrastructure": "[reference(concat(deployment().name, '-infrastructure')).outputs.infrastructure.value]", + + "deploymentId": "[parameters('deploymentId')]", + "location": "[parameters('location')]", + + "sitecoreAdminPassword": "[parameters('sitecoreAdminPassword')]", + "licenseXml": "[parameters('licenseXml')]", + "sitecoreSKU": "[parameters('sitecoreSKU')]", + "repAuthenticationApiKey": "[parameters('repAuthenticationApiKey')]", + + "sqlServerName": "[parameters('sqlServerName')]", + "sqlServerLogin": "[parameters('sqlServerLogin')]", + "sqlServerPassword": "[parameters('sqlServerPassword')]", + "sqlServerVersion": "[parameters('sqlServerVersion')]", + "sqlDatabaseCollation": "[parameters('sqlDatabaseCollation')]", + + "coreSqlDatabaseName": "[parameters('coreSqlDatabaseName')]", + "masterSqlDatabaseName": "[parameters('masterSqlDatabaseName')]", + "webSqlDatabaseName": "[parameters('webSqlDatabaseName')]", + "reportingSqlDatabaseName": "[parameters('reportingSqlDatabaseName')]", + "poolsSqlDatabaseName": "[parameters('poolsSqlDatabaseName')]", + "tasksSqlDatabaseName": "[parameters('tasksSqlDatabaseName')]", + "shardMapManagerSqlDatabaseName": "[parameters('shardMapManagerSqlDatabaseName')]", + "shard0SqlDatabaseName": "[parameters('shard0SqlDatabaseName')]", + "shard1SqlDatabaseName": "[parameters('shard1SqlDatabaseName')]", + "refDataSqlDatabaseName": "[parameters('refDataSqlDatabaseName')]", + + "maSqlDatabaseName": "[parameters('maSqlDatabaseName')]", + + "coreSqlDatabaseUserName": "[parameters('coreSqlDatabaseUserName')]", + "coreSqlDatabasePassword": "[parameters('coreSqlDatabasePassword')]", + "masterSqlDatabaseUserName": "[parameters('masterSqlDatabaseUserName')]", + "masterSqlDatabasePassword": "[parameters('masterSqlDatabasePassword')]", + "webSqlDatabaseUserName": "[parameters('webSqlDatabaseUserName')]", + "webSqlDatabasePassword": "[parameters('webSqlDatabasePassword')]", + "reportingSqlDatabaseUserName": "[parameters('reportingSqlDatabaseUserName')]", + "reportingSqlDatabasePassword": "[parameters('reportingSqlDatabasePassword')]", + "poolsSqlDatabaseUserName": "[parameters('poolsSqlDatabaseUserName')]", + "poolsSqlDatabasePassword": "[parameters('poolsSqlDatabasePassword')]", + "tasksSqlDatabaseUserName": "[parameters('tasksSqlDatabaseUserName')]", + "tasksSqlDatabasePassword": "[parameters('tasksSqlDatabasePassword')]", + "xcRefDataSqlDatabaseUserName": "[parameters('xcRefDataSqlDatabaseUserName')]", + "xcRefDataSqlDatabasePassword": "[parameters('xcRefDataSqlDatabasePassword')]", + "xcShardMapManagerSqlDatabaseUserName": "[parameters('xcShardMapManagerSqlDatabaseUserName')]", + "xcShardMapManagerSqlDatabasePassword": "[parameters('xcShardMapManagerSqlDatabasePassword')]", + "xcMaSqlDatabaseUserName": "[parameters('xcMaSqlDatabaseUserName')]", + "xcMaSqlDatabasePassword": "[parameters('xcMaSqlDatabasePassword')]", + + "searchServiceName": "[parameters('searchServiceName')]", + "xcSearchIndexName": "[parameters('xcSearchIndexName')]", + "redisCacheName": "[parameters('redisCacheName')]", + "applicationInsightsName": "[parameters('applicationInsightsName')]", + "applicationInsightsLocation": "[parameters('applicationInsightsLocation')]", + + "cmHostingPlanName": "[parameters('cmHostingPlanName')]", + "cdHostingPlanName": "[parameters('cdHostingPlanName')]", + "prcHostingPlanName": "[parameters('prcHostingPlanName')]", + "repHostingPlanName": "[parameters('repHostingPlanName')]", + "xcBasicHostingPlanName": "[parameters('xcBasicHostingPlanName')]", + "xcResourceIntensiveHostingPlanName": "[parameters('xcResourceIntensiveHostingPlanName')]", + + "cmWebAppName": "[parameters('cmWebAppName')]", + "cdWebAppName": "[parameters('cdWebAppName')]", + "prcWebAppName": "[parameters('prcWebAppName')]", + "repWebAppName": "[parameters('repWebAppName')]", + "xcRefDataWebAppName": "[parameters('xcRefDataWebAppName')]", + "xcCollectWebAppName": "[parameters('xcCollectWebAppName')]", + "xcSearchWebAppName": "[parameters('xcSearchWebAppName')]", + "maOpsWebAppName": "[parameters('maOpsWebAppName')]", + "maRepWebAppName": "[parameters('maRepWebAppName')]", + + "securityClientIp": "[parameters('securityClientIp')]", + "securityClientIpMask": "[parameters('securityClientIpMask')]", + + "passwordSalt": "[parameters('passwordSalt')]", + + "xcServerConfigurationEnvironment": "[parameters('xcServerConfigurationEnvironment')]", + + "authCertificateBlob": "[parameters('authCertificateBlob')]", + "authCertificatePassword": "[parameters('authCertificatePassword')]" + } + }, + "extension": { "value": "[parameters('modules').items[copyIndex()].parameters]" } + } + }, + "dependsOn": [ + "[concat(deployment().name, '-' , variables('dependencies')[copyIndex()].name)]" + ] + } + ] +} \ No newline at end of file diff --git a/Sitecore 9.0.0/XPASE/azuredeploy.parameters.json b/Sitecore 9.0.0/XPASE/azuredeploy.parameters.json new file mode 100644 index 00000000..7a0fa43c --- /dev/null +++ b/Sitecore 9.0.0/XPASE/azuredeploy.parameters.json @@ -0,0 +1,63 @@ +{ + "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentParameters.json#", + "contentVersion": "1.0.0.0", + "parameters": { + "deploymentId": { + "value": "" + }, + "location": { + "value": "" + }, + "sitecoreAdminPassword": { + "value": "" + }, + "licenseXml": { + "value": "" + }, + "repAuthenticationApiKey": { + "value": "" + }, + "sqlServerLogin": { + "value": "" + }, + "sqlServerPassword": { + "value": "" + }, + "cmMsDeployPackageUrl": { + "value": "" + }, + "cdMsDeployPackageUrl": { + "value": "" + }, + "prcMsDeployPackageUrl": { + "value": "" + }, + "repMsDeployPackageUrl": { + "value": "" + }, + "xcRefDataMsDeployPackageUrl": { + "value": "" + }, + "xcCollectMsDeployPackageUrl": { + "value": "" + }, + "xcSearchMsDeployPackageUrl": { + "value": "" + }, + "maOpsMsDeployPackageUrl": { + "value": "" + }, + "maRepMsDeployPackageUrl": { + "value": "" + }, + "authCertificateBlob":{ + "value": "" + }, + "authCertificatePassword":{ + "value": "" + }, + "aseSize":{ + "value": "" + } + } +} \ No newline at end of file diff --git a/Sitecore 9.0.0/XPASE/nested/application-ma.json b/Sitecore 9.0.0/XPASE/nested/application-ma.json new file mode 100644 index 00000000..69eb5895 --- /dev/null +++ b/Sitecore 9.0.0/XPASE/nested/application-ma.json @@ -0,0 +1,272 @@ +{ + "$schema": "http://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#", + "contentVersion": "1.0.0.0", + "variables": { + "webApiVersion": "2016-08-01", + "appInsightsApiVersion": "2015-05-01", + "sqlServerFqdnTidy": "[toLower(trim(parameters('sqlServerFqdn')))]", + "poolsSqlDatabaseNameTidy": "[toLower(trim(parameters('poolsSqlDatabaseName')))]", + "maSqlDatabaseNameTidy": "[toLower(trim(parameters('maSqlDatabaseName')))]", + "refDataSqlDatabaseNameTidy": "[toLower(trim(parameters('refDataSqlDatabaseName')))]", + "shardMapManagerSqlDatabaseNameTidy": "[toLower(trim(parameters('shardMapManagerSqlDatabaseName')))]", + "xcRefDataWebAppNameTidy": "[toLower(trim(parameters('xcRefDataWebAppName')))]", + "xcCollectWebAppNameTidy": "[toLower(trim(parameters('xcCollectWebAppName')))]", + "maOpsWebAppNameTidy": "[toLower(trim(parameters('maOpsWebAppName')))]", + "maRepWebAppNameTidy": "[toLower(trim(parameters('maRepWebAppName')))]", + "appInsightsNameTidy": "[toLower(trim(parameters('applicationInsightsName')))]" + }, + "parameters": { + "infrastructure": { + "type": "secureObject", + "defaultValue": { + "sqlServerFqdn": null, + "authCertificateThumbprint": null + } + }, + + "deploymentId": { + "type": "string", + "defaultValue": "[resourceGroup().name]" + }, + "location": { + "type": "string", + "minLength": 1, + "defaultValue": "[resourceGroup().location]" + }, + + "sitecoreAdminPassword": { + "type": "securestring", + "minLength": 8 + }, + "licenseXml": { + "type": "securestring", + "minLength": 1 + }, + + "sqlServerFqdn": { + "type": "string", + "minLength": 1, + "defaultValue": "[parameters('infrastructure').sqlServerFqdn]" + }, + "sqlServerLogin": { + "type": "string", + "minLength": 1 + }, + "sqlServerPassword": { + "type": "securestring", + "minLength": 8 + }, + + "poolsSqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-pools-db')]" + }, + "maSqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-ma-db')]" + }, + "refDataSqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-refdata-db')]" + }, + "shardMapManagerSqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-smm-db')]" + }, + + "poolsSqlDatabaseUserName": { + "type": "string", + "minLength": 1, + "defaultValue": "poolsuser" + }, + "poolsSqlDatabasePassword": { + "type": "securestring", + "minLength": 8, + "defaultValue": "[concat(toUpper(uniqueString('pools', parameters('passwordSalt'))), uniqueString('pools', parameters('sqlServerPassword'), parameters('passwordSalt')), toUpper(uniqueString('pools', parameters('sitecoreAdminPassword'), parameters('passwordSalt'))), '4@')]" + }, + "xcRefDataSqlDatabaseUserName": { + "type": "string", + "minLength": 1, + "defaultValue": "xcrefdatauser" + }, + "xcRefDataSqlDatabasePassword": { + "type": "securestring", + "minLength": 8, + "defaultValue": "[concat(toUpper(uniqueString('xcrefdata', parameters('passwordSalt'))), uniqueString('xcrefdata', parameters('sqlServerPassword'), parameters('passwordSalt')), toUpper(uniqueString('xcrefdata', parameters('sitecoreAdminPassword'), parameters('passwordSalt'))), '4@')]" + }, + "xcMaSqlDatabaseUserName": { + "type": "string", + "minLength": 1, + "defaultValue": "xcmauser" + }, + "xcMaSqlDatabasePassword": { + "type": "securestring", + "minLength": 8, + "defaultValue": "[concat(toUpper(uniqueString('xcma', parameters('passwordSalt'))), uniqueString('xcma', parameters('sqlServerPassword'), parameters('passwordSalt')), toUpper(uniqueString('xcma', parameters('sitecoreAdminPassword'), parameters('passwordSalt'))), '4@')]" + }, + "xcShardMapManagerSqlDatabaseUserName": { + "type": "string", + "minLength": 1, + "defaultValue": "xcsmmuser" + }, + "xcShardMapManagerSqlDatabasePassword": { + "type": "securestring", + "minLength": 8, + "defaultValue": "[concat(toUpper(uniqueString('xcsmm', parameters('passwordSalt'))), uniqueString('xcsmm', parameters('sqlServerPassword'), parameters('passwordSalt')), toUpper(uniqueString('xcsmm', parameters('sitecoreAdminPassword'), parameters('passwordSalt'))), '4@')]" + }, + + "applicationInsightsName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-ai')]" + }, + + "xcRefDataWebAppName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-xc-refdata')]" + }, + "xcCollectWebAppName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-xc-collect')]" + }, + "maOpsWebAppName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-ma-ops')]" + }, + "maRepWebAppName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-ma-rep')]" + }, + + "authCertificateThumbprint": { + "type": "string", + "minLength": 8, + "defaultValue": "[parameters('infrastructure').authCertificateThumbprint]" + }, + + "maOpsMsDeployPackageUrl": { + "type": "securestring", + "minLength": 1 + }, + "maRepMsDeployPackageUrl": { + "type": "securestring", + "minLength": 1 + }, + + "allowInvalidClientCertificates": { + "type": "bool", + "defaultValue":false + }, + + "passwordSalt": { + "type": "securestring", + "minLength": 1, + "defaultValue": "[resourceGroup().id]" + }, + + "xcServerConfigurationEnvironment": { + "type": "string", + "defaultValue": "Production", + "allowedValues": [ "Development", "Production" ] + } + }, + "resources": [ + { + "name": "[concat(variables('maOpsWebAppNameTidy'), '/', 'MSDeploy')]", + "type": "Microsoft.Web/sites/extensions", + "location": "[parameters('location')]", + "apiVersion": "[variables('webApiVersion')]", + "properties": { + "packageUri": "[parameters('maOpsMsDeployPackageUrl')]", + "dbType": "SQL", + "connectionString": "[concat('Data Source=tcp:', variables('sqlServerFqdnTidy'), ',1433;Initial Catalog=master;User Id=', parameters('sqlServerLogin'), ';Password=', parameters('sqlServerPassword'), ';')]", + "setParameters": { + "IIS Web Application Name": "[variables('maOpsWebAppNameTidy')]", + "Database Server Name": "[variables('sqlServerFqdnTidy')]", + "Database Admin User Name": "[parameters('sqlServerLogin')]", + "Database Admin User Password": "[parameters('sqlServerPassword')]", + "Collection Database Server Name": "[variables('sqlServerFqdnTidy')]", + "Processing Pools Database Name": "[variables('poolsSqlDatabaseNameTidy')]", + "Processing Pool Database Application User Name": "[parameters('poolsSqlDatabaseUserName')]", + "Processing Pool Database Application User Password": "[parameters('poolsSqlDatabasePassword')]", + "Collection Shard Map Manager Database Name": "[variables('shardMapManagerSqlDatabaseNameTidy')]", + "Collection Database Application User Name": "[parameters('xcShardMapManagerSqlDatabaseUserName')]", + "Collection Database Application User Password": "[parameters('xcShardMapManagerSqlDatabasePassword')]", + "Marketing Automation Database Name": "[variables('maSqlDatabaseNameTidy')]", + "Reference Data Database Name": "[variables('refDataSqlDatabaseNameTidy')]", + "Reference Data Database Application User Name": "[parameters('xcRefDataSqlDatabaseUserName')]", + "Reference Data Database Application User Password": "[parameters('xcRefDataSqlDatabasePassword')]", + "Marketing Automation Database Application User Name": "[parameters('xcMaSqlDatabaseUserName')]", + "Marketing Automation Database Application User Password": "[parameters('xcMaSqlDatabasePassword')]", + "XConnect Server Configuration Environment": "[parameters('xcServerConfigurationEnvironment')]", + "XConnect Server Certificate Validation Thumbprint": "[parameters('authCertificateThumbprint')]", + "Marketing Automation Engine Xconnect Collection Client Endpoint": "[concat('https://', reference(resourceId(subscription().subscriptionId, resourceGroup().name, 'Microsoft.Web/sites', variables('xcCollectWebAppNameTidy')), variables('webApiVersion')).hostNames[0])]", + "Marketing Automation Engine Xconnect Collection Client Certificate Thumbprint": "[parameters('authCertificateThumbprint')]", + "Marketing Automation Engine Xdb Reference Data Endpoint": "[concat('https://', reference(resourceId(subscription().subscriptionId, resourceGroup().name, 'Microsoft.Web/sites', variables('xcRefDataWebAppNameTidy')), variables('webApiVersion')).hostNames[0])]", + "Marketing Automation Engine Xdb Reference Data Client Certificate Thumbprint": "[parameters('authCertificateThumbprint')]", + "Allow Invalid Client Certificates": "[parameters('allowInvalidClientCertificates')]", + "XConnect Server Application Insights Key": "[reference(resourceId('Microsoft.Insights/Components', variables('appInsightsNameTidy')), variables('appInsightsApiVersion')).InstrumentationKey]", + "XConnect Server Instance Name": "MarketingAutomation", + "License Xml": "[parameters('licenseXml')]" + } + } + }, + { + "name": "[concat(variables('maRepWebAppNameTidy'), '/', 'MSDeploy')]", + "type": "Microsoft.Web/sites/extensions", + "location": "[parameters('location')]", + "apiVersion": "[variables('webApiVersion')]", + "properties": { + "packageUri": "[parameters('maRepMsDeployPackageUrl')]", + "setParameters": { + "IIS Web Application Name": "[variables('maRepWebAppNameTidy')]", + "Database Server Name": "[variables('sqlServerFqdnTidy')]", + "Marketing Automation Database Name": "[variables('maSqlDatabaseNameTidy')]", + "Reference Data Database Name": "[variables('refDataSqlDatabaseNameTidy')]", + "Reference Data Database Application User Name": "[parameters('xcRefDataSqlDatabaseUserName')]", + "Reference Data Database Application User Password": "[parameters('xcRefDataSqlDatabasePassword')]", + "Marketing Automation Database Application User Name": "[parameters('xcMaSqlDatabaseUserName')]", + "Marketing Automation Database Application User Password": "[parameters('xcMaSqlDatabasePassword')]", + "XConnect Server Configuration Environment": "[parameters('xcServerConfigurationEnvironment')]", + "XConnect Server Certificate Validation Thumbprint": "[parameters('authCertificateThumbprint')]", + "Allow Invalid Client Certificates": "[parameters('allowInvalidClientCertificates')]", + "XConnect Server Application Insights Key": "[reference(resourceId('Microsoft.Insights/Components', variables('appInsightsNameTidy')), variables('appInsightsApiVersion')).InstrumentationKey]", + "XConnect Server Instance Name": "MarketingAutomationReporting", + "License Xml": "[parameters('licenseXml')]" + } + } + }, + { + "name": "[concat(variables('maOpsWebAppNameTidy'), '/', 'appsettings')]", + "type": "Microsoft.Web/sites/config", + "apiVersion": "[variables('webApiVersion')]", + "properties": { + "WEBSITE_LOAD_CERTIFICATES": "[parameters('authCertificateThumbprint')]", + "WEBSITE_DYNAMIC_CACHE": 0 + }, + "dependsOn": [ + "[resourceId('Microsoft.Web/sites/extensions', variables('maOpsWebAppNameTidy'),'MSDeploy')]" + ] + }, + { + "name": "[concat(variables('maRepWebAppNameTidy'), '/', 'appsettings')]", + "type": "Microsoft.Web/sites/config", + "apiVersion": "[variables('webApiVersion')]", + "properties": { + "WEBSITE_LOAD_CERTIFICATES": "[parameters('authCertificateThumbprint')]", + "WEBSITE_DYNAMIC_CACHE": 0 + }, + "dependsOn": [ + "[resourceId('Microsoft.Web/sites/extensions', variables('maRepWebAppNameTidy'),'MSDeploy')]" + ] + } + ] +} diff --git a/Sitecore 9.0.0/XPASE/nested/application-xconnect.json b/Sitecore 9.0.0/XPASE/nested/application-xconnect.json new file mode 100644 index 00000000..e9230b78 --- /dev/null +++ b/Sitecore 9.0.0/XPASE/nested/application-xconnect.json @@ -0,0 +1,342 @@ +{ + "$schema": "http://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#", + "contentVersion": "1.0.0.0", + "variables": { + "webApiVersion": "2016-08-01", + "searchApiVersion": "2015-08-19", + "appInsightsApiVersion": "2015-05-01", + + "sqlServerFqdnTidy": "[toLower(trim(parameters('sqlServerFqdn')))]", + + "poolsSqlDatabaseNameTidy": "[toLower(trim(parameters('poolsSqlDatabaseName')))]", + "shardMapManagerSqlDatabaseNameTidy": "[toLower(trim(parameters('shardMapManagerSqlDatabaseName')))]", + "shard0SqlDatabaseNameTidy": "[toLower(trim(parameters('shard0SqlDatabaseName')))]", + "shard1SqlDatabaseNameTidy": "[toLower(trim(parameters('shard1SqlDatabaseName')))]", + "refDataSqlDatabaseNameTidy": "[toLower(trim(parameters('refDataSqlDatabaseName')))]", + "maSqlDatabaseNameTidy": "[toLower(trim(parameters('maSqlDatabaseName')))]", + + "xcRefDataWebAppNameTidy": "[toLower(trim(parameters('xcRefDataWebAppName')))]", + "xcCollectWebAppNameTidy": "[toLower(trim(parameters('xcCollectWebAppName')))]", + "xcSearchWebAppNameTidy": "[toLower(trim(parameters('xcSearchWebAppName')))]", + + "searchServiceNameTidy": "[toLower(trim(parameters('searchServiceName')))]", + "xcSearchIndexNameTidy": "[toLower(trim(parameters('xcSearchIndexName')))]", + + "appInsightsNameTidy": "[toLower(trim(parameters('applicationInsightsName')))]" + }, + "parameters": { + "infrastructure": { + "type": "secureObject", + "defaultValue": { + "sqlServerFqdn": null, + "authCertificateThumbprint": null + } + }, + + "deploymentId": { + "type": "string", + "defaultValue": "[resourceGroup().name]" + }, + "location": { + "type": "string", + "minLength": 1, + "defaultValue": "[resourceGroup().location]" + }, + + "sitecoreAdminPassword": { + "type": "securestring", + "minLength": 8 + }, + "licenseXml": { + "type": "securestring", + "minLength": 1 + }, + + "sqlServerFqdn": { + "type": "string", + "minLength": 1, + "defaultValue": "[parameters('infrastructure').sqlServerFqdn]" + }, + "sqlServerLogin": { + "type": "string", + "minLength": 1 + }, + "sqlServerPassword": { + "type": "securestring", + "minLength": 8 + }, + + "poolsSqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-pools-db')]" + }, + "shardMapManagerSqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-smm-db')]" + }, + "shard0SqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-shard0-db')]" + }, + "shard1SqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-shard1-db')]" + }, + "refDataSqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-refdata-db')]" + }, + "maSqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-ma-db')]" + }, + + "poolsSqlDatabaseUserName": { + "type": "string", + "minLength": 1, + "defaultValue": "poolsuser" + }, + "poolsSqlDatabasePassword": { + "type": "securestring", + "minLength": 8, + "defaultValue": "[concat(toUpper(uniqueString('pools', parameters('passwordSalt'))), uniqueString('pools', parameters('sqlServerPassword'), parameters('passwordSalt')), toUpper(uniqueString('pools', parameters('sitecoreAdminPassword'), parameters('passwordSalt'))), '4@')]" + }, + "xcRefDataSqlDatabaseUserName": { + "type": "string", + "minLength": 1, + "defaultValue": "xcrefdatauser" + }, + "xcRefDataSqlDatabasePassword": { + "type": "securestring", + "minLength": 8, + "defaultValue": "[concat(toUpper(uniqueString('xcrefdata', parameters('passwordSalt'))), uniqueString('xcrefdata', parameters('sqlServerPassword'), parameters('passwordSalt')), toUpper(uniqueString('xcrefdata', parameters('sitecoreAdminPassword'), parameters('passwordSalt'))), '4@')]" + }, + "xcShardMapManagerSqlDatabaseUserName": { + "type": "string", + "minLength": 1, + "defaultValue": "xcsmmuser" + }, + "xcShardMapManagerSqlDatabasePassword": { + "type": "securestring", + "minLength": 8, + "defaultValue": "[concat(toUpper(uniqueString('xcsmm', parameters('passwordSalt'))), uniqueString('xcsmm', parameters('sqlServerPassword'), parameters('passwordSalt')), toUpper(uniqueString('xcsmm', parameters('sitecoreAdminPassword'), parameters('passwordSalt'))), '4@')]" + }, + "xcMaSqlDatabaseUserName": { + "type": "string", + "minLength": 1, + "defaultValue": "xcmauser" + }, + "xcMaSqlDatabasePassword": { + "type": "securestring", + "minLength": 8, + "defaultValue": "[concat(toUpper(uniqueString('xcma', parameters('passwordSalt'))), uniqueString('xcma', parameters('sqlServerPassword'), parameters('passwordSalt')), toUpper(uniqueString('xcma', parameters('sitecoreAdminPassword'), parameters('passwordSalt'))), '4@')]" + }, + + "searchServiceName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-as')]" + }, + "xcSearchIndexName": { + "type": "string", + "minLength": 1, + "defaultValue": "xdb" + }, + + "applicationInsightsName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-ai')]" + }, + + "xcRefDataWebAppName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-xc-refdata')]" + }, + "xcCollectWebAppName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-xc-collect')]" + }, + "xcSearchWebAppName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-xc-search')]" + }, + + "authCertificateThumbprint": { + "type": "string", + "minLength": 8, + "defaultValue": "[parameters('infrastructure').authCertificateThumbprint]" + }, + + "xcRefDataMsDeployPackageUrl": { + "type": "securestring", + "minLength": 1 + }, + "xcCollectMsDeployPackageUrl": { + "type": "securestring", + "minLength": 1 + }, + "xcSearchMsDeployPackageUrl": { + "type": "securestring", + "minLength": 1 + }, + + "allowInvalidClientCertificates": { + "type": "bool", + "defaultValue":false + }, + + "passwordSalt": { + "type": "securestring", + "minLength": 1, + "defaultValue": "[resourceGroup().id]" + }, + + "xcServerConfigurationEnvironment": { + "type": "string", + "defaultValue": "Production", + "allowedValues": [ "Development", "Production" ] + } + }, + "resources": [ + { + "name": "[concat(variables('xcRefDataWebAppNameTidy'), '/', 'MSDeploy')]", + "type": "Microsoft.Web/sites/extensions", + "location": "[parameters('location')]", + "apiVersion": "[variables('webApiVersion')]", + "properties": { + "packageUri": "[parameters('xcRefDataMsDeployPackageUrl')]", + "dbType": "SQL", + "connectionString": "[concat('Data Source=tcp:', variables('sqlServerFqdnTidy'), ',1433;Initial Catalog=master;User Id=', parameters('sqlServerLogin'), ';Password=', parameters('sqlServerPassword'), ';')]", + "setParameters": { + "IIS Web Application Name": "[variables('xcRefDataWebAppNameTidy')]", + "Database Server Name": "[variables('sqlServerFqdnTidy')]", + "Database Admin User Name": "[parameters('sqlServerLogin')]", + "Database Admin User Password": "[parameters('sqlServerPassword')]", + "Reference Data Database Name": "[variables('refDataSqlDatabaseNameTidy')]", + "Reference Data Database Application User Name": "[parameters('xcRefDataSqlDatabaseUserName')]", + "Reference Data Database Application User Password": "[parameters('xcRefDataSqlDatabasePassword')]", + "XConnect Server Configuration Environment": "[parameters('xcServerConfigurationEnvironment')]", + "XConnect Server Certificate Validation Thumbprint": "[parameters('authCertificateThumbprint')]", + "Allow Invalid Client Certificates": "[parameters('allowInvalidClientCertificates')]", + "XConnect Server Application Insights Key": "[reference(resourceId('Microsoft.Insights/Components', variables('appInsightsNameTidy')), variables('appInsightsApiVersion')).InstrumentationKey]", + "XConnect Server Instance Name": "ReferenceData", + "License Xml": "[parameters('licenseXml')]" + } + } + }, + { + "name": "[concat(variables('xcCollectWebAppNameTidy'), '/', 'MSDeploy')]", + "type": "Microsoft.Web/sites/extensions", + "location": "[parameters('location')]", + "apiVersion": "[variables('webApiVersion')]", + "properties": { + "packageUri": "[parameters('xcCollectMsDeployPackageUrl')]", + "dbType": "SQL", + "connectionString": "[concat('Data Source=tcp:', variables('sqlServerFqdnTidy'), ',1433;Initial Catalog=master;User Id=', parameters('sqlServerLogin'), ';Password=', parameters('sqlServerPassword'), ';')]", + "setParameters": { + "IIS Web Application Name": "[variables('xcCollectWebAppNameTidy')]", + "Database Server Name": "[variables('sqlServerFqdnTidy')]", + "Database Admin User Name": "[parameters('sqlServerLogin')]", + "Database Admin User Password": "[parameters('sqlServerPassword')]", + "Collection Database Server Name": "[variables('sqlServerFqdnTidy')]", + "Collection Shard Map Manager Database Name": "[variables('shardMapManagerSqlDatabaseNameTidy')]", + "Collection Shard 0 Database Name": "[variables('shard0SqlDatabaseNameTidy')]", + "Collection Shard 1 Database Name": "[variables('shard1SqlDatabaseNameTidy')]", + "Processing Pools Database Name": "[variables('poolsSqlDatabaseNameTidy')]", + "Marketing Automation Database Name": "[variables('maSqlDatabaseNameTidy')]", + "Collection Database Application User Name": "[parameters('xcShardMapManagerSqlDatabaseUserName')]", + "Collection Database Application User Password": "[parameters('xcShardMapManagerSqlDatabasePassword')]", + "Processing Pool Database Application User Name": "[parameters('poolsSqlDatabaseUserName')]", + "Processing Pool Database Application User Password": "[parameters('poolsSqlDatabasePassword')]", + "Marketing Automation Database Application User Name": "[parameters('xcMaSqlDatabaseUserName')]", + "Marketing Automation Database Application User Password": "[parameters('xcMaSqlDatabasePassword')]", + "XConnect Server Configuration Environment": "[parameters('xcServerConfigurationEnvironment')]", + "XConnect Server Certificate Validation Thumbprint": "[parameters('authCertificateThumbprint')]", + "Allow Invalid Client Certificates": "[parameters('allowInvalidClientCertificates')]", + "XConnect Server Application Insights Key": "[reference(resourceId('Microsoft.Insights/Components', variables('appInsightsNameTidy')), variables('appInsightsApiVersion')).InstrumentationKey]", + "XConnect Server Instance Name": "Collection", + "License Xml": "[parameters('licenseXml')]" + } + } + }, + { + "name": "[concat(variables('xcSearchWebAppNameTidy'), '/', 'MSDeploy')]", + "type": "Microsoft.Web/sites/extensions", + "location": "[parameters('location')]", + "apiVersion": "[variables('webApiVersion')]", + "properties": { + "packageUri": "[parameters('xcSearchMsDeployPackageUrl')]", + "setParameters": { + "IIS Web Application Name": "[variables('xcSearchWebAppNameTidy')]", + "Database Server Name": "[variables('sqlServerFqdnTidy')]", + "Collection Database Server Name": "[variables('sqlServerFqdnTidy')]", + "Collection Shard Map Manager Database Name": "[variables('shardMapManagerSqlDatabaseNameTidy')]", + "Processing Pools Database Name": "[variables('poolsSqlDatabaseNameTidy')]", + "Marketing Automation Database Name": "[variables('maSqlDatabaseNameTidy')]", + "Collection Database Application User Name": "[parameters('xcShardMapManagerSqlDatabaseUserName')]", + "Collection Database Application User Password": "[parameters('xcShardMapManagerSqlDatabasePassword')]", + "Processing Pool Database Application User Name": "[parameters('poolsSqlDatabaseUserName')]", + "Processing Pool Database Application User Password": "[parameters('poolsSqlDatabasePassword')]", + "Marketing Automation Database Application User Name": "[parameters('xcMaSqlDatabaseUserName')]", + "Marketing Automation Database Application User Password": "[parameters('xcMaSqlDatabasePassword')]", + "XConnect Server Configuration Environment": "[parameters('xcServerConfigurationEnvironment')]", + "XConnect Server Certificate Validation Thumbprint": "[parameters('authCertificateThumbprint')]", + "Allow Invalid Client Certificates": "[parameters('allowInvalidClientCertificates')]", + "Collection Search Service Url": "[concat('https://', variables('searchServiceNameTidy'), '.search.windows.net')]", + "Collection Search Index Name": "[variables('xcSearchIndexNameTidy')]", + "Collection Search Query Api Key": "[listAdminKeys(resourceId('Microsoft.Search/searchServices', variables('searchServiceNameTidy')), variables('searchApiVersion')).primaryKey]", + "Collection Search Worker Api Key": "[listAdminKeys(resourceId('Microsoft.Search/searchServices', variables('searchServiceNameTidy')), variables('searchApiVersion')).primaryKey]", + "XConnect Server Application Insights Key": "[reference(resourceId('Microsoft.Insights/Components', variables('appInsightsNameTidy')), variables('appInsightsApiVersion')).InstrumentationKey]", + "XConnect Server Instance Name": "CollectionSearch", + "License Xml": "[parameters('licenseXml')]" + } + }, + "dependsOn": [ + "[resourceId('Microsoft.Web/sites/extensions', variables('xcCollectWebAppNameTidy'),'MSDeploy')]" + ] + }, + { + "name": "[concat(variables('xcRefDataWebAppNameTidy'), '/', 'appsettings')]", + "type": "Microsoft.Web/sites/config", + "apiVersion": "[variables('webApiVersion')]", + "properties": { + "WEBSITE_DYNAMIC_CACHE": 0 + }, + "dependsOn": [ + "[resourceId('Microsoft.Web/sites/extensions', variables('xcRefDataWebAppNameTidy'),'MSDeploy')]" + ] + }, + { + "name": "[concat(variables('xcCollectWebAppNameTidy'), '/', 'appsettings')]", + "type": "Microsoft.Web/sites/config", + "apiVersion": "[variables('webApiVersion')]", + "properties": { + "WEBSITE_DYNAMIC_CACHE": 0 + }, + "dependsOn": [ + "[resourceId('Microsoft.Web/sites/extensions', variables('xcCollectWebAppNameTidy'),'MSDeploy')]" + ] + }, + { + "name": "[concat(variables('xcSearchWebAppNameTidy'), '/', 'appsettings')]", + "type": "Microsoft.Web/sites/config", + "apiVersion": "[variables('webApiVersion')]", + "properties": { + "WEBSITE_DYNAMIC_CACHE": 0 + }, + "dependsOn": [ + "[resourceId('Microsoft.Web/sites/extensions', variables('xcSearchWebAppNameTidy'),'MSDeploy')]" + ] + } + ] +} \ No newline at end of file diff --git a/Sitecore 9.0.0/XPASE/nested/application.json b/Sitecore 9.0.0/XPASE/nested/application.json new file mode 100644 index 00000000..2c65b2aa --- /dev/null +++ b/Sitecore 9.0.0/XPASE/nested/application.json @@ -0,0 +1,510 @@ +{ + "$schema": "http://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#", + "contentVersion": "1.0.0.0", + "variables": { + "webApiVersion": "2016-08-01", + "searchApiVersion": "2015-08-19", + "searchPreviewApiVersion": "2015-02-28-preview", + "redisApiVersion": "2016-04-01", + "appInsightsApiVersion": "2015-05-01", + + "sqlServerFqdnTidy": "[trim(toLower(parameters('sqlServerFqdn')))]", + + "coreSqlDatabaseNameTidy": "[toLower(trim(parameters('coreSqlDatabaseName')))]", + "webSqlDatabaseNameTidy": "[toLower(trim(parameters('webSqlDatabaseName')))]", + "masterSqlDatabaseNameTidy": "[toLower(trim(parameters('masterSqlDatabaseName')))]", + "reportingSqlDatabaseNameTidy": "[toLower(trim(parameters('reportingSqlDatabaseName')))]", + "poolsSqlDatabaseNameTidy": "[toLower(trim(parameters('poolsSqlDatabaseName')))]", + "tasksSqlDatabaseNameTidy": "[toLower(trim(parameters('tasksSqlDatabaseName')))]", + "refDataSqlDatabaseNameTidy": "[toLower(trim(parameters('refDataSqlDatabaseName')))]", + "formsSqlDatabaseNameTidy": "[toLower(trim(parameters('formsSqlDatabaseName')))]", + + "cmWebAppNameTidy": "[toLower(trim(parameters('cmWebAppName')))]", + "cdWebAppNameTidy": "[toLower(trim(parameters('cdWebAppName')))]", + "prcWebAppNameTidy": "[toLower(trim(parameters('prcWebAppName')))]", + "repWebAppNameTidy": "[toLower(trim(parameters('repWebAppName')))]", + "xcCollectWebAppNameTidy": "[toLower(trim(parameters('xcCollectWebAppName')))]", + "xcSearchWebAppNameTidy": "[toLower(trim(parameters('xcSearchWebAppName')))]", + "maOpsWebAppNameTidy": "[toLower(trim(parameters('maOpsWebAppName')))]", + "maRepWebAppNameTidy": "[toLower(trim(parameters('maRepWebAppName')))]", + "xcRefDataWebAppNameTidy": "[toLower(trim(parameters('xcRefDataWebAppName')))]", + + "appInsightsNameTidy": "[toLower(trim(parameters('applicationInsightsName')))]", + + "searchServiceNameTidy": "[toLower(trim(parameters('searchServiceName')))]", + "redisCacheNameTidy": "[toLower(trim(parameters('redisCacheName')))]" + }, + "parameters": { + "infrastructure": { + "type": "secureObject", + "defaultValue": { + "sqlServerFqdn": null, + "authCertificateThumbprint": null + } + }, + + "deploymentId": { + "type": "string", + "defaultValue": "[resourceGroup().name]" + }, + "location": { + "type": "string", + "minLength": 1, + "defaultValue": "[resourceGroup().location]" + }, + + "sitecoreAdminPassword": { + "type": "securestring", + "minLength": 8 + }, + "licenseXml": { + "type": "securestring", + "minLength": 1 + }, + "repAuthenticationApiKey": { + "type": "securestring", + "minLength": 32 + }, + "sqlServerFqdn": { + "type": "string", + "minLength": 1, + "defaultValue": "[parameters('infrastructure').sqlServerFqdn]" + }, + "sqlServerLogin": { + "type": "string", + "minLength": 1 + }, + "sqlServerPassword": { + "type": "securestring", + "minLength": 8 + }, + + "coreSqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-core-db')]" + }, + "masterSqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-master-db')]" + }, + "webSqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-web-db')]" + }, + "reportingSqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-reporting-db')]" + }, + "poolsSqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-pools-db')]" + }, + "tasksSqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-tasks-db')]" + }, + "refDataSqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-refdata-db')]" + }, + "formsSqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-forms-db')]" + }, + + "coreSqlDatabaseUserName": { + "type": "string", + "minLength": 1, + "defaultValue": "coreuser" + }, + "coreSqlDatabasePassword": { + "type": "securestring", + "minLength": 8, + "defaultValue": "[concat(toUpper(uniqueString('core', parameters('passwordSalt'))), uniqueString('core', parameters('sqlServerPassword'), parameters('passwordSalt')), toUpper(uniqueString('core', parameters('sitecoreAdminPassword'), parameters('passwordSalt'))), '4@')]" + }, + "masterSqlDatabaseUserName": { + "type": "string", + "minLength": 1, + "defaultValue": "masteruser" + }, + "masterSqlDatabasePassword": { + "type": "securestring", + "minLength": 8, + "defaultValue": "[concat(toUpper(uniqueString('master', parameters('passwordSalt'))), uniqueString('master', parameters('sqlServerPassword'), parameters('passwordSalt')), toUpper(uniqueString('master', parameters('sitecoreAdminPassword'), parameters('passwordSalt'))), '4@')]" + }, + "webSqlDatabaseUserName": { + "type": "string", + "minLength": 1, + "defaultValue": "webuser" + }, + "webSqlDatabasePassword": { + "type": "securestring", + "minLength": 8, + "defaultValue": "[concat(toUpper(uniqueString('web', parameters('passwordSalt'))), uniqueString('web', parameters('sqlServerPassword'), parameters('passwordSalt')), toUpper(uniqueString('web', parameters('sitecoreAdminPassword'), parameters('passwordSalt'))), '4@')]" + }, + "formsSqlDatabaseUserName": { + "type": "string", + "minLength": 1, + "defaultValue": "formsuser" + }, + "formsSqlDatabasePassword": { + "type": "securestring", + "minLength": 8, + "defaultValue": "[concat(toUpper(uniqueString('forms', parameters('passwordSalt'))), uniqueString('forms', parameters('sqlServerPassword'), parameters('passwordSalt')), toUpper(uniqueString('forms', parameters('sitecoreAdminPassword'), parameters('passwordSalt'))), '4@')]" + }, + "reportingSqlDatabaseUserName": { + "type": "string", + "minLength": 1, + "defaultValue": "reportinguser" + }, + "reportingSqlDatabasePassword": { + "type": "securestring", + "minLength": 8, + "defaultValue": "[concat(toUpper(uniqueString('reporting', parameters('passwordSalt'))), uniqueString('reporting', parameters('sqlServerPassword'), parameters('passwordSalt')), toUpper(uniqueString('reporting', parameters('sitecoreAdminPassword'), parameters('passwordSalt'))), '4@')]" + }, + "poolsSqlDatabaseUserName": { + "type": "string", + "minLength": 1, + "defaultValue": "poolsuser" + }, + "poolsSqlDatabasePassword": { + "type": "securestring", + "minLength": 8, + "defaultValue": "[concat(toUpper(uniqueString('pools', parameters('passwordSalt'))), uniqueString('pools', parameters('sqlServerPassword'), parameters('passwordSalt')), toUpper(uniqueString('pools', parameters('sitecoreAdminPassword'), parameters('passwordSalt'))), '4@')]" + }, + "tasksSqlDatabaseUserName": { + "type": "string", + "minLength": 1, + "defaultValue": "tasksuser" + }, + "tasksSqlDatabasePassword": { + "type": "securestring", + "minLength": 8, + "defaultValue": "[concat(toUpper(uniqueString('tasks', parameters('passwordSalt'))), uniqueString('tasks', parameters('sqlServerPassword'), parameters('passwordSalt')), toUpper(uniqueString('tasks', parameters('sitecoreAdminPassword'), parameters('passwordSalt'))), '4@')]" + }, + "xcRefDataSqlDatabaseUserName": { + "type": "string", + "minLength": 1, + "defaultValue": "xcrefdatauser" + }, + "xcRefDataSqlDatabasePassword": { + "type": "securestring", + "minLength": 8, + "defaultValue": "[concat(toUpper(uniqueString('xcrefdata', parameters('passwordSalt'))), uniqueString('xcrefdata', parameters('sqlServerPassword'), parameters('passwordSalt')), toUpper(uniqueString('xcrefdata', parameters('sitecoreAdminPassword'), parameters('passwordSalt'))), '4@')]" + }, + + "searchServiceName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-as')]" + }, + "redisCacheName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-redis')]" + }, + "applicationInsightsName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-ai')]" + }, + + "cmWebAppName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-cm')]" + }, + "cdWebAppName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-cd')]" + }, + "prcWebAppName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-prc')]" + }, + "repWebAppName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-rep')]" + }, + "xcCollectWebAppName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-xc-collect')]" + }, + "xcSearchWebAppName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-xc-search')]" + }, + "maOpsWebAppName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-ma-ops')]" + }, + "maRepWebAppName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-ma-rep')]" + }, + "xcRefDataWebAppName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-xc-refdata')]" + }, + + "authCertificateThumbprint": { + "type": "string", + "minLength": 8, + "defaultValue": "[parameters('infrastructure').authCertificateThumbprint]" + }, + + "cmMsDeployPackageUrl": { + "type": "securestring", + "minLength": 1 + }, + "cdMsDeployPackageUrl": { + "type": "securestring", + "minLength": 1 + }, + "prcMsDeployPackageUrl": { + "type": "securestring", + "minLength": 1 + }, + "repMsDeployPackageUrl": { + "type": "securestring", + "minLength": 1 + }, + + "securityClientIp": { + "type": "string", + "minLength": 1, + "defaultValue": "0.0.0.0" + }, + "securityClientIpMask": { + "type": "string", + "minLength": 1, + "defaultValue": "0.0.0.0" + }, + + "telerikEncryptionKey": { + "type": "securestring", + "minLength": 8, + "defaultValue": "[concat(toUpper(uniqueString('telerik', parameters('passwordSalt'))), uniqueString('telerik', parameters('sqlServerPassword'), parameters('passwordSalt')), toUpper(uniqueString('telerik', parameters('sitecoreAdminPassword'), parameters('passwordSalt'))), '4@')]" + }, + + "allowInvalidClientCertificates": { + "type": "bool", + "defaultValue":false + }, + + "passwordSalt": { + "type": "securestring", + "minLength": 1, + "defaultValue": "[resourceGroup().id]" + } + }, + "resources": [ + { + "name": "[concat(variables('cmWebAppNameTidy'), '/', 'MSDeploy')]", + "type": "Microsoft.Web/sites/extensions", + "location": "[parameters('location')]", + "apiVersion": "[variables('webApiVersion')]", + "properties": { + "packageUri": "[parameters('cmMsDeployPackageUrl')]", + "dbType": "SQL", + "connectionString": "[concat('Data Source=tcp:', variables('sqlServerFqdnTidy'), ',1433;Initial Catalog=master;User Id=', parameters('sqlServerLogin'), ';Password=', parameters('sqlServerPassword'), ';')]", + "setParameters": { + "Application Path": "[variables('cmWebAppNameTidy')]", + "Sitecore Admin New Password": "[parameters('sitecoreAdminPassword')]", + "Core DB User Name": "[parameters('coreSqlDatabaseUserName')]", + "Core DB Password": "[parameters('coreSqlDatabasePassword')]", + "Core Admin Connection String": "[concat('Encrypt=True;TrustServerCertificate=False;Data Source=', variables('sqlServerFqdnTidy'), ',1433;Initial Catalog=',variables('coreSqlDatabaseNameTidy'),';User Id=', parameters('sqlServerLogin'), ';Password=', parameters('sqlServerPassword'), ';')]", + "Core Connection String": "[concat('Encrypt=True;TrustServerCertificate=False;Data Source=', variables('sqlServerFqdnTidy'), ',1433;Initial Catalog=',variables('coreSqlDatabaseNameTidy'),';User Id=', parameters('coreSqlDatabaseUserName'), ';Password=', parameters('coreSqlDatabasePassword'), ';')]", + "Master DB User Name": "[parameters('masterSqlDatabaseUserName')]", + "Master DB Password": "[parameters('masterSqlDatabasePassword')]", + "Master Admin Connection String": "[concat('Encrypt=True;TrustServerCertificate=False;Data Source=', variables('sqlServerFqdnTidy'), ',1433;Initial Catalog=',variables('masterSqlDatabaseNameTidy'),';User Id=', parameters('sqlServerLogin'), ';Password=', parameters('sqlServerPassword'), ';')]", + "Master Connection String": "[concat('Encrypt=True;TrustServerCertificate=False;Data Source=', variables('sqlServerFqdnTidy'), ',1433;Initial Catalog=',variables('masterSqlDatabaseNameTidy'),';User Id=', parameters('masterSqlDatabaseUserName'), ';Password=', parameters('masterSqlDatabasePassword'), ';')]", + "Web DB User Name": "[parameters('webSqlDatabaseUserName')]", + "Web DB Password": "[parameters('webSqlDatabasePassword')]", + "Web Admin Connection String": "[concat('Encrypt=True;TrustServerCertificate=False;Data Source=', variables('sqlServerFqdnTidy'), ',1433;Initial Catalog=',variables('webSqlDatabaseNameTidy'),';User Id=', parameters('sqlServerLogin'), ';Password=', parameters('sqlServerPassword'), ';')]", + "Web Connection String": "[concat('Encrypt=True;TrustServerCertificate=False;Data Source=', variables('sqlServerFqdnTidy'), ',1433;Initial Catalog=',variables('webSqlDatabaseNameTidy'),';User Id=', parameters('webSqlDatabaseUserName'), ';Password=', parameters('webSqlDatabasePassword'), ';')]", + "XDB Reference Data Connection String": "[concat('Encrypt=True;TrustServerCertificate=False;Data Source=', variables('sqlServerFqdnTidy'), ',1433;Initial Catalog=',variables('refDataSqlDatabaseNameTidy'),';User Id=', parameters('xcRefDataSqlDatabaseUserName'), ';Password=', parameters('xcRefDataSqlDatabasePassword'), ';')]", + "Reporting DB User Name": "[parameters('reportingSqlDatabaseUserName')]", + "Reporting DB Password": "[parameters('reportingSqlDatabasePassword')]", + "Reporting Admin Connection String": "[concat('Encrypt=True;TrustServerCertificate=False;Data Source=', variables('sqlServerFqdnTidy'), ',1433;Initial Catalog=',variables('reportingSqlDatabaseNameTidy'),';User Id=', parameters('sqlServerLogin'), ';Password=', parameters('sqlServerPassword'), ';')]", + "Experience Forms DB User Name": "[parameters('formsSqlDatabaseUserName')]", + "Experience Forms DB Password": "[parameters('formsSqlDatabasePassword')]", + "Experience Forms Admin Connection String": "[concat('Encrypt=True;TrustServerCertificate=False;Data Source=', variables('sqlServerFqdnTidy'), ',1433;Initial Catalog=',variables('formsSqlDatabaseNameTidy'),';User Id=', parameters('sqlServerLogin'), ';Password=', parameters('sqlServerPassword'), ';')]", + "Experience Forms Connection String": "[concat('Encrypt=True;TrustServerCertificate=False;Data Source=', variables('sqlServerFqdnTidy'), ',1433;Initial Catalog=',variables('formsSqlDatabaseNameTidy'),';User Id=', parameters('formsSqlDatabaseUserName'), ';Password=', parameters('formsSqlDatabasePassword'), ';')]", + "Processing Service Url": "[concat('https://', reference(resourceId(subscription().subscriptionId, resourceGroup().name, 'Microsoft.Web/sites', variables('prcWebAppNameTidy')), variables('webApiVersion')).hostNames[0])]", + "Reporting Service Url": "[concat('https://', reference(resourceId(subscription().subscriptionId, resourceGroup().name, 'Microsoft.Web/sites', variables('repWebAppNameTidy')), variables('webApiVersion')).hostNames[0])]", + "Reporting Service Api Key": "[parameters('repAuthenticationApiKey')]", + "XConnect Collection": "[concat('https://', reference(resourceId(subscription().subscriptionId, resourceGroup().name, 'Microsoft.Web/sites', variables('xcSearchWebAppNameTidy')), variables('webApiVersion')).hostNames[0])]", + "XDB Reference Data Client": "[concat('https://', reference(resourceId(subscription().subscriptionId, resourceGroup().name, 'Microsoft.Web/sites', variables('xcRefDataWebAppNameTidy')), variables('webApiVersion')).hostNames[0])]", + "XDB MA Reporting Client": "[concat('https://', reference(resourceId(subscription().subscriptionId, resourceGroup().name, 'Microsoft.Web/sites', variables('maRepWebAppNameTidy')), variables('webApiVersion')).hostNames[0])]", + "XDB MA Ops Client": "[concat('https://', reference(resourceId(subscription().subscriptionId, resourceGroup().name, 'Microsoft.Web/sites', variables('maOpsWebAppNameTidy')), variables('webApiVersion')).hostNames[0])]", + "Cloud Search Connection String": "[concat('serviceUrl=https://', variables('searchServiceNameTidy'), '.search.windows.net;apiVersion=', variables('searchPreviewApiVersion'), ';apiKey=', listAdminKeys(resourceId('Microsoft.Search/searchServices', variables('searchServiceNameTidy')), variables('searchApiVersion')).primaryKey)]", + "Application Insights Instrumentation Key": "[reference(resourceId('Microsoft.Insights/Components', variables('appInsightsNameTidy')), variables('appInsightsApiVersion')).InstrumentationKey]", + "Application Insights Role": "CM", + "IP Security Client IP": "[parameters('securityClientIp')]", + "IP Security Client IP Mask": "[parameters('securityClientIpMask')]", + "Telerik Encryption Key": "[parameters('telerikEncryptionKey')]", + "XConnect Collection Certificate": "[concat('StoreName=My;StoreLocation=CurrentUser;FindType=FindByThumbprint;FindValue=', parameters('authCertificateThumbprint'))]", + "XDB Reference Data Client Certificate": "[concat('StoreName=My;StoreLocation=CurrentUser;FindType=FindByThumbprint;FindValue=', parameters('authCertificateThumbprint'))]", + "XDB MA Reporting Client Certificate": "[concat('StoreName=My;StoreLocation=CurrentUser;FindType=FindByThumbprint;FindValue=', parameters('authCertificateThumbprint'))]", + "XDB MA Ops Client Certificate": "[concat('StoreName=My;StoreLocation=CurrentUser;FindType=FindByThumbprint;FindValue=', parameters('authCertificateThumbprint'))]", + "Allow Invalid Client Certificates": "[parameters('allowInvalidClientCertificates')]", + "License Xml": "[parameters('licenseXml')]" + } + } + }, + { + "name": "[concat(variables('cdWebAppNameTidy'), '/', 'MSDeploy')]", + "type": "Microsoft.Web/sites/extensions", + "location": "[parameters('location')]", + "apiVersion": "[variables('webApiVersion')]", + "dependsOn": [ "[concat('Microsoft.Web/sites/', variables('cmWebAppNameTidy'), '/Extensions/MSDeploy')]" ], + "properties": { + "packageUri": "[parameters('cdMsDeployPackageUrl')]", + "dbType": "SQL", + "connectionString": "[concat('Data Source=tcp:', variables('sqlServerFqdnTidy'), ',1433;Initial Catalog=master;User Id=', parameters('sqlServerLogin'), ';Password=', parameters('sqlServerPassword'), ';')]", + "setParameters": { + "Application Path": "[variables('cdWebAppNameTidy')]", + "Core Connection String": "[concat('Encrypt=True;TrustServerCertificate=False;Data Source=', variables('sqlServerFqdnTidy'), ',1433;Initial Catalog=',variables('coreSqlDatabaseNameTidy'),';User Id=', parameters('coreSqlDatabaseUserName'), ';Password=', parameters('coreSqlDatabasePassword'), ';')]", + "Web Connection String": "[concat('Encrypt=True;TrustServerCertificate=False;Data Source=', variables('sqlServerFqdnTidy'), ',1433;Initial Catalog=',variables('webSqlDatabaseNameTidy'),';User Id=', parameters('webSqlDatabaseUserName'), ';Password=', parameters('webSqlDatabasePassword'), ';')]", + "Reference Data Connection String": "[concat('Encrypt=True;TrustServerCertificate=False;Data Source=', variables('sqlServerFqdnTidy'), ',1433;Initial Catalog=',variables('refDataSqlDatabaseNameTidy'),';User Id=', parameters('xcRefDataSqlDatabaseUserName'), ';Password=', parameters('xcRefDataSqlDatabasePassword'), ';')]", + "Experience Forms Connection String": "[concat('Encrypt=True;TrustServerCertificate=False;Data Source=', variables('sqlServerFqdnTidy'), ',1433;Initial Catalog=',variables('formsSqlDatabaseNameTidy'),';User Id=', parameters('formsSqlDatabaseUserName'), ';Password=', parameters('formsSqlDatabasePassword'), ';')]", + "XConnect Collection": "[concat('https://', reference(resourceId(subscription().subscriptionId, resourceGroup().name, 'Microsoft.Web/sites', variables('xcCollectWebAppNameTidy')), variables('webApiVersion')).hostNames[0])]", + "XDB Reference Data Client": "[concat('https://', reference(resourceId(subscription().subscriptionId, resourceGroup().name, 'Microsoft.Web/sites', variables('xcRefDataWebAppNameTidy')), variables('webApiVersion')).hostNames[0])]", + "XDB MA Ops Client": "[concat('https://', reference(resourceId(subscription().subscriptionId, resourceGroup().name, 'Microsoft.Web/sites', variables('maOpsWebAppNameTidy')), variables('webApiVersion')).hostNames[0])]", + "Redis Sessions": "[concat(reference(resourceId('Microsoft.Cache/Redis', variables('redisCacheNameTidy')), variables('redisApiVersion')).hostName, ':', reference(resourceId('Microsoft.Cache/Redis', variables('redisCacheNameTidy')), variables('redisApiVersion')).sslPort, ',password=', listKeys(resourceId('Microsoft.Cache/Redis', variables('redisCacheNameTidy')), variables('redisApiVersion')).primaryKey, ',ssl=True,abortConnect=False')]", + "Cloud Search Connection String": "[concat('serviceUrl=https://', variables('searchServiceNameTidy'), '.search.windows.net;apiVersion=', variables('searchPreviewApiVersion'), ';apiKey=', listAdminKeys(resourceId('Microsoft.Search/searchServices', variables('searchServiceNameTidy')), variables('searchApiVersion')).primaryKey)]", + "Application Insights Instrumentation Key": "[reference(resourceId('Microsoft.Insights/Components', variables('appInsightsNameTidy')), variables('appInsightsApiVersion')).InstrumentationKey]", + "Application Insights Role": "CD", + "XConnect Collection Certificate": "[concat('StoreName=My;StoreLocation=CurrentUser;FindType=FindByThumbprint;FindValue=', parameters('authCertificateThumbprint'))]", + "XDB Reference Data Client Certificate": "[concat('StoreName=My;StoreLocation=CurrentUser;FindType=FindByThumbprint;FindValue=', parameters('authCertificateThumbprint'))]", + "XDB MA Ops Client Certificate": "[concat('StoreName=My;StoreLocation=CurrentUser;FindType=FindByThumbprint;FindValue=', parameters('authCertificateThumbprint'))]", + "Allow Invalid Client Certificates": "[parameters('allowInvalidClientCertificates')]", + "License Xml": "[parameters('licenseXml')]" + } + } + }, + { + "name": "[concat(variables('prcWebAppNameTidy'), '/', 'MSDeploy')]", + "type": "Microsoft.Web/sites/extensions", + "location": "[parameters('location')]", + "apiVersion": "[variables('webApiVersion')]", + "dependsOn": [ "[concat('Microsoft.Web/sites/', variables('cmWebAppNameTidy'), '/Extensions/MSDeploy')]" ], + "properties": { + "packageUri": "[parameters('prcMsDeployPackageUrl')]", + "dbType": "SQL", + "connectionString": "[concat('Data Source=tcp:', variables('sqlServerFqdnTidy'), ',1433;Initial Catalog=master;User Id=', parameters('sqlServerLogin'), ';Password=', parameters('sqlServerPassword'), ';')]", + "setParameters": { + "Application Path": "[variables('prcWebAppNameTidy')]", + "Core Connection String": "[concat('Encrypt=True;TrustServerCertificate=False;Data Source=', variables('sqlServerFqdnTidy'), ',1433;Initial Catalog=',variables('coreSqlDatabaseNameTidy'),';User Id=', parameters('coreSqlDatabaseUserName'), ';Password=', parameters('coreSqlDatabasePassword'), ';')]", + "Master Connection String": "[concat('Encrypt=True;TrustServerCertificate=False;Data Source=', variables('sqlServerFqdnTidy'), ',1433;Initial Catalog=',variables('masterSqlDatabaseNameTidy'),';User Id=', parameters('masterSqlDatabaseUserName'), ';Password=', parameters('masterSqlDatabasePassword'), ';')]", + "Web Connection String": "[concat('Encrypt=True;TrustServerCertificate=False;Data Source=', variables('sqlServerFqdnTidy'), ',1433;Initial Catalog=',variables('webSqlDatabaseNameTidy'),';User Id=', parameters('webSqlDatabaseUserName'), ';Password=', parameters('webSqlDatabasePassword'), ';')]", + "Reporting Connection String": "[concat('Encrypt=True;TrustServerCertificate=False;Data Source=', variables('sqlServerFqdnTidy'), ',1433;Initial Catalog=',variables('reportingSqlDatabaseNameTidy'),';User Id=', parameters('reportingSqlDatabaseUserName'), ';Password=', parameters('reportingSqlDatabasePassword'), ';')]", + "XDB Processing Pools Connection String": "[concat('Encrypt=True;TrustServerCertificate=False;Data Source=', variables('sqlServerFqdnTidy'), ',1433;Initial Catalog=',variables('poolsSqlDatabaseNameTidy'),';User Id=', parameters('poolsSqlDatabaseUserName'), ';Password=', parameters('poolsSqlDatabasePassword'), ';')]", + "XDB Processing Tasks DB User Name": "[parameters('tasksSqlDatabaseUserName')]", + "XDB Processing Tasks DB Password": "[parameters('tasksSqlDatabasePassword')]", + "XDB Processing Tasks Admin Connection String": "[concat('Encrypt=True;TrustServerCertificate=False;Data Source=', variables('sqlServerFqdnTidy'), ',1433;Initial Catalog=',variables('tasksSqlDatabaseNameTidy'),';User Id=', parameters('sqlServerLogin'), ';Password=', parameters('sqlServerPassword'), ';')]", + "XDB Processing Tasks Connection String": "[concat('Encrypt=True;TrustServerCertificate=False;Data Source=', variables('sqlServerFqdnTidy'), ',1433;Initial Catalog=',variables('tasksSqlDatabaseNameTidy'),';User Id=', parameters('tasksSqlDatabaseUserName'), ';Password=', parameters('tasksSqlDatabasePassword'), ';')]", + "XDB Reference Data Connection String": "[concat('Encrypt=True;TrustServerCertificate=False;Data Source=', variables('sqlServerFqdnTidy'), ',1433;Initial Catalog=',variables('refDataSqlDatabaseNameTidy'),';User Id=', parameters('xcRefDataSqlDatabaseUserName'), ';Password=', parameters('xcRefDataSqlDatabasePassword'), ';')]", + "Reporting Service Api Key": "[parameters('repAuthenticationApiKey')]", + "Cloud Search Connection String": "[concat('serviceUrl=https://', variables('searchServiceNameTidy'), '.search.windows.net;apiVersion=', variables('searchPreviewApiVersion'), ';apiKey=', listAdminKeys(resourceId('Microsoft.Search/searchServices', variables('searchServiceNameTidy')), variables('searchApiVersion')).primaryKey)]", + "Application Insights Instrumentation Key": "[reference(resourceId('Microsoft.Insights/Components', variables('appInsightsNameTidy')), variables('appInsightsApiVersion')).InstrumentationKey]", + "Application Insights Role": "Processing", + "XConnect Collection": "[concat('https://', reference(resourceId(subscription().subscriptionId, resourceGroup().name, 'Microsoft.Web/sites', variables('xcCollectWebAppNameTidy')), variables('webApiVersion')).hostNames[0])]", + "IP Security Client IP": "[parameters('securityClientIp')]", + "IP Security Client IP Mask": "[parameters('securityClientIpMask')]", + "XConnect Collection Certificate": "[concat('StoreName=My;StoreLocation=CurrentUser;FindType=FindByThumbprint;FindValue=', parameters('authCertificateThumbprint'))]", + "Allow Invalid Client Certificates": "[parameters('allowInvalidClientCertificates')]", + "License Xml": "[parameters('licenseXml')]" + } + } + }, + { + "name": "[concat(variables('repWebAppNameTidy'), '/', 'MSDeploy')]", + "type": "Microsoft.Web/sites/extensions", + "location": "[parameters('location')]", + "apiVersion": "[variables('webApiVersion')]", + "dependsOn": [ "[concat('Microsoft.Web/sites/', variables('cmWebAppNameTidy'), '/Extensions/MSDeploy')]" ], + "properties": { + "packageUri": "[parameters('repMsDeployPackageUrl')]", + "dbType": "SQL", + "connectionString": "[concat('Data Source=tcp:', variables('sqlServerFqdnTidy'), ',1433;Initial Catalog=master;User Id=', parameters('sqlServerLogin'), ';Password=', parameters('sqlServerPassword'), ';')]", + "setParameters": { + "Application Path": "[variables('repWebAppNameTidy')]", + "Core Connection String": "[concat('Encrypt=True;TrustServerCertificate=False;Data Source=', variables('sqlServerFqdnTidy'), ',1433;Initial Catalog=',variables('coreSqlDatabaseNameTidy'),';User Id=', parameters('coreSqlDatabaseUserName'), ';Password=', parameters('coreSqlDatabasePassword'), ';')]", + "Master Connection String": "[concat('Encrypt=True;TrustServerCertificate=False;Data Source=', variables('sqlServerFqdnTidy'), ',1433;Initial Catalog=',variables('masterSqlDatabaseNameTidy'),';User Id=', parameters('masterSqlDatabaseUserName'), ';Password=', parameters('masterSqlDatabasePassword'), ';')]", + "Web Connection String": "[concat('Encrypt=True;TrustServerCertificate=False;Data Source=', variables('sqlServerFqdnTidy'), ',1433;Initial Catalog=',variables('webSqlDatabaseNameTidy'),';User Id=', parameters('webSqlDatabaseUserName'), ';Password=', parameters('webSqlDatabasePassword'), ';')]", + "Reporting Connection String": "[concat('Encrypt=True;TrustServerCertificate=False;Data Source=', variables('sqlServerFqdnTidy'), ',1433;Initial Catalog=',variables('reportingSqlDatabaseNameTidy'),';User Id=', parameters('reportingSqlDatabaseUserName'), ';Password=', parameters('reportingSqlDatabasePassword'), ';')]", + "Reporting Service Api Key": "[parameters('repAuthenticationApiKey')]", + "Cloud Search Connection String": "[concat('serviceUrl=https://', variables('searchServiceNameTidy'), '.search.windows.net;apiVersion=', variables('searchPreviewApiVersion'), ';apiKey=', listAdminKeys(resourceId('Microsoft.Search/searchServices', variables('searchServiceNameTidy')), variables('searchApiVersion')).primaryKey)]", + "Application Insights Instrumentation Key": "[reference(resourceId('Microsoft.Insights/Components', variables('appInsightsNameTidy')), variables('appInsightsApiVersion')).InstrumentationKey]", + "Application Insights Role": "Reporting", + "License Xml": "[parameters('licenseXml')]" + } + } + }, + { + "name": "[concat(variables('cdWebAppNameTidy'), '/', 'appsettings')]", + "type": "Microsoft.Web/sites/config", + "apiVersion": "[variables('webApiVersion')]", + "properties": { + "WEBSITE_LOAD_CERTIFICATES": "[parameters('authCertificateThumbprint')]", + "WEBSITE_DYNAMIC_CACHE": 0 + }, + "dependsOn": [ + "[resourceId('Microsoft.Web/sites/extensions', variables('cdWebAppNameTidy'),'MSDeploy')]" + ] + }, + { + "name": "[concat(variables('cmWebAppNameTidy'), '/', 'appsettings')]", + "type": "Microsoft.Web/sites/config", + "apiVersion": "[variables('webApiVersion')]", + "properties": { + "WEBSITE_LOAD_CERTIFICATES": "[parameters('authCertificateThumbprint')]", + "WEBSITE_DYNAMIC_CACHE": 0 + }, + "dependsOn": [ + "[resourceId('Microsoft.Web/sites/extensions', variables('cmWebAppNameTidy'),'MSDeploy')]" + ] + }, + { + "name": "[concat(variables('prcWebAppNameTidy'), '/', 'appsettings')]", + "type": "Microsoft.Web/sites/config", + "apiVersion": "[variables('webApiVersion')]", + "properties": { + "WEBSITE_LOAD_CERTIFICATES": "[parameters('authCertificateThumbprint')]", + "WEBSITE_DYNAMIC_CACHE": 0 + }, + "dependsOn": [ + "[resourceId('Microsoft.Web/sites/extensions', variables('prcWebAppNameTidy'),'MSDeploy')]" + ] + }, + { + "name": "[concat(variables('repWebAppNameTidy'), '/', 'appsettings')]", + "type": "Microsoft.Web/sites/config", + "apiVersion": "[variables('webApiVersion')]", + "properties": { + "WEBSITE_DYNAMIC_CACHE": 0 + }, + "dependsOn": [ + "[resourceId('Microsoft.Web/sites/extensions', variables('repWebAppNameTidy'),'MSDeploy')]" + ] + } + ] +} diff --git a/Sitecore 9.0.0/XPASE/nested/emptyAddon.json b/Sitecore 9.0.0/XPASE/nested/emptyAddon.json new file mode 100644 index 00000000..18909e4e --- /dev/null +++ b/Sitecore 9.0.0/XPASE/nested/emptyAddon.json @@ -0,0 +1,15 @@ +{ + "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#", + "contentVersion": "1.0.0.0", + "parameters": { + "standard": { + "type": "secureObject", + "defaultValue": {} + }, + "extension": { + "type": "secureObject", + "defaultValue": {} + } + }, + "resources": [] +} \ No newline at end of file diff --git a/Sitecore 9.0.0/XPASE/nested/infrastructure-ase.json b/Sitecore 9.0.0/XPASE/nested/infrastructure-ase.json new file mode 100644 index 00000000..d53548b6 --- /dev/null +++ b/Sitecore 9.0.0/XPASE/nested/infrastructure-ase.json @@ -0,0 +1,127 @@ +{ + "$schema": "http://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#", + "contentVersion": "1.0.0.0", + "variables": { + "vNetNameTidy": "[toLower(trim(parameters('vNetName')))]", + "vNetSubnetNameTidy": "[toLower(trim(parameters('vNetSubnetName')))]", + "aseNameTidy": "[toLower(trim(parameters('aseName')))]", + "aseSizeConfig": "[variables('aseSizeConfigs')[parameters('aseSize')]]", + "aseSizeConfigs": { + "small": { + "frontEndScaleFactor": 15, + "multiRoleCount": 2, + "multiSize": "Medium", + "workerPools": 1, + "defaultFrontEndScaleFactor": 15 + }, + "medium": { + "frontEndScaleFactor": 15, + "multiRoleCount": 2, + "multiSize": "Large", + "workerPools": 2, + "defaultFrontEndScaleFactor": 15 + }, + "large": { + "frontEndScaleFactor": 15, + "multiRoleCount": 2, + "multiSize": "ExtraLarge", + "workerPools": 3, + "defaultFrontEndScaleFactor": 15 + } + } + }, + "parameters": { + "deploymentId": { + "type": "string", + "defaultValue": "[resourceGroup().name]" + }, + "vNetName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-vnet')]" + }, + "vNetSubnetName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-subnet')]" + }, + "vNetAddressPrefix": { + "type": "string", + "minLength": 1, + "defaultValue": "10.0.0.0/24" + }, + "aseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-ase')]" + }, + "aseIpSslCount": { + "type": "int", + "defaultValue": 1, + "metadata": { + "description": "Number of IP addresses for the IP-SSL address pool. This value *must* be zero when internalLoadBalancing mode is set to either 1 or 3." + } + }, + "aseSize": { + "type": "string", + "allowedValues": [ "small", "medium", "large" ] + }, + "location": { + "type": "string", + "minLength": 1, + "defaultValue": "[resourceGroup().location]" + } + }, + "resources": [ + { + "apiVersion": "2016-09-01", + "name": "[variables('aseNameTidy')]", + "type": "Microsoft.Web/hostingEnvironments", + "location": "[parameters('location')]", + "dependsOn": [ "[resourceId('Microsoft.Network/virtualNetworks', variables('vNetNameTidy'))]" ], + "sku": "", + "kind": "ASEV2", + "tags": { + "displayName": "[variables('aseNameTidy')]" + }, + "properties": { + "name": "[variables('aseNameTidy')]", + "ipSslAddressCount": "[parameters('aseIpSslCount')]", + "location": "[parameters('location')]", + "frontEndScaleFactor": "[variables('aseSizeConfig').frontEndScaleFactor]", + "multiSize": "[variables('aseSizeConfig').multiSize]", + "multiRoleCount": "[variables('aseSizeConfig').multiRoleCount]", + "defaultFrontEndScaleFactor": "[variables('aseSizeConfig').defaultFrontEndScaleFactor]", + "workerPools": "[variables('aseSizeConfig').workerPools]", + "virtualNetwork": { + "Id": "[resourceId('Microsoft.Network/virtualNetworks/', variables('vNetNameTidy'))]", + "type": "Microsoft.Network/virtualNetworks", + "Subnet": "[variables('vNetSubnetNameTidy')]" + } + } + }, + { + "name": "[variables('vNetNameTidy')]", + "type": "Microsoft.Network/virtualNetworks", + "location": "[parameters('location')]", + "apiVersion": "2015-06-15", + "tags": { + "displayName": "[variables('vNetNameTidy')]" + }, + "properties": { + "addressSpace": { + "addressPrefixes": [ "[parameters('vNetAddressPrefix')]" ] + }, + "subnets": [ + { + "name": "[variables('vNetSubnetNameTidy')]", + "properties": { + "addressPrefix": "[parameters('vNetAddressPrefix')]" + } + } + ] + } + } + ] + } + \ No newline at end of file diff --git a/Sitecore 9.0.0/XPASE/nested/infrastructure-ma.json b/Sitecore 9.0.0/XPASE/nested/infrastructure-ma.json new file mode 100644 index 00000000..a75bbc42 --- /dev/null +++ b/Sitecore 9.0.0/XPASE/nested/infrastructure-ma.json @@ -0,0 +1,198 @@ +{ + "$schema": "http://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#", + "contentVersion": "1.0.0.0", + "variables": { + "webApiVersion": "2016-08-01", + "dbApiVersion": "2014-04-01-preview", + + "sqlServerNameTidy": "[toLower(trim(parameters('sqlServerName')))]", + + "maSqlDatabaseNameTidy": "[toLower(trim(parameters('maSqlDatabaseName')))]", + + "xcBasicHostingPlanNameTidy": "[toLower(trim(parameters('xcBasicHostingPlanName')))]", + + "maOpsWebAppNameTidy": "[toLower(trim(parameters('maOpsWebAppName')))]", + "maRepWebAppNameTidy": "[toLower(trim(parameters('maRepWebAppName')))]", + + "sitecoreTags": { + "provider": "b51535c2-ab3e-4a68-95f8-e2e3c9a19299", + "maOps": "ma-ops", + "maRep": "ma-rep", + "ma": "ma" + } + }, + "parameters": { + "deploymentId": { + "type": "string", + "defaultValue": "[resourceGroup().name]" + }, + "location": { + "type": "string", + "minLength": 1, + "defaultValue": "[resourceGroup().location]" + }, + "sitecoreSKU": { + "type": "string", + "allowedValues": [ "Extra Small", "Small", "Medium", "Large", "Extra Large" ], + "defaultValue": "Extra Small", + "metadata": { + "description": "Sitecore SKU controls the sizes and service levels of the provisioned resources" + } + }, + + "sqlServerName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-sql')]" + }, + + "sqlDatabaseCollation": { + "type": "string", + "minLength": 1, + "defaultValue": "SQL_Latin1_General_CP1_CI_AS" + }, + + "maSqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-ma-db')]" + }, + + "xcBasicHostingPlanName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-xc-basic-hp')]" + }, + + "maOpsWebAppName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-ma-ops')]" + }, + "maRepWebAppName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-ma-rep')]" + }, + + "skuMap": { + "type": "secureObject", + "defaultValue": { + "Extra Small": { + "maSqlDatabase": { + "Edition": "Standard", + "MaxSize": "268435456000", + "ServiceObjectiveLevel": "S0" + } + }, + "Small": { + "maSqlDatabase": { + "Edition": "Standard", + "MaxSize": "268435456000", + "ServiceObjectiveLevel": "S0" + } + }, + "Medium": { + "maSqlDatabase": { + "Edition": "Standard", + "MaxSize": "268435456000", + "ServiceObjectiveLevel": "S1" + } + }, + "Large": { + "maSqlDatabase": { + "Edition": "Standard", + "MaxSize": "268435456000", + "ServiceObjectiveLevel": "S1" + } + }, + "Extra Large": { + "maSqlDatabase": { + "Edition": "Standard", + "MaxSize": "268435456000", + "ServiceObjectiveLevel": "S1" + } + } + } + }, + "resourceSizes": { + "type": "object", + "defaultValue": "[parameters('skuMap')[parameters('sitecoreSKU')]]" + } + }, + "resources": [ + { + "name": "[concat(variables('sqlServerNameTidy'), '/', variables('maSqlDatabaseNameTidy'))]", + "type": "Microsoft.Sql/servers/databases", + "location": "[parameters('location')]", + "apiVersion": "[variables('dbApiVersion')]", + "properties": { + "edition": "[parameters('resourceSizes').maSqlDatabase.Edition]", + "collation": "[parameters('sqlDatabaseCollation')]", + "maxSizeBytes": "[parameters('resourceSizes').maSqlDatabase.MaxSize]", + "requestedServiceObjectiveName": "[parameters('resourceSizes').maSqlDatabase.ServiceObjectiveLevel]" + }, + "resources": [ + { + "name": "current", + "type": "transparentDataEncryption", + "dependsOn": [ + "[variables('maSqlDatabaseNameTidy')]" + ], + "apiVersion": "2014-04-01", + "properties": { + "status": "Enabled" + } + } + ], + "tags": { + "provider": "[variables('sitecoreTags').provider]", + "logicalName": "[variables('sitecoreTags').ma]" + } + }, + { + "type": "Microsoft.Web/sites", + "name": "[variables('maRepWebAppNameTidy')]", + "apiVersion": "[variables('webApiVersion')]", + "location": "[parameters('location')]", + "properties": { + "clientCertEnabled": true, + "serverFarmId": "[resourceId('Microsoft.Web/serverfarms', variables('xcBasicHostingPlanNameTidy'))]", + "siteConfig": { + "use32BitWorkerProcess": false, + "alwaysOn": true, + "phpVersion": "", + "defaultDocuments": [ + "index.html" + ] + } + }, + "tags": { + "provider": "[variables('sitecoreTags').provider]", + "logicalName": "[variables('sitecoreTags').maRep]" + } + }, + { + "type": "Microsoft.Web/sites", + "name": "[variables('maOpsWebAppNameTidy')]", + "apiVersion": "[variables('webApiVersion')]", + "properties": { + "clientCertEnabled": true, + "serverFarmId": "[resourceId('Microsoft.Web/serverfarms', variables('xcBasicHostingPlanNameTidy'))]", + "siteConfig": { + "use32BitWorkerProcess": false, + "alwaysOn": true, + "phpVersion": "", + "defaultDocuments": [ + "index.html" + ] + } + }, + "location": "[parameters('location')]", + "tags": { + "provider": "[variables('sitecoreTags').provider]", + "logicalName": "[variables('sitecoreTags').maOps]" + } + } + ] +} \ No newline at end of file diff --git a/Sitecore 9.0.0/XPASE/nested/infrastructure-xconnect.json b/Sitecore 9.0.0/XPASE/nested/infrastructure-xconnect.json new file mode 100644 index 00000000..99995a70 --- /dev/null +++ b/Sitecore 9.0.0/XPASE/nested/infrastructure-xconnect.json @@ -0,0 +1,509 @@ +{ + "$schema": "http://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#", + "contentVersion": "1.0.0.0", + "variables": { + "webApiVersion": "2016-08-01", + "serverFarmApiVersion": "2016-09-01", + "dbApiVersion": "2014-04-01-preview", + + "sqlServerNameTidy": "[toLower(trim(parameters('sqlServerName')))]", + + "shardMapManagerSqlDatabaseNameTidy": "[toLower(trim(parameters('shardMapManagerSqlDatabaseName')))]", + "shard0SqlDatabaseNameTidy": "[toLower(trim(parameters('shard0SqlDatabaseName')))]", + "shard1SqlDatabaseNameTidy": "[toLower(trim(parameters('shard1SqlDatabaseName')))]", + "refDataSqlDatabaseNameTidy": "[toLower(trim(parameters('refDataSqlDatabaseName')))]", + + "xcBasicHostingPlanNameTidy": "[toLower(trim(parameters('xcBasicHostingPlanName')))]", + "xcResourceIntensiveHostingPlanNameTidy": "[toLower(trim(parameters('xcResourceIntensiveHostingPlanName')))]", + + "xcRefDataWebAppNameTidy": "[toLower(trim(parameters('xcRefDataWebAppName')))]", + "xcCollectWebAppNameTidy": "[toLower(trim(parameters('xcCollectWebAppName')))]", + "xcSearchWebAppNameTidy": "[toLower(trim(parameters('xcSearchWebAppName')))]", + + "sitecoreTags": { + "provider": "b51535c2-ab3e-4a68-95f8-e2e3c9a19299", + "xc": "xc", + "xcSearch": "xc-search", + "xcCollect": "xc-collect", + "xcRefData": "xc-refdata", + "xcShard0": "xc-shard-0", + "xcShard1": "xc-shard-1", + "xcShardMapManager": "xc-smm" + } + }, + "parameters": { + "deploymentId": { + "type": "string", + "defaultValue": "[resourceGroup().name]" + }, + "location": { + "type": "string", + "minLength": 1, + "defaultValue": "[resourceGroup().location]" + }, + "sitecoreSKU": { + "type": "string", + "allowedValues": [ "Extra Small", "Small", "Medium", "Large", "Extra Large" ], + "defaultValue": "Extra Small", + "metadata": { + "description": "Sitecore SKU controls the sizes and service levels of the provisioned resources" + } + }, + + "sqlServerName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-sql')]" + }, + + "sqlDatabaseCollation": { + "type": "string", + "minLength": 1, + "defaultValue": "SQL_Latin1_General_CP1_CI_AS" + }, + + "shardMapManagerSqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-smm-db')]" + }, + "shard0SqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-shard0-db')]" + }, + "shard1SqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-shard1-db')]" + }, + "refDataSqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-refdata-db')]" + }, + + "xcBasicHostingPlanName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-xc-basic-hp')]" + }, + "xcResourceIntensiveHostingPlanName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-xc-resourceintensive-hp')]" + }, + + "xcRefDataWebAppName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-xc-refdata')]" + }, + "xcCollectWebAppName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-xc-collect')]" + }, + "xcSearchWebAppName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-xc-search')]" + }, + "aseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-ase')]" + }, + + "skuMap": { + "type": "secureObject", + "defaultValue": { + "Extra Small": { + "xcBasicHostingPlan": { + "SkuName": "I1", + "SkuCapacity": 1 + }, + "xcResourceIntensiveHostingPlan": { + "SkuName": "I1", + "SkuCapacity": 1 + }, + "refDataSqlDatabase": { + "Edition": "Standard", + "MaxSize": "268435456000", + "ServiceObjectiveLevel": "S0" + }, + "shardMapManagerSqlDatabase": { + "Edition": "Standard", + "MaxSize": "268435456000", + "ServiceObjectiveLevel": "S0" + }, + "xcShard0SqlDatabase": { + "Edition": "Standard", + "MaxSize": "268435456000", + "ServiceObjectiveLevel": "S0" + }, + "xcShard1SqlDatabase": { + "Edition": "Standard", + "MaxSize": "268435456000", + "ServiceObjectiveLevel": "S0" + } + }, + "Small": { + "xcBasicHostingPlan": { + "SkuName": "I1", + "SkuCapacity": 1 + }, + "xcResourceIntensiveHostingPlan": { + "SkuName": "I1", + "SkuCapacity": 1 + }, + "refDataSqlDatabase": { + "Edition": "Standard", + "MaxSize": "268435456000", + "ServiceObjectiveLevel": "S1" + }, + "shardMapManagerSqlDatabase": { + "Edition": "Standard", + "MaxSize": "268435456000", + "ServiceObjectiveLevel": "S0" + }, + "xcShard0SqlDatabase": { + "Edition": "Standard", + "MaxSize": "268435456000", + "ServiceObjectiveLevel": "S1" + }, + "xcShard1SqlDatabase": { + "Edition": "Standard", + "MaxSize": "268435456000", + "ServiceObjectiveLevel": "S1" + } + }, + "Medium": { + "xcBasicHostingPlan": { + "SkuName": "I2", + "SkuCapacity": 1 + }, + "xcResourceIntensiveHostingPlan": { + "SkuName": "I3", + "SkuCapacity": 1 + }, + "refDataSqlDatabase": { + "Edition": "Standard", + "MaxSize": "268435456000", + "ServiceObjectiveLevel": "S2" + }, + "shardMapManagerSqlDatabase": { + "Edition": "Standard", + "MaxSize": "268435456000", + "ServiceObjectiveLevel": "S0" + }, + "xcShard0SqlDatabase": { + "Edition": "Standard", + "MaxSize": "268435456000", + "ServiceObjectiveLevel": "S2" + }, + "xcShard1SqlDatabase": { + "Edition": "Standard", + "MaxSize": "268435456000", + "ServiceObjectiveLevel": "S2" + } + }, + "Large": { + "xcBasicHostingPlan": { + "SkuName": "I3", + "SkuCapacity": 1 + }, + "xcResourceIntensiveHostingPlan": { + "SkuName": "I3", + "SkuCapacity": 2 + }, + "refDataSqlDatabase": { + "Edition": "Standard", + "MaxSize": "268435456000", + "ServiceObjectiveLevel": "S3" + }, + "shardMapManagerSqlDatabase": { + "Edition": "Standard", + "MaxSize": "268435456000", + "ServiceObjectiveLevel": "S0" + }, + "xcShard0SqlDatabase": { + "Edition": "Premium", + "MaxSize": "268435456000", + "ServiceObjectiveLevel": "P1" + }, + "xcShard1SqlDatabase": { + "Edition": "Premium", + "MaxSize": "268435456000", + "ServiceObjectiveLevel": "P1" + } + }, + "Extra Large": { + "xcBasicHostingPlan": { + "SkuName": "I3", + "SkuCapacity": 2 + }, + "xcResourceIntensiveHostingPlan": { + "SkuName": "I3", + "SkuCapacity": 4 + }, + "refDataSqlDatabase": { + "Edition": "Standard", + "MaxSize": "268435456000", + "ServiceObjectiveLevel": "S3" + }, + "shardMapManagerSqlDatabase": { + "Edition": "Standard", + "MaxSize": "268435456000", + "ServiceObjectiveLevel": "S0" + }, + "xcShard0SqlDatabase": { + "Edition": "Premium", + "MaxSize": "268435456000", + "ServiceObjectiveLevel": "P2" + }, + "xcShard1SqlDatabase": { + "Edition": "Premium", + "MaxSize": "268435456000", + "ServiceObjectiveLevel": "P2" + } + } + } + }, + "resourceSizes": { + "type": "object", + "defaultValue": "[parameters('skuMap')[parameters('sitecoreSKU')]]" + } + }, + "resources": [ + { + "type": "Microsoft.Web/serverfarms", + "name": "[variables('xcBasicHostingPlanNameTidy')]", + "apiVersion": "[variables('serverFarmApiVersion')]", + "sku": { + "name": "[parameters('resourceSizes').xcBasicHostingPlan.SkuName]", + "capacity": "[parameters('resourceSizes').xcBasicHostingPlan.SkuCapacity]" + }, + "properties": { + "name": "[variables('xcBasicHostingPlanNameTidy')]", + "hostingEnvironment": "[parameters('aseName')]", + "hostingEnvironmentId": "[resourceId('Microsoft.Web/hostingEnvironments', parameters('aseName'))]" + }, + "location": "[parameters('location')]", + "tags": { + "provider": "[variables('sitecoreTags').provider]", + "logicalName": "[variables('sitecoreTags').xc]" + } + }, + { + "type": "Microsoft.Web/serverfarms", + "name": "[variables('xcResourceIntensiveHostingPlanNameTidy')]", + "apiVersion": "[variables('serverFarmApiVersion')]", + "sku": { + "name": "[parameters('resourceSizes').xcResourceIntensiveHostingPlan.SkuName]", + "capacity": "[parameters('resourceSizes').xcResourceIntensiveHostingPlan.SkuCapacity]" + }, + "properties": { + "name": "[variables('xcResourceIntensiveHostingPlanNameTidy')]", + "hostingEnvironment": "[parameters('aseName')]", + "hostingEnvironmentId": "[resourceId('Microsoft.Web/hostingEnvironments', parameters('aseName'))]" + }, + "location": "[parameters('location')]", + "tags": { + "provider": "[variables('sitecoreTags').provider]", + "logicalName": "[variables('sitecoreTags').xc]" + } + }, + { + "type": "Microsoft.Web/sites", + "name": "[variables('xcRefDataWebAppNameTidy')]", + "apiVersion": "[variables('webApiVersion')]", + "properties": { + "clientCertEnabled": true, + "serverFarmId": "[resourceId('Microsoft.Web/serverfarms', variables('xcResourceIntensiveHostingPlanNameTidy'))]", + "siteConfig": { + "use32BitWorkerProcess": false, + "alwaysOn": true, + "phpVersion": "", + "defaultDocuments": [ + "index.html" + ] + } + }, + "location": "[parameters('location')]", + "dependsOn": [ + "[resourceId('Microsoft.Web/serverfarms', variables('xcResourceIntensiveHostingPlanNameTidy'))]" + ], + "tags": { + "provider": "[variables('sitecoreTags').provider]", + "logicalName": "[variables('sitecoreTags').xcRefData]" + } + }, + { + "type": "Microsoft.Sql/servers/databases", + "name": "[concat(variables('sqlServerNameTidy'), '/', variables('refDataSqlDatabaseNameTidy'))]", + "location": "[parameters('location')]", + "apiVersion": "[variables('dbApiVersion')]", + "properties": { + "edition": "[parameters('resourceSizes').refDataSqlDataBase.Edition]", + "collation": "[parameters('sqlDatabaseCollation')]", + "maxSizeBytes": "[parameters('resourceSizes').refDataSqlDataBase.MaxSize]", + "requestedServiceObjectiveName": "[parameters('resourceSizes').refDataSqlDataBase.ServiceObjectiveLevel]" + }, + "resources": [ + { + "name": "current", + "type": "transparentDataEncryption", + "dependsOn": [ + "[variables('refDataSqlDatabaseNameTidy')]" + ], + "apiVersion": "2014-04-01", + "properties": { + "status": "Enabled" + } + } + ], + "tags": { + "provider": "[variables('sitecoreTags').provider]", + "logicalName": "[variables('sitecoreTags').xcRefData]" + } + }, + { + "type": "Microsoft.Web/sites", + "name": "[variables('xcCollectWebAppNameTidy')]", + "apiVersion": "[variables('webApiVersion')]", + "properties": { + "clientCertEnabled": true, + "serverFarmId": "[resourceId('Microsoft.Web/serverfarms', variables('xcResourceIntensiveHostingPlanNameTidy'))]", + "siteConfig": { + "use32BitWorkerProcess": false, + "alwaysOn": true, + "phpVersion": "", + "defaultDocuments": [ + "index.html" + ] + } + }, + "location": "[parameters('location')]", + "dependsOn": [ + "[resourceId('Microsoft.Web/serverfarms', variables('xcResourceIntensiveHostingPlanNameTidy'))]" + ], + "tags": { + "provider": "[variables('sitecoreTags').provider]", + "logicalName": "[variables('sitecoreTags').xcCollect]" + } + }, + { + "type": "Microsoft.Sql/servers/databases", + "name": "[concat(variables('sqlServerNameTidy'),'/',variables('shardMapManagerSqlDatabaseNameTidy'))]", + "location": "[parameters('location')]", + "apiVersion": "[variables('dbApiVersion')]", + "properties": { + "edition": "[parameters('resourceSizes').shardMapManagerSqlDatabase.Edition]", + "collation": "[parameters('sqlDatabaseCollation')]", + "maxSizeBytes": "[parameters('resourceSizes').shardMapManagerSqlDatabase.MaxSize]", + "requestedServiceObjectiveName": "[parameters('resourceSizes').shardMapManagerSqlDatabase.ServiceObjectiveLevel]" + }, + "resources": [ + { + "name": "current", + "type": "transparentDataEncryption", + "dependsOn": [ + "[variables('shardMapManagerSqlDatabaseNameTidy')]" + ], + "apiVersion": "2014-04-01", + "properties": { + "status": "Enabled" + } + } + ], + "tags": { + "provider": "[variables('sitecoreTags').provider]", + "logicalName": "[variables('sitecoreTags').xcShardMapManager]" + } + }, + { + "type": "Microsoft.Sql/servers/databases", + "name": "[concat(variables('sqlServerNameTidy'),'/',variables('shard0SqlDatabaseNameTidy'))]", + "location": "[parameters('location')]", + "apiVersion": "[variables('dbApiVersion')]", + "properties": { + "edition": "[parameters('resourceSizes').xcShard0SqlDatabase.Edition]", + "collation": "[parameters('sqlDatabaseCollation')]", + "maxSizeBytes": "[parameters('resourceSizes').xcShard0SqlDatabase.MaxSize]", + "requestedServiceObjectiveName": "[parameters('resourceSizes').xcShard0SqlDatabase.ServiceObjectiveLevel]" + }, + "resources": [ + { + "name": "current", + "type": "transparentDataEncryption", + "dependsOn": [ + "[variables('shard0SqlDatabaseNameTidy')]" + ], + "apiVersion": "2014-04-01", + "properties": { + "status": "Enabled" + } + } + ], + "tags": { + "provider": "[variables('sitecoreTags').provider]", + "logicalName": "[variables('sitecoreTags').xcShard0]" + } + }, + { + "type": "Microsoft.Sql/servers/databases", + "name": "[concat(variables('sqlServerNameTidy'),'/',variables('shard1SqlDatabaseNameTidy'))]", + "location": "[parameters('location')]", + "apiVersion": "[variables('dbApiVersion')]", + "properties": { + "edition": "[parameters('resourceSizes').xcShard1SqlDatabase.Edition]", + "collation": "[parameters('sqlDatabaseCollation')]", + "maxSizeBytes": "[parameters('resourceSizes').xcShard1SqlDatabase.MaxSize]", + "requestedServiceObjectiveName": "[parameters('resourceSizes').xcShard1SqlDatabase.ServiceObjectiveLevel]" + }, + "resources": [ + { + "name": "current", + "type": "transparentDataEncryption", + "dependsOn": [ + "[variables('shard1SqlDatabaseNameTidy')]" + ], + "apiVersion": "2014-04-01", + "properties": { + "status": "Enabled" + } + } + ], + "tags": { + "provider": "[variables('sitecoreTags').provider]", + "logicalName": "[variables('sitecoreTags').xcShard1]" + } + }, + { + "type": "Microsoft.Web/sites", + "name": "[variables('xcSearchWebAppNameTidy')]", + "apiVersion": "[variables('webApiVersion')]", + "properties": { + "clientCertEnabled": true, + "serverFarmId": "[resourceId('Microsoft.Web/serverfarms', variables('xcBasicHostingPlanNameTidy'))]", + "siteConfig": { + "use32BitWorkerProcess": false, + "alwaysOn": true, + "phpVersion": "", + "defaultDocuments": [ + "index.html" + ] + } + }, + "location": "[parameters('location')]", + "dependsOn": [ + "[resourceId('Microsoft.Web/serverfarms', variables('xcBasicHostingPlanNameTidy'))]" + ], + "tags": { + "provider": "[variables('sitecoreTags').provider]", + "logicalName": "[variables('sitecoreTags').xcSearch]" + } + } + ] +} diff --git a/Sitecore 9.0.0/XPASE/nested/infrastructure.json b/Sitecore 9.0.0/XPASE/nested/infrastructure.json new file mode 100644 index 00000000..6f11ecb2 --- /dev/null +++ b/Sitecore 9.0.0/XPASE/nested/infrastructure.json @@ -0,0 +1,1076 @@ +{ + "$schema": "http://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#", + "contentVersion": "1.0.0.0", + "variables": { + "webApiVersion": "2016-08-01", + "serverFarmApiVersion": "2016-09-01", + "dbApiVersion": "2014-04-01-preview", + "searchApiVersion": "2015-08-19", + "redisApiVersion": "2016-04-01", + "appInsightsApiVersion": "2015-05-01", + "certificateApiVersion": "2014-11-01", + + "sqlServerNameTidy": "[toLower(trim(parameters('sqlServerName')))]", + + "coreSqlDatabaseNameTidy": "[toLower(trim(parameters('coreSqlDatabaseName')))]", + "webSqlDatabaseNameTidy": "[toLower(trim(parameters('webSqlDatabaseName')))]", + "masterSqlDatabaseNameTidy": "[toLower(trim(parameters('masterSqlDatabaseName')))]", + "reportingSqlDatabaseNameTidy": "[toLower(trim(parameters('reportingSqlDatabaseName')))]", + "poolsSqlDatabaseNameTidy": "[toLower(trim(parameters('poolsSqlDatabaseName')))]", + "tasksSqlDatabaseNameTidy": "[toLower(trim(parameters('tasksSqlDatabaseName')))]", + "formsSqlDatabaseNameTidy": "[toLower(trim(parameters('formsSqlDatabaseName')))]", + + "cmHostingPlanNameTidy": "[toLower(trim(parameters('cmHostingPlanName')))]", + "cdHostingPlanNameTidy": "[toLower(trim(parameters('cdHostingPlanName')))]", + "prcHostingPlanNameTidy": "[toLower(trim(parameters('prcHostingPlanName')))]", + "repHostingPlanNameTidy": "[toLower(trim(parameters('repHostingPlanName')))]", + + "cmWebAppNameTidy": "[toLower(trim(parameters('cmWebAppName')))]", + "cdWebAppNameTidy": "[toLower(trim(parameters('cdWebAppName')))]", + "prcWebAppNameTidy": "[toLower(trim(parameters('prcWebAppName')))]", + "repWebAppNameTidy": "[toLower(trim(parameters('repWebAppName')))]", + + "searchServiceNameTidy": "[toLower(trim(parameters('searchServiceName')))]", + "redisCacheNameTidy": "[toLower(trim(parameters('redisCacheName')))]", + "appInsightsNameTidy": "[toLower(trim(parameters('applicationInsightsName')))]", + "appInsightsPricePlanTidy": "[toLower(trim(parameters('applicationInsightsPricePlan')))]", + "authCertificateNameTidy": "[toLower(trim(parameters('authCertificateName')))]", + + "sitecoreTags": { + "provider": "b51535c2-ab3e-4a68-95f8-e2e3c9a19299", + "cm": "cm", + "cd": "cd", + "rep": "rep", + "prc": "prc", + "core": "core", + "master": "master", + "web": "web", + "reporting": "reporting", + "pools": "prc-pools", + "tasks": "prc-tasks", + "forms": "forms" + } + }, + "parameters": { + "deploymentId": { + "type": "string", + "defaultValue": "[resourceGroup().name]" + }, + "location": { + "type": "string", + "minLength": 1, + "defaultValue": "[resourceGroup().location]" + }, + "sitecoreSKU": { + "type": "string", + "allowedValues": [ "Extra Small", "Small", "Medium", "Large", "Extra Large" ], + "defaultValue": "Extra Small", + "metadata": { + "description": "Sitecore SKU controls the sizes and service levels of the provisioned resources" + } + }, + + "sqlServerName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-sql')]" + }, + "sqlServerLogin": { + "type": "string", + "minLength": 1 + }, + "sqlServerPassword": { + "type": "securestring", + "minLength": 8 + }, + + "sqlServerVersion": { + "type": "string", + "minLength": 1, + "defaultValue": "12.0" + }, + "sqlDatabaseCollation": { + "type": "string", + "minLength": 1, + "defaultValue": "SQL_Latin1_General_CP1_CI_AS" + }, + + "coreSqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-core-db')]" + }, + "masterSqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-master-db')]" + }, + "webSqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-web-db')]" + }, + "reportingSqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-reporting-db')]" + }, + "poolsSqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-pools-db')]" + }, + "tasksSqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-tasks-db')]" + }, + "formsSqlDatabaseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-forms-db')]" + }, + + "searchServiceName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-as')]" + }, + "redisCacheName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-redis')]" + }, + "applicationInsightsName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-ai')]" + }, + "applicationInsightsLocation": { + "type": "string", + "defaultValue": "East US" + }, + "applicationInsightsPricePlan": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-ai-pp')]" + }, + + "cmHostingPlanName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-cm-hp')]" + }, + "cdHostingPlanName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-cd-hp')]" + }, + "prcHostingPlanName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-prc-hp')]" + }, + "repHostingPlanName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-rep-hp')]" + }, + + "cmWebAppName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-cm')]" + }, + "cdWebAppName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-cd')]" + }, + "prcWebAppName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-prc')]" + }, + "repWebAppName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-rep')]" + }, + "authCertificateName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-auth')]" + }, + "authCertificateBlob": { + "type": "securestring", + "minLength": 1 + }, + "authCertificatePassword": { + "type": "securestring", + "minLength": 1 + }, + "aseName": { + "type": "string", + "minLength": 1, + "defaultValue": "[concat(parameters('deploymentId'), '-ase')]" + }, + + "skuMap": { + "type": "secureObject", + "defaultValue": { + "Extra Small": { + "cmHostingPlan": { + "SkuName": "I2", + "SkuCapacity": 1 + }, + "cdHostingPlan": { + "SkuName": "I2", + "SkuCapacity": 1 + }, + "prcHostingPlan": { + "SkuName": "I1", + "SkuCapacity": 1 + }, + "repHostingPlan": { + "SkuName": "I1", + "SkuCapacity": 1 + }, + "coreSqlDatabase": { + "Edition": "Standard", + "MaxSize": "268435456000", + "ServiceObjectiveLevel": "S1" + }, + "masterSqlDatabase": { + "Edition": "Standard", + "MaxSize": "268435456000", + "ServiceObjectiveLevel": "S1" + }, + "webSqlDatabase": { + "Edition": "Standard", + "MaxSize": "268435456000", + "ServiceObjectiveLevel": "S1" + }, + "reportingSqlDatabase": { + "Edition": "Standard", + "MaxSize": "268435456000", + "ServiceObjectiveLevel": "S1" + }, + "poolsSqlDatabase": { + "Edition": "Standard", + "MaxSize": "268435456000", + "ServiceObjectiveLevel": "S0" + }, + "tasksSqlDatabase": { + "Edition": "Standard", + "MaxSize": "268435456000", + "ServiceObjectiveLevel": "S0" + }, + "formsSqlDatabase": { + "Edition": "Standard", + "MaxSize": "268435456000", + "ServiceObjectiveLevel": "S0" + }, + "searchService": { + "SkuName": "Standard", + "Partitions": 1, + "Replicas": 1 + }, + "redisCache": { + "SkuName": "Standard", + "SkuFamily": "C", + "SkuCapacity": 1 + }, + "applicationInsightsPricePlan": { + "CurrentBillingFeatures": "Basic", + "DataVolumeCap": { + "Cap": 0.33 + } + } + }, + "Small": { + "cmHostingPlan": { + "SkuName": "I2", + "SkuCapacity": 1 + }, + "cdHostingPlan": { + "SkuName": "I2", + "SkuCapacity": 2 + }, + "prcHostingPlan": { + "SkuName": "I1", + "SkuCapacity": 1 + }, + "repHostingPlan": { + "SkuName": "I1", + "SkuCapacity": 1 + }, + "coreSqlDatabase": { + "Edition": "Standard", + "MaxSize": "268435456000", + "ServiceObjectiveLevel": "S1" + }, + "masterSqlDatabase": { + "Edition": "Standard", + "MaxSize": "268435456000", + "ServiceObjectiveLevel": "S1" + }, + "webSqlDatabase": { + "Edition": "Standard", + "MaxSize": "268435456000", + "ServiceObjectiveLevel": "S1" + }, + "reportingSqlDatabase": { + "Edition": "Standard", + "MaxSize": "268435456000", + "ServiceObjectiveLevel": "S1" + }, + "poolsSqlDatabase": { + "Edition": "Standard", + "MaxSize": "268435456000", + "ServiceObjectiveLevel": "S0" + }, + "tasksSqlDatabase": { + "Edition": "Standard", + "MaxSize": "268435456000", + "ServiceObjectiveLevel": "S0" + }, + "formsSqlDatabase": { + "Edition": "Standard", + "MaxSize": "268435456000", + "ServiceObjectiveLevel": "S0" + }, + "searchService": { + "SkuName": "Standard", + "Partitions": 1, + "Replicas": 1 + }, + "redisCache": { + "SkuName": "Standard", + "SkuFamily": "C", + "SkuCapacity": 1 + }, + "applicationInsightsPricePlan": { + "CurrentBillingFeatures": "Basic", + "DataVolumeCap": { + "Cap": 0.33 + } + } + }, + "Medium": { + "cmHostingPlan": { + "SkuName": "I2", + "SkuCapacity": 1 + }, + "cdHostingPlan": { + "SkuName": "I2", + "SkuCapacity": 3 + }, + "prcHostingPlan": { + "SkuName": "I1", + "SkuCapacity": 1 + }, + "repHostingPlan": { + "SkuName": "I2", + "SkuCapacity": 1 + }, + "coreSqlDatabase": { + "Edition": "Standard", + "MaxSize": "268435456000", + "ServiceObjectiveLevel": "S1" + }, + "masterSqlDatabase": { + "Edition": "Standard", + "MaxSize": "268435456000", + "ServiceObjectiveLevel": "S1" + }, + "webSqlDatabase": { + "Edition": "Standard", + "MaxSize": "268435456000", + "ServiceObjectiveLevel": "S1" + }, + "reportingSqlDatabase": { + "Edition": "Standard", + "MaxSize": "268435456000", + "ServiceObjectiveLevel": "S2" + }, + "poolsSqlDatabase": { + "Edition": "Standard", + "MaxSize": "268435456000", + "ServiceObjectiveLevel": "S1" + }, + "tasksSqlDatabase": { + "Edition": "Standard", + "MaxSize": "268435456000", + "ServiceObjectiveLevel": "S0" + }, + "formsSqlDatabase": { + "Edition": "Standard", + "MaxSize": "268435456000", + "ServiceObjectiveLevel": "S0" + }, + "searchService": { + "SkuName": "Standard", + "Partitions": 1, + "Replicas": 1 + }, + "redisCache": { + "SkuName": "Standard", + "SkuFamily": "C", + "SkuCapacity": 1 + }, + "applicationInsightsPricePlan": { + "CurrentBillingFeatures": "Basic", + "DataVolumeCap": { + "Cap": 0.33 + } + } + }, + "Large": { + "cmHostingPlan": { + "SkuName": "I2", + "SkuCapacity": 1 + }, + "cdHostingPlan": { + "SkuName": "I3", + "SkuCapacity": 4 + }, + "prcHostingPlan": { + "SkuName": "I2", + "SkuCapacity": 1 + }, + "repHostingPlan": { + "SkuName": "I2", + "SkuCapacity": 1 + }, + "coreSqlDatabase": { + "Edition": "Standard", + "MaxSize": "268435456000", + "ServiceObjectiveLevel": "S1" + }, + "masterSqlDatabase": { + "Edition": "Standard", + "MaxSize": "268435456000", + "ServiceObjectiveLevel": "S1" + }, + "webSqlDatabase": { + "Edition": "Standard", + "MaxSize": "268435456000", + "ServiceObjectiveLevel": "S2" + }, + "reportingSqlDatabase": { + "Edition": "Standard", + "MaxSize": "268435456000", + "ServiceObjectiveLevel": "S2" + }, + "poolsSqlDatabase": { + "Edition": "Standard", + "MaxSize": "268435456000", + "ServiceObjectiveLevel": "S1" + }, + "tasksSqlDatabase": { + "Edition": "Standard", + "MaxSize": "268435456000", + "ServiceObjectiveLevel": "S0" + }, + "formsSqlDatabase": { + "Edition": "Standard", + "MaxSize": "268435456000", + "ServiceObjectiveLevel": "S1" + }, + "searchService": { + "SkuName": "Standard", + "Partitions": 1, + "Replicas": 1 + }, + "redisCache": { + "SkuName": "Standard", + "SkuFamily": "C", + "SkuCapacity": 1 + }, + "applicationInsightsPricePlan": { + "CurrentBillingFeatures": "Application Insights Enterprise", + "DataVolumeCap": { + "Cap": 1.8 + } + } + }, + "Extra Large": { + "cmHostingPlan": { + "SkuName": "I2", + "SkuCapacity": 1 + }, + "cdHostingPlan": { + "SkuName": "I3", + "SkuCapacity": 8 + }, + "prcHostingPlan": { + "SkuName": "I2", + "SkuCapacity": 1 + }, + "repHostingPlan": { + "SkuName": "I2", + "SkuCapacity": 1 + }, + "coreSqlDatabase": { + "Edition": "Standard", + "MaxSize": "268435456000", + "ServiceObjectiveLevel": "S1" + }, + "masterSqlDatabase": { + "Edition": "Standard", + "MaxSize": "268435456000", + "ServiceObjectiveLevel": "S1" + }, + "webSqlDatabase": { + "Edition": "Standard", + "MaxSize": "268435456000", + "ServiceObjectiveLevel": "S3" + }, + "reportingSqlDatabase": { + "Edition": "Standard", + "MaxSize": "268435456000", + "ServiceObjectiveLevel": "S3" + }, + "poolsSqlDatabase": { + "Edition": "Standard", + "MaxSize": "268435456000", + "ServiceObjectiveLevel": "S2" + }, + "tasksSqlDatabase": { + "Edition": "Standard", + "MaxSize": "268435456000", + "ServiceObjectiveLevel": "S1" + }, + "formsSqlDatabase": { + "Edition": "Standard", + "MaxSize": "268435456000", + "ServiceObjectiveLevel": "S2" + }, + "searchService": { + "SkuName": "Standard", + "Partitions": 1, + "Replicas": 1 + }, + "redisCache": { + "SkuName": "Standard", + "SkuFamily": "C", + "SkuCapacity": 2 + }, + "applicationInsightsPricePlan": { + "CurrentBillingFeatures": "Application Insights Enterprise", + "DataVolumeCap": { + "Cap": 1.8 + } + } + } + } + }, + "resourceSizes": { + "type": "object", + "defaultValue": "[parameters('skuMap')[parameters('sitecoreSKU')]]" + } + }, + "resources": [ + { + "type": "Microsoft.Web/serverfarms", + "name": "[variables('cmHostingPlanNameTidy')]", + "apiVersion": "[variables('serverFarmApiVersion')]", + "sku": { + "name": "[parameters('resourceSizes').cmHostingPlan.SkuName]", + "capacity": "[parameters('resourceSizes').cmHostingPlan.SkuCapacity]" + }, + "properties": { + "name": "[variables('cmHostingPlanNameTidy')]", + "hostingEnvironment": "[parameters('aseName')]", + "hostingEnvironmentId": "[resourceId('Microsoft.Web/hostingEnvironments', parameters('aseName'))]" + }, + "location": "[parameters('location')]", + "tags": { + "provider": "[variables('sitecoreTags').provider]", + "logicalName": "[variables('sitecoreTags').cm]" + } + }, + { + "type": "Microsoft.Web/serverfarms", + "name": "[variables('cdHostingPlanNameTidy')]", + "apiVersion": "[variables('serverFarmApiVersion')]", + "sku": { + "name": "[parameters('resourceSizes').cdHostingPlan.SkuName]", + "capacity": "[parameters('resourceSizes').cdHostingPlan.SkuCapacity]" + }, + "properties": { + "name": "[variables('cdHostingPlanNameTidy')]", + "hostingEnvironment": "[parameters('aseName')]", + "hostingEnvironmentId": "[resourceId('Microsoft.Web/hostingEnvironments', parameters('aseName'))]" + }, + "location": "[parameters('location')]", + "tags": { + "provider": "[variables('sitecoreTags').provider]", + "logicalName": "[variables('sitecoreTags').cd]" + } + }, + { + "type": "Microsoft.Web/serverfarms", + "name": "[variables('prcHostingPlanNameTidy')]", + "apiVersion": "[variables('serverFarmApiVersion')]", + "sku": { + "name": "[parameters('resourceSizes').prcHostingPlan.SkuName]", + "capacity": "[parameters('resourceSizes').prcHostingPlan.SkuCapacity]" + }, + "properties": { + "name": "[variables('prcHostingPlanNameTidy')]", + "hostingEnvironment": "[parameters('aseName')]", + "hostingEnvironmentId": "[resourceId('Microsoft.Web/hostingEnvironments', parameters('aseName'))]" + }, + "location": "[parameters('location')]", + "tags": { + "provider": "[variables('sitecoreTags').provider]", + "logicalName": "[variables('sitecoreTags').prc]" + } + }, + { + "type": "Microsoft.Web/serverfarms", + "name": "[variables('repHostingPlanNameTidy')]", + "apiVersion": "[variables('serverFarmApiVersion')]", + "sku": { + "name": "[parameters('resourceSizes').repHostingPlan.SkuName]", + "capacity": "[parameters('resourceSizes').repHostingPlan.SkuCapacity]" + }, + "properties": { + "name": "[variables('repHostingPlanNameTidy')]", + "hostingEnvironment": "[parameters('aseName')]", + "hostingEnvironmentId": "[resourceId('Microsoft.Web/hostingEnvironments', parameters('aseName'))]" + }, + "location": "[parameters('location')]", + "tags": { + "provider": "[variables('sitecoreTags').provider]", + "logicalName": "[variables('sitecoreTags').rep]" + } + }, + { + "type": "Microsoft.Web/sites", + "name": "[variables('cmWebAppNameTidy')]", + "apiVersion": "[variables('webApiVersion')]", + "properties": { + "serverFarmId": "[resourceId('Microsoft.Web/serverfarms', variables('cmHostingPlanNameTidy'))]", + "siteConfig": { + "use32BitWorkerProcess": false, + "alwaysOn": true, + "phpVersion": "", + "defaultDocuments": [ + "index.html" + ] + } + }, + "location": "[parameters('location')]", + "dependsOn": [ + "[resourceId('Microsoft.Web/serverfarms', variables('cmHostingPlanNameTidy'))]" + ], + "tags": { + "provider": "[variables('sitecoreTags').provider]", + "logicalName": "[variables('sitecoreTags').cm]" + } + }, + { + "type": "Microsoft.Web/sites", + "name": "[variables('cdWebAppNameTidy')]", + "apiVersion": "[variables('webApiVersion')]", + "properties": { + "serverFarmId": "[resourceId('Microsoft.Web/serverfarms', variables('cdHostingPlanNameTidy'))]", + "siteConfig": { + "use32BitWorkerProcess": false, + "alwaysOn": true, + "phpVersion": "", + "defaultDocuments": [ + "index.html" + ] + } + }, + "location": "[parameters('location')]", + "dependsOn": [ + "[resourceId('Microsoft.Web/serverfarms', variables('cdHostingPlanNameTidy'))]" + ], + "tags": { + "provider": "[variables('sitecoreTags').provider]", + "logicalName": "[variables('sitecoreTags').cd]" + } + }, + { + "type": "Microsoft.Web/sites", + "name": "[variables('prcWebAppNameTidy')]", + "apiVersion": "[variables('webApiVersion')]", + "properties": { + "serverFarmId": "[resourceId('Microsoft.Web/serverfarms', variables('prcHostingPlanNameTidy'))]", + "siteConfig": { + "use32BitWorkerProcess": false, + "alwaysOn": true, + "phpVersion": "", + "defaultDocuments": [ + "index.html" + ] + } + }, + "location": "[parameters('location')]", + "dependsOn": [ + "[resourceId('Microsoft.Web/serverfarms', variables('prcHostingPlanNameTidy'))]" + ], + "tags": { + "provider": "[variables('sitecoreTags').provider]", + "logicalName": "[variables('sitecoreTags').prc]" + } + }, + { + "type": "Microsoft.Web/sites", + "name": "[variables('repWebAppNameTidy')]", + "apiVersion": "[variables('webApiVersion')]", + "properties": { + "serverFarmId": "[resourceId('Microsoft.Web/serverfarms', variables('repHostingPlanNameTidy'))]", + "siteConfig": { + "use32BitWorkerProcess": false, + "alwaysOn": true, + "phpVersion": "", + "defaultDocuments": [ + "index.html" + ] + } + }, + "location": "[parameters('location')]", + "dependsOn": [ + "[resourceId('Microsoft.Web/serverfarms', variables('repHostingPlanNameTidy'))]" + ], + "tags": { + "provider": "[variables('sitecoreTags').provider]", + "logicalName": "[variables('sitecoreTags').rep]" + } + }, + { + "type": "Microsoft.Sql/servers", + "apiVersion": "[variables('dbApiVersion')]", + "properties": { + "administratorLogin": "[parameters('sqlServerLogin')]", + "administratorLoginPassword": "[parameters('sqlServerPassword')]", + "version": "[parameters('sqlServerVersion')]" + }, + "name": "[variables('sqlServerNameTidy')]", + "location": "[parameters('location')]", + "tags": { + "provider": "[variables('sitecoreTags').provider]" + }, + "resources": [ + { + "type": "firewallrules", + "apiVersion": "[variables('dbApiVersion')]", + "properties": { + "endIpAddress": "0.0.0.0", + "startIpAddress": "0.0.0.0" + }, + "name": "AllowAllAzureIps", + "dependsOn": [ "[resourceId('Microsoft.Sql/servers', variables('sqlServerNameTidy'))]" ] + }, + { + "type": "databases", + "apiVersion": "[variables('dbApiVersion')]", + "properties": { + "edition": "[parameters('resourceSizes').coreSqlDatabase.Edition]", + "collation": "[parameters('sqlDatabaseCollation')]", + "maxSizeBytes": "[parameters('resourceSizes').coreSqlDatabase.MaxSize]", + "requestedServiceObjectiveName": "[parameters('resourceSizes').coreSqlDatabase.ServiceObjectiveLevel]" + }, + "resources": [ + { + "name": "current", + "type": "transparentDataEncryption", + "dependsOn": [ + "[variables('coreSqlDatabaseNameTidy')]" + ], + "apiVersion": "2014-04-01", + "properties": { + "status": "Enabled" + } + } + ], + "name": "[variables('coreSqlDatabaseNameTidy')]", + "location": "[parameters('location')]", + "dependsOn": [ "[resourceId('Microsoft.Sql/servers', variables('sqlServerNameTidy'))]" ], + "tags": { + "provider": "[variables('sitecoreTags').provider]", + "logicalName": "[variables('sitecoreTags').core]" + } + }, + { + "type": "databases", + "apiVersion": "[variables('dbApiVersion')]", + "properties": { + "edition": "[parameters('resourceSizes').masterSqlDatabase.Edition]", + "collation": "[parameters('sqlDatabaseCollation')]", + "maxSizeBytes": "[parameters('resourceSizes').masterSqlDatabase.MaxSize]", + "requestedServiceObjectiveName": "[parameters('resourceSizes').masterSqlDatabase.ServiceObjectiveLevel]" + }, + "resources": [ + { + "name": "current", + "type": "transparentDataEncryption", + "dependsOn": [ + "[variables('masterSqlDatabaseNameTidy')]" + ], + "apiVersion": "2014-04-01", + "properties": { + "status": "Enabled" + } + } + ], + "name": "[variables('masterSqlDatabaseNameTidy')]", + "location": "[parameters('location')]", + "dependsOn": [ "[resourceId('Microsoft.Sql/servers', variables('sqlServerNameTidy'))]" ], + "tags": { + "provider": "[variables('sitecoreTags').provider]", + "logicalName": "[variables('sitecoreTags').master]" + } + }, + { + "type": "databases", + "apiVersion": "[variables('dbApiVersion')]", + "properties": { + "edition": "[parameters('resourceSizes').webSqlDatabase.Edition]", + "collation": "[parameters('sqlDatabaseCollation')]", + "maxSizeBytes": "[parameters('resourceSizes').webSqlDatabase.MaxSize]", + "requestedServiceObjectiveName": "[parameters('resourceSizes').webSqlDatabase.ServiceObjectiveLevel]" + }, + "resources": [ + { + "name": "current", + "type": "transparentDataEncryption", + "dependsOn": [ + "[variables('webSqlDatabaseNameTidy')]" + ], + "apiVersion": "2014-04-01", + "properties": { + "status": "Enabled" + } + } + ], + "name": "[variables('webSqlDatabaseNameTidy')]", + "location": "[parameters('location')]", + "dependsOn": [ "[resourceId('Microsoft.Sql/servers', variables('sqlServerNameTidy'))]" ], + "tags": { + "provider": "[variables('sitecoreTags').provider]", + "logicalName": "[variables('sitecoreTags').web]" + } + }, + { + "type": "databases", + "apiVersion": "[variables('dbApiVersion')]", + "properties": { + "edition": "[parameters('resourceSizes').reportingSqlDatabase.Edition]", + "collation": "[parameters('sqlDatabaseCollation')]", + "maxSizeBytes": "[parameters('resourceSizes').reportingSqlDatabase.MaxSize]", + "requestedServiceObjectiveName": "[parameters('resourceSizes').reportingSqlDatabase.ServiceObjectiveLevel]" + }, + "resources": [ + { + "name": "current", + "type": "transparentDataEncryption", + "dependsOn": [ + "[variables('reportingSqlDatabaseNameTidy')]" + ], + "apiVersion": "2014-04-01", + "properties": { + "status": "Enabled" + } + } + ], + "name": "[variables('reportingSqlDatabaseNameTidy')]", + "location": "[parameters('location')]", + "dependsOn": [ "[resourceId('Microsoft.Sql/servers', variables('sqlServerNameTidy'))]" ], + "tags": { + "provider": "[variables('sitecoreTags').provider]", + "logicalName": "[variables('sitecoreTags').reporting]" + } + }, + { + "type": "databases", + "apiVersion": "[variables('dbApiVersion')]", + "properties": { + "edition": "[parameters('resourceSizes').poolsSqlDatabase.Edition]", + "collation": "[parameters('sqlDatabaseCollation')]", + "maxSizeBytes": "[parameters('resourceSizes').poolsSqlDatabase.MaxSize]", + "requestedServiceObjectiveName": "[parameters('resourceSizes').poolsSqlDatabase.ServiceObjectiveLevel]" + }, + "resources": [ + { + "name": "current", + "type": "transparentDataEncryption", + "dependsOn": [ + "[variables('poolsSqlDatabaseNameTidy')]" + ], + "apiVersion": "2014-04-01", + "properties": { + "status": "Enabled" + } + } + ], + "name": "[variables('poolsSqlDatabaseNameTidy')]", + "location": "[parameters('location')]", + "dependsOn": [ "[resourceId('Microsoft.Sql/servers', variables('sqlServerNameTidy'))]" ], + "tags": { + "provider": "[variables('sitecoreTags').provider]", + "logicalName": "[variables('sitecoreTags').pools]" + } + }, + { + "type": "databases", + "apiVersion": "[variables('dbApiVersion')]", + "properties": { + "edition": "[parameters('resourceSizes').tasksSqlDatabase.Edition]", + "collation": "[parameters('sqlDatabaseCollation')]", + "maxSizeBytes": "[parameters('resourceSizes').tasksSqlDatabase.MaxSize]", + "requestedServiceObjectiveName": "[parameters('resourceSizes').tasksSqlDatabase.ServiceObjectiveLevel]" + }, + "resources": [ + { + "name": "current", + "type": "transparentDataEncryption", + "dependsOn": [ + "[variables('tasksSqlDatabaseNameTidy')]" + ], + "apiVersion": "2014-04-01", + "properties": { + "status": "Enabled" + } + } + ], + "name": "[variables('tasksSqlDatabaseNameTidy')]", + "location": "[parameters('location')]", + "dependsOn": [ "[resourceId('Microsoft.Sql/servers', variables('sqlServerNameTidy'))]" ], + "tags": { + "provider": "[variables('sitecoreTags').provider]", + "logicalName": "[variables('sitecoreTags').tasks]" + } + }, + { + "type": "databases", + "apiVersion": "[variables('dbApiVersion')]", + "properties": { + "edition": "[parameters('resourceSizes').formsSqlDatabase.Edition]", + "collation": "[parameters('sqlDatabaseCollation')]", + "maxSizeBytes": "[parameters('resourceSizes').formsSqlDatabase.MaxSize]", + "requestedServiceObjectiveName": "[parameters('resourceSizes').formsSqlDatabase.ServiceObjectiveLevel]" + }, + "resources": [ + { + "name": "current", + "type": "transparentDataEncryption", + "dependsOn": [ + "[variables('formsSqlDatabaseNameTidy')]" + ], + "apiVersion": "2014-04-01", + "properties": { + "status": "Enabled" + } + } + ], + "name": "[variables('formsSqlDatabaseNameTidy')]", + "location": "[parameters('location')]", + "dependsOn": [ "[resourceId('Microsoft.Sql/servers', variables('sqlServerNameTidy'))]" ], + "tags": { + "provider": "[variables('sitecoreTags').provider]", + "logicalName": "[variables('sitecoreTags').forms]" + } + } + ] + }, + { + "type": "Microsoft.Search/searchServices", + "apiVersion": "[variables('searchApiVersion')]", + "name": "[variables('searchServiceNameTidy')]", + "location": "[parameters('location')]", + "sku": { + "name": "[toLower(parameters('resourceSizes').searchService.SkuName)]" + }, + "properties": { + "replicaCount": "[parameters('resourceSizes').searchService.Replicas]", + "partitionCount": "[parameters('resourceSizes').searchService.Partitions]" + }, + "tags": { + "provider": "[variables('sitecoreTags').provider]" + } + }, + { + "type": "Microsoft.Cache/Redis", + "name": "[variables('redisCacheNameTidy')]", + "apiVersion": "[variables('redisApiVersion')]", + "location": "[parameters('location')]", + "properties": { + "sku": { + "name": "[parameters('resourceSizes').redisCache.SkuName]", + "family": "[parameters('resourceSizes').redisCache.SkuFamily]", + "capacity": "[parameters('resourceSizes').redisCache.SkuCapacity]" + }, + "enableNonSslPort": false + }, + "tags": { + "provider": "[variables('sitecoreTags').provider]" + } + }, + { + "type": "Microsoft.Insights/Components", + "name": "[variables('appInsightsNameTidy')]", + "apiVersion": "[variables('appInsightsApiVersion')]", + "location": "[parameters('applicationInsightsLocation')]", + "properties": { + "ApplicationId": "[variables('appInsightsNameTidy')]", + "Application_Type": "web" + }, + "tags": { + "provider": "[variables('sitecoreTags').provider]" + } + }, + { + "type": "Microsoft.Insights/Components/CurrentBillingFeatures", + "name": "[concat(variables('appInsightsNameTidy'), '/', variables('appInsightsPricePlanTidy'))]", + "location": "[parameters('applicationInsightsLocation')]", + "apiVersion": "[variables('appInsightsApiVersion')]", + "properties": { + "CurrentBillingFeatures": "[parameters('resourceSizes').applicationInsightsPricePlan.CurrentBillingFeatures]", + "DataVolumeCap": { + "Cap": "[parameters('resourceSizes').applicationInsightsPricePlan.DataVolumeCap.Cap]" + } + }, + "dependsOn": [ + "[resourceId('Microsoft.Insights/Components', variables('appInsightsNameTidy'))]" + ], + "tags": { + "provider": "[variables('sitecoreTags').provider]" + } + }, + { + "type": "Microsoft.Web/certificates", + "name": "[variables('authCertificateNameTidy')]", + "apiVersion": "[variables('certificateApiVersion')]", + "location": "[parameters('location')]", + "dependsOn": [ + "[resourceId('Microsoft.Web/serverfarms', variables('cmHostingPlanNameTidy'))]", + "[resourceId('Microsoft.Web/serverfarms', variables('cdHostingPlanNameTidy'))]", + "[resourceId('Microsoft.Web/serverfarms', variables('prcHostingPlanNameTidy'))]", + "[resourceId('Microsoft.Web/serverfarms', variables('repHostingPlanNameTidy'))]" + ], + "properties": { + "password": "[parameters('authCertificatePassword')]", + "pfxBlob": "[parameters('authCertificateBlob')]" + }, + "tags": { + "provider": "[variables('sitecoreTags').provider]" + } + } + ], + "outputs": { + "infrastructure": { + "type": "object", + "value": { + "sqlServerFqdn": "[reference(concat('Microsoft.Sql/servers/', variables('sqlServerNameTidy'))).fullyQualifiedDomainName]", + "authCertificateThumbprint": "[reference(resourceId('Microsoft.Web/certificates', variables('authCertificateNameTidy'))).thumbprint]" + } + } + } +} diff --git a/Sitecore 9.0.1/XM/nested/application.json b/Sitecore 9.0.1/XM/nested/application.json index 5b359ce1..598a2576 100644 --- a/Sitecore 9.0.1/XM/nested/application.json +++ b/Sitecore 9.0.1/XM/nested/application.json @@ -179,7 +179,7 @@ "Application Path": "[variables('cmWebAppNameTidy')]", "Sitecore Admin New Password": "[parameters('sitecoreAdminPassword')]", "Core DB User Name": "[parameters('coreSqlDatabaseUserName')]", - "Core DB Password": "[parameters('coreSqlDatabasePassword')]", + "Core DB User Password": "[parameters('coreSqlDatabasePassword')]", "Core Admin Connection String": "[concat('Encrypt=True;TrustServerCertificate=False;Data Source=', variables('sqlServerFqdnTidy'), ',1433;Initial Catalog=',variables('coreSqlDatabaseNameTidy'),';User Id=', parameters('sqlServerLogin'), ';Password=', parameters('sqlServerPassword'), ';')]", "Core Connection String": "[concat('Encrypt=True;TrustServerCertificate=False;Data Source=', variables('sqlServerFqdnTidy'), ',1433;Initial Catalog=',variables('coreSqlDatabaseNameTidy'),';User Id=', parameters('coreSqlDatabaseUserName'), ';Password=', parameters('coreSqlDatabasePassword'), ';')]", "Master DB User Name": "[parameters('masterSqlDatabaseUserName')]",