Microsoft.ServiceFabric clusters/applications 2019-03-01-preview

Bicep resource definition

The clusters/applications resource type can be deployed with operations that target:

For a list of changed properties in each API version, see change log.

Resource format

To create a Microsoft.ServiceFabric/clusters/applications resource, add the following Bicep to your template.

resource symbolicname 'Microsoft.ServiceFabric/clusters/applications@2019-03-01-preview' = {
  name: 'string'
  location: 'string'
  tags: {
    tagName1: 'tagValue1'
    tagName2: 'tagValue2'
  }
  parent: resourceSymbolicName
  properties: {
    maximumNodes: int
    metrics: [
      {
        maximumCapacity: int
        name: 'string'
        reservationCapacity: int
        totalApplicationCapacity: int
      }
    ]
    minimumNodes: int
    parameters: {
      {customized property}: 'string'
    }
    removeApplicationCapacity: bool
    typeName: 'string'
    typeVersion: 'string'
    upgradePolicy: {
      applicationHealthPolicy: {
        considerWarningAsError: bool
        defaultServiceTypeHealthPolicy: {
          maxPercentUnhealthyPartitionsPerService: int
          maxPercentUnhealthyReplicasPerPartition: int
          maxPercentUnhealthyServices: int
        }
        maxPercentUnhealthyDeployedApplications: int
        serviceTypeHealthPolicyMap: {
          {customized property}: {
            maxPercentUnhealthyPartitionsPerService: int
            maxPercentUnhealthyReplicasPerPartition: int
            maxPercentUnhealthyServices: int
          }
        }
      }
      forceRestart: bool
      rollingUpgradeMonitoringPolicy: {
        failureAction: 'string'
        healthCheckRetryTimeout: 'string'
        healthCheckStableDuration: 'string'
        healthCheckWaitDuration: 'string'
        upgradeDomainTimeout: 'string'
        upgradeTimeout: 'string'
      }
      upgradeReplicaSetCheckTimeout: 'string'
    }
  }
}

Property values

clusters/applications

Name Description Value
name The resource name

See how to set names and types for child resources in Bicep.
string (required)
location Azure resource location. string
tags Azure resource tags. Dictionary of tag names and values. See Tags in templates
parent In Bicep, you can specify the parent resource for a child resource. You only need to add this property when the child resource is declared outside of the parent resource.

For more information, see Child resource outside parent resource.
Symbolic name for resource of type: clusters
properties The application resource properties. ApplicationResourceProperties

ApplicationResourceProperties

Name Description Value
maximumNodes The maximum number of nodes where Service Fabric will reserve capacity for this application. Note that this does not mean that the services of this application will be placed on all of those nodes. By default, the value of this property is zero and it means that the services can be placed on any node. int

Constraints:
Min value = 0
metrics List of application capacity metric description. ApplicationMetricDescription[]
minimumNodes The minimum number of nodes where Service Fabric will reserve capacity for this application. Note that this does not mean that the services of this application will be placed on all of those nodes. If this property is set to zero, no capacity will be reserved. The value of this property cannot be more than the value of the MaximumNodes property. int

Constraints:
Min value = 0
parameters List of application parameters with overridden values from their default values specified in the application manifest. ApplicationParameterList
removeApplicationCapacity Remove the current application capacity settings. bool
typeName The application type name as defined in the application manifest. string
typeVersion The version of the application type as defined in the application manifest. string
upgradePolicy Describes the policy for a monitored application upgrade. ApplicationUpgradePolicy

ApplicationMetricDescription

Name Description Value
maximumCapacity The maximum node capacity for Service Fabric application.
This is the maximum Load for an instance of this application on a single node. Even if the capacity of node is greater than this value, Service Fabric will limit the total load of services within the application on each node to this value.
If set to zero, capacity for this metric is unlimited on each node.
When creating a new application with application capacity defined, the product of MaximumNodes and this value must always be smaller than or equal to TotalApplicationCapacity.
When updating existing application with application capacity, the product of MaximumNodes and this value must always be smaller than or equal to TotalApplicationCapacity.
int
name The name of the metric. string
reservationCapacity The node reservation capacity for Service Fabric application.
This is the amount of load which is reserved on nodes which have instances of this application.
If MinimumNodes is specified, then the product of these values will be the capacity reserved in the cluster for the application.
If set to zero, no capacity is reserved for this metric.
When setting application capacity or when updating application capacity; this value must be smaller than or equal to MaximumCapacity for each metric.
int
totalApplicationCapacity The total metric capacity for Service Fabric application.
This is the total metric capacity for this application in the cluster. Service Fabric will try to limit the sum of loads of services within the application to this value.
When creating a new application with application capacity defined, the product of MaximumNodes and MaximumCapacity must always be smaller than or equal to this value.
int

