Share via


Node Types - Create Or Update

Creates or updates a Service Fabric node type.
Create or update a Service Fabric node type of a given managed cluster.

PUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceFabric/managedClusters/{clusterName}/nodeTypes/{nodeTypeName}?api-version=2024-09-01-preview

URI Parameters

Name In Required Type Description
clusterName
path True

string

The name of the cluster resource.

nodeTypeName
path True

string

The name of the node type.

resourceGroupName
path True

string

The name of the resource group.

subscriptionId
path True

string

The customer subscription identifier.

api-version
query True

string

The version of the Service Fabric resource provider API. This is a required parameter and it's value must be "2024-09-01-preview" for this specification.

Request Body

Name Required Type Description
properties.isPrimary True

boolean

Indicates the Service Fabric system services for the cluster will run on this node type. This setting cannot be changed once the node type is created.

properties.vmInstanceCount True

integer (int32)

minimum: -1
maximum: 2147483647

The number of nodes in the node type.

Values:
-1 - Use when auto scale rules are configured or sku.capacity is defined
0 - Not supported
>0 - Use for manual scale.

properties.additionalDataDisks

VmssDataDisk[]

Additional managed data disks.

properties.additionalNetworkInterfaceConfigurations

AdditionalNetworkInterfaceConfiguration[]

Specifies the settings for any additional secondary network interfaces to attach to the node type.

properties.applicationPorts

EndpointRangeDescription

The range of ports from which cluster assigned port to Service Fabric applications.

properties.capacities

object

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.

properties.computerNamePrefix

string

Specifies the computer name prefix. Limited to 9 characters. If specified, allows for a longer name to be specified for the node type name.

properties.dataDiskLetter

string

pattern: ^[a-zA-Z]{1}$

Managed data disk letter. It can not use the reserved letter C or D and it can not change after created.

properties.dataDiskSizeGB

integer (int32)

Disk size for the managed disk attached to the vms on the node type in GBs.

properties.dataDiskType

DiskType

Managed data disk type. Specifies the storage account type for the managed disk

properties.dscpConfigurationId

string (arm-id)

Specifies the resource id of the DSCP configuration to apply to the node type network interface.

properties.enableAcceleratedNetworking

boolean

Specifies whether the network interface is accelerated networking-enabled.

properties.enableEncryptionAtHost

boolean

Enable or disable the Host Encryption for the virtual machines on the node type. This will enable the encryption for all the disks including Resource/Temp disk at host itself. Default: The Encryption at host will be disabled unless this property is set to true for the resource.

properties.enableNodePublicIP

boolean

Specifies whether each node is allocated its own public IPv4 address. This is only supported on secondary node types with custom Load Balancers.

properties.enableNodePublicIPv6

boolean

Specifies whether each node is allocated its own public IPv6 address. This is only supported on secondary node types with custom Load Balancers.

properties.enableOverProvisioning

boolean

Specifies whether the node type should be overprovisioned. It is only allowed for stateless node types.

properties.ephemeralPorts

EndpointRangeDescription

The range of ephemeral ports that nodes in this node type should be configured with.

properties.evictionPolicy

EvictionPolicyType

Specifies the eviction policy for virtual machines in a SPOT node type. Default is Delete.

properties.frontendConfigurations

FrontendConfiguration[]

Indicates the node type uses its own frontend configurations instead of the default one for the cluster. This setting can only be specified for non-primary node types and can not be added or removed after the node type is created.

properties.hostGroupId

string

Specifies the full host group resource Id. This property is used for deploying on azure dedicated hosts.

properties.isSpotVM

boolean

Indicates whether the node type will be Spot Virtual Machines. Azure will allocate the VMs if there is capacity available and the VMs can be evicted at any time.

properties.isStateless

boolean

Indicates if the node type can only host Stateless workloads.

properties.multiplePlacementGroups

boolean

Indicates if scale set associated with the node type can be composed of multiple placement groups.

properties.natConfigurations

NodeTypeNatConfig[]

Specifies the NAT configuration on default public Load Balancer for the node type. This is only supported for node types use the default public Load Balancer.

properties.natGatewayId

string (arm-id)

Specifies the resource id of a NAT Gateway to attach to the subnet of this node type. Node type must use custom load balancer.

properties.networkSecurityRules

NetworkSecurityRule[]

The Network Security Rules for this node type. This setting can only be specified for node types that are configured with frontend configurations.

properties.placementProperties

object

The placement tags applied to nodes in the node type, which can be used to indicate where certain services (workload) should run.

properties.secureBootEnabled

boolean

Specifies whether secure boot should be enabled on the nodeType. Can only be used with TrustedLaunch SecurityType

properties.securityType

securityType

Specifies the security type of the nodeType. Only Standard and TrustedLaunch are currently supported

properties.serviceArtifactReferenceId

string (arm-id)

Specifies the service artifact reference id used to set same image version for all virtual machines in the scale set when using 'latest' image version.

properties.spotRestoreTimeout

string

Indicates the time duration after which the platform will not try to restore the VMSS SPOT instances specified as ISO 8601.

properties.subnetId

string (arm-id)

Indicates the resource id of the subnet for the node type.

properties.useDefaultPublicLoadBalancer

boolean

Specifies whether the use public load balancer. If not specified and the node type doesn't have its own frontend configuration, it will be attached to the default load balancer. If the node type uses its own Load balancer and useDefaultPublicLoadBalancer is true, then the frontend has to be an Internal Load Balancer. If the node type uses its own Load balancer and useDefaultPublicLoadBalancer is false or not set, then the custom load balancer must include a public load balancer to provide outbound connectivity.

properties.useEphemeralOSDisk

boolean

Indicates whether to use ephemeral os disk. The sku selected on the vmSize property needs to support this feature.

properties.useTempDataDisk

boolean

Specifies whether to use the temporary disk for the service fabric data root, in which case no managed data disk will be attached and the temporary disk will be used. It is only allowed for stateless node types.

properties.vmApplications

VmApplication[]

Specifies the gallery applications that should be made available to the underlying VMSS.

properties.vmExtensions

VMSSExtension[]

virtual machine extensions.
Set of extensions that should be installed onto the virtual machines.

properties.vmImageOffer

string

The offer type of the Azure Virtual Machines Marketplace image. For example, UbuntuServer or WindowsServer.

properties.vmImagePlan

VmImagePlan

Specifies information about the marketplace image used to create the virtual machine. This element is only used for marketplace images. Before you can use a marketplace image from an API, you must enable the image for programmatic use. In the Azure portal, find the marketplace image that you want to use and then click Want to deploy programmatically, Get Started ->. Enter any required information and then click Save.

properties.vmImagePublisher

string

The publisher of the Azure Virtual Machines Marketplace image. For example, Canonical or MicrosoftWindowsServer.

properties.vmImageResourceId

string (arm-id)

Indicates the resource id of the vm image. This parameter is used for custom vm image.

properties.vmImageSku

string

The SKU of the Azure Virtual Machines Marketplace image. For example, 14.04.0-LTS or 2012-R2-Datacenter.

properties.vmImageVersion

string

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'.

properties.vmManagedIdentity

VmManagedIdentity

Identities to assign to the virtual machine scale set under the node type.

properties.vmSecrets

VaultSecretGroup[]

virtual machine secretes.
The secrets to install in the virtual machines.

properties.vmSetupActions

VmSetupAction[]

Specifies the actions to be performed on the vms before bootstrapping the service fabric runtime.

properties.vmSharedGalleryImageId

string (arm-id)

Indicates the resource id of the vm shared galleries image. This parameter is used for custom vm image.

properties.vmSize

string

The size of virtual machines in the pool. All virtual machines in a pool are the same size. For example, Standard_D3.

properties.zones

string[]

Specifies the availability zones where the node type would span across. If the cluster is not spanning across availability zones, initiates az migration for the cluster.

sku

NodeTypeSku

The node type sku.

tags

object

Azure resource tags.

Responses

Name Type Description
200 OK

NodeType

The operation completed successfully.

202 Accepted

NodeType

The request was accepted and the operation will complete asynchronously.

Headers

  • Azure-AsyncOperation: string
  • Location: string
Other Status Codes

ErrorModel

The detailed error response.

Security

azure_auth

Azure Active Directory OAuth2 Flow

Type: oauth2
Flow: implicit
Authorization URL: https://login.microsoftonline.com/common/oauth2/authorize

Scopes

Name Description
user_impersonation impersonate your user account

Examples

Put a node type with auto-scale parameters
Put a node type with maximum parameters
Put a node type with minimum parameters
Put an stateless node type with temporary disk for service fabric
Put node type with custom vm image
Put node type with dedicated hosts
Put node type with shared galleries custom vm image
Put node type with vm image plan

Put a node type with auto-scale parameters

Sample request

PUT https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resRg/providers/Microsoft.ServiceFabric/managedClusters/myCluster/nodeTypes/BE?api-version=2024-09-01-preview

