Templates/DeploymentSettingsTemplate.json

{
    "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
    "contentVersion": "1.0.0.0",
    "parameters": {
        "apiVersion": {
            "defaultValue": "2023-08-01-preview",
            "type": "string",
            "metadata": {
                "description": "The api version for deploying a hci cluster"
            }
        },
        "name": {
            "defaultValue": "democlusteratda3",
            "type": "string",
            "metadata": {
                "description": "The name of the hci cluster"
            }
        },
        "arcNodeResourceIds": {
            "defaultValue": [
                "/subscriptions/ff0aa6da-20f8-44fe-9aee-381c8e8a4aeb/resourceGroups/deployFromCloud-CanaryRg/providers/Microsoft.HybridCompute/machines/ASRR1S46R17U40"
            ],
            "type": "array",
            "metadata": {
                "description": "The arc for server node Ids of the hci cluster"
            }
        },
        "domainFqdn": {
            "defaultValue": "contoso.com",
            "type": "string",
            "metadata": {
                "description": "The domain name of the active directory"
            }
        },
        "namingPrefix": {
            "defaultValue": "HCI01",
            "type": "string",
            "metadata": {
                "description": "The computer name prefix"
            }
        },
        "adouPath": {
            "defaultValue": "OU=HCI01,DC=contoso,DC=com",
            "type": "string",
            "metadata": {
                "description": "The oU path"
            }
        },
        "securityLevel": {
            "defaultValue": "Customized",
            "type": "string",
            "metadata": {
                "description": "The security level data for deploying a hci cluster"
            }
        },
        "driftControlEnforced": {
            "defaultValue": true,
            "type": "bool",
            "metadata": {
                "description": "The security setting driftControlEnforced data for deploying a hci cluster"
            }
        },
        "credentialGuardEnforced": {
            "defaultValue": true,
            "type": "bool",
            "metadata": {
                "description": "The security setting credentialGuardEnforced data for deploying a hci cluster"
            }
        },
        "smbSigningEnforced": {
            "defaultValue": true,
            "type": "bool",
            "metadata": {
                "description": "The security setting smbSigningEnforced data for deploying a hci cluster"
            }
        },
        "smbClusterEncryption": {
            "defaultValue": true,
            "type": "bool",
            "metadata": {
                "description": "The security setting smbClusterEncryption data for deploying a hci cluster"
            }
        },
        "bitlockerBootVolume": {
            "defaultValue": true,
            "type": "bool",
            "metadata": {
                "description": "The security setting bitlockerBootVolume data for deploying a hci cluster"
            }
        },
        "bitlockerDataVolumes": {
            "defaultValue": true,
            "type": "bool",
            "metadata": {
                "description": "The security setting bitlockerDataVolumes data for deploying a hci cluster"
            }
        },
        "wdacEnforced": {
            "defaultValue": false,
            "type": "bool",
            "metadata": {
                "description": "The security setting wdacEnforced data for deploying a hci cluster"
            }
        },
        "streamingDataClient": {
            "defaultValue": true,
            "type": "bool",
            "metadata": {
                "description": "The metrics data for deploying a hci cluster"
            }
        },
        "euLocation": {
            "defaultValue": true,
            "type": "bool",
            "metadata": {
                "description": "The location data for deploying a hci cluster"
            }
        },
        "episodicDataUpload": {
            "defaultValue": true,
            "type": "bool",
            "metadata": {
                "description": "The diagnostic data for deploying a hci cluster"
            }
        },
        "clusterName": {
            "defaultValue": "democluster",
            "type": "string",
            "metadata": {
                "description": "The name of the hci cluster"
            }
        },
        "cloudAccountName": {
            "defaultValue": "democlustersa",
            "type": "string",
            "metadata": {
                "description": "The storage account for deploying a hci cluster"
            }
        },
        "configurationMode": {
            "defaultValue": "KeepStorage",
            "type": "string",
            "metadata": {
                "description": "The volume type for deploying a hci cluster"
            }
        },
        "subnetMask": {
            "defaultValue": "255.255.255.0",
            "type": "string",
            "metadata": {
                "description": "The subnet mask for deploying a hci cluster"
            }
        },
        "defaultGateway": {
            "defaultValue": "10.0.0.1",
            "type": "string",
            "metadata": {
                "description": "The default gateway for deploying a hci cluster"
            }
        },
        "startingIPAddress": {
            "defaultValue": "10.0.0.8",
            "type": "string",
            "metadata": {
                "description": "The starting ip address for deploying a hci cluster"
            }
        },
        "endingIPAddress": {
            "defaultValue": "10.0.0.10",
            "type": "string",
            "metadata": {
                "description": "The ending ip address for deploying a hci cluster"
            }
        },
        "dnsServers": {
            "defaultValue": [
                "10.0.0.7",
                "10.0.0.5"
            ],
            "type": "array",
            "metadata": {
                "description": "The dns servers for deploying a hci cluster"
            }
        },
        "physicalNodesSettings": {
            "defaultValue": [
                {
                    "name": "default",
                    "ipv4Address": "10.10.10.12"
                }
            ],
            "type": "array",
            "metadata": {
                "description": "The physical nodes settings for deploying a hci cluster"
            }
        },
        "networkingType": {
            "defaultValue": "singleServerDeployment",
            "type": "string",
            "metadata": {
                "description": "The networking type for deploying a hci cluster"
            }
        },
        "networkingPattern": {
            "defaultValue": "convergedManagementCompute",
            "type": "string",
            "metadata": {
                "description": "The networking pattern for deploying a hci cluster"
            }
        },
        "intentList": {
            "defaultValue": [
                {
                    "name": "Compute_Management",
                    "trafficType": [
                        "Management",
                        "Compute"
                    ],
                    "adapter": [
                        "ethernet"
                    ],
                    "overrideVirtualSwitchConfiguration": false,
                    "virtualSwitchConfigurationOverrides": {
                        "enableIov": "",
                        "loadBalancingAlgorithm": ""
                    },
                    "overrideQosPolicy": true,
                    "qosPolicyOverrides": {
                        "priorityValue8021Action_Cluster": "7",
                        "priorityValue8021Action_SMB": "3",
                        "bandwidthPercentage_SMB": "50"
                    },
                    "overrideAdapterProperty": true,
                    "adapterPropertyOverrides": {
                        "jumboPacket": "9014",
                        "networkDirect": "Enabled",
                        "networkDirectTechnology": "iWARP"
                    }
                },
                {
                    "name": "Storage",
                    "trafficType": [
                        "Storage"
                    ],
                    "adapter": [
                        "ethernet1"
                    ],
                    "overrideVirtualSwitchConfiguration": false,
                    "virtualSwitchConfigurationOverrides": {
                        "enableIov": "",
                        "loadBalancingAlgorithm": ""
                    },
                    "overrideQosPolicy": true,
                    "qosPolicyOverrides": {
                        "priorityValue8021Action_Cluster": "7",
                        "priorityValue8021Action_SMB": "3",
                        "bandwidthPercentage_SMB": "50"
                    },
                    "overrideAdapterProperty": true,
                    "adapterPropertyOverrides": {
                        "jumboPacket": "9014",
                        "networkDirect": "Enabled",
                        "networkDirectTechnology": "iWARP"
                    }
                }
            ],
            "type": "array",
            "metadata": {
                "description": "The intent list for deploying a hci cluster"
            }
        },
        "storageNetworkList": {
            "defaultValue": [
                {
                    "name": "StorageNetwork2",
                    "networkAdapterName": "ethernet1",
                    "vlanId": "716"
                }
            ],
            "type": "array",
            "metadata": {
                "description": "The storage network list for deploying a hci cluster"
            }
        },
        "storageConnectivitySwitchless": {
            "defaultValue": true,
            "type": "bool",
            "metadata": {
                "description": "The storage connectivity switchless value for deploying a hci cluster"
            }
        },
        "secretsLocation":{
            "defaultValue": "test.vault.azure.net",
            "type": "string",
            "metadata": {
                "description": "The custom location for deploying a hci cluster"
            }
        },
        "customLocation": {
            "defaultValue": "democlusloc",
            "type": "string",
            "metadata": {
                "description": "The custom location for deploying a hci cluster"
            }
        },
        "deploymentMode":{
            "defaultValue": "Validate",
            "type": "string",
            "metadata": {
                "description" : "Can be of two types Validate or Deploy"
            }
        }
    },
    "resources": [
        {
            "type": "microsoft.azurestackhci/clusters/deploymentSettings",
            "apiVersion": "[parameters('apiVersion')]",
            "name": "[format('{0}/default', parameters('name'))]",
            "properties": {
                "arcNodeResourceIds": "[parameters('arcNodeResourceIds')]",
                "deploymentMode": "[parameters('deploymentMode')]",
                "deploymentConfiguration": {
                    "version": "10.0.0.0",
                    "scaleUnits": [
                        {
                            "deploymentData": {
                                "securitySettings": {
                                    "hvciProtection": true,
                                    "drtmProtection": true,
                                    "driftControlEnforced": "[parameters('driftControlEnforced')]",
                                    "credentialGuardEnforced": "[parameters('credentialGuardEnforced')]",
                                    "smbSigningEnforced": "[parameters('smbSigningEnforced')]",
                                    "smbClusterEncryption": "[parameters('smbClusterEncryption')]",
                                    "sideChannelMitigationEnforced": true,
                                    "bitlockerBootVolume": "[parameters('bitlockerBootVolume')]",
                                    "bitlockerDataVolumes": "[parameters('bitlockerDataVolumes')]",
                                    "wdacEnforced": "[parameters('wdacEnforced')]"
                                },
                                "observability": {
                                    "streamingDataClient": "[parameters('streamingDataClient')]",
                                    "euLocation": "[parameters('euLocation')]",
                                    "episodicDataUpload": "[parameters('episodicDataUpload')]"
                                },
                                "cluster": {
                                    "name": "[parameters('clusterName')]",
                                    "witnessType": "Cloud",
                                    "witnessPath": "",
                                    "cloudAccountName": "[parameters('cloudAccountName')]",
                                    "azureServiceEndpoint": "core.windows.net"
                                },
                                "storage": {
                                    "configurationMode": "[parameters('configurationMode')]"
                                },
                                "namingPrefix": "[parameters('namingPrefix')]",
                                "domainFqdn": "[parameters('domainFqdn')]",
                                "infrastructureNetwork": [
                                    {
                                        "subnetMask": "[parameters('subnetMask')]",
                                        "gateway": "[parameters('defaultGateway')]",
                                        "ipPools": [
                                            {
                                                "startingAddress": "[parameters('startingIPAddress')]",
                                                "endingAddress": "[parameters('endingIPAddress')]"
                                            }
                                        ],
                                        "dnsServers": "[parameters('dnsServers')]"
                                    }
                                ],
                                "physicalNodes": "[parameters('physicalNodesSettings')]",
                                "hostNetwork": {
                                    "intents": "[parameters('intentList')]",
                                    "storageNetworks": "[parameters('storageNetworkList')]",
                                    "storageConnectivitySwitchless": "[parameters('storageConnectivitySwitchless')]"
                                },
                                "adouPath": "[parameters('adouPath')]",
                                "secretsLocation": "[parameters('secretsLocation')]",
                                "optionalServices": {
                                    "customLocation": "[parameters('customLocation')]"
                                }
                            }
                        }
                    ]
                }
            }
        }
    ]
}