ApplicationParameterList

Name Description Value
{customized property} string

ApplicationUpgradePolicy

Name Description Value
applicationHealthPolicy Defines a health policy used to evaluate the health of an application or one of its children entities. ArmApplicationHealthPolicy
forceRestart If true, then processes are forcefully restarted during upgrade even when the code version has not changed (the upgrade only changes configuration or data). bool
rollingUpgradeMonitoringPolicy The policy used for monitoring the application upgrade ArmRollingUpgradeMonitoringPolicy
upgradeReplicaSetCheckTimeout The maximum amount of time to block processing of an upgrade domain and prevent loss of availability when there are unexpected issues. When this timeout expires, processing of the upgrade domain will proceed regardless of availability loss issues. The timeout is reset at the start of each upgrade domain. Valid values are between 0 and 42949672925 inclusive. (unsigned 32-bit integer). string

ArmApplicationHealthPolicy

Name Description Value
considerWarningAsError Indicates whether warnings are treated with the same severity as errors. bool
defaultServiceTypeHealthPolicy The health policy used by default to evaluate the health of a service type. ArmServiceTypeHealthPolicy
maxPercentUnhealthyDeployedApplications The maximum allowed percentage of unhealthy deployed applications. Allowed values are Byte values from zero to 100.
The percentage represents the maximum tolerated percentage of deployed applications that can be unhealthy before the application is considered in error.
This is calculated by dividing the number of unhealthy deployed applications over the number of nodes where the application is currently deployed on in the cluster.
The computation rounds up to tolerate one failure on small numbers of nodes. Default percentage is zero.
int
serviceTypeHealthPolicyMap The map with service type health policy per service type name. The map is empty by default. ArmServiceTypeHealthPolicyMap

ArmServiceTypeHealthPolicy

Name Description Value
maxPercentUnhealthyPartitionsPerService The maximum percentage of partitions per service allowed to be unhealthy before your application is considered in error. int

Constraints:
Min value = 0
Max value = 100
maxPercentUnhealthyReplicasPerPartition The maximum percentage of replicas per partition allowed to be unhealthy before your application is considered in error. int

Constraints:
Min value = 0
Max value = 100
maxPercentUnhealthyServices The maximum percentage of services allowed to be unhealthy before your application is considered in error. int

Constraints:
Min value = 0
Max value = 100

ArmServiceTypeHealthPolicyMap

Name Description Value
{customized property} ArmServiceTypeHealthPolicy

ArmRollingUpgradeMonitoringPolicy

Name Description Value
failureAction The activation Mode of the service package 'Manual'
'Rollback'
healthCheckRetryTimeout The amount of time to retry health evaluation when the application or cluster is unhealthy before FailureAction is executed. It is first interpreted as a string representing an ISO 8601 duration. If that fails, then it is interpreted as a number representing the total number of milliseconds. string
healthCheckStableDuration The amount of time that the application or cluster must remain healthy before the upgrade proceeds to the next upgrade domain. It is first interpreted as a string representing an ISO 8601 duration. If that fails, then it is interpreted as a number representing the total number of milliseconds. string
healthCheckWaitDuration The amount of time to wait after completing an upgrade domain before applying health policies. It is first interpreted as a string representing an ISO 8601 duration. If that fails, then it is interpreted as a number representing the total number of milliseconds. string
upgradeDomainTimeout The amount of time each upgrade domain has to complete before FailureAction is executed. It is first interpreted as a string representing an ISO 8601 duration. If that fails, then it is interpreted as a number representing the total number of milliseconds. string
upgradeTimeout The amount of time the overall upgrade has to complete before FailureAction is executed. It is first interpreted as a string representing an ISO 8601 duration. If that fails, then it is interpreted as a number representing the total number of milliseconds. string