{
  "properties": {
    "isPrimary": false,
    "dataDiskSizeGB": 200,
    "dataDiskType": "Premium_LRS",
    "placementProperties": {
      "HasSSD": "true",
      "NodeColor": "green",
      "SomeProperty": "5"
    },
    "capacities": {
      "ClientConnections": "65536"
    },
    "vmSize": "Standard_DS3",
    "vmImagePublisher": "MicrosoftWindowsServer",
    "vmImageOffer": "WindowsServer",
    "vmImageSku": "2016-Datacenter-Server-Core",
    "vmImageVersion": "latest",
    "vmInstanceCount": -1,
    "isStateless": true,
    "multiplePlacementGroups": true,
    "vmSecrets": [
      {
        "sourceVault": {
          "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resRg/providers/Microsoft.KeyVault/vaults/myVault"
        },
        "vaultCertificates": [
          {
            "certificateStore": "My",
            "certificateUrl": "https://myVault.vault.azure.net:443/secrets/myCert/ef1a31d39e1f46bca33def54b6cda54c"
          }
        ]
      }
    ],
    "vmExtensions": [
      {
        "name": "Microsoft.Azure.Geneva.GenevaMonitoring",
        "properties": {
          "autoUpgradeMinorVersion": true,
          "publisher": "Microsoft.Azure.Geneva",
          "type": "GenevaMonitoring",
          "typeHandlerVersion": "2.0",
          "settings": {}
        }
      }
    ],
    "vmManagedIdentity": {
      "userAssignedIdentities": [
        "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resRg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myIdentity",
        "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resRg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myIdentity2"
      ]
    }
  }
}

Sample response

Location: http://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ServiceFabric/locations/eastus/managedClusterOperationResults/1ca6e48d-70ca-4e43-b652-3b0522f64d67?api-version=2024-09-01-preview
Azure-AsyncOperation: http://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ServiceFabric/locations/eastus/managedClusterOperationStatus/1ca6e48d-70ca-4e43-b652-3b0522f64d67?api-version=2024-09-01-preview
{
  "type": "Microsoft.ServiceFabric/managedClusters/nodeTypes",
  "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/resRg/providers/Microsoft.ServiceFabric/managedClusters/myCluster/nodeTypes/BE",
  "name": "BE",
  "tags": {},
  "sku": {
    "name": "Standard_S2",
    "tier": "Standard",
    "capacity": 10
  },
  "properties": {
    "provisioningState": "Updating",
    "isPrimary": false,
    "dataDiskSizeGB": 200,
    "dataDiskType": "Premium_LRS",
    "placementProperties": {
      "HasSSD": "true",
      "NodeColor": "green",
      "SomeProperty": "5"
    },
    "capacities": {
      "ClientConnections": "65536"
    },
    "vmSize": "Standard_DS3",
    "vmImagePublisher": "MicrosoftWindowsServer",
    "vmImageOffer": "WindowsServer",
    "vmImageSku": "2016-Datacenter-Server-Core",
    "vmImageVersion": "latest",
    "vmInstanceCount": 10,
    "isStateless": true,
    "multiplePlacementGroups": true,
    "vmSecrets": [
      {
        "sourceVault": {
          "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resRg/providers/Microsoft.KeyVault/vaults/myVault"
        },
        "vaultCertificates": [
          {
            "certificateStore": "My",
            "certificateUrl": "https://myVault.vault.azure.net:443/secrets/myCert/ef1a31d39e1f46bca33def54b6cda54c"
          }
        ]
      }
    ],
    "vmExtensions": [
      {
        "name": "Microsoft.Azure.Geneva.GenevaMonitoring",
        "properties": {
          "autoUpgradeMinorVersion": true,
          "forceUpdateTag": "v.1.0",
          "publisher": "Microsoft.Azure.Geneva",
          "type": "GenevaMonitoring",
          "typeHandlerVersion": "2.0",
          "settings": {}
        }
      }
    ]
  }
}
Location: http://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ServiceFabric/locations/eastus/managedClusterOperationResults/1ca6e48d-70ca-4e43-b652-3b0522f64d67?api-version=2024-09-01-preview
Azure-AsyncOperation: http://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ServiceFabric/locations/eastus/managedClusterOperationStatus/1ca6e48d-70ca-4e43-b652-3b0522f64d67?api-version=2024-09-01-preview
{
  "type": "Microsoft.ServiceFabric/managedClusters/nodeTypes",
  "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/resRg/providers/Microsoft.ServiceFabric/managedClusters/myCluster/nodeTypes/BE",
  "name": "BE",
  "tags": {},
  "sku": {
    "name": "Standard_S2",
    "tier": "Standard",
    "capacity": 10
  },
  "properties": {
    "provisioningState": "Creating",
    "isPrimary": false,
    "dataDiskSizeGB": 200,
    "dataDiskType": "Premium_LRS",
    "placementProperties": {
      "HasSSD": "true",
      "NodeColor": "green",
      "SomeProperty": "5"
    },
    "capacities": {
      "ClientConnections": "65536"
    },
    "vmSize": "Standard_DS3",
    "vmImagePublisher": "MicrosoftWindowsServer",
    "vmImageOffer": "WindowsServer",
    "vmImageSku": "2016-Datacenter-Server-Core",
    "vmImageVersion": "latest",
    "vmInstanceCount": 10,
    "isStateless": true,
    "multiplePlacementGroups": true,
    "vmSecrets": [
      {
        "sourceVault": {
          "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resRg/providers/Microsoft.KeyVault/vaults/myVault"
        },
        "vaultCertificates": [
          {
            "certificateStore": "My",
            "certificateUrl": "https://myVault.vault.azure.net:443/secrets/myCert/ef1a31d39e1f46bca33def54b6cda54c"
          }
        ]
      }
    ],
    "vmExtensions": [
      {
        "name": "Microsoft.Azure.Geneva.GenevaMonitoring",
        "properties": {
          "autoUpgradeMinorVersion": true,
          "forceUpdateTag": "v.1.0",
          "publisher": "Microsoft.Azure.Geneva",
          "type": "GenevaMonitoring",
          "typeHandlerVersion": "2.0",
          "settings": {}
        }
      }
    ],
    "vmManagedIdentity": {
      "userAssignedIdentities": [
        "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resRg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myIdentity",
        "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resRg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myIdentity2"
      ]
    }
  }
}

Put a node type with maximum parameters

Sample request

PUT https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resRg/providers/Microsoft.ServiceFabric/managedClusters/myCluster/nodeTypes/BE-testResourceGroup-testRegion-test?api-version=2024-09-01-preview

{
  "properties": {
    "isPrimary": false,
    "dataDiskSizeGB": 200,
    "dataDiskType": "Premium_LRS",
    "dataDiskLetter": "S",
    "computerNamePrefix": "BE",
    "placementProperties": {
      "HasSSD": "true",
      "NodeColor": "green",
      "SomeProperty": "5"
    },
    "capacities": {
      "ClientConnections": "65536"
    },
    "vmSize": "Standard_DS3",
    "vmImagePublisher": "MicrosoftWindowsServer",
    "vmImageOffer": "WindowsServer",
    "vmImageSku": "2016-Datacenter-Server-Core",
    "vmImageVersion": "latest",
    "vmInstanceCount": 10,
    "enableEncryptionAtHost": true,
    "isStateless": true,
    "isSpotVM": true,
    "useEphemeralOSDisk": true,
    "spotRestoreTimeout": "PT30M",
    "evictionPolicy": "Deallocate",
    "enableOverProvisioning": false,
    "multiplePlacementGroups": true,
    "securityType": "TrustedLaunch",
    "secureBootEnabled": true,
    "enableNodePublicIP": true,
    "enableNodePublicIPv6": true,
    "natGatewayId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resRg/providers/Microsoft.Network/natGateways/myNatGateway",
    "serviceArtifactReferenceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resRg/providers/Microsoft.Compute/galleries/myGallery/serviceArtifacts/myServiceArtifact/vmArtifactsProfiles/myVmArtifactProfile",
    "dscpConfigurationId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resRg/providers/Microsoft.Network/dscpConfigurations/myDscpConfig",
    "vmSecrets": [
      {
        "sourceVault": {
          "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resRg/providers/Microsoft.KeyVault/vaults/myVault"
        },
        "vaultCertificates": [
          {
            "certificateStore": "My",
            "certificateUrl": "https://myVault.vault.azure.net:443/secrets/myCert/ef1a31d39e1f46bca33def54b6cda54c"
          }
        ]
      }
    ],
    "vmExtensions": [
      {
        "name": "Microsoft.Azure.Geneva.GenevaMonitoring",
        "properties": {
          "autoUpgradeMinorVersion": true,
          "enableAutomaticUpgrade": true,
          "forceUpdateTag": "v.1.0",
          "publisher": "Microsoft.Azure.Geneva",
          "type": "GenevaMonitoring",
          "typeHandlerVersion": "2.0",
          "settings": {},
          "setupOrder": [
            "BeforeSFRuntime"
          ]
        }
      }
    ],
    "vmManagedIdentity": {
      "userAssignedIdentities": [
        "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resRg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myIdentity",
        "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resRg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myIdentity2"
      ]
    },
    "additionalDataDisks": [
      {
        "lun": 1,
        "diskType": "StandardSSD_LRS",
        "diskSizeGB": 256,
        "diskLetter": "F"
      },
      {
        "lun": 2,
        "diskType": "Premium_LRS",
        "diskSizeGB": 150,
        "diskLetter": "G"
      }
    ],
    "enableAcceleratedNetworking": true,
    "frontendConfigurations": [
      {
        "loadBalancerBackendAddressPoolId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resRg/providers/Microsoft.Network/loadBalancers/test-LB/backendAddressPools/LoadBalancerBEAddressPool",
        "loadBalancerInboundNatPoolId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resRg/providers/Microsoft.Network/loadBalancers/test-LB/inboundNatPools/LoadBalancerNATPool",
        "applicationGatewayBackendAddressPoolId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resRg/providers/Microsoft.Network/applicationGateways/appgw-test/backendAddressPools/appgwBepoolTest"
      }
    ],
    "useDefaultPublicLoadBalancer": true,
    "subnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resRg/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet1",
    "vmSetupActions": [
      "EnableContainers",
      "EnableHyperV"
    ],
    "additionalNetworkInterfaceConfigurations": [
      {
        "name": "nic-1",
        "enableAcceleratedNetworking": true,
        "dscpConfiguration": {
          "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resRg/providers/Microsoft.Network/dscpConfigurations/myDscpConfig"
        },
        "ipConfigurations": [
          {
            "name": "ipconfig-1",
            "applicationGatewayBackendAddressPools": [
              {
                "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resRg/providers/Microsoft.Network/applicationGateways/appgw-test/backendAddressPools/appgwBepoolTest"
              }
            ],
            "loadBalancerBackendAddressPools": [
              {
                "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resRg/providers/Microsoft.Network/loadBalancers/test-LB/backendAddressPools/LoadBalancerBEAddressPool"
              }
            ],
            "loadBalancerInboundNatPools": [
              {
                "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resRg/providers/Microsoft.Network/loadBalancers/test-LB/inboundNatPools/LoadBalancerNATPool"
              }
            ],
            "subnet": {
              "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resRg/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet1"
            },
            "privateIPAddressVersion": "IPv4",
            "publicIPAddressConfiguration": {
              "name": "publicip-1",
              "ipTags": [
                {
                  "ipTagType": "RoutingPreference",
                  "tag": "Internet"
                }
              ],
              "publicIPAddressVersion": "IPv4"
            }
          }
        ]
      }
    ],
    "vmApplications": [
      {
        "configurationReference": "https://mystorageaccount.blob.core.windows.net/containername/blobname",
        "enableAutomaticUpgrade": true,
        "order": 1,
        "packageReferenceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resRg/providers/Microsoft.Compute/galleries/myGallery/applications/myApplication/versions/1.0.0",
        "vmGalleryTags": "{\"Tag1\":\"Value1\",\"Tag2\":\"Value2\"}",
        "treatFailureAsDeploymentFailure": false
      }
    ]
  }
}

