Advertisement
Guest User

Untitled

a guest
May 29th, 2018
293
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
JSON 32.68 KB | None | 0 0
  1.     {
  2.       "$schema": "http://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json",
  3.       "contentVersion": "1.0.0.0",
  4.       "parameters": {
  5.         "clusterLocation": {
  6.           "type": "string",
  7.           "metadata": {
  8.             "description": "Location of the Cluster"
  9.           }
  10.         },
  11.         "clusterName": {
  12.           "type": "string",
  13.           "defaultValue": "Cluster",
  14.           "metadata": {
  15.             "description": "Name of your cluster - Between 3 and 23 characters. Letters and numbers only"
  16.           }
  17.         },
  18.         "nt0applicationStartPort": {
  19.           "type": "int",
  20.           "defaultValue": 20000
  21.         },
  22.         "nt0applicationEndPort": {
  23.           "type": "int",
  24.           "defaultValue": 30000
  25.         },
  26.         "nt0ephemeralStartPort": {
  27.           "type": "int",
  28.           "defaultValue": 49152
  29.         },
  30.         "nt0ephemeralEndPort": {
  31.           "type": "int",
  32.           "defaultValue": 65534
  33.         },
  34.         "nt0fabricTcpGatewayPort": {
  35.           "type": "int",
  36.           "defaultValue": 19000
  37.         },
  38.         "nt0fabricHttpGatewayPort": {
  39.           "type": "int",
  40.           "defaultValue": 19080
  41.         },
  42.         "subnet0Name": {
  43.           "type": "string",
  44.           "defaultValue": "Subnet-0"
  45.         },
  46.         "subnet0Prefix": {
  47.           "type": "string",
  48.           "defaultValue": "10.0.0.0/24"
  49.         },
  50.         "computeLocation": {
  51.           "type": "string"
  52.         },
  53.         "vmStorageAccountName": {
  54.           "type": "string"
  55.         },
  56.         "publicIPAddressName": {
  57.           "type": "string",
  58.           "defaultValue": "PublicIP-VM"
  59.         },
  60.         "publicIPAddressType": {
  61.           "type": "string",
  62.           "allowedValues": [
  63.             "Dynamic"
  64.           ],
  65.           "defaultValue": "Dynamic"
  66.         },
  67.         "vmStorageAccountContainerName": {
  68.           "type": "string",
  69.           "defaultValue": "vhds"
  70.         },
  71.         "adminUserName": {
  72.           "type": "string",
  73.           "defaultValue": "testadm",
  74.           "metadata": {
  75.             "description": "Remote desktop user Id"
  76.           }
  77.         },
  78.         "adminPassword": {
  79.           "type": "securestring",
  80.           "metadata": {
  81.             "description": "Remote desktop user password. Must be a strong password"
  82.           }
  83.         },
  84.         "virtualNetworkName": {
  85.           "type": "string",
  86.           "defaultValue": "VNet"
  87.         },
  88.         "addressPrefix": {
  89.           "type": "string",
  90.           "defaultValue": "10.0.0.0/16"
  91.         },
  92.         "dnsIPv4Name": {
  93.           "type": "string"
  94.         },
  95.         "dnsIPv6Name": {
  96.           "type": "string"
  97.         },
  98.         "nicName": {
  99.           "type": "string",
  100.           "defaultValue": "NIC"
  101.         },
  102.         "lbName": {
  103.           "type": "string",
  104.           "defaultValue": "LoadBalancer"
  105.         },
  106.         "lbIPv4Name": {
  107.           "type": "string",
  108.           "defaultValue": "PublicIPv4-LB-FE"
  109.         },
  110.         "lbIPv6Name": {
  111.           "type": "string",
  112.           "defaultValue": "PublicIPv6-LB-FE"
  113.         },
  114.         "overProvision": {
  115.           "type": "string",
  116.           "defaultValue": "false"
  117.         },
  118.         "vmImagePublisher": {
  119.           "type": "string",
  120.           "defaultValue": "MicrosoftWindowsServer"
  121.         },
  122.         "vmImageOffer": {
  123.           "type": "string",
  124.           "defaultValue": "WindowsServer"
  125.         },
  126.         "vmImageSku": {
  127.           "type": "string",
  128.           "defaultValue": "2012-R2-Datacenter"
  129.         },
  130.         "vmImageVersion": {
  131.           "type": "string",
  132.           "defaultValue": "latest"
  133.         },
  134.         "loadBalancedAppPort1": {
  135.           "type": "int",
  136.           "defaultValue": 80,
  137.           "metadata": {
  138.             "description": "Input endpoint1 for the application to use. Replace it with what your application uses"
  139.           }
  140.         },
  141.         "loadBalancedAppPort2": {
  142.           "type": "int",
  143.           "defaultValue": 8507,
  144.           "metadata": {
  145.             "description": "Input endpoint1 for the application to use. Replace it with what your application uses"
  146.           }
  147.         },
  148.         "storageAccountType": {
  149.           "type": "string",
  150.           "allowedValues": [
  151.             "Standard_LRS",
  152.             "Standard_GRS"
  153.           ],
  154.           "defaultValue": "Standard_LRS",
  155.           "metadata": {
  156.             "description": "Replication option for the VM image storage account"
  157.           }
  158.         },
  159.         "supportLogStorageAccountType": {
  160.           "type": "string",
  161.           "allowedValues": [
  162.             "Standard_LRS",
  163.             "Standard_GRS"
  164.           ],
  165.           "defaultValue": "Standard_LRS",
  166.           "metadata": {
  167.             "description": "Replication option for the support log storage account"
  168.           }
  169.         },
  170.         "supportLogStorageAccountName": {
  171.           "type": "string",
  172.           "defaultValue": "[toLower( concat('sflogs', uniqueString(resourceGroup().id),'2'))]",
  173.           "metadata": {
  174.             "description": "Name for the storage account that contains support logs from the cluster"
  175.           }
  176.         },
  177.         "applicationDiagnosticsStorageAccountType": {
  178.           "type": "string",
  179.           "allowedValues": [
  180.             "Standard_LRS",
  181.             "Standard_GRS"
  182.           ],
  183.           "defaultValue": "Standard_LRS",
  184.           "metadata": {
  185.             "description": "Replication option for the application diagnostics storage account"
  186.           }
  187.         },
  188.         "applicationDiagnosticsStorageAccountName": {
  189.           "type": "string",
  190.           "defaultValue": "[toLower(concat(uniqueString(resourceGroup().id), '3' ))]",
  191.           "metadata": {
  192.             "description": "Name for the storage account that contains application diagnostics data from the cluster"
  193.           }
  194.         },
  195.         "nt0InstanceCount": {
  196.           "type": "int",
  197.           "defaultValue": 5,
  198.           "metadata": {
  199.             "description": "Instance count for node type"
  200.           }
  201.         },
  202.         "vmNodeType0Name": {
  203.           "type": "string",
  204.           "defaultValue": "Node1",
  205.           "maxLength": 9
  206.         },
  207.         "vmNodeType0Size": {
  208.           "type": "string",
  209.           "defaultValue": "Standard_D1_v2"
  210.         }
  211.       },
  212.       "variables": {
  213.         "vmssApiVersion": "2017-03-30",
  214.         "lbApiVersion": "2016-03-30",
  215.         "vNetApiVersion": "2016-03-30",
  216.         "storageApiVersion": "2016-01-01",
  217.         "publicIPApiVersion": "2016-03-30",
  218.         "vnetID": "[resourceId('Microsoft.Network/virtualNetworks',parameters('virtualNetworkName'))]",
  219.         "subnet0Ref": "[concat(variables('vnetID'),'/subnets/',parameters('subnet0Name'))]",
  220.         "lbID0": "[resourceId('Microsoft.Network/loadBalancers', concat('LB','-', parameters('clusterName'),'-',parameters('vmNodeType0Name')))]",
  221.         "lbIPv4Config0": "[concat(variables('lbID0'),'/frontendIPConfigurations/LoadBalancerIPv4Config')]",
  222.         "lbIPv6Config0": "[concat(variables('lbID0'),'/frontendIPConfigurations/LoadBalancerIPv6Config')]",
  223.         "lbIPv4PoolID0": "[concat(variables('lbID0'),'/backendAddressPools/LoadBalancerIPv4BEAddressPool')]",
  224.         "lbIPv6PoolID0": "[concat(variables('lbID0'),'/backendAddressPools/LoadBalancerIPv6BEAddressPool')]",
  225.         "lbProbeID0": "[concat(variables('lbID0'),'/probes/FabricGatewayProbe')]",
  226.         "lbHttpProbeID0": "[concat(variables('lbID0'),'/probes/FabricHttpGatewayProbe')]",
  227.         "lbNatPoolID0": "[concat(variables('lbID0'),'/inboundNatPools/LoadBalancerBEAddressNatPool')]",
  228.         "vmStorageAccountName0": "[toLower(concat(uniqueString(resourceGroup().id), '1', '0' ))]",
  229.         "uniqueStringArray0": [
  230.           "[concat(variables('vmStorageAccountName0'), '0')]",
  231.           "[concat(variables('vmStorageAccountName0'), '1')]",
  232.           "[concat(variables('vmStorageAccountName0'), '2')]",
  233.           "[concat(variables('vmStorageAccountName0'), '3')]",
  234.           "[concat(variables('vmStorageAccountName0'), '4')]"
  235.         ]
  236.       },
  237.       "resources": [
  238.         {
  239.           "apiVersion": "[variables('storageApiVersion')]",
  240.           "type": "Microsoft.Storage/storageAccounts",
  241.           "name": "[parameters('supportLogStorageAccountName')]",
  242.           "location": "[parameters('computeLocation')]",
  243.           "dependsOn": [],
  244.           "properties": {},
  245.           "kind": "Storage",
  246.           "sku": {
  247.             "name": "[parameters('supportLogStorageAccountType')]"
  248.           },
  249.           "tags": {
  250.             "resourceType": "Service Fabric",
  251.             "clusterName": "[parameters('clusterName')]"
  252.           }
  253.         },
  254.         {
  255.           "apiVersion": "[variables('storageApiVersion')]",
  256.           "type": "Microsoft.Storage/storageAccounts",
  257.           "name": "[parameters('applicationDiagnosticsStorageAccountName')]",
  258.           "location": "[parameters('computeLocation')]",
  259.           "dependsOn": [],
  260.           "properties": {},
  261.           "kind": "Storage",
  262.           "sku": {
  263.             "name": "[parameters('applicationDiagnosticsStorageAccountType')]"
  264.           },
  265.           "tags": {
  266.             "resourceType": "Service Fabric",
  267.             "clusterName": "[parameters('clusterName')]"
  268.           }
  269.         },
  270.         {
  271.           "apiVersion": "[variables('vNetApiVersion')]",
  272.           "type": "Microsoft.Network/virtualNetworks",
  273.           "name": "[parameters('virtualNetworkName')]",
  274.           "location": "[parameters('computeLocation')]",
  275.           "properties": {
  276.             "addressSpace": {
  277.               "addressPrefixes": [
  278.                 "[parameters('addressPrefix')]"
  279.               ]
  280.             },
  281.             "subnets": [
  282.               {
  283.                 "name": "[parameters('subnet0Name')]",
  284.                 "properties": {
  285.                   "addressPrefix": "[parameters('subnet0Prefix')]"
  286.                 }
  287.               }
  288.             ]
  289.           },
  290.           "tags": {
  291.             "resourceType": "Service Fabric",
  292.             "clusterName": "[parameters('clusterName')]"
  293.           }
  294.         },
  295.         {
  296.           "apiVersion": "[variables('publicIPApiVersion')]",
  297.           "type": "Microsoft.Network/publicIPAddresses",
  298.           "name": "[concat(parameters('lbIPv4Name'),'-','0')]",
  299.           "location": "[parameters('computeLocation')]",
  300.           "properties": {
  301.             "publicIPAddressVersion": "IPv4",
  302.             "dnsSettings": {
  303.               "domainNameLabel": "[parameters('dnsIPv4Name')]"
  304.             },
  305.             "publicIPAllocationMethod": "Dynamic"
  306.           },
  307.           "tags": {
  308.             "resourceType": "Service Fabric",
  309.             "clusterName": "[parameters('clusterName')]"
  310.           }
  311.         },
  312.         {
  313.           "apiVersion": "[variables('publicIPApiVersion')]",
  314.           "type": "Microsoft.Network/publicIPAddresses",
  315.           "name": "[concat(parameters('lbIPv6Name'),'-','0')]",
  316.           "location": "[parameters('computeLocation')]",
  317.           "properties": {
  318.             "publicIPAddressVersion": "IPv6",
  319.             "dnsSettings": {
  320.               "domainNameLabel": "[parameters('dnsIPv6Name')]"
  321.             },
  322.             "publicIPAllocationMethod": "Dynamic"
  323.           },
  324.           "tags": {
  325.             "resourceType": "Service Fabric",
  326.             "clusterName": "[parameters('clusterName')]"
  327.           }
  328.         },
  329.         {
  330.           "apiVersion": "[variables('lbApiVersion')]",
  331.           "type": "Microsoft.Network/loadBalancers",
  332.           "name": "[concat('LB','-', parameters('clusterName'),'-',parameters('vmNodeType0Name'))]",
  333.           "location": "[parameters('computeLocation')]",
  334.           "dependsOn": [
  335.             "[concat('Microsoft.Network/publicIPAddresses/',concat(parameters('lbIPv4Name'),'-','0'))]",
  336.             "[concat('Microsoft.Network/publicIPAddresses/',concat(parameters('lbIPv6Name'),'-','0'))]"
  337.           ],
  338.           "properties": {
  339.             "frontendIPConfigurations": [
  340.               {
  341.                 "name": "LoadBalancerIPv4Config",
  342.                 "properties": {
  343.                   "publicIPAddress": {
  344.                     "id": "[resourceId('Microsoft.Network/publicIPAddresses',concat(parameters('lbIPv4Name'),'-','0'))]"
  345.                   }
  346.                 }
  347.               },
  348.               {
  349.                 "name": "LoadBalancerIPv6Config",
  350.                 "properties": {
  351.                   "publicIPAddress": {
  352.                     "id": "[resourceId('Microsoft.Network/publicIPAddresses',concat(parameters('lbIPv6Name'),'-','0'))]"
  353.                   }
  354.                 }
  355.               }
  356.             ],
  357.             "backendAddressPools": [
  358.               {
  359.                 "name": "LoadBalancerIPv4BEAddressPool",
  360.                 "properties": {}
  361.               },
  362.               {
  363.                 "name": "LoadBalancerIPv6BEAddressPool",
  364.                 "properties": {}
  365.               }
  366.             ],
  367.             "loadBalancingRules": [
  368.               {
  369.                 "name": "LBRule",
  370.                 "properties": {
  371.                   "backendAddressPool": {
  372.                     "id": "[variables('lbIPv4PoolID0')]"
  373.                   },
  374.                   "backendPort": "[parameters('nt0fabricTcpGatewayPort')]",
  375.                   "enableFloatingIP": "false",
  376.                   "frontendIPConfiguration": {
  377.                     "id": "[variables('lbIPv4Config0')]"
  378.                   },
  379.                   "frontendPort": "[parameters('nt0fabricTcpGatewayPort')]",
  380.                   "idleTimeoutInMinutes": "5",
  381.                   "probe": {
  382.                     "id": "[variables('lbProbeID0')]"
  383.                   },
  384.                   "protocol": "tcp"
  385.                 }
  386.               },
  387.               {
  388.                 "name": "LBHttpRule",
  389.                 "properties": {
  390.                   "backendAddressPool": {
  391.                     "id": "[variables('lbIPv4PoolID0')]"
  392.                   },
  393.                   "backendPort": "[parameters('nt0fabricHttpGatewayPort')]",
  394.                   "enableFloatingIP": "false",
  395.                   "frontendIPConfiguration": {
  396.                     "id": "[variables('lbIPv4Config0')]"
  397.                   },
  398.                   "frontendPort": "[parameters('nt0fabricHttpGatewayPort')]",
  399.                   "idleTimeoutInMinutes": "5",
  400.                   "probe": {
  401.                     "id": "[variables('lbHttpProbeID0')]"
  402.                   },
  403.                   "protocol": "tcp"
  404.                 }
  405.               },
  406.               {
  407.                 "name": "AppPortLBRule1Ipv4",
  408.                 "properties": {
  409.                   "backendAddressPool": {
  410.                     "id": "[variables('lbIPv4PoolID0')]"
  411.                   },
  412.                   "backendPort": "[parameters('loadBalancedAppPort1')]",
  413.                   "enableFloatingIP": "false",
  414.                   "frontendIPConfiguration": {
  415.                     "id": "[variables('lbIPv4Config0')]"
  416.                   },
  417.                   "frontendPort": "[parameters('loadBalancedAppPort1')]",
  418.                   "idleTimeoutInMinutes": "5",
  419.                   "probe": {
  420.                     "id": "[concat(variables('lbID0'),'/probes/AppPortProbe1')]"
  421.                   },
  422.                   "protocol": "tcp"
  423.                 }
  424.               },
  425.               {
  426.                 "name": "AppPortLBRule1Ipv6",
  427.                 "properties": {
  428.                   "backendAddressPool": {
  429.                     "id": "[variables('lbIPv6PoolID0')]"
  430.                   },
  431.                   /*"backendPort": "[parameters('loadBalancedAppPort1')]",*/
  432.                   "backendPort": 8081,
  433.                   "enableFloatingIP": "false",
  434.                   "frontendIPConfiguration": {
  435.                     "id": "[variables('lbIPv6Config0')]"
  436.                   },
  437.                   "frontendPort": "[parameters('loadBalancedAppPort1')]",
  438.                   /*"idleTimeoutInMinutes": "5",*/
  439.                   "probe": {
  440.                     "id": "[concat(variables('lbID0'),'/probes/AppPortProbe1')]"
  441.                   },
  442.                   "protocol": "tcp"
  443.                 }
  444.               },
  445.               {
  446.                 "name": "AppPortLBRule2Ipv4",
  447.                 "properties": {
  448.                   "backendAddressPool": {
  449.                     "id": "[variables('lbIPv4PoolID0')]"
  450.                   },
  451.                   "backendPort": "[parameters('loadBalancedAppPort2')]",
  452.                   "enableFloatingIP": "false",
  453.                   "frontendIPConfiguration": {
  454.                     "id": "[variables('lbIPv4Config0')]"
  455.                   },
  456.                   "frontendPort": "[parameters('loadBalancedAppPort2')]",
  457.                   "idleTimeoutInMinutes": "5",
  458.                   "probe": {
  459.                     "id": "[concat(variables('lbID0'),'/probes/AppPortProbe2')]"
  460.                   },
  461.                   "protocol": "tcp"
  462.                 }
  463.               },
  464.               {
  465.                 "name": "AppPortLBRule2Ipv6",
  466.                 "properties": {
  467.                   "backendAddressPool": {
  468.                     "id": "[variables('lbIPv6PoolID0')]"
  469.                   },
  470.                   "backendPort": "[parameters('loadBalancedAppPort2')]",
  471.                   "enableFloatingIP": "false",
  472.                   "frontendIPConfiguration": {
  473.                     "id": "[variables('lbIPv6Config0')]"
  474.                   },
  475.                   "frontendPort": "[parameters('loadBalancedAppPort2')]",
  476.                   /*"idleTimeoutInMinutes": "5",*/
  477.                   "probe": {
  478.                     "id": "[concat(variables('lbID0'),'/probes/AppPortProbe2')]"
  479.                   },
  480.                   "protocol": "tcp"
  481.                 }
  482.               }
  483.             ],
  484.             "probes": [
  485.               {
  486.                 "name": "FabricGatewayProbe",
  487.                 "properties": {
  488.                   "intervalInSeconds": 5,
  489.                   "numberOfProbes": 2,
  490.                   "port": "[parameters('nt0fabricTcpGatewayPort')]",
  491.                   "protocol": "tcp"
  492.                 }
  493.               },
  494.               {
  495.                 "name": "FabricHttpGatewayProbe",
  496.                 "properties": {
  497.                   "intervalInSeconds": 5,
  498.                   "numberOfProbes": 2,
  499.                   "port": "[parameters('nt0fabricHttpGatewayPort')]",
  500.                   "protocol": "tcp"
  501.                 }
  502.               },
  503.               {
  504.                 "name": "AppPortProbe1",
  505.                 "properties": {
  506.                   "intervalInSeconds": 5,
  507.                   "numberOfProbes": 2,
  508.                   "port": "[parameters('loadBalancedAppPort1')]",
  509.                   "protocol": "tcp"
  510.                 }
  511.               },
  512.               {
  513.                 "name": "AppPortProbe2",
  514.                 "properties": {
  515.                   "intervalInSeconds": 5,
  516.                   "numberOfProbes": 2,
  517.                   "port": "[parameters('loadBalancedAppPort2')]",
  518.                   "protocol": "tcp"
  519.                 }
  520.               }
  521.             ],
  522.             "inboundNatPools": [
  523.               {
  524.                 "name": "LoadBalancerBEAddressNatPool",
  525.                 "properties": {
  526.                   "backendPort": "3389",
  527.                   "frontendIPConfiguration": {
  528.                     "id": "[variables('lbIPv4Config0')]"
  529.                   },
  530.                   "frontendPortRangeEnd": "4500",
  531.                   "frontendPortRangeStart": "3389",
  532.                   "protocol": "tcp"
  533.                 }
  534.               }
  535.             ]
  536.           },
  537.           "tags": {
  538.             "resourceType": "Service Fabric",
  539.             "clusterName": "[parameters('clusterName')]"
  540.           }
  541.         },
  542.         {
  543.           "apiVersion": "[variables('storageApiVersion')]",
  544.           "type": "Microsoft.Storage/storageAccounts",
  545.           "name": "[variables('uniqueStringArray0')[copyIndex()]]",
  546.           "location": "[parameters('computeLocation')]",
  547.           "dependsOn": [],
  548.           "properties": {},
  549.           "copy": {
  550.             "name": "storageLoop",
  551.             "count": 5
  552.           },
  553.           "kind": "Storage",
  554.           "sku": {
  555.             "name": "[parameters('storageAccountType')]"
  556.           },
  557.           "tags": {
  558.             "resourceType": "Service Fabric",
  559.             "clusterName": "[parameters('clusterName')]"
  560.           }
  561.         },
  562.         {
  563.           "apiVersion": "[variables('vmssApiVersion')]",
  564.           "type": "Microsoft.Compute/virtualMachineScaleSets",
  565.           "name": "[parameters('vmNodeType0Name')]",
  566.           "location": "[parameters('computeLocation')]",
  567.           "dependsOn": [
  568.             "[concat('Microsoft.Network/virtualNetworks/', parameters('virtualNetworkName'))]",
  569.             "[concat('Microsoft.Storage/storageAccounts/', variables('uniqueStringArray0')[0])]",
  570.             "[concat('Microsoft.Storage/storageAccounts/', variables('uniqueStringArray0')[1])]",
  571.             "[concat('Microsoft.Storage/storageAccounts/', variables('uniqueStringArray0')[2])]",
  572.             "[concat('Microsoft.Storage/storageAccounts/', variables('uniqueStringArray0')[3])]",
  573.             "[concat('Microsoft.Storage/storageAccounts/', variables('uniqueStringArray0')[4])]",
  574.             "[concat('Microsoft.Network/loadBalancers/', concat('LB','-', parameters('clusterName'),'-',parameters('vmNodeType0Name')))]",
  575.             "[concat('Microsoft.Storage/storageAccounts/', parameters('supportLogStorageAccountName'))]",
  576.             "[concat('Microsoft.Storage/storageAccounts/', parameters('applicationDiagnosticsStorageAccountName'))]"
  577.           ],
  578.           "properties": {
  579.             "overprovision": "[parameters('overProvision')]",
  580.             "upgradePolicy": {
  581.               "mode": "Automatic"
  582.             },
  583.             "virtualMachineProfile": {
  584.               "extensionProfile": {
  585.                 "extensions": [
  586.                   {
  587.                     "name": "[concat(parameters('vmNodeType0Name'),'_ServiceFabricNode')]",
  588.                     "properties": {
  589.                       "type": "ServiceFabricNode",
  590.                       "autoUpgradeMinorVersion": false,
  591.                       "protectedSettings": {
  592.                         "StorageAccountKey1": "[listKeys(resourceId('Microsoft.Storage/storageAccounts', parameters('supportLogStorageAccountName')),'2015-05-01-preview').key1]",
  593.                         "StorageAccountKey2": "[listKeys(resourceId('Microsoft.Storage/storageAccounts', parameters('supportLogStorageAccountName')),'2015-05-01-preview').key2]"
  594.                       },
  595.                       "publisher": "Microsoft.Azure.ServiceFabric",
  596.                       "settings": {
  597.                         "clusterEndpoint": "[reference(parameters('clusterName')).clusterEndpoint]",
  598.                         "nodeTypeRef": "[parameters('vmNodeType0Name')]",
  599.                         "dataPath": "D:\\\\SvcFab",
  600.                         "durabilityLevel": "Bronze"
  601.                       },
  602.                       "typeHandlerVersion": "1.0"
  603.                     }
  604.                   },
  605.                   {
  606.                     "name": "[concat('VMDiagnosticsVmExt','_vmNodeType0Name')]",
  607.                     "properties": {
  608.                       "type": "IaaSDiagnostics",
  609.                       "autoUpgradeMinorVersion": true,
  610.                       "protectedSettings": {
  611.                         "storageAccountName": "[parameters('applicationDiagnosticsStorageAccountName')]",
  612.                         "storageAccountKey": "[listKeys(resourceId('Microsoft.Storage/storageAccounts', parameters('applicationDiagnosticsStorageAccountName')),'2015-05-01-preview').key1]",
  613.                         "storageAccountEndPoint": "https://core.windows.net/"
  614.                       },
  615.                       "publisher": "Microsoft.Azure.Diagnostics",
  616.                       "settings": {
  617.                         "WadCfg": {
  618.                           "DiagnosticMonitorConfiguration": {
  619.                             "overallQuotaInMB": "50000",
  620.                             "EtwProviders": {
  621.                               "EtwEventSourceProviderConfiguration": [
  622.                                 {
  623.                                   "provider": "Microsoft-ServiceFabric-Actors",
  624.                                   "scheduledTransferKeywordFilter": "1",
  625.                                   "scheduledTransferPeriod": "PT5M",
  626.                                   "DefaultEvents": {
  627.                                     "eventDestination": "ServiceFabricReliableActorEventTable"
  628.                                   }
  629.                                 },
  630.                                 {
  631.                                   "provider": "Microsoft-ServiceFabric-Services",
  632.                                   "scheduledTransferPeriod": "PT5M",
  633.                                   "DefaultEvents": {
  634.                                     "eventDestination": "ServiceFabricReliableServiceEventTable"
  635.                                   }
  636.                                 }
  637.                               ],
  638.                               "EtwManifestProviderConfiguration": [
  639.                                 {
  640.                                   "provider": "cbd93bc2-71e5-4566-b3a7-595d8eeca6e8",
  641.                                   "scheduledTransferLogLevelFilter": "Information",
  642.                                   "scheduledTransferKeywordFilter": "4611686018427387904",
  643.                                   "scheduledTransferPeriod": "PT5M",
  644.                                   "DefaultEvents": {
  645.                                     "eventDestination": "ServiceFabricSystemEventTable"
  646.                                   }
  647.                                 }
  648.                               ]
  649.                             }
  650.                           }
  651.                         },
  652.                         "StorageAccount": "[parameters('applicationDiagnosticsStorageAccountName')]"
  653.                       },
  654.                       "typeHandlerVersion": "1.5"
  655.                     }
  656.                   }
  657.                 ]
  658.               },
  659.               "networkProfile": {
  660.                 "networkInterfaceConfigurations": [
  661.                   {
  662.                     "name": "[concat(parameters('nicName'), '-0')]",
  663.                     "properties": {
  664.                       "ipConfigurations": [
  665.                         {
  666.                           "name": "[concat(parameters('nicName'),'-IPv4Config-',0)]",
  667.                           "properties": {
  668.                             "privateIPAddressVersion": "IPv4",
  669.                             "loadBalancerBackendAddressPools": [
  670.                               {
  671.                                 "id": "[variables('lbIPv4PoolID0')]"
  672.                               }
  673.                             ],
  674.                             "loadBalancerInboundNatPools": [
  675.                               {
  676.                                 "id": "[variables('lbNatPoolID0')]"
  677.                               }
  678.                             ],
  679.                             "subnet": {
  680.                               "id": "[variables('subnet0Ref')]"
  681.                             }
  682.                           }
  683.                         },
  684.                         {
  685.                           "name": "[concat(parameters('nicName'),'-IPv6Config-',0)]",
  686.                           "properties": {
  687.                             "privateIPAddressVersion": "IPv6",
  688.                             "loadBalancerBackendAddressPools": [
  689.                               {
  690.                                 "id": "[variables('lbIPv6PoolID0')]"
  691.                               }
  692.                             ]
  693.                           }
  694.                         }
  695.                       ],
  696.                       "primary": true
  697.                     }
  698.                   }
  699.                 ]
  700.               },
  701.               "osProfile": {
  702.                 "adminPassword": "[parameters('adminPassword')]",
  703.                 "adminUsername": "[parameters('adminUsername')]",
  704.                 "computernamePrefix": "[parameters('vmNodeType0Name')]"
  705.               },
  706.               "storageProfile": {
  707.                 "imageReference": {
  708.                   "publisher": "[parameters('vmImagePublisher')]",
  709.                   "offer": "[parameters('vmImageOffer')]",
  710.                   "sku": "[parameters('vmImageSku')]",
  711.                   "version": "[parameters('vmImageVersion')]"
  712.                 },
  713.                 "osDisk": {
  714.                   "vhdContainers": [
  715.                     "[concat(reference(concat('Microsoft.Storage/storageAccounts/', variables('uniqueStringArray0')[0]), variables('storageApiVersion')).primaryEndpoints.blob, parameters('vmStorageAccountContainerName'))]",
  716.                     "[concat(reference(concat('Microsoft.Storage/storageAccounts/', variables('uniqueStringArray0')[1]), variables('storageApiVersion')).primaryEndpoints.blob, parameters('vmStorageAccountContainerName'))]",
  717.                     "[concat(reference(concat('Microsoft.Storage/storageAccounts/', variables('uniqueStringArray0')[2]), variables('storageApiVersion')).primaryEndpoints.blob, parameters('vmStorageAccountContainerName'))]",
  718.                     "[concat(reference(concat('Microsoft.Storage/storageAccounts/', variables('uniqueStringArray0')[3]), variables('storageApiVersion')).primaryEndpoints.blob, parameters('vmStorageAccountContainerName'))]",
  719.                     "[concat(reference(concat('Microsoft.Storage/storageAccounts/', variables('uniqueStringArray0')[4]), variables('storageApiVersion')).primaryEndpoints.blob, parameters('vmStorageAccountContainerName'))]"
  720.                   ],
  721.                   "name": "vmssosdisk",
  722.                   "caching": "ReadOnly",
  723.                   "createOption": "FromImage"
  724.                 }
  725.               }
  726.             }
  727.           },
  728.           "sku": {
  729.             "name": "[parameters('vmNodeType0Size')]",
  730.             "capacity": "[parameters('nt0InstanceCount')]",
  731.             "tier": "Standard"
  732.           },
  733.           "tags": {
  734.             "resourceType": "Service Fabric",
  735.             "clusterName": "[parameters('clusterName')]"
  736.           }
  737.         },
  738.         {
  739.           "apiVersion": "2017-07-01-preview",
  740.           "type": "Microsoft.ServiceFabric/clusters",
  741.           "name": "[parameters('clusterName')]",
  742.           "location": "[parameters('clusterLocation')]",
  743.           "dependsOn": [
  744.             "[concat('Microsoft.Storage/storageAccounts/', parameters('supportLogStorageAccountName'))]"
  745.           ],
  746.           "properties": {
  747.             "clientCertificateCommonNames": [],
  748.             "clientCertificateThumbprints": [],
  749.             "clusterState": "Default",
  750.             "diagnosticsStorageAccountConfig": {
  751.               "blobEndpoint": "[reference(concat('Microsoft.Storage/storageAccounts/', parameters('supportLogStorageAccountName')), variables('storageApiVersion')).primaryEndpoints.blob]",
  752.               "protectedAccountKeyName": "StorageAccountKey1",
  753.               "queueEndpoint": "[reference(concat('Microsoft.Storage/storageAccounts/', parameters('supportLogStorageAccountName')), variables('storageApiVersion')).primaryEndpoints.queue]",
  754.               "storageAccountName": "[parameters('supportLogStorageAccountName')]",
  755.               "tableEndpoint": "[reference(concat('Microsoft.Storage/storageAccounts/', parameters('supportLogStorageAccountName')), variables('storageApiVersion')).primaryEndpoints.table]"
  756.             },
  757.             "fabricSettings": [],
  758.             "managementEndpoint": "[concat('http://',reference(concat(parameters('lbIPv4Name'),'-','0')).dnsSettings.fqdn,':',parameters('nt0fabricHttpGatewayPort'))]",
  759.             "nodeTypes": [
  760.               {
  761.                 "name": "[parameters('vmNodeType0Name')]",
  762.                 "applicationPorts": {
  763.                   "endPort": "[parameters('nt0applicationEndPort')]",
  764.                   "startPort": "[parameters('nt0applicationStartPort')]"
  765.                 },
  766.                 "clientConnectionEndpointPort": "[parameters('nt0fabricTcpGatewayPort')]",
  767.                 "durabilityLevel": "Bronze",
  768.                 "ephemeralPorts": {
  769.                   "endPort": "[parameters('nt0ephemeralEndPort')]",
  770.                   "startPort": "[parameters('nt0ephemeralStartPort')]"
  771.                 },
  772.                 "httpGatewayEndpointPort": "[parameters('nt0fabricHttpGatewayPort')]",
  773.                 "isPrimary": true,
  774.                 "vmInstanceCount": "[parameters('nt0InstanceCount')]"
  775.               }
  776.             ],
  777.             "provisioningState": "Default",
  778.             "reliabilityLevel": "Silver",
  779.             "upgradeMode": "Automatic",
  780.             "vmImage": "Windows"
  781.           },
  782.           "tags": {
  783.             "resourceType": "Service Fabric",
  784.             "clusterName": "[parameters('clusterName')]"
  785.           }
  786.         }
  787.       ],
  788.       "outputs": {
  789.         "clusterProperties": {
  790.           "value": "[reference(parameters('clusterName'))]",
  791.           "type": "object"
  792.         }
  793.       }
  794.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement