This template deploys 3 Nodetype Service Fabric Cluster. it also allows you to allows you to control the inbound and outbound network traffic using Network Security Groups
{"apiversion": "2018-02-01", "type": "microsoft.servicefabric/clusters", "name": "[parameters('clustername')]", "location": "[parameters('location')]", "dependson": ["[resourceid('microsoft.storage/storageaccounts/", variables('supportlogstorageaccountname'))]"], "properties": {"certificate": {"thumbprint": "[parameters('certificatethumbprint')]", "x509storename": "[parameters('certificatestorevalue')]"}, "clusterstate": "default", "diagnosticsstorageaccountconfig": {"blobendpoint": "[reference(resourceid('microsoft.storage/storageaccounts/", variables('supportlogstorageaccountname')), "2021-04-01').primaryendpoints.blob]", "protectedaccountkeyname": "storageaccountkey1", "queueendpoint": "[reference(resourceid('microsoft.storage/storageaccounts/", variables('supportlogstorageaccountname')), "2021-04-01').primaryendpoints.queue]", "storageaccountname": "[variables('supportlogstorageaccountname')]", "tableendpoint": "[reference(resourceid('microsoft.storage/storageaccounts/", variables('supportlogstorageaccountname')), "2021-04-01').primaryendpoints.table]"}, "fabricsettings": [{"parameters": [{"name": "clusterprotectionlevel", "value": "[parameters('clusterprotectionlevel')]"}], "name": "security"}], "managementendpoint": "[concat('https://", reference(variables('lbipnameurl')).dnssettings.fqdn,":",variables('nodesettings')[0].fabrichttpgatewayport)]", "copy": [{"name": "nodetypes", "count": "[length(variables('nodesettings'))]", "input": {"name": "[variables('nodesettings')[copyindex('nodetypes')].vmnodetypename]", "applicationports": {"endport": "[variables('nodesettings')[copyindex('nodetypes')].applicationendport]", "startport": "[variables('nodesettings')[copyindex('nodetypes')].applicationstartport]"}, "clientconnectionendpointport": "[variables('nodesettings')[copyindex('nodetypes')].fabrictcpgatewayport]", "durabilitylevel": "bronze", "ephemeralports": {"endport": "[variables('nodesettings')[copyindex('nodetypes')].ephemeralendport]", "startport": "[variables('nodesettings')[copyindex('nodetypes')].ephemeralstartport]"}, "httpgatewayendpointport": "[variables('nodesettings')[copyindex('nodetypes')].fabrichttpgatewayport]", "isprimary": true, "vminstancecount": "[variables('nodesettings')[0].instancecount]"}}], "provisioningstate": "default", "reliabilitylevel": "silver", "upgrademode": "automatic", "vmimage": "windows"}, "tags": {"resourcetype": "service fabric", "clustername": "[parameters('clustername')]"}} 