Sample response

Location: http://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ServiceFabric/locations/eastus/managedClusterOperationResults/1ca6e48d-70ca-4e43-b652-3b0522f64d67?api-version=2024-09-01-preview
Azure-AsyncOperation: http://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ServiceFabric/locations/eastus/managedClusterOperationStatus/1ca6e48d-70ca-4e43-b652-3b0522f64d67?api-version=2024-09-01-preview
{
  "type": "Microsoft.ServiceFabric/managedClusters/nodeTypes",
  "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/resRg/providers/Microsoft.ServiceFabric/managedClusters/myCluster/nodeTypes/BE",
  "name": "BE",
  "tags": {},
  "properties": {
    "provisioningState": "Updating",
    "isPrimary": false,
    "dataDiskSizeGB": 200,
    "dataDiskType": "Premium_LRS",
    "dataDiskLetter": "S",
    "placementProperties": {
      "HasSSD": "true",
      "NodeColor": "green",
      "SomeProperty": "5"
    },
    "capacities": {
      "ClientConnections": "65536"
    },
    "vmSize": "Standard_DS3",
    "vmImagePublisher": "MicrosoftWindowsServer",
    "vmImageOffer": "WindowsServer",
    "vmImageSku": "2016-Datacenter-Server-Core",
    "vmImageVersion": "latest",
    "vmInstanceCount": 10,
    "enableEncryptionAtHost": true,
    "isStateless": true,
    "isSpotVM": true,
    "useEphemeralOSDisk": true,
    "spotRestoreTimeout": "PT30M",
    "evictionPolicy": "Deallocate",
    "enableOverProvisioning": false,
    "multiplePlacementGroups": true,
    "securityType": "TrustedLaunch",
    "secureBootEnabled": true,
    "enableNodePublicIP": true,
    "enableNodePublicIPv6": true,
    "natGatewayId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resRg/providers/Microsoft.Network/natGateways/myNatGateway",
    "serviceArtifactReferenceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resRg/providers/Microsoft.Compute/galleries/myGallery/serviceArtifacts/myServiceArtifact/vmArtifactsProfiles/myVmArtifactProfile",
    "dscpConfigurationId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resRg/providers/Microsoft.Network/dscpConfigurations/myDscpConfig",
    "vmSecrets": [
      {
        "sourceVault": {
          "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resRg/providers/Microsoft.KeyVault/vaults/myVault"
        },
        "vaultCertificates": [
          {
            "certificateStore": "My",
            "certificateUrl": "https://myVault.vault.azure.net:443/secrets/myCert/ef1a31d39e1f46bca33def54b6cda54c"
          }
        ]
      }
    ],
    "vmExtensions": [
      {
        "name": "Microsoft.Azure.Geneva.GenevaMonitoring",
        "properties": {
          "autoUpgradeMinorVersion": true,
          "enableAutomaticUpgrade": true,
          "forceUpdateTag": "v.1.0",
          "publisher": "Microsoft.Azure.Geneva",
          "type": "GenevaMonitoring",
          "typeHandlerVersion": "2.0",
          "settings": {},
          "setupOrder": [
            "BeforeSFRuntime"
          ]
        }
      }
    ],
    "vmManagedIdentity": {
      "userAssignedIdentities": [
        "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resRg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myIdentity",
        "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resRg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myIdentity2"
      ]
    },
    "additionalDataDisks": [
      {
        "lun": 1,
        "diskType": "StandardSSD_LRS",
        "diskSizeGB": 256,
        "diskLetter": "F"
      },
      {
        "lun": 2,
        "diskType": "Premium_LRS",
        "diskSizeGB": 150,
        "diskLetter": "G"
      }
    ],
    "enableAcceleratedNetworking": true,
    "frontendConfigurations": [
      {
        "loadBalancerBackendAddressPoolId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resRg/providers/Microsoft.Network/loadBalancers/test-LB/backendAddressPools/LoadBalancerBEAddressPool",
        "loadBalancerInboundNatPoolId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resRg/providers/Microsoft.Network/loadBalancers/test-LB/inboundNatPools/LoadBalancerNATPool",
        "applicationGatewayBackendAddressPoolId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resRg/providers/Microsoft.Network/applicationGateways/appgw-test/backendAddressPools/appgwBepoolTest"
      }
    ],
    "useDefaultPublicLoadBalancer": true,
    "zones": [
      "1",
      "2",
      "3"
    ],
    "subnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resRg/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet1",
    "vmSetupActions": [
      "EnableContainers",
      "EnableHyperV"
    ],
    "additionalNetworkInterfaceConfigurations": [
      {
        "name": "nic-1",
        "enableAcceleratedNetworking": true,
        "dscpConfiguration": {
          "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resRg/providers/Microsoft.Network/dscpConfigurations/myDscpConfig"
        },
        "ipConfigurations": [
          {
            "name": "ipconfig-1",
            "applicationGatewayBackendAddressPools": [
              {
                "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resRg/providers/Microsoft.Network/applicationGateways/appgw-test/backendAddressPools/appgwBepoolTest"
              }
            ],
            "loadBalancerBackendAddressPools": [
              {
                "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resRg/providers/Microsoft.Network/loadBalancers/test-LB/backendAddressPools/LoadBalancerBEAddressPool"
              }
            ],
            "loadBalancerInboundNatPools": [
              {
                "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resRg/providers/Microsoft.Network/loadBalancers/test-LB/inboundNatPools/LoadBalancerNATPool"
              }
            ],
            "subnet": {
              "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resRg/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet1"
            },
            "privateIPAddressVersion": "IPv4",
            "publicIPAddressConfiguration": {
              "name": "publicip-1",
              "ipTags": [
                {
                  "ipTagType": "RoutingPreference",
                  "tag": "Internet"
                }
              ],
              "publicIPAddressVersion": "IPv4"
            }
          }
        ]
      }
    ],
    "vmApplications": [
      {
        "configurationReference": "https://mystorageaccount.blob.core.windows.net/containername/blobname",
        "enableAutomaticUpgrade": true,
        "order": 1,
        "packageReferenceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resRg/providers/Microsoft.Compute/galleries/myGallery/applications/myApplication/versions/1.0.0",
        "vmGalleryTags": "{\"Tag1\":\"Value1\",\"Tag2\":\"Value2\"}",
        "treatFailureAsDeploymentFailure": false
      }
    ]
  }
}
Location: http://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ServiceFabric/locations/eastus/managedClusterOperationResults/1ca6e48d-70ca-4e43-b652-3b0522f64d67?api-version=2024-09-01-preview
Azure-AsyncOperation: http://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ServiceFabric/locations/eastus/managedClusterOperationStatus/1ca6e48d-70ca-4e43-b652-3b0522f64d67?api-version=2024-09-01-preview
{
  "type": "Microsoft.ServiceFabric/managedClusters/nodeTypes",
  "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/resRg/providers/Microsoft.ServiceFabric/managedClusters/myCluster/nodeTypes/BE",
  "name": "BE",
  "tags": {},
  "properties": {
    "provisioningState": "Creating",
    "isPrimary": false,
    "dataDiskSizeGB": 200,
    "dataDiskType": "Premium_LRS",
    "dataDiskLetter": "S",
    "placementProperties": {
      "HasSSD": "true",
      "NodeColor": "green",
      "SomeProperty": "5"
    },
    "capacities": {
      "ClientConnections": "65536"
    },
    "vmSize": "Standard_DS3",
    "vmImagePublisher": "MicrosoftWindowsServer",
    "vmImageOffer": "WindowsServer",
    "vmImageSku": "2016-Datacenter-Server-Core",
    "vmImageVersion": "latest",
    "vmInstanceCount": 10,
    "enableEncryptionAtHost": true,
    "isStateless": true,
    "isSpotVM": true,
    "useEphemeralOSDisk": true,
    "spotRestoreTimeout": "PT30M",
    "evictionPolicy": "Deallocate",
    "enableOverProvisioning": false,
    "multiplePlacementGroups": true,
    "securityType": "TrustedLaunch",
    "secureBootEnabled": true,
    "enableNodePublicIP": true,
    "enableNodePublicIPv6": true,
    "natGatewayId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resRg/providers/Microsoft.Network/natGateways/myNatGateway",
    "serviceArtifactReferenceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resRg/providers/Microsoft.Compute/galleries/myGallery/serviceArtifacts/myServiceArtifact/vmArtifactsProfiles/myVmArtifactProfile",
    "dscpConfigurationId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resRg/providers/Microsoft.Network/dscpConfigurations/myDscpConfig",
    "vmSecrets": [
      {
        "sourceVault": {
          "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resRg/providers/Microsoft.KeyVault/vaults/myVault"
        },
        "vaultCertificates": [
          {
            "certificateStore": "My",
            "certificateUrl": "https://myVault.vault.azure.net:443/secrets/myCert/ef1a31d39e1f46bca33def54b6cda54c"
          }
        ]
      }
    ],
    "vmExtensions": [
      {
        "name": "Microsoft.Azure.Geneva.GenevaMonitoring",
        "properties": {
          "autoUpgradeMinorVersion": true,
          "enableAutomaticUpgrade": true,
          "forceUpdateTag": "v.1.0",
          "publisher": "Microsoft.Azure.Geneva",
          "type": "GenevaMonitoring",
          "typeHandlerVersion": "2.0",
          "settings": {},
          "setupOrder": [
            "BeforeSFRuntime"
          ]
        }
      }
    ],
    "vmManagedIdentity": {
      "userAssignedIdentities": [
        "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resRg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myIdentity",
        "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resRg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myIdentity2"
      ]
    },
    "additionalDataDisks": [
      {
        "lun": 1,
        "diskType": "StandardSSD_LRS",
        "diskSizeGB": 256,
        "diskLetter": "F"
      },
      {
        "lun": 2,
        "diskType": "Premium_LRS",
        "diskSizeGB": 150,
        "diskLetter": "G"
      }
    ],
    "enableAcceleratedNetworking": true,
    "frontendConfigurations": [
      {
        "loadBalancerBackendAddressPoolId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resRg/providers/Microsoft.Network/loadBalancers/test-LB/backendAddressPools/LoadBalancerBEAddressPool",
        "loadBalancerInboundNatPoolId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resRg/providers/Microsoft.Network/loadBalancers/test-LB/inboundNatPools/LoadBalancerNATPool",
        "applicationGatewayBackendAddressPoolId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resRg/providers/Microsoft.Network/applicationGateways/appgw-test/backendAddressPools/appgwBepoolTest"
      }
    ],
    "useDefaultPublicLoadBalancer": true,
    "zones": [
      "1",
      "2",
      "3"
    ],
    "subnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resRg/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet1",
    "vmSetupActions": [
      "EnableContainers",
      "EnableHyperV"
    ],
    "additionalNetworkInterfaceConfigurations": [
      {
        "name": "nic-1",
        "enableAcceleratedNetworking": true,
        "dscpConfiguration": {
          "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resRg/providers/Microsoft.Network/dscpConfigurations/myDscpConfig"
        },
        "ipConfigurations": [
          {
            "name": "ipconfig-1",
            "applicationGatewayBackendAddressPools": [
              {
                "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resRg/providers/Microsoft.Network/applicationGateways/appgw-test/backendAddressPools/appgwBepoolTest"
              }
            ],
            "loadBalancerBackendAddressPools": [
              {
                "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resRg/providers/Microsoft.Network/loadBalancers/test-LB/backendAddressPools/LoadBalancerBEAddressPool"
              }
            ],
            "loadBalancerInboundNatPools": [
              {
                "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resRg/providers/Microsoft.Network/loadBalancers/test-LB/inboundNatPools/LoadBalancerNATPool"
              }
            ],
            "subnet": {
              "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resRg/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet1"
            },
            "privateIPAddressVersion": "IPv4",
            "publicIPAddressConfiguration": {
              "name": "publicip-1",
              "ipTags": [
                {
                  "ipTagType": "RoutingPreference",
                  "tag": "Internet"
                }
              ],
              "publicIPAddressVersion": "IPv4"
            }
          }
        ]
      }
    ],
    "vmApplications": [
      {
        "configurationReference": "https://mystorageaccount.blob.core.windows.net/containername/blobname",
        "enableAutomaticUpgrade": true,
        "order": 1,
        "packageReferenceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resRg/providers/Microsoft.Compute/galleries/myGallery/applications/myApplication/versions/1.0.0",
        "vmGalleryTags": "{\"Tag1\":\"Value1\",\"Tag2\":\"Value2\"}",
        "treatFailureAsDeploymentFailure": false
      }
    ]
  }
}