ARM template resource definition

The clusters/applications resource type can be deployed with operations that target:

For a list of changed properties in each API version, see change log.

Resource format

To create a Microsoft.ServiceFabric/clusters/applications resource, add the following JSON to your template.

{
  "type": "Microsoft.ServiceFabric/clusters/applications",
  "apiVersion": "2019-03-01-preview",
  "name": "string",
  "location": "string",
  "tags": {
    "tagName1": "tagValue1",
    "tagName2": "tagValue2"
  },
  "properties": {
    "maximumNodes": "int",
    "metrics": [
      {
        "maximumCapacity": "int",
        "name": "string",
        "reservationCapacity": "int",
        "totalApplicationCapacity": "int"
      }
    ],
    "minimumNodes": "int",
    "parameters": {
      "{customized property}": "string"
    },
    "removeApplicationCapacity": "bool",
    "typeName": "string",
    "typeVersion": "string",
    "upgradePolicy": {
      "applicationHealthPolicy": {
        "considerWarningAsError": "bool",
        "defaultServiceTypeHealthPolicy": {
          "maxPercentUnhealthyPartitionsPerService": "int",
          "maxPercentUnhealthyReplicasPerPartition": "int",
          "maxPercentUnhealthyServices": "int"
        },
        "maxPercentUnhealthyDeployedApplications": "int",
        "serviceTypeHealthPolicyMap": {
          "{customized property}": {
            "maxPercentUnhealthyPartitionsPerService": "int",
            "maxPercentUnhealthyReplicasPerPartition": "int",
            "maxPercentUnhealthyServices": "int"
          }
        }
      },
      "forceRestart": "bool",
      "rollingUpgradeMonitoringPolicy": {
        "failureAction": "string",
        "healthCheckRetryTimeout": "string",
        "healthCheckStableDuration": "string",
        "healthCheckWaitDuration": "string",
        "upgradeDomainTimeout": "string",
        "upgradeTimeout": "string"
      },
      "upgradeReplicaSetCheckTimeout": "string"
    }
  }
}

Property values

clusters/applications

Name Description Value
type The resource type 'Microsoft.ServiceFabric/clusters/applications'
apiVersion The resource api version '2019-03-01-preview'
name The resource name

See how to set names and types for child resources in JSON ARM templates.
string (required)
location Azure resource location. string
tags Azure resource tags. Dictionary of tag names and values. See Tags in templates
properties The application resource properties. ApplicationResourceProperties

ApplicationResourceProperties

Name Description Value
maximumNodes The maximum number of nodes where Service Fabric will reserve capacity for this application. Note that this does not mean that the services of this application will be placed on all of those nodes. By default, the value of this property is zero and it means that the services can be placed on any node. int

Constraints:
Min value = 0
metrics List of application capacity metric description. ApplicationMetricDescription[]
minimumNodes The minimum number of nodes where Service Fabric will reserve capacity for this application. Note that this does not mean that the services of this application will be placed on all of those nodes. If this property is set to zero, no capacity will be reserved. The value of this property cannot be more than the value of the MaximumNodes property. int

Constraints:
Min value = 0
parameters List of application parameters with overridden values from their default values specified in the application manifest. ApplicationParameterList
removeApplicationCapacity Remove the current application capacity settings. bool
typeName The application type name as defined in the application manifest. string
typeVersion The version of the application type as defined in the application manifest. string
upgradePolicy Describes the policy for a monitored application upgrade. ApplicationUpgradePolicy

ApplicationMetricDescription

Name Description Value
maximumCapacity The maximum node capacity for Service Fabric application.
This is the maximum Load for an instance of this application on a single node. Even if the capacity of node is greater than this value, Service Fabric will limit the total load of services within the application on each node to this value.
If set to zero, capacity for this metric is unlimited on each node.
When creating a new application with application capacity defined, the product of MaximumNodes and this value must always be smaller than or equal to TotalApplicationCapacity.
When updating existing application with application capacity, the product of MaximumNodes and this value must always be smaller than or equal to TotalApplicationCapacity.
int
name The name of the metric. string
reservationCapacity The node reservation capacity for Service Fabric application.
This is the amount of load which is reserved on nodes which have instances of this application.
If MinimumNodes is specified, then the product of these values will be the capacity reserved in the cluster for the application.
If set to zero, no capacity is reserved for this metric.
When setting application capacity or when updating application capacity; this value must be smaller than or equal to MaximumCapacity for each metric.
int
totalApplicationCapacity The total metric capacity for Service Fabric application.
This is the total metric capacity for this application in the cluster. Service Fabric will try to limit the sum of loads of services within the application to this value.
When creating a new application with application capacity defined, the product of MaximumNodes and MaximumCapacity must always be smaller than or equal to this value.
int

