2017-10-04 18:36:08 +02:00
{
"$schema" : "http://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json" ,
"contentVersion" : "1.0.0.0" ,
"parameters" : {
"clusterLocation" : {
"type" : "string" ,
"metadata" : {
"description" : "Location of the Cluster"
}
} ,
"clusterName" : {
"type" : "string" ,
"defaultValue" : "Cluster" ,
"metadata" : {
"description" : "Name of your cluster - Between 3 and 23 characters. Letters and numbers only"
}
} ,
"nt0applicationStartPort" : {
"type" : "int" ,
"defaultValue" : 20000
} ,
"nt0applicationEndPort" : {
"type" : "int" ,
"defaultValue" : 30000
} ,
"nt0ephemeralStartPort" : {
"type" : "int" ,
"defaultValue" : 49152
} ,
"nt0ephemeralEndPort" : {
"type" : "int" ,
"defaultValue" : 65534
} ,
"nt0fabricTcpGatewayPort" : {
"type" : "int" ,
"defaultValue" : 19000
} ,
"nt0fabricHttpGatewayPort" : {
"type" : "int" ,
"defaultValue" : 19080
} ,
"nt0reverseProxyEndpointPort" : {
"type" : "int" ,
"defaultValue" : 19081
} ,
"webMvcHttpPort" : {
"type" : "int" ,
"defaultValue" : 5100
} ,
"webSpaHttpPort" : {
"type" : "int" ,
"defaultValue" : 5104
} ,
"webStatusHttpPort" : {
"type" : "int" ,
"defaultValue" : 5107
} ,
"IdSrvHttpRule" : {
"type" : "int" ,
"defaultValue" : 5105
} ,
2017-10-10 11:17:34 +02:00
"BasketApiHttpRule" : {
"type" : "int" ,
"defaultValue" : 5103
} ,
"CatalogApiHttpRule" : {
"type" : "int" ,
"defaultValue" : 5101
} ,
"OrderingApiHttpRule" : {
"type" : "int" ,
"defaultValue" : 5102
} ,
"MarketingApiHttpRule" : {
"type" : "int" ,
"defaultValue" : 5110
} ,
"LocationsApiHttpRule" : {
"type" : "int" ,
"defaultValue" : 5109
} ,
2017-10-04 18:36:08 +02:00
"subnet0Name" : {
"type" : "string" ,
"defaultValue" : "Subnet-0"
} ,
"subnet0Prefix" : {
"type" : "string" ,
"defaultValue" : "10.0.0.0/24"
} ,
"computeLocation" : {
"type" : "string"
} ,
"publicIPAddressName" : {
"type" : "string" ,
"defaultValue" : "PublicIP-VM"
} ,
"publicIPAddressType" : {
"type" : "string" ,
"allowedValues" : [
"Dynamic"
] ,
"defaultValue" : "Dynamic"
} ,
"vmStorageAccountContainerName" : {
"type" : "string" ,
"defaultValue" : "vhds"
} ,
"adminUserName" : {
"type" : "string" ,
"defaultValue" : "testadm" ,
"metadata" : {
"description" : "Remote desktop user Id"
}
} ,
"adminPassword" : {
"type" : "securestring" ,
"metadata" : {
"description" : "Remote desktop user password. Must be a strong password"
}
} ,
"virtualNetworkName" : {
"type" : "string" ,
"defaultValue" : "VNet"
} ,
"addressPrefix" : {
"type" : "string" ,
"defaultValue" : "10.0.0.0/16"
} ,
"dnsName" : {
"type" : "string"
} ,
"nicName" : {
"type" : "string" ,
"defaultValue" : "NIC"
} ,
"lbName" : {
"type" : "string" ,
"defaultValue" : "LoadBalancer"
} ,
"lbIPName" : {
"type" : "string" ,
"defaultValue" : "PublicIP-LB-FE"
} ,
"overProvision" : {
"type" : "string" ,
"defaultValue" : "false"
} ,
"vmImagePublisher" : {
"type" : "string" ,
"defaultValue" : "MicrosoftWindowsServer"
} ,
"vmImageOffer" : {
"type" : "string" ,
"defaultValue" : "WindowsServer"
} ,
"vmImageSku" : {
"type" : "string" ,
"defaultValue" : "2012-R2-Datacenter"
} ,
"vmImageVersion" : {
"type" : "string" ,
"defaultValue" : "latest"
} ,
"clusterProtectionLevel" : {
"type" : "string" ,
"allowedValues" : [
"None" ,
"Sign" ,
"EncryptAndSign"
] ,
"defaultValue" : "EncryptAndSign" ,
"metadata" : {
"description" : "Protection level.Three values are allowed - EncryptAndSign, Sign, None. It is best to keep the default of EncryptAndSign, unless you have a need not to"
}
} ,
"certificateStoreValue" : {
"type" : "string" ,
"allowedValues" : [
"My"
] ,
"defaultValue" : "My" ,
"metadata" : {
"description" : "The store name where the cert will be deployed in the virtual machine"
}
} ,
"certificateThumbprint" : {
"type" : "string" ,
"metadata" : {
"description" : "Certificate Thumbprint"
}
} ,
"sourceVaultValue" : {
"type" : "string" ,
"metadata" : {
"description" : "Resource Id of the key vault, is should be in the format of /subscriptions/<Sub ID>/resourceGroups/<Resource group name>/providers/Microsoft.KeyVault/vaults/<vault name>"
}
} ,
"certificateUrlValue" : {
"type" : "string" ,
"metadata" : {
"description" : "Refers to the location URL in your key vault where the certificate was uploaded, it is should be in the format of https://<name of the vault>.vault.azure.net:443/secrets/<exact location>"
}
} ,
"storageAccountType" : {
"type" : "string" ,
"allowedValues" : [
"Standard_LRS" ,
"Standard_GRS"
] ,
"defaultValue" : "Standard_LRS" ,
"metadata" : {
"description" : "Replication option for the VM image storage account"
}
} ,
"supportLogStorageAccountType" : {
"type" : "string" ,
"allowedValues" : [
"Standard_LRS" ,
"Standard_GRS"
] ,
"defaultValue" : "Standard_LRS" ,
"metadata" : {
"description" : "Replication option for the support log storage account"
}
} ,
"supportLogStorageAccountName" : {
"type" : "string" ,
"defaultValue" : "[toLower( concat('sflogs', uniqueString(resourceGroup().id),'2'))]" ,
"metadata" : {
"description" : "Name for the storage account that contains support logs from the cluster"
}
} ,
"applicationDiagnosticsStorageAccountType" : {
"type" : "string" ,
"allowedValues" : [
"Standard_LRS" ,
"Standard_GRS"
] ,
"defaultValue" : "Standard_LRS" ,
"metadata" : {
"description" : "Replication option for the application diagnostics storage account"
}
} ,
"applicationDiagnosticsStorageAccountName" : {
"type" : "string" ,
"defaultValue" : "[toLower(concat(uniqueString(resourceGroup().id), '3' ))]" ,
"metadata" : {
"description" : "Name for the storage account that contains application diagnostics data from the cluster"
}
} ,
"nt0InstanceCount" : {
"type" : "int" ,
"defaultValue" : 5 ,
"metadata" : {
"description" : "Instance count for node type"
}
} ,
"vmNodeType0Name" : {
"type" : "string" ,
"defaultValue" : "primary" ,
"maxLength" : 9
} ,
"vmNodeType0Size" : {
"type" : "string" ,
"defaultValue" : "Standard_D2_v2"
}
} ,
"variables" : {
"vmssApiVersion" : "2017-03-30" ,
"lbApiVersion" : "2015-06-15" ,
"vNetApiVersion" : "2015-06-15" ,
"storageApiVersion" : "2016-01-01" ,
"publicIPApiVersion" : "2015-06-15" ,
"vnetID" : "[resourceId('Microsoft.Network/virtualNetworks',parameters('virtualNetworkName'))]" ,
"subnet0Ref" : "[concat(variables('vnetID'),'/subnets/',parameters('subnet0Name'))]" ,
"lbID0" : "[resourceId('Microsoft.Network/loadBalancers', concat('LB','-', parameters('clusterName'),'-',parameters('vmNodeType0Name')))]" ,
"lbIPConfig0" : "[concat(variables('lbID0'),'/frontendIPConfigurations/LoadBalancerIPConfig')]" ,
"lbPoolID0" : "[concat(variables('lbID0'),'/backendAddressPools/LoadBalancerBEAddressPool')]" ,
"lbProbeID0" : "[concat(variables('lbID0'),'/probes/FabricGatewayProbe')]" ,
"lbHttpProbeID0" : "[concat(variables('lbID0'),'/probes/FabricHttpGatewayProbe')]" ,
"lbNatPoolID0" : "[concat(variables('lbID0'),'/inboundNatPools/LoadBalancerBEAddressNatPool')]" ,
"vmStorageAccountName0" : "[toLower(concat(uniqueString(resourceGroup().id), '1', '0' ))]" ,
"uniqueStringArray0" : [
"[concat(variables('vmStorageAccountName0'), '0')]" ,
"[concat(variables('vmStorageAccountName0'), '1')]" ,
"[concat(variables('vmStorageAccountName0'), '2')]" ,
"[concat(variables('vmStorageAccountName0'), '3')]" ,
"[concat(variables('vmStorageAccountName0'), '4')]"
]
} ,
"resources" : [
{
"apiVersion" : "[variables('storageApiVersion')]" ,
"type" : "Microsoft.Storage/storageAccounts" ,
"name" : "[parameters('supportLogStorageAccountName')]" ,
"location" : "[parameters('computeLocation')]" ,
"dependsOn" : [ ] ,
"properties" : { } ,
"kind" : "Storage" ,
"sku" : {
"name" : "[parameters('supportLogStorageAccountType')]"
} ,
"tags" : {
"resourceType" : "Service Fabric" ,
"clusterName" : "[parameters('clusterName')]"
}
} ,
{
"apiVersion" : "[variables('storageApiVersion')]" ,
"type" : "Microsoft.Storage/storageAccounts" ,
"name" : "[parameters('applicationDiagnosticsStorageAccountName')]" ,
"location" : "[parameters('computeLocation')]" ,
"dependsOn" : [ ] ,
"properties" : { } ,
"kind" : "Storage" ,
"sku" : {
"name" : "[parameters('applicationDiagnosticsStorageAccountType')]"
} ,
"tags" : {
"resourceType" : "Service Fabric" ,
"clusterName" : "[parameters('clusterName')]"
}
} ,
{
"apiVersion" : "[variables('vNetApiVersion')]" ,
"type" : "Microsoft.Network/virtualNetworks" ,
"name" : "[parameters('virtualNetworkName')]" ,
"location" : "[parameters('computeLocation')]" ,
"dependsOn" : [ ] ,
"properties" : {
"addressSpace" : {
"addressPrefixes" : [
"[parameters('addressPrefix')]"
]
} ,
"subnets" : [
{
"name" : "[parameters('subnet0Name')]" ,
"properties" : {
"addressPrefix" : "[parameters('subnet0Prefix')]"
}
}
]
} ,
"tags" : {
"resourceType" : "Service Fabric" ,
"clusterName" : "[parameters('clusterName')]"
}
} ,
{
"apiVersion" : "[variables('publicIPApiVersion')]" ,
"type" : "Microsoft.Network/publicIPAddresses" ,
"name" : "[concat(parameters('lbIPName'),'-','0')]" ,
"location" : "[parameters('computeLocation')]" ,
"properties" : {
"dnsSettings" : {
"domainNameLabel" : "[parameters('dnsName')]"
} ,
"publicIPAllocationMethod" : "Dynamic"
} ,
"tags" : {
"resourceType" : "Service Fabric" ,
"clusterName" : "[parameters('clusterName')]"
}
} ,
{
"apiVersion" : "[variables('lbApiVersion')]" ,
"type" : "Microsoft.Network/loadBalancers" ,
"name" : "[concat('LB','-', parameters('clusterName'),'-',parameters('vmNodeType0Name'))]" ,
"location" : "[parameters('computeLocation')]" ,
"dependsOn" : [
"[concat('Microsoft.Network/publicIPAddresses/',concat(parameters('lbIPName'),'-','0'))]"
] ,
"properties" : {
"frontendIPConfigurations" : [
{
"name" : "LoadBalancerIPConfig" ,
"properties" : {
"publicIPAddress" : {
"id" : "[resourceId('Microsoft.Network/publicIPAddresses',concat(parameters('lbIPName'),'-','0'))]"
}
}
}
] ,
"backendAddressPools" : [
{
"name" : "LoadBalancerBEAddressPool" ,
"properties" : { }
}
] ,
"loadBalancingRules" : [
{
"name" : "LBRule" ,
"properties" : {
"backendAddressPool" : {
"id" : "[variables('lbPoolID0')]"
} ,
"backendPort" : "[parameters('nt0fabricTcpGatewayPort')]" ,
"enableFloatingIP" : "false" ,
"frontendIPConfiguration" : {
"id" : "[variables('lbIPConfig0')]"
} ,
"frontendPort" : "[parameters('nt0fabricTcpGatewayPort')]" ,
"idleTimeoutInMinutes" : "5" ,
"probe" : {
"id" : "[variables('lbProbeID0')]"
} ,
"protocol" : "tcp"
}
} ,
{
"name" : "LBHttpRule" ,
"properties" : {
"backendAddressPool" : {
"id" : "[variables('lbPoolID0')]"
} ,
"backendPort" : "[parameters('nt0fabricHttpGatewayPort')]" ,
"enableFloatingIP" : "false" ,
"frontendIPConfiguration" : {
"id" : "[variables('lbIPConfig0')]"
} ,
"frontendPort" : "[parameters('nt0fabricHttpGatewayPort')]" ,
"idleTimeoutInMinutes" : "5" ,
"probe" : {
"id" : "[variables('lbHttpProbeID0')]"
} ,
"protocol" : "tcp"
}
} ,
{
"name" : "ReverseProxyHttpRule" ,
"properties" : {
"backendAddressPool" : {
"id" : "[variables('lbPoolID0')]"
} ,
"backendPort" : "[parameters('nt0reverseProxyEndpointPort')]" ,
"enableFloatingIP" : "false" ,
"frontendIPConfiguration" : {
"id" : "[variables('lbIPConfig0')]"
} ,
"frontendPort" : "[parameters('nt0reverseProxyEndpointPort')]" ,
"idleTimeoutInMinutes" : "5" ,
"probe" : {
"id" : "[variables('lbHttpProbeID0')]"
} ,
"protocol" : "tcp"
}
} ,
{
"name" : "WebMVCHttpRule" ,
"properties" : {
"backendAddressPool" : {
"id" : "[variables('lbPoolID0')]"
} ,
"backendPort" : "[parameters('webMvcHttpPort')]" ,
"enableFloatingIP" : "false" ,
"frontendIPConfiguration" : {
"id" : "[variables('lbIPConfig0')]"
} ,
"frontendPort" : "[parameters('webMvcHttpPort')]" ,
"idleTimeoutInMinutes" : "5" ,
"probe" : {
"id" : "[variables('lbHttpProbeID0')]"
} ,
"protocol" : "tcp"
}
} ,
{
"name" : "WebSPAHttpRule" ,
"properties" : {
"backendAddressPool" : {
"id" : "[variables('lbPoolID0')]"
} ,
"backendPort" : "[parameters('webSpaHttpPort')]" ,
"enableFloatingIP" : "false" ,
"frontendIPConfiguration" : {
"id" : "[variables('lbIPConfig0')]"
} ,
"frontendPort" : "[parameters('webSpaHttpPort')]" ,
"idleTimeoutInMinutes" : "5" ,
"probe" : {
"id" : "[variables('lbHttpProbeID0')]"
} ,
"protocol" : "tcp"
}
} ,
{
"name" : "WebStatusHttpRule" ,
"properties" : {
"backendAddressPool" : {
"id" : "[variables('lbPoolID0')]"
} ,
"backendPort" : "[parameters('webStatusHttpPort')]" ,
"enableFloatingIP" : "false" ,
"frontendIPConfiguration" : {
"id" : "[variables('lbIPConfig0')]"
} ,
"frontendPort" : "[parameters('webStatusHttpPort')]" ,
"idleTimeoutInMinutes" : "5" ,
"probe" : {
"id" : "[variables('lbHttpProbeID0')]"
} ,
"protocol" : "tcp"
}
} ,
{
"name" : "IdSrvHttpRule" ,
"properties" : {
"backendAddressPool" : {
"id" : "[variables('lbPoolID0')]"
} ,
"backendPort" : "[parameters('IdSrvHttpRule')]" ,
"enableFloatingIP" : "false" ,
"frontendIPConfiguration" : {
"id" : "[variables('lbIPConfig0')]"
} ,
"frontendPort" : "[parameters('IdSrvHttpRule')]" ,
"idleTimeoutInMinutes" : "5" ,
"probe" : {
"id" : "[variables('lbHttpProbeID0')]"
} ,
"protocol" : "tcp"
}
2017-10-10 11:17:34 +02:00
} ,
{
"name" : "BasketApiHttpRule" ,
"properties" : {
"backendAddressPool" : {
"id" : "[variables('lbPoolID0')]"
} ,
"backendPort" : "[parameters('BasketApiHttpRule')]" ,
"enableFloatingIP" : "false" ,
"frontendIPConfiguration" : {
"id" : "[variables('lbIPConfig0')]"
} ,
"frontendPort" : "[parameters('BasketApiHttpRule')]" ,
"idleTimeoutInMinutes" : "5" ,
"protocol" : "tcp"
}
} ,
{
"name" : "CatalogApiHttpRule" ,
"properties" : {
"backendAddressPool" : {
"id" : "[variables('lbPoolID0')]"
} ,
"backendPort" : "[parameters('CatalogApiHttpRule')]" ,
"enableFloatingIP" : "false" ,
"frontendIPConfiguration" : {
"id" : "[variables('lbIPConfig0')]"
} ,
"frontendPort" : "[parameters('CatalogApiHttpRule')]" ,
"idleTimeoutInMinutes" : "5" ,
"protocol" : "tcp"
}
} ,
{
"name" : "OrderingApiHttpRule" ,
"properties" : {
"backendAddressPool" : {
"id" : "[variables('lbPoolID0')]"
} ,
"backendPort" : "[parameters('OrderingApiHttpRule')]" ,
"enableFloatingIP" : "false" ,
"frontendIPConfiguration" : {
"id" : "[variables('lbIPConfig0')]"
} ,
"frontendPort" : "[parameters('OrderingApiHttpRule')]" ,
"idleTimeoutInMinutes" : "5" ,
"protocol" : "tcp"
}
} ,
{
"name" : "MarketingApiHttpRule" ,
"properties" : {
"backendAddressPool" : {
"id" : "[variables('lbPoolID0')]"
} ,
"backendPort" : "[parameters('MarketingApiHttpRule')]" ,
"enableFloatingIP" : "false" ,
"frontendIPConfiguration" : {
"id" : "[variables('lbIPConfig0')]"
} ,
"frontendPort" : "[parameters('MarketingApiHttpRule')]" ,
"idleTimeoutInMinutes" : "5" ,
"protocol" : "tcp"
}
} ,
{
"name" : "LocationsApiHttpRule" ,
"properties" : {
"backendAddressPool" : {
"id" : "[variables('lbPoolID0')]"
} ,
"backendPort" : "[parameters('LocationsApiHttpRule')]" ,
"enableFloatingIP" : "false" ,
"frontendIPConfiguration" : {
"id" : "[variables('lbIPConfig0')]"
} ,
"frontendPort" : "[parameters('LocationsApiHttpRule')]" ,
"idleTimeoutInMinutes" : "5" ,
"protocol" : "tcp"
}
2017-10-04 18:36:08 +02:00
}
] ,
"probes" : [
{
"name" : "FabricGatewayProbe" ,
"properties" : {
"intervalInSeconds" : 5 ,
"numberOfProbes" : 2 ,
"port" : "[parameters('nt0fabricTcpGatewayPort')]" ,
"protocol" : "tcp"
}
} ,
{
"name" : "FabricHttpGatewayProbe" ,
"properties" : {
"intervalInSeconds" : 5 ,
"numberOfProbes" : 2 ,
"port" : "[parameters('nt0fabricHttpGatewayPort')]" ,
"protocol" : "tcp"
}
}
] ,
"inboundNatPools" : [
{
"name" : "LoadBalancerBEAddressNatPool" ,
"properties" : {
"backendPort" : "3389" ,
"frontendIPConfiguration" : {
"id" : "[variables('lbIPConfig0')]"
} ,
"frontendPortRangeEnd" : "4500" ,
"frontendPortRangeStart" : "3389" ,
"protocol" : "tcp"
}
}
]
} ,
"tags" : {
"resourceType" : "Service Fabric" ,
"clusterName" : "[parameters('clusterName')]"
}
} ,
{
"apiVersion" : "[variables('storageApiVersion')]" ,
"type" : "Microsoft.Storage/storageAccounts" ,
"name" : "[variables('uniqueStringArray0')[copyIndex()]]" ,
"location" : "[parameters('computeLocation')]" ,
"dependsOn" : [ ] ,
"properties" : { } ,
"copy" : {
"name" : "storageLoop" ,
"count" : 5
} ,
"kind" : "Storage" ,
"sku" : {
"name" : "[parameters('storageAccountType')]"
} ,
"tags" : {
"resourceType" : "Service Fabric" ,
"clusterName" : "[parameters('clusterName')]"
}
} ,
{
"apiVersion" : "[variables('vmssApiVersion')]" ,
"type" : "Microsoft.Compute/virtualMachineScaleSets" ,
"name" : "[parameters('vmNodeType0Name')]" ,
"location" : "[parameters('computeLocation')]" ,
"dependsOn" : [
"[concat('Microsoft.Network/virtualNetworks/', parameters('virtualNetworkName'))]" ,
"[concat('Microsoft.Storage/storageAccounts/', variables('uniqueStringArray0')[0])]" ,
"[concat('Microsoft.Storage/storageAccounts/', variables('uniqueStringArray0')[1])]" ,
"[concat('Microsoft.Storage/storageAccounts/', variables('uniqueStringArray0')[2])]" ,
"[concat('Microsoft.Storage/storageAccounts/', variables('uniqueStringArray0')[3])]" ,
"[concat('Microsoft.Storage/storageAccounts/', variables('uniqueStringArray0')[4])]" ,
"[concat('Microsoft.Network/loadBalancers/', concat('LB','-', parameters('clusterName'),'-',parameters('vmNodeType0Name')))]" ,
"[concat('Microsoft.Storage/storageAccounts/', parameters('supportLogStorageAccountName'))]" ,
"[concat('Microsoft.Storage/storageAccounts/', parameters('applicationDiagnosticsStorageAccountName'))]"
] ,
"properties" : {
"overprovision" : "[parameters('overProvision')]" ,
"upgradePolicy" : {
"mode" : "Automatic"
} ,
"virtualMachineProfile" : {
"extensionProfile" : {
"extensions" : [
{
"name" : "[concat(parameters('vmNodeType0Name'),'_ServiceFabricNode')]" ,
"properties" : {
"type" : "ServiceFabricNode" ,
"autoUpgradeMinorVersion" : true ,
"protectedSettings" : {
"StorageAccountKey1" : "[listKeys(resourceId('Microsoft.Storage/storageAccounts', parameters('supportLogStorageAccountName')),'2015-05-01-preview').key1]" ,
"StorageAccountKey2" : "[listKeys(resourceId('Microsoft.Storage/storageAccounts', parameters('supportLogStorageAccountName')),'2015-05-01-preview').key2]"
} ,
"publisher" : "Microsoft.Azure.ServiceFabric" ,
"settings" : {
"clusterEndpoint" : "[reference(parameters('clusterName')).clusterEndpoint]" ,
"nodeTypeRef" : "[parameters('vmNodeType0Name')]" ,
"dataPath" : "D:\\\\SvcFab" ,
"durabilityLevel" : "Bronze" ,
"enableParallelJobs" : true ,
"nicPrefixOverride" : "[parameters('subnet0Prefix')]" ,
"certificate" : {
"thumbprint" : "[parameters('certificateThumbprint')]" ,
"x509StoreName" : "[parameters('certificateStoreValue')]"
}
} ,
"typeHandlerVersion" : "1.0"
}
} ,
{
"name" : "[concat('VMDiagnosticsVmExt','_vmNodeType0Name')]" ,
"properties" : {
"type" : "IaaSDiagnostics" ,
"autoUpgradeMinorVersion" : true ,
"protectedSettings" : {
"storageAccountName" : "[parameters('applicationDiagnosticsStorageAccountName')]" ,
"storageAccountKey" : "[listKeys(resourceId('Microsoft.Storage/storageAccounts', parameters('applicationDiagnosticsStorageAccountName')),'2015-05-01-preview').key1]" ,
"storageAccountEndPoint" : "https://core.windows.net/"
} ,
"publisher" : "Microsoft.Azure.Diagnostics" ,
"settings" : {
"WadCfg" : {
"DiagnosticMonitorConfiguration" : {
"overallQuotaInMB" : "50000" ,
"EtwProviders" : {
"EtwEventSourceProviderConfiguration" : [
{
"provider" : "Microsoft-ServiceFabric-Actors" ,
"scheduledTransferKeywordFilter" : "1" ,
"scheduledTransferPeriod" : "PT5M" ,
"DefaultEvents" : {
"eventDestination" : "ServiceFabricReliableActorEventTable"
}
} ,
{
"provider" : "Microsoft-ServiceFabric-Services" ,
"scheduledTransferPeriod" : "PT5M" ,
"DefaultEvents" : {
"eventDestination" : "ServiceFabricReliableServiceEventTable"
}
}
] ,
"EtwManifestProviderConfiguration" : [
{
"provider" : "cbd93bc2-71e5-4566-b3a7-595d8eeca6e8" ,
"scheduledTransferLogLevelFilter" : "Information" ,
"scheduledTransferKeywordFilter" : "4611686018427387904" ,
"scheduledTransferPeriod" : "PT5M" ,
"DefaultEvents" : {
"eventDestination" : "ServiceFabricSystemEventTable"
}
}
]
}
}
} ,
"StorageAccount" : "[parameters('applicationDiagnosticsStorageAccountName')]"
} ,
"typeHandlerVersion" : "1.5"
}
}
]
} ,
"networkProfile" : {
"networkInterfaceConfigurations" : [
{
"name" : "[concat(parameters('nicName'), '-0')]" ,
"properties" : {
"ipConfigurations" : [
{
"name" : "[concat(parameters('nicName'),'-',0)]" ,
"properties" : {
"loadBalancerBackendAddressPools" : [
{
"id" : "[variables('lbPoolID0')]"
}
] ,
"loadBalancerInboundNatPools" : [
{
"id" : "[variables('lbNatPoolID0')]"
}
] ,
"subnet" : {
"id" : "[variables('subnet0Ref')]"
}
}
}
] ,
"primary" : true
}
}
]
} ,
"osProfile" : {
"adminPassword" : "[parameters('adminPassword')]" ,
"adminUsername" : "[parameters('adminUsername')]" ,
"computernamePrefix" : "[parameters('vmNodeType0Name')]" ,
"secrets" : [
{
"sourceVault" : {
"id" : "[parameters('sourceVaultValue')]"
} ,
"vaultCertificates" : [
{
"certificateStore" : "[parameters('certificateStoreValue')]" ,
"certificateUrl" : "[parameters('certificateUrlValue')]"
}
]
}
]
} ,
"storageProfile" : {
"imageReference" : {
"publisher" : "[parameters('vmImagePublisher')]" ,
"offer" : "[parameters('vmImageOffer')]" ,
"sku" : "[parameters('vmImageSku')]" ,
"version" : "[parameters('vmImageVersion')]"
} ,
"osDisk" : {
"caching" : "ReadOnly" ,
"createOption" : "FromImage" ,
"vhdContainers" : [
"[concat(reference(concat('Microsoft.Storage/storageAccounts/', variables('uniqueStringArray0')[0]), variables('storageApiVersion')).primaryEndpoints.blob, parameters('vmStorageAccountContainerName'))]" ,
"[concat(reference(concat('Microsoft.Storage/storageAccounts/', variables('uniqueStringArray0')[1]), variables('storageApiVersion')).primaryEndpoints.blob, parameters('vmStorageAccountContainerName'))]" ,
"[concat(reference(concat('Microsoft.Storage/storageAccounts/', variables('uniqueStringArray0')[2]), variables('storageApiVersion')).primaryEndpoints.blob, parameters('vmStorageAccountContainerName'))]" ,
"[concat(reference(concat('Microsoft.Storage/storageAccounts/', variables('uniqueStringArray0')[3]), variables('storageApiVersion')).primaryEndpoints.blob, parameters('vmStorageAccountContainerName'))]" ,
"[concat(reference(concat('Microsoft.Storage/storageAccounts/', variables('uniqueStringArray0')[4]), variables('storageApiVersion')).primaryEndpoints.blob, parameters('vmStorageAccountContainerName'))]"
] ,
"name" : "vmssosdisk"
}
}
}
} ,
"sku" : {
"name" : "[parameters('vmNodeType0Size')]" ,
"capacity" : "[parameters('nt0InstanceCount')]" ,
"tier" : "Standard"
} ,
"tags" : {
"resourceType" : "Service Fabric" ,
"clusterName" : "[parameters('clusterName')]"
}
} ,
{
"apiVersion" : "2017-07-01-preview" ,
"type" : "Microsoft.ServiceFabric/clusters" ,
"name" : "[parameters('clusterName')]" ,
"location" : "[parameters('clusterLocation')]" ,
"dependsOn" : [
"[concat('Microsoft.Storage/storageAccounts/', parameters('supportLogStorageAccountName'))]"
] ,
"properties" : {
"addonFeatures" : [
"DnsService"
] ,
"certificate" : {
"thumbprint" : "[parameters('certificateThumbprint')]" ,
"x509StoreName" : "[parameters('certificateStoreValue')]"
} ,
"clientCertificateCommonNames" : [ ] ,
"clientCertificateThumbprints" : [ ] ,
"clusterCodeVersion" : "5.7.207.9494" ,
"clusterState" : "Default" ,
"diagnosticsStorageAccountConfig" : {
"blobEndpoint" : "[reference(concat('Microsoft.Storage/storageAccounts/', parameters('supportLogStorageAccountName')), variables('storageApiVersion')).primaryEndpoints.blob]" ,
"protectedAccountKeyName" : "StorageAccountKey1" ,
"queueEndpoint" : "[reference(concat('Microsoft.Storage/storageAccounts/', parameters('supportLogStorageAccountName')), variables('storageApiVersion')).primaryEndpoints.queue]" ,
"storageAccountName" : "[parameters('supportLogStorageAccountName')]" ,
"tableEndpoint" : "[reference(concat('Microsoft.Storage/storageAccounts/', parameters('supportLogStorageAccountName')), variables('storageApiVersion')).primaryEndpoints.table]"
} ,
"fabricSettings" : [
{
"parameters" : [
{
"name" : "ClusterProtectionLevel" ,
"value" : "[parameters('clusterProtectionLevel')]"
}
] ,
"name" : "Security"
}
] ,
"managementEndpoint" : "[concat('https://',reference(concat(parameters('lbIPName'),'-','0')).dnsSettings.fqdn,':',parameters('nt0fabricHttpGatewayPort'))]" ,
"nodeTypes" : [
{
"name" : "[parameters('vmNodeType0Name')]" ,
"applicationPorts" : {
"endPort" : "[parameters('nt0applicationEndPort')]" ,
"startPort" : "[parameters('nt0applicationStartPort')]"
} ,
"clientConnectionEndpointPort" : "[parameters('nt0fabricTcpGatewayPort')]" ,
"durabilityLevel" : "Bronze" ,
"ephemeralPorts" : {
"endPort" : "[parameters('nt0ephemeralEndPort')]" ,
"startPort" : "[parameters('nt0ephemeralStartPort')]"
} ,
"httpGatewayEndpointPort" : "[parameters('nt0fabricHttpGatewayPort')]" ,
"isPrimary" : true ,
"reverseProxyEndpointPort" : "[parameters('nt0reverseProxyEndpointPort')]" ,
"vmInstanceCount" : "[parameters('nt0InstanceCount')]"
}
] ,
"provisioningState" : "Default" ,
"reliabilityLevel" : "Silver" ,
"upgradeMode" : "Manual" ,
"vmImage" : "Windows"
} ,
"tags" : {
"resourceType" : "Service Fabric" ,
"clusterName" : "[parameters('clusterName')]"
}
}
] ,
"outputs" : {
"clusterProperties" : {
"value" : "[reference(parameters('clusterName'))]" ,
"type" : "object"
}
}
}