Put a node type with minimum parameters

Sample request

PUT https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resRg/providers/Microsoft.ServiceFabric/managedClusters/myCluster/nodeTypes/BE?api-version=2024-09-01-preview

{
  "properties": {
    "isPrimary": false,
    "dataDiskSizeGB": 200,
    "vmSize": "Standard_D3",
    "vmImagePublisher": "MicrosoftWindowsServer",
    "vmImageOffer": "WindowsServer",
    "vmImageSku": "2016-Datacenter-Server-Core",
    "vmImageVersion": "latest",
    "vmInstanceCount": 10
  }
}

Sample response

Location: http://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ServiceFabric/locations/eastus/managedClusterOperationResults/1ca6e48d-70ca-4e43-b652-3b0522f64d67?api-version=2024-09-01-preview
Azure-AsyncOperation: http://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ServiceFabric/locations/eastus/managedClusterOperationStatus/1ca6e48d-70ca-4e43-b652-3b0522f64d67?api-version=2024-09-01-preview
{
  "type": "Microsoft.ServiceFabric/managedClusters/nodeTypes",
  "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/resRg/providers/Microsoft.ServiceFabric/managedClusters/myCluster/nodeTypes/BE",
  "name": "BE",
  "tags": {},
  "properties": {
    "provisioningState": "Updating",
    "isPrimary": false,
    "dataDiskSizeGB": 200,
    "dataDiskType": "StandardSSD_LRS",
    "placementProperties": {},
    "capacities": {},
    "vmSize": "Standard_D3",
    "vmImagePublisher": "MicrosoftWindowsServer",
    "vmImageOffer": "WindowsServer",
    "vmImageSku": "2016-Datacenter-Server-Core",
    "vmImageVersion": "latest",
    "vmInstanceCount": 10,
    "isStateless": false
  }
}
Location: http://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ServiceFabric/locations/eastus/managedClusterOperationResults/1ca6e48d-70ca-4e43-b652-3b0522f64d67?api-version=2024-09-01-preview
Azure-AsyncOperation: http://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ServiceFabric/locations/eastus/managedClusterOperationStatus/1ca6e48d-70ca-4e43-b652-3b0522f64d67?api-version=2024-09-01-preview
{
  "type": "Microsoft.ServiceFabric/managedClusters/nodeTypes",
  "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/resRg/providers/Microsoft.ServiceFabric/managedClusters/myCluster/nodeTypes/BE",
  "name": "BE",
  "tags": {},
  "properties": {
    "provisioningState": "Creating",
    "isPrimary": false,
    "dataDiskSizeGB": 200,
    "dataDiskType": "StandardSSD_LRS",
    "placementProperties": {},
    "capacities": {},
    "vmSize": "Standard_D3",
    "vmImagePublisher": "MicrosoftWindowsServer",
    "vmImageOffer": "WindowsServer",
    "vmImageSku": "2016-Datacenter-Server-Core",
    "vmImageVersion": "latest",
    "vmInstanceCount": 10,
    "isStateless": false
  }
}

Put an stateless node type with temporary disk for service fabric

Sample request

PUT https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resRg/providers/Microsoft.ServiceFabric/managedClusters/myCluster/nodeTypes/BE?api-version=2024-09-01-preview

{
  "properties": {
    "isPrimary": false,
    "vmSize": "Standard_DS3",
    "vmImagePublisher": "MicrosoftWindowsServer",
    "vmImageOffer": "WindowsServer",
    "vmImageSku": "2016-Datacenter-Server-Core",
    "vmImageVersion": "latest",
    "vmInstanceCount": 10,
    "enableEncryptionAtHost": true,
    "isStateless": true,
    "useTempDataDisk": true,
    "multiplePlacementGroups": true,
    "vmExtensions": [
      {
        "name": "Microsoft.Azure.Geneva.GenevaMonitoring",
        "properties": {
          "autoUpgradeMinorVersion": true,
          "publisher": "Microsoft.Azure.Geneva",
          "type": "GenevaMonitoring",
          "typeHandlerVersion": "2.0",
          "settings": {}
        }
      }
    ]
  }
}

Sample response