ApplicationParameterList

Name Description Value
{customized property} string

ApplicationUpgradePolicy

Name Description Value
applicationHealthPolicy Defines a health policy used to evaluate the health of an application or one of its children entities. ArmApplicationHealthPolicy
forceRestart If true, then processes are forcefully restarted during upgrade even when the code version has not changed (the upgrade only changes configuration or data). bool
rollingUpgradeMonitoringPolicy The policy used for monitoring the application upgrade ArmRollingUpgradeMonitoringPolicy
upgradeReplicaSetCheckTimeout The maximum amount of time to block processing of an upgrade domain and prevent loss of availability when there are unexpected issues. When this timeout expires, processing of the upgrade domain will proceed regardless of availability loss issues. The timeout is reset at the start of each upgrade domain. Valid values are between 0 and 42949672925 inclusive. (unsigned 32-bit integer). string

ArmApplicationHealthPolicy

Name Description Value
considerWarningAsError Indicates whether warnings are treated with the same severity as errors. bool
defaultServiceTypeHealthPolicy The health policy used by default to evaluate the health of a service type. ArmServiceTypeHealthPolicy
maxPercentUnhealthyDeployedApplications The maximum allowed percentage of unhealthy deployed applications. Allowed values are Byte values from zero to 100.
The percentage represents the maximum tolerated percentage of deployed applications that can be unhealthy before the application is considered in error.
This is calculated by dividing the number of unhealthy deployed applications over the number of nodes where the application is currently deployed on in the cluster.
The computation rounds up to tolerate one failure on small numbers of nodes. Default percentage is zero.
int
serviceTypeHealthPolicyMap The map with service type health policy per service type name. The map is empty by default. ArmServiceTypeHealthPolicyMap

ArmServiceTypeHealthPolicy

Name Description Value
maxPercentUnhealthyPartitionsPerService The maximum percentage of partitions per service allowed to be unhealthy before your application is considered in error. int

Constraints:
Min value = 0
Max value = 100
maxPercentUnhealthyReplicasPerPartition The maximum percentage of replicas per partition allowed to be unhealthy before your application is considered in error. int

Constraints:
Min value = 0
Max value = 100
maxPercentUnhealthyServices The maximum percentage of services allowed to be unhealthy before your application is considered in error. int

Constraints:
Min value = 0
Max value = 100

ArmServiceTypeHealthPolicyMap

Name Description Value
{customized property} ArmServiceTypeHealthPolicy

ArmRollingUpgradeMonitoringPolicy

Name Description Value
failureAction The activation Mode of the service package 'Manual'
'Rollback'
healthCheckRetryTimeout The amount of time to retry health evaluation when the application or cluster is unhealthy before FailureAction is executed. It is first interpreted as a string representing an ISO 8601 duration. If that fails, then it is interpreted as a number representing the total number of milliseconds. string
healthCheckStableDuration The amount of time that the application or cluster must remain healthy before the upgrade proceeds to the next upgrade domain. It is first interpreted as a string representing an ISO 8601 duration. If that fails, then it is interpreted as a number representing the total number of milliseconds. string
healthCheckWaitDuration The amount of time to wait after completing an upgrade domain before applying health policies. It is first interpreted as a string representing an ISO 8601 duration. If that fails, then it is interpreted as a number representing the total number of milliseconds. string
upgradeDomainTimeout The amount of time each upgrade domain has to complete before FailureAction is executed. It is first interpreted as a string representing an ISO 8601 duration. If that fails, then it is interpreted as a number representing the total number of milliseconds. string
upgradeTimeout The amount of time the overall upgrade has to complete before FailureAction is executed. It is first interpreted as a string representing an ISO 8601 duration. If that fails, then it is interpreted as a number representing the total number of milliseconds. string

