Microsoft.ServiceFabric managedClusters/nodeTypes 2020-01-01-preview

Template format

To create a Microsoft.ServiceFabric/managedClusters/nodeTypes resource, add the following JSON to the resources section of your template.

  "name": "string",
  "type": "Microsoft.ServiceFabric/managedClusters/nodeTypes",
  "apiVersion": "2020-01-01-preview",
  "tags": {},
  "properties": {
    "isPrimary": "boolean",
    "vmInstanceCount": "integer",
    "dataDiskSizeGB": "integer",
    "placementProperties": {},
    "capacities": {},
    "applicationPorts": {
      "startPort": "integer",
      "endPort": "integer"
    "ephemeralPorts": {
      "startPort": "integer",
      "endPort": "integer"
    "vmSize": "string",
    "vmImagePublisher": "string",
    "vmImageOffer": "string",
    "vmImageSku": "string",
    "vmImageVersion": "string",
    "vmSecrets": [
        "sourceVault": {
          "id": "string"
        "vaultCertificates": [
            "certificateUrl": "string",
            "certificateStore": "string"
    "vmExtensions": [
        "name": "string",
        "properties": {
          "publisher": "string",
          "type": "string",
          "typeHandlerVersion": "string",
          "autoUpgradeMinorVersion": "boolean",
          "settings": {},
          "protectedSettings": {},
          "provisionAfterExtensions": [

Property values

The following tables describe the values you need to set in the schema.

Microsoft.ServiceFabric/managedClusters/nodeTypes object

Name Type Required Value
name string Yes The name of the node type.
type enum Yes nodeTypes

See Set name and type for child resources.
apiVersion enum Yes 2020-01-01-preview
tags object No Azure resource tags.
properties object Yes The node type properties - NodeTypeProperties object

NodeTypeProperties object

Name Type Required Value
isPrimary boolean Yes The node type on which system services will run. Only one node type should be marked as primary. Primary node type cannot be deleted or changed for existing clusters.
vmInstanceCount integer Yes The number of nodes in the node type.
dataDiskSizeGB integer Yes Disk size for each vm in the node type in GBs.
placementProperties object No The placement tags applied to nodes in the node type, which can be used to indicate where certain services (workload) should run.
capacities object No The capacity tags applied to the nodes in the node type, the cluster resource manager uses these tags to understand how much resource a node has.
applicationPorts object No The range of ports from which cluster assigned port to Service Fabric applications. - EndpointRangeDescription object
ephemeralPorts object No The range of ephemeral ports that nodes in this node type should be configured with. - EndpointRangeDescription object
vmSize string No The size of virtual machines in the pool. All virtual machines in a pool are the same size. For example, Standard_D3.
vmImagePublisher string No The publisher of the Azure Virtual Machines Marketplace image. For example, Canonical or MicrosoftWindowsServer.
vmImageOffer string No The offer type of the Azure Virtual Machines Marketplace image. For example, UbuntuServer or WindowsServer.
vmImageSku string No The SKU of the Azure Virtual Machines Marketplace image. For example, 14.04.0-LTS or 2012-R2-Datacenter.
vmImageVersion string No The version of the Azure Virtual Machines Marketplace image. A value of 'latest' can be specified to select the latest version of an image. If omitted, the default is 'latest'.
vmSecrets array No The secrets to install in the virtual machines. - VaultSecretGroup object
vmExtensions array No Set of extensions that should be installed onto the virtual machines. - VMSSExtension object

EndpointRangeDescription object

Name Type Required Value
startPort integer Yes Starting port of a range of ports
endPort integer Yes End port of a range of ports

VaultSecretGroup object

Name Type Required Value
sourceVault object Yes The relative URL of the Key Vault containing all of the certificates in VaultCertificates. - SubResource object
vaultCertificates array Yes The list of key vault references in SourceVault which contain certificates. - VaultCertificate object

VMSSExtension object

Name Type Required Value
name string Yes The name of the extension.
properties object Yes Describes the properties of a Virtual Machine Scale Set Extension. - VMSSExtensionProperties object

SubResource object

Name Type Required Value
id string No Azure resource identifier.

VaultCertificate object

Name Type Required Value
certificateUrl string Yes This is the URL of a certificate that has been uploaded to Key Vault as a secret. For adding a secret to the Key Vault, see Add a key or secret to the key vault. In this case, your certificate needs to be It is the Base64 encoding of the following JSON Object which is encoded in UTF-8:

certificateStore string Yes For Windows VMs, specifies the certificate store on the Virtual Machine to which the certificate should be added. The specified certificate store is implicitly in the LocalMachine account.

For Linux VMs, the certificate file is placed under the /var/lib/waagent directory, with the file name .crt for the X509 certificate file and .prv for private key. Both of these files are .pem formatted.

VMSSExtensionProperties object

Name Type Required Value
publisher string Yes The name of the extension handler publisher.
type string Yes Specifies the type of the extension; an example is "CustomScriptExtension".
typeHandlerVersion string Yes Specifies the version of the script handler.
autoUpgradeMinorVersion boolean No Indicates whether the extension should use a newer minor version if one is available at deployment time. Once deployed, however, the extension will not upgrade minor versions unless redeployed, even with this property set to true.
settings object No Json formatted public settings for the extension.
protectedSettings object No The extension can contain either protectedSettings or protectedSettingsFromKeyVault or no protected settings at all.
provisionAfterExtensions array No Collection of extension names after which this extension needs to be provisioned. - string