Location: http://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ServiceFabric/locations/eastus/managedClusterOperationResults/1ca6e48d-70ca-4e43-b652-3b0522f64d67?api-version=2024-09-01-preview
Azure-AsyncOperation: http://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ServiceFabric/locations/eastus/managedClusterOperationStatus/1ca6e48d-70ca-4e43-b652-3b0522f64d67?api-version=2024-09-01-preview
{
  "type": "Microsoft.ServiceFabric/managedClusters/nodeTypes",
  "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/resRg/providers/Microsoft.ServiceFabric/managedClusters/myCluster/nodeTypes/BE",
  "name": "BE",
  "tags": {},
  "properties": {
    "provisioningState": "Updating",
    "isPrimary": false,
    "vmSize": "Standard_DS3",
    "vmImagePublisher": "MicrosoftWindowsServer",
    "vmImageOffer": "WindowsServer",
    "vmImageSku": "2016-Datacenter-Server-Core",
    "vmImageVersion": "latest",
    "vmInstanceCount": 10,
    "enableEncryptionAtHost": true,
    "isStateless": true,
    "useTempDataDisk": true,
    "multiplePlacementGroups": true,
    "vmExtensions": [
      {
        "name": "Microsoft.Azure.Geneva.GenevaMonitoring",
        "properties": {
          "autoUpgradeMinorVersion": true,
          "publisher": "Microsoft.Azure.Geneva",
          "type": "GenevaMonitoring",
          "typeHandlerVersion": "2.0",
          "settings": {}
        }
      }
    ]
  }
}
Location: http://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ServiceFabric/locations/eastus/managedClusterOperationResults/1ca6e48d-70ca-4e43-b652-3b0522f64d67?api-version=2024-09-01-preview
Azure-AsyncOperation: http://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ServiceFabric/locations/eastus/managedClusterOperationStatus/1ca6e48d-70ca-4e43-b652-3b0522f64d67?api-version=2024-09-01-preview
{
  "type": "Microsoft.ServiceFabric/managedClusters/nodeTypes",
  "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/resRg/providers/Microsoft.ServiceFabric/managedClusters/myCluster/nodeTypes/BE",
  "name": "BE",
  "tags": {},
  "properties": {
    "provisioningState": "Creating",
    "isPrimary": false,
    "vmSize": "Standard_DS3",
    "vmImagePublisher": "MicrosoftWindowsServer",
    "vmImageOffer": "WindowsServer",
    "vmImageSku": "2016-Datacenter-Server-Core",
    "vmImageVersion": "latest",
    "vmInstanceCount": 10,
    "enableEncryptionAtHost": true,
    "isStateless": true,
    "useTempDataDisk": true,
    "multiplePlacementGroups": true,
    "vmExtensions": [
      {
        "name": "Microsoft.Azure.Geneva.GenevaMonitoring",
        "properties": {
          "autoUpgradeMinorVersion": true,
          "publisher": "Microsoft.Azure.Geneva",
          "type": "GenevaMonitoring",
          "typeHandlerVersion": "2.0",
          "settings": {}
        }
      }
    ]
  }
}

Put node type with custom vm image

Sample request

PUT https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resRg/providers/Microsoft.ServiceFabric/managedClusters/myCluster/nodeTypes/BE?api-version=2024-09-01-preview

{
  "properties": {
    "isPrimary": false,
    "dataDiskSizeGB": 200,
    "vmSize": "Standard_D3",
    "vmImageResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-custom-image/providers/Microsoft.Compute/galleries/myCustomImages/images/Win2019DC",
    "vmInstanceCount": 10
  }
}

Sample response

Location: http://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ServiceFabric/locations/eastus/managedClusterOperationResults/1ca6e48d-70ca-4e43-b652-3b0522f64d67?api-version=2024-09-01-preview
Azure-AsyncOperation: http://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ServiceFabric/locations/eastus/managedClusterOperationStatus/1ca6e48d-70ca-4e43-b652-3b0522f64d67?api-version=2024-09-01-preview
{
  "type": "Microsoft.ServiceFabric/managedClusters/nodeTypes",
  "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/resRg/providers/Microsoft.ServiceFabric/managedClusters/myCluster/nodeTypes/BE",
  "name": "BE",
  "tags": {},
  "properties": {
    "provisioningState": "Updating",
    "isPrimary": false,
    "dataDiskSizeGB": 200,
    "dataDiskType": "StandardSSD_LRS",
    "placementProperties": {},
    "capacities": {},
    "vmSize": "Standard_D3",
    "vmImageResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-custom-image/providers/Microsoft.Compute/galleries/myCustomImages/images/Win2019DC",
    "vmInstanceCount": 10,
    "isStateless": false
  }
}
Location: http://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ServiceFabric/locations/eastus/managedClusterOperationResults/1ca6e48d-70ca-4e43-b652-3b0522f64d67?api-version=2024-09-01-preview
Azure-AsyncOperation: http://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ServiceFabric/locations/eastus/managedClusterOperationStatus/1ca6e48d-70ca-4e43-b652-3b0522f64d67?api-version=2024-09-01-preview
{
  "type": "Microsoft.ServiceFabric/managedClusters/nodeTypes",
  "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/resRg/providers/Microsoft.ServiceFabric/managedClusters/myCluster/nodeTypes/BE",
  "name": "BE",
  "tags": {},
  "properties": {
    "provisioningState": "Creating",
    "isPrimary": false,
    "dataDiskSizeGB": 200,
    "dataDiskType": "StandardSSD_LRS",
    "placementProperties": {},
    "capacities": {},
    "vmSize": "Standard_D3",
    "vmImageResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-custom-image/providers/Microsoft.Compute/galleries/myCustomImages/images/Win2019DC",
    "vmInstanceCount": 10,
    "isStateless": false
  }
}

Put node type with dedicated hosts

Sample request

PUT https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resRg/providers/Microsoft.ServiceFabric/managedClusters/myCluster/nodeTypes/BE?api-version=2024-09-01-preview

{
  "properties": {
    "isPrimary": false,
    "dataDiskSizeGB": 200,
    "dataDiskType": "StandardSSD_LRS",
    "placementProperties": {},
    "capacities": {},
    "vmSize": "Standard_D8s_v3",
    "vmImagePublisher": "MicrosoftWindowsServer",
    "vmImageOffer": "WindowsServer",
    "vmImageSku": "2019-Datacenter",
    "vmImageVersion": "latest",
    "vmInstanceCount": 10,
    "zones": [
      "1"
    ],
    "hostGroupId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testhostgroupRG/providers/Microsoft.Compute/hostGroups/testHostGroup"
  }
}

Sample response

Location: http://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ServiceFabric/locations/eastus/managedClusterOperationResults/1ca6e48d-70ca-4e43-b652-3b0522f64d67?api-version=2024-09-01-preview
Azure-AsyncOperation: http://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ServiceFabric/locations/eastus/managedClusterOperationStatus/1ca6e48d-70ca-4e43-b652-3b0522f64d67?api-version=2024-09-01-preview
{
  "type": "Microsoft.ServiceFabric/managedClusters/nodeTypes",
  "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/resRg/providers/Microsoft.ServiceFabric/managedClusters/myCluster/nodeTypes/BE",
  "name": "BE",
  "tags": {},
  "properties": {
    "provisioningState": "Updating",
    "isPrimary": false,
    "dataDiskSizeGB": 200,
    "dataDiskType": "StandardSSD_LRS",
    "placementProperties": {},
    "capacities": {},
    "vmSize": "Standard_D8s_v3",
    "vmImagePublisher": "MicrosoftWindowsServer",
    "vmImageOffer": "WindowsServer",
    "vmImageSku": "2019-Datacenter",
    "vmImageVersion": "latest",
    "vmInstanceCount": 10,
    "zones": [
      "1"
    ],
    "hostGroupId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testhostgroupRG/providers/Microsoft.Compute/hostGroups/testHostGroup",
    "isStateless": false
  }
}
Location: http://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ServiceFabric/locations/eastus/managedClusterOperationResults/1ca6e48d-70ca-4e43-b652-3b0522f64d67?api-version=2024-09-01-preview
Azure-AsyncOperation: http://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ServiceFabric/locations/eastus/managedClusterOperationStatus/1ca6e48d-70ca-4e43-b652-3b0522f64d67?api-version=2024-09-01-preview
{
  "type": "Microsoft.ServiceFabric/managedClusters/nodeTypes",
  "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/resRg/providers/Microsoft.ServiceFabric/managedClusters/myCluster/nodeTypes/BE",
  "name": "BE",
  "tags": {},
  "properties": {
    "provisioningState": "Creating",
    "isPrimary": false,
    "dataDiskSizeGB": 200,
    "dataDiskType": "StandardSSD_LRS",
    "placementProperties": {},
    "capacities": {},
    "vmSize": "Standard_D8s_v3",
    "vmImagePublisher": "MicrosoftWindowsServer",
    "vmImageOffer": "WindowsServer",
    "vmImageSku": "2019-Datacenter",
    "vmImageVersion": "latest",
    "vmInstanceCount": 10,
    "zones": [
      "1"
    ],
    "hostGroupId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testhostgroupRG/providers/Microsoft.Compute/hostGroups/testHostGroup",
    "isStateless": false
  }
}

Put node type with shared galleries custom vm image

Sample request

PUT https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resRg/providers/Microsoft.ServiceFabric/managedClusters/myCluster/nodeTypes/BE?api-version=2024-09-01-preview

{
  "properties": {
    "isPrimary": false,
    "dataDiskSizeGB": 200,
    "vmSize": "Standard_D3",
    "vmSharedGalleryImageId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-custom-image/providers/Microsoft.Compute/sharedGalleries/35349201-a0b3-405e-8a23-9f1450984307-SFSHAREDGALLERY/images/TestNoProdContainerDImage/versions/latest",
    "vmInstanceCount": 10
  }
}

Sample response