Terraform (AzAPI provider) resource definition

The clusters/applications resource type can be deployed with operations that target:

  • Resource groups

For a list of changed properties in each API version, see change log.

Resource format

To create a Microsoft.ServiceFabric/clusters/applications resource, add the following Terraform to your template.

resource "azapi_resource" "symbolicname" {
  type = "Microsoft.ServiceFabric/clusters/applications@2019-03-01-preview"
  name = "string"
  location = "string"
  parent_id = "string"
  tags = {
    tagName1 = "tagValue1"
    tagName2 = "tagValue2"
  }
  body = jsonencode({
    properties = {
      maximumNodes = int
      metrics = [
        {
          maximumCapacity = int
          name = "string"
          reservationCapacity = int
          totalApplicationCapacity = int
        }
      ]
      minimumNodes = int
      parameters = {
        {customized property} = "string"
      }
      removeApplicationCapacity = bool
      typeName = "string"
      typeVersion = "string"
      upgradePolicy = {
        applicationHealthPolicy = {
          considerWarningAsError = bool
          defaultServiceTypeHealthPolicy = {
            maxPercentUnhealthyPartitionsPerService = int
            maxPercentUnhealthyReplicasPerPartition = int
            maxPercentUnhealthyServices = int
          }
          maxPercentUnhealthyDeployedApplications = int
          serviceTypeHealthPolicyMap = {
            {customized property} = {
              maxPercentUnhealthyPartitionsPerService = int
              maxPercentUnhealthyReplicasPerPartition = int
              maxPercentUnhealthyServices = int
            }
          }
        }
        forceRestart = bool
        rollingUpgradeMonitoringPolicy = {
          failureAction = "string"
          healthCheckRetryTimeout = "string"
          healthCheckStableDuration = "string"
          healthCheckWaitDuration = "string"
          upgradeDomainTimeout = "string"
          upgradeTimeout = "string"
        }
        upgradeReplicaSetCheckTimeout = "string"
      }
    }
  })
}

Property values

clusters/applications

Name Description Value
type The resource type "Microsoft.ServiceFabric/clusters/applications@2019-03-01-preview"
name The resource name string (required)
location Azure resource location. string
parent_id The ID of the resource that is the parent for this resource. ID for resource of type: clusters
tags Azure resource tags. Dictionary of tag names and values.
properties The application resource properties. ApplicationResourceProperties

ApplicationResourceProperties

Name Description Value
maximumNodes The maximum number of nodes where Service Fabric will reserve capacity for this application. Note that this does not mean that the services of this application will be placed on all of those nodes. By default, the value of this property is zero and it means that the services can be placed on any node. int

Constraints:
Min value = 0
metrics List of application capacity metric description. ApplicationMetricDescription[]
minimumNodes The minimum number of nodes where Service Fabric will reserve capacity for this application. Note that this does not mean that the services of this application will be placed on all of those nodes. If this property is set to zero, no capacity will be reserved. The value of this property cannot be more than the value of the MaximumNodes property. int

Constraints:
Min value = 0
parameters List of application parameters with overridden values from their default values specified in the application manifest. ApplicationParameterList
removeApplicationCapacity Remove the current application capacity settings. bool
typeName The application type name as defined in the application manifest. string
typeVersion The version of the application type as defined in the application manifest. string
upgradePolicy Describes the policy for a monitored application upgrade. ApplicationUpgradePolicy

ApplicationMetricDescription

Name Description Value
maximumCapacity The maximum node capacity for Service Fabric application.
This is the maximum Load for an instance of this application on a single node. Even if the capacity of node is greater than this value, Service Fabric will limit the total load of services within the application on each node to this value.
If set to zero, capacity for this metric is unlimited on each node.
When creating a new application with application capacity defined, the product of MaximumNodes and this value must always be smaller than or equal to TotalApplicationCapacity.
When updating existing application with application capacity, the product of MaximumNodes and this value must always be smaller than or equal to TotalApplicationCapacity.
int
name The name of the metric. string
reservationCapacity The node reservation capacity for Service Fabric application.
This is the amount of load which is reserved on nodes which have instances of this application.
If MinimumNodes is specified, then the product of these values will be the capacity reserved in the cluster for the application.
If set to zero, no capacity is reserved for this metric.
When setting application capacity or when updating application capacity; this value must be smaller than or equal to MaximumCapacity for each metric.
int
totalApplicationCapacity The total metric capacity for Service Fabric application.
This is the total metric capacity for this application in the cluster. Service Fabric will try to limit the sum of loads of services within the application to this value.
When creating a new application with application capacity defined, the product of MaximumNodes and MaximumCapacity must always be smaller than or equal to this value.
int