Location: http://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ServiceFabric/locations/eastus/managedClusterOperationResults/1ca6e48d-70ca-4e43-b652-3b0522f64d67?api-version=2024-09-01-preview
Azure-AsyncOperation: http://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ServiceFabric/locations/eastus/managedClusterOperationStatus/1ca6e48d-70ca-4e43-b652-3b0522f64d67?api-version=2024-09-01-preview
{
  "type": "Microsoft.ServiceFabric/managedClusters/nodeTypes",
  "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/resRg/providers/Microsoft.ServiceFabric/managedClusters/myCluster/nodeTypes/BE",
  "name": "BE",
  "tags": {},
  "properties": {
    "provisioningState": "Updating",
    "isPrimary": false,
    "dataDiskSizeGB": 200,
    "dataDiskType": "StandardSSD_LRS",
    "placementProperties": {},
    "capacities": {},
    "vmSize": "Standard_D3",
    "vmSharedGalleryImageId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-custom-image/providers/Microsoft.Compute/sharedGalleries/35349201-a0b3-405e-8a23-9f1450984307-SFSHAREDGALLERY/images/TestNoProdContainerDImage/versions/latest",
    "vmInstanceCount": 10,
    "isStateless": false
  }
}
Location: http://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ServiceFabric/locations/eastus/managedClusterOperationResults/1ca6e48d-70ca-4e43-b652-3b0522f64d67?api-version=2024-09-01-preview
Azure-AsyncOperation: http://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ServiceFabric/locations/eastus/managedClusterOperationStatus/1ca6e48d-70ca-4e43-b652-3b0522f64d67?api-version=2024-09-01-preview
{
  "type": "Microsoft.ServiceFabric/managedClusters/nodeTypes",
  "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/resRg/providers/Microsoft.ServiceFabric/managedClusters/myCluster/nodeTypes/BE",
  "name": "BE",
  "tags": {},
  "properties": {
    "provisioningState": "Creating",
    "isPrimary": false,
    "dataDiskSizeGB": 200,
    "dataDiskType": "StandardSSD_LRS",
    "placementProperties": {},
    "capacities": {},
    "vmSize": "Standard_D3",
    "vmSharedGalleryImageId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-custom-image/providers/Microsoft.Compute/sharedGalleries/35349201-a0b3-405e-8a23-9f1450984307-SFSHAREDGALLERY/images/TestNoProdContainerDImage/versions/latest",
    "vmInstanceCount": 10,
    "isStateless": false
  }
}

Put node type with vm image plan

Sample request

PUT https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resRg/providers/Microsoft.ServiceFabric/managedClusters/myCluster/nodeTypes/BE?api-version=2024-09-01-preview

{
  "properties": {
    "isPrimary": false,
    "dataDiskSizeGB": 200,
    "vmSize": "Standard_D3",
    "vmImagePublisher": "testpublisher",
    "vmImageOffer": "windows_2022_test",
    "vmImageSku": "win_2022_test_20_10_gen2",
    "vmImageVersion": "latest",
    "vmInstanceCount": 10,
    "vmImagePlan": {
      "name": "win_2022_test_20_10_gen2",
      "publisher": "testpublisher",
      "product": "windows_2022_test"
    }
  }
}

Sample response

Location: http://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ServiceFabric/locations/eastus/managedClusterOperationResults/1ca6e48d-70ca-4e43-b652-3b0522f64d67?api-version=2024-09-01-preview
Azure-AsyncOperation: http://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ServiceFabric/locations/eastus/managedClusterOperationStatus/1ca6e48d-70ca-4e43-b652-3b0522f64d67?api-version=2024-09-01-preview
{
  "type": "Microsoft.ServiceFabric/managedClusters/nodeTypes",
  "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/resRg/providers/Microsoft.ServiceFabric/managedClusters/myCluster/nodeTypes/BE",
  "name": "BE",
  "tags": {},
  "properties": {
    "provisioningState": "Updating",
    "isPrimary": false,
    "dataDiskSizeGB": 200,
    "dataDiskType": "StandardSSD_LRS",
    "placementProperties": {},
    "capacities": {},
    "vmSize": "Standard_D3",
    "vmImagePublisher": "testpublisher",
    "vmImageOffer": "windows_2022_test",
    "vmImageSku": "win_2022_test_20_10_gen2",
    "vmImageVersion": "latest",
    "vmInstanceCount": 10,
    "isStateless": false,
    "vmImagePlan": {
      "name": "win_2022_test_20_10_gen2",
      "publisher": "testpublisher",
      "product": "windows_2022_test"
    }
  }
}
Location: http://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ServiceFabric/locations/eastus/managedClusterOperationResults/1ca6e48d-70ca-4e43-b652-3b0522f64d67?api-version=2024-09-01-preview
Azure-AsyncOperation: http://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ServiceFabric/locations/eastus/managedClusterOperationStatus/1ca6e48d-70ca-4e43-b652-3b0522f64d67?api-version=2024-09-01-preview
{
  "type": "Microsoft.ServiceFabric/managedClusters/nodeTypes",
  "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/resRg/providers/Microsoft.ServiceFabric/managedClusters/myCluster/nodeTypes/BE",
  "name": "BE",
  "tags": {},
  "properties": {
    "provisioningState": "Creating",
    "isPrimary": false,
    "dataDiskSizeGB": 200,
    "dataDiskType": "StandardSSD_LRS",
    "placementProperties": {},
    "capacities": {},
    "vmSize": "Standard_D3",
    "vmImagePublisher": "testpublisher",
    "vmImageOffer": "windows_2022_test",
    "vmImageSku": "win_2022_test_20_10_gen2",
    "vmImageVersion": "latest",
    "vmInstanceCount": 10,
    "isStateless": false,
    "vmImagePlan": {
      "name": "win_2022_test_20_10_gen2",
      "publisher": "testpublisher",
      "product": "windows_2022_test"
    }
  }
}

Definitions

Name Description
access

The network traffic is allowed or denied.

AdditionalNetworkInterfaceConfiguration

Specifies the settings for a network interface to attach to the node type.

direction

Network security rule direction.

DiskType

Managed data disk type. IOPS and throughput are given by the disk size, to see more information go to https://docs.microsoft.com/en-us/azure/virtual-machines/disks-types.

EndpointRangeDescription

Port range details

ErrorModel

The structure of the error.

ErrorModelError

The error details.

EvictionPolicyType

Specifies the eviction policy for virtual machines in a SPOT node type.

FrontendConfiguration

Describes the frontend configurations for the node type.

IPAddressType

The IP address type.

IpConfiguration

Specifies an IP configuration of the network interface.

IpTag

The IP tag associated with the public IP address.

ManagedResourceProvisioningState

The provisioning state of the managed resource.

NetworkSecurityRule

Describes a network security rule.

NodeType

Describes a node type in the cluster, each node type represents sub set of nodes in the cluster.

NodeTypeNatConfig

Provides information about NAT configuration on the default public Load Balancer for the node type.

NodeTypeSku

Describes a node type sku.

nsgProtocol

Network protocol this rule applies to.

privateIPAddressVersion

Specifies whether the IP configuration's private IP is IPv4 or IPv6. Default is IPv4.

PublicIPAddressConfiguration

The public IP address configuration of the network interface.

publicIPAddressVersion

Specifies whether the IP configuration's public IP is IPv4 or IPv6. Default is IPv4.

securityType

Specifies the security type of the nodeType. Only Standard and TrustedLaunch are currently supported

SubResource

Azure resource identifier.

SystemData

Metadata pertaining to creation and last modification of the resource.

VaultCertificate

Describes a single certificate reference in a Key Vault, and where the certificate should reside on the VM.

VaultSecretGroup

Specifies set of certificates that should be installed onto the virtual machines.

VmApplication

Specifies the gallery application that should be made available to the underlying VMSS.

VmImagePlan

Specifies information about the marketplace image used to create the virtual machine. This element is only used for marketplace images. Before you can use a marketplace image from an API, you must enable the image for programmatic use. In the Azure portal, find the marketplace image that you want to use and then click Want to deploy programmatically, Get Started ->. Enter any required information and then click Save.

VmManagedIdentity

Identities for the virtual machine scale set under the node type.

VmSetupAction

action to be performed on the vms before bootstrapping the service fabric runtime.

VmssDataDisk

Managed data disk description.

VMSSExtension

Specifies set of extensions that should be installed onto the virtual machines.

VmssExtensionSetupOrder

Vm extension setup order.

access

The network traffic is allowed or denied.

Value Description
allow
deny

AdditionalNetworkInterfaceConfiguration

Specifies the settings for a network interface to attach to the node type.

Name Type Description
dscpConfiguration

SubResource

Specifies the DSCP configuration to apply to the network interface.

enableAcceleratedNetworking

boolean

Specifies whether the network interface is accelerated networking-enabled.

ipConfigurations

IpConfiguration[]

Specifies the IP configurations of the network interface.

name

string

Name of the network interface.

direction

Network security rule direction.

Value Description
inbound
outbound

DiskType

Managed data disk type. IOPS and throughput are given by the disk size, to see more information go to https://docs.microsoft.com/en-us/azure/virtual-machines/disks-types.

Value Description
Standard_LRS

Standard HDD locally redundant storage. Best for backup, non-critical, and infrequent access.

StandardSSD_LRS

Standard SSD locally redundant storage. Best for web servers, lightly used enterprise applications and dev/test.

Premium_LRS

Premium SSD locally redundant storage. Best for production and performance sensitive workloads.

EndpointRangeDescription

Port range details

Name Type Description
endPort

integer (int32)

End port of a range of ports

startPort

integer (int32)

Starting port of a range of ports

ErrorModel

The structure of the error.

Name Type Description
error

ErrorModelError

The error details.

ErrorModelError

The error details.

Name Type Description
code

string

The error code.

message

string

The error message.

EvictionPolicyType

Specifies the eviction policy for virtual machines in a SPOT node type.

Value Description
Delete

Eviction policy will be Delete for SPOT vms.

Deallocate

Eviction policy will be Deallocate for SPOT vms.

FrontendConfiguration

Describes the frontend configurations for the node type.

Name Type Default value Description
applicationGatewayBackendAddressPoolId

string (arm-id)

The resource Id of application gateway backend address pool. The format of the resource Id is '/subscriptions/<subscriptionId>/resourceGroups/<resourceGroupName>/providers/Microsoft.Network/applicationGateways/<applicationGatewayName>/backendAddressPools/<backendAddressPoolName>'.

ipAddressType

IPAddressType

IPv4

The IP address type of this frontend configuration. If omitted the default value is IPv4.

loadBalancerBackendAddressPoolId

string (arm-id)

The resource Id of the Load Balancer backend address pool that the VM instances of the node type are associated with. The format of the resource Id is '/subscriptions/<subscriptionId>/resourceGroups/<resourceGroupName>/providers/Microsoft.Network/loadBalancers/<loadBalancerName>/backendAddressPools/<backendAddressPoolName>'.

loadBalancerInboundNatPoolId

string (arm-id)

The resource Id of the Load Balancer inbound NAT pool that the VM instances of the node type are associated with. The format of the resource Id is '/subscriptions/<subscriptionId>/resourceGroups/<resourceGroupName>/providers/Microsoft.Network/loadBalancers/<loadBalancerName>/inboundNatPools/<inboundNatPoolName>'.

IPAddressType

The IP address type.

Value Description
IPv4

IPv4 address type.

IPv6

IPv6 address type.

IpConfiguration

Specifies an IP configuration of the network interface.

Name Type Default value Description
applicationGatewayBackendAddressPools

SubResource[]

Specifies an array of references to backend address pools of application gateways. A node type can reference backend address pools of multiple application gateways. Multiple node types cannot use the same application gateway.

loadBalancerBackendAddressPools

SubResource[]

Specifies an array of references to backend address pools of load balancers. A node type can reference backend address pools of one public and one internal load balancer. Multiple node types cannot use the same basic sku load balancer.

loadBalancerInboundNatPools

SubResource[]

Specifies an array of references to inbound Nat pools of the load balancers. A node type can reference inbound nat pools of one public and one internal load balancer. Multiple node types cannot use the same basic sku load balancer.

name

string

Name of the network interface.

privateIPAddressVersion

privateIPAddressVersion

IPv4

Specifies whether the IP configuration's private IP is IPv4 or IPv6. Default is IPv4.

publicIPAddressConfiguration

PublicIPAddressConfiguration

The public IP address configuration of the network interface.

subnet

SubResource

Specifies the subnet of the network interface.

IpTag

The IP tag associated with the public IP address.

Name Type Description
ipTagType

string

IP tag type. Example: FirstPartyUsage.

tag

string

IP tag associated with the public IP. Example: SQL, Storage etc.

ManagedResourceProvisioningState

The provisioning state of the managed resource.

Value Description
None
Creating
Created
Updating
Succeeded
Failed
Canceled
Deleting
Deleted
Other

NetworkSecurityRule

Describes a network security rule.

Name Type Description
access

access

The network traffic is allowed or denied.

description

string

Network security rule description.

destinationAddressPrefix

string

The destination address prefix. CIDR or destination IP range. Asterisk '*' can also be used to match all source IPs. Default tags such as 'VirtualNetwork', 'AzureLoadBalancer' and 'Internet' can also be used.

destinationAddressPrefixes

string[]

The destination address prefixes. CIDR or destination IP ranges.

destinationPortRange

string

he destination port or range. Integer or range between 0 and 65535. Asterisk '*' can also be used to match all ports.

destinationPortRanges

string[]

The destination port ranges.

direction

direction

Network security rule direction.

name

string

Network security rule name.

priority

integer (int32)

minimum: 1000
maximum: 3000

The priority of the rule. The value can be in the range 1000 to 3000. Values outside this range are reserved for Service Fabric ManagerCluster Resource Provider. The priority number must be unique for each rule in the collection. The lower the priority number, the higher the priority of the rule.

protocol

nsgProtocol

Network protocol this rule applies to.

sourceAddressPrefix

string

The CIDR or source IP range. Asterisk '*' can also be used to match all source IPs. Default tags such as 'VirtualNetwork', 'AzureLoadBalancer' and 'Internet' can also be used. If this is an ingress rule, specifies where network traffic originates from.

sourceAddressPrefixes

string[]

The CIDR or source IP ranges.

sourcePortRange

string

The source port or range. Integer or range between 0 and 65535. Asterisk '*' can also be used to match all ports.

sourcePortRanges

string[]

The source port ranges.

NodeType

Describes a node type in the cluster, each node type represents sub set of nodes in the cluster.

Name Type Default value Description
id

string

Azure resource identifier.

name

string

Azure resource name.

properties.additionalDataDisks

VmssDataDisk[]

Additional managed data disks.

properties.additionalNetworkInterfaceConfigurations

AdditionalNetworkInterfaceConfiguration[]

Specifies the settings for any additional secondary network interfaces to attach to the node type.

properties.applicationPorts

EndpointRangeDescription

The range of ports from which cluster assigned port to Service Fabric applications.

properties.capacities

object

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.

properties.computerNamePrefix

string

Specifies the computer name prefix. Limited to 9 characters. If specified, allows for a longer name to be specified for the node type name.

properties.dataDiskLetter

string

pattern: ^[a-zA-Z]{1}$

Managed data disk letter. It can not use the reserved letter C or D and it can not change after created.

properties.dataDiskSizeGB

integer (int32)

Disk size for the managed disk attached to the vms on the node type in GBs.

properties.dataDiskType

DiskType

StandardSSD_LRS

Managed data disk type. Specifies the storage account type for the managed disk

properties.dscpConfigurationId

string (arm-id)

Specifies the resource id of the DSCP configuration to apply to the node type network interface.

properties.enableAcceleratedNetworking

boolean

Specifies whether the network interface is accelerated networking-enabled.

properties.enableEncryptionAtHost

boolean

False

Enable or disable the Host Encryption for the virtual machines on the node type. This will enable the encryption for all the disks including Resource/Temp disk at host itself. Default: The Encryption at host will be disabled unless this property is set to true for the resource.

properties.enableNodePublicIP

boolean

Specifies whether each node is allocated its own public IPv4 address. This is only supported on secondary node types with custom Load Balancers.

properties.enableNodePublicIPv6

boolean

Specifies whether each node is allocated its own public IPv6 address. This is only supported on secondary node types with custom Load Balancers.

properties.enableOverProvisioning

boolean

Specifies whether the node type should be overprovisioned. It is only allowed for stateless node types.

properties.ephemeralPorts

EndpointRangeDescription

The range of ephemeral ports that nodes in this node type should be configured with.

properties.evictionPolicy

EvictionPolicyType

Specifies the eviction policy for virtual machines in a SPOT node type. Default is Delete.

properties.frontendConfigurations

FrontendConfiguration[]

Indicates the node type uses its own frontend configurations instead of the default one for the cluster. This setting can only be specified for non-primary node types and can not be added or removed after the node type is created.

properties.hostGroupId

string

Specifies the full host group resource Id. This property is used for deploying on azure dedicated hosts.

properties.isPrimary

boolean

Indicates the Service Fabric system services for the cluster will run on this node type. This setting cannot be changed once the node type is created.

properties.isSpotVM

boolean

Indicates whether the node type will be Spot Virtual Machines. Azure will allocate the VMs if there is capacity available and the VMs can be evicted at any time.

properties.isStateless

boolean

False

Indicates if the node type can only host Stateless workloads.

properties.multiplePlacementGroups

boolean

False

Indicates if scale set associated with the node type can be composed of multiple placement groups.

properties.natConfigurations

NodeTypeNatConfig[]

Specifies the NAT configuration on default public Load Balancer for the node type. This is only supported for node types use the default public Load Balancer.

properties.natGatewayId

string (arm-id)

Specifies the resource id of a NAT Gateway to attach to the subnet of this node type. Node type must use custom load balancer.

properties.networkSecurityRules

NetworkSecurityRule[]

The Network Security Rules for this node type. This setting can only be specified for node types that are configured with frontend configurations.

properties.placementProperties

object

The placement tags applied to nodes in the node type, which can be used to indicate where certain services (workload) should run.

properties.provisioningState

ManagedResourceProvisioningState

The provisioning state of the node type resource.

properties.secureBootEnabled

boolean

Specifies whether secure boot should be enabled on the nodeType. Can only be used with TrustedLaunch SecurityType

properties.securityType

securityType

Specifies the security type of the nodeType. Only Standard and TrustedLaunch are currently supported

properties.serviceArtifactReferenceId

string (arm-id)

Specifies the service artifact reference id used to set same image version for all virtual machines in the scale set when using 'latest' image version.

properties.spotRestoreTimeout

string

Indicates the time duration after which the platform will not try to restore the VMSS SPOT instances specified as ISO 8601.

properties.subnetId

string (arm-id)

Indicates the resource id of the subnet for the node type.

properties.useDefaultPublicLoadBalancer

boolean

Specifies whether the use public load balancer. If not specified and the node type doesn't have its own frontend configuration, it will be attached to the default load balancer. If the node type uses its own Load balancer and useDefaultPublicLoadBalancer is true, then the frontend has to be an Internal Load Balancer. If the node type uses its own Load balancer and useDefaultPublicLoadBalancer is false or not set, then the custom load balancer must include a public load balancer to provide outbound connectivity.

properties.useEphemeralOSDisk