ApplicationParameterList

Name Description Value
{customized property} string

ApplicationUpgradePolicy

Name Description Value
applicationHealthPolicy Defines a health policy used to evaluate the health of an application or one of its children entities. ArmApplicationHealthPolicy
forceRestart If true, then processes are forcefully restarted during upgrade even when the code version has not changed (the upgrade only changes configuration or data). bool
rollingUpgradeMonitoringPolicy The policy used for monitoring the application upgrade ArmRollingUpgradeMonitoringPolicy
upgradeReplicaSetCheckTimeout The maximum amount of time to block processing of an upgrade domain and prevent loss of availability when there are unexpected issues. When this timeout expires, processing of the upgrade domain will proceed regardless of availability loss issues. The timeout is reset at the start of each upgrade domain. Valid values are between 0 and 42949672925 inclusive. (unsigned 32-bit integer). string

ArmApplicationHealthPolicy

Name Description Value
considerWarningAsError Indicates whether warnings are treated with the same severity as errors. bool
defaultServiceTypeHealthPolicy The health policy used by default to evaluate the health of a service type. ArmServiceTypeHealthPolicy
maxPercentUnhealthyDeployedApplications The maximum allowed percentage of unhealthy deployed applications. Allowed values are Byte values from zero to 100.
The percentage represents the maximum tolerated percentage of deployed applications that can be unhealthy before the application is considered in error.
This is calculated by dividing the number of unhealthy deployed applications over the number of nodes where the application is currently deployed on in the cluster.
The computation rounds up to tolerate one failure on small numbers of nodes. Default percentage is zero.
int
serviceTypeHealthPolicyMap The map with service type health policy per service type name. The map is empty by default. ArmServiceTypeHealthPolicyMap

ArmServiceTypeHealthPolicy

Name Description Value
maxPercentUnhealthyPartitionsPerService The maximum percentage of partitions per service allowed to be unhealthy before your application is considered in error. int

Constraints:
Min value = 0
Max value = 100
maxPercentUnhealthyReplicasPerPartition The maximum percentage of replicas per partition allowed to be unhealthy before your application is considered in error. int

Constraints:
Min value = 0
Max value = 100
maxPercentUnhealthyServices The maximum percentage of services allowed to be unhealthy before your application is considered in error. int

Constraints:
Min value = 0
Max value = 100

ArmServiceTypeHealthPolicyMap

Name Description Value
{customized property} ArmServiceTypeHealthPolicy

ArmRollingUpgradeMonitoringPolicy

Name Description Value
failureAction The activation Mode of the service package "Manual"
"Rollback"
healthCheckRetryTimeout The amount of time to retry health evaluation when the application or cluster is unhealthy before FailureAction is executed. It is first interpreted as a string representing an ISO 8601 duration. If that fails, then it is interpreted as a number representing the total number of milliseconds. string
healthCheckStableDuration The amount of time that the application or cluster must remain healthy before the upgrade proceeds to the next upgrade domain. It is first interpreted as a string representing an ISO 8601 duration. If that fails, then it is interpreted as a number representing the total number of milliseconds. string
healthCheckWaitDuration The amount of time to wait after completing an upgrade domain before applying health policies. It is first interpreted as a string representing an ISO 8601 duration. If that fails, then it is interpreted as a number representing the total number of milliseconds. string
upgradeDomainTimeout The amount of time each upgrade domain has to complete before FailureAction is executed. It is first interpreted as a string representing an ISO 8601 duration. If that fails, then it is interpreted as a number representing the total number of milliseconds. string
upgradeTimeout The amount of time the overall upgrade has to complete before FailureAction is executed. It is first interpreted as a string representing an ISO 8601 duration. If that fails, then it is interpreted as a number representing the total number of milliseconds. string