boolean

Indicates whether to use ephemeral os disk. The sku selected on the vmSize property needs to support this feature.

properties.useTempDataDisk

boolean

Specifies whether to use the temporary disk for the service fabric data root, in which case no managed data disk will be attached and the temporary disk will be used. It is only allowed for stateless node types.

properties.vmApplications

VmApplication[]

Specifies the gallery applications that should be made available to the underlying VMSS.

properties.vmExtensions

VMSSExtension[]

virtual machine extensions.
Set of extensions that should be installed onto the virtual machines.

properties.vmImageOffer

string

The offer type of the Azure Virtual Machines Marketplace image. For example, UbuntuServer or WindowsServer.

properties.vmImagePlan

VmImagePlan

Specifies information about the marketplace image used to create the virtual machine. This element is only used for marketplace images. Before you can use a marketplace image from an API, you must enable the image for programmatic use. In the Azure portal, find the marketplace image that you want to use and then click Want to deploy programmatically, Get Started ->. Enter any required information and then click Save.

properties.vmImagePublisher

string

The publisher of the Azure Virtual Machines Marketplace image. For example, Canonical or MicrosoftWindowsServer.

properties.vmImageResourceId

string (arm-id)

Indicates the resource id of the vm image. This parameter is used for custom vm image.

properties.vmImageSku

string

The SKU of the Azure Virtual Machines Marketplace image. For example, 14.04.0-LTS or 2012-R2-Datacenter.

properties.vmImageVersion

string

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'.

properties.vmInstanceCount

integer (int32)

minimum: -1
maximum: 2147483647

The number of nodes in the node type.

Values:
-1 - Use when auto scale rules are configured or sku.capacity is defined
0 - Not supported
>0 - Use for manual scale.

properties.vmManagedIdentity

VmManagedIdentity

Identities to assign to the virtual machine scale set under the node type.

properties.vmSecrets

VaultSecretGroup[]

virtual machine secretes.
The secrets to install in the virtual machines.

properties.vmSetupActions

VmSetupAction[]

Specifies the actions to be performed on the vms before bootstrapping the service fabric runtime.

properties.vmSharedGalleryImageId

string (arm-id)

Indicates the resource id of the vm shared galleries image. This parameter is used for custom vm image.

properties.vmSize

string

The size of virtual machines in the pool. All virtual machines in a pool are the same size. For example, Standard_D3.

properties.zones

string[]

Specifies the availability zones where the node type would span across. If the cluster is not spanning across availability zones, initiates az migration for the cluster.

sku

NodeTypeSku

The node type sku.

systemData

SystemData

Metadata pertaining to creation and last modification of the resource.

tags

object

Azure resource tags.

type

string

Azure resource type.

NodeTypeNatConfig

Provides information about NAT configuration on the default public Load Balancer for the node type.

Name Type Description
backendPort

integer (int32)

minimum: 1
maximum: 65535

The internal port for the NAT configuration.

frontendPortRangeEnd

integer (int32)

minimum: 1
maximum: 65534

The port range end for the external endpoint.

frontendPortRangeStart

integer (int32)

minimum: 1
maximum: 65534

The port range start for the external endpoint.

NodeTypeSku

Describes a node type sku.

Name Type Description
capacity

integer (int32)

minimum: 1
maximum: 2147483647

The number of nodes in the node type.

If present in request it will override properties.vmInstanceCount.

name

string

The sku name.

Name is internally generated and is used in auto-scale scenarios.
Property does not allow to be changed to other values than generated.
To avoid deployment errors please omit the property.

tier

string

Specifies the tier of the node type.

Possible Values:
Standard

nsgProtocol

Network protocol this rule applies to.

Value Description
http
https
tcp
udp
icmp
ah
esp

privateIPAddressVersion

Specifies whether the IP configuration's private IP is IPv4 or IPv6. Default is IPv4.

Value Description
IPv4
IPv6

PublicIPAddressConfiguration

The public IP address configuration of the network interface.

Name Type Default value Description
ipTags

IpTag[]

Specifies the list of IP tags associated with the public IP address.

name

string

Name of the network interface.

publicIPAddressVersion

publicIPAddressVersion

IPv4

Specifies whether the IP configuration's public IP is IPv4 or IPv6. Default is IPv4.

publicIPAddressVersion

Specifies whether the IP configuration's public IP is IPv4 or IPv6. Default is IPv4.

Value Description
IPv4
IPv6

securityType

Specifies the security type of the nodeType. Only Standard and TrustedLaunch are currently supported

Value Description
TrustedLaunch

Trusted Launch is a security type that secures generation 2 virtual machines.

Standard

Standard is the default security type for all machines.

SubResource

Azure resource identifier.

Name Type Description
id

string

Azure resource identifier.

SystemData

Metadata pertaining to creation and last modification of the resource.

Name Type Description
createdAt

string (date-time)

The timestamp of resource creation (UTC).

createdBy

string

The identity that created the resource.

createdByType

string

The type of identity that created the resource.

lastModifiedAt

string (date-time)

The timestamp of resource last modification (UTC).

lastModifiedBy

string

The identity that last modified the resource.

lastModifiedByType

string

The type of identity that last modified the resource.

VaultCertificate

Describes a single certificate reference in a Key Vault, and where the certificate should reside on the VM.

Name Type Description
certificateStore

string

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 <UppercaseThumbprint>.crt for the X509 certificate file and <UppercaseThumbprint>.prv for private key. Both of these files are .pem formatted.

certificateUrl

string

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.

VaultSecretGroup

Specifies set of certificates that should be installed onto the virtual machines.

Name Type Description
sourceVault

SubResource

The relative URL of the Key Vault containing all of the certificates in VaultCertificates.

vaultCertificates

VaultCertificate[]

The list of key vault references in SourceVault which contain certificates.

VmApplication

Specifies the gallery application that should be made available to the underlying VMSS.

Name Type Description
configurationReference

string (uri)

Optional, Specifies the uri to an azure blob that will replace the default configuration for the package if provided.

enableAutomaticUpgrade

boolean

If set to true, when a new Gallery Application version is available in PIR/SIG, it will be automatically updated for the underlying VMSS.

order

integer (int32)

Optional, Specifies the order in which the packages have to be installed.

packageReferenceId

string (arm-id)

Specifies the GalleryApplicationVersion resource id on the form of /subscriptions/{SubscriptionId}/resourceGroups/{ResourceGroupName}/providers/Microsoft.Compute/galleries/{galleryName}/applications/{application}/versions/{version}.

treatFailureAsDeploymentFailure

boolean

Optional, If true, any failure for any operation in the VmApplication will fail the deployment.

vmGalleryTags

string

Optional, Specifies a passthrough value for more generic context. Accepts a JSON-formatted string e.g. '{"Tag1":"Value1","Tag2":"Value2"}'.

VmImagePlan

Specifies information about the marketplace image used to create the virtual machine. This element is only used for marketplace images. Before you can use a marketplace image from an API, you must enable the image for programmatic use. In the Azure portal, find the marketplace image that you want to use and then click Want to deploy programmatically, Get Started ->. Enter any required information and then click Save.

Name Type Description
name

string

The plan ID.

product

string

Specifies the product of the image from the marketplace. This is the same value as Offer under the imageReference element.

promotionCode

string

The promotion code.

publisher

string

The publisher ID.

VmManagedIdentity

Identities for the virtual machine scale set under the node type.

Name Type Description
userAssignedIdentities

string[]

The list of user identities associated with the virtual machine scale set under the node type. Each entry will be an ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'.

VmSetupAction

action to be performed on the vms before bootstrapping the service fabric runtime.

Value Description
EnableContainers

Enable windows containers feature.

EnableHyperV

Enables windows HyperV feature.

VmssDataDisk

Managed data disk description.

Name Type Default value Description
diskLetter

string

pattern: ^[a-zA-Z]{1}$

Managed data disk letter. It can not use the reserved letter C or D and it can not change after created.

diskSizeGB

integer (int32)

Disk size for each vm in the node type in GBs.

diskType

DiskType

StandardSSD_LRS

Managed data disk type. Specifies the storage account type for the managed disk

lun

integer (int32)

minimum: 1

Specifies the logical unit number of the data disk. This value is used to identify data disks within the VM and therefore must be unique for each data disk attached to a VM. Lun 0 is reserved for the service fabric data disk.

VMSSExtension

Specifies set of extensions that should be installed onto the virtual machines.

Name Type Description
name

string

The name of the extension.

properties.autoUpgradeMinorVersion

boolean

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.

properties.enableAutomaticUpgrade

boolean

Indicates whether the extension should be automatically upgraded by the platform if there is a newer version of the extension available.

properties.forceUpdateTag

string

If a value is provided and is different from the previous value, the extension handler will be forced to update even if the extension configuration has not changed.

properties.protectedSettings

object

The extension can contain either protectedSettings or protectedSettingsFromKeyVault or no protected settings at all.

properties.provisionAfterExtensions

string[]

Collection of extension names after which this extension needs to be provisioned.

properties.provisioningState

string

The provisioning state, which only appears in the response.

properties.publisher

string

The name of the extension handler publisher.

properties.settings

object

Json formatted public settings for the extension.

properties.setupOrder

VmssExtensionSetupOrder[]

Indicates the setup order for the extension.

properties.type

string

Specifies the type of the extension; an example is "CustomScriptExtension".

properties.typeHandlerVersion

string

Specifies the version of the script handler.

VmssExtensionSetupOrder

Vm extension setup order.

Value Description
BeforeSFRuntime

Indicates that the vm extension should run before the service fabric runtime starts.