ApplicationUpgradeDescription

Describes the parameters for an application upgrade. Note that upgrade description replaces the existing application description. This means that if the parameters are not specified, the existing parameters on the applications will be overwritten with the empty parameters list. This would result in the application using the default value of the parameters from the application manifest. If you do not want to change any existing parameter values, please get the application parameters first using the GetApplicationInfo query and then supply those values as Parameters in this ApplicationUpgradeDescription.

Properties

Name Type Required
Name string Yes
TargetApplicationTypeVersion string Yes
Parameters array of ApplicationParameter No
UpgradeKind string (enum) Yes
RollingUpgradeMode string (enum) No
UpgradeReplicaSetCheckTimeoutInSeconds integer (int64) No
ForceRestart boolean No
SortOrder string (enum) No
MonitoringPolicy MonitoringPolicyDescription No
ApplicationHealthPolicy ApplicationHealthPolicy No
InstanceCloseDelayDurationInSeconds integer (int64) No
ManagedApplicationIdentity ManagedApplicationIdentityDescription No

Name

Type: string
Required: Yes

The name of the target application, including the 'fabric:' URI scheme.


TargetApplicationTypeVersion

Type: string
Required: Yes

The target application type version (found in the application manifest) for the application upgrade.


Parameters

Type: array of ApplicationParameter
Required: No

List of application parameters with overridden values from their default values specified in the application manifest.


UpgradeKind

Type: string (enum)
Required: Yes
Default: Rolling

The kind of upgrade out of the following possible values.

Possible values are:

  • Invalid - Indicates the upgrade kind is invalid. All Service Fabric enumerations have the invalid type. The value is zero.
  • Rolling - The upgrade progresses one upgrade domain at a time. The value is 1

RollingUpgradeMode

Type: string (enum)
Required: No
Default: UnmonitoredAuto

The mode used to monitor health during a rolling upgrade. The values are UnmonitoredAuto, UnmonitoredManual, Monitored, and UnmonitoredDeferred.

Possible values are:

  • Invalid - Indicates the upgrade mode is invalid. All Service Fabric enumerations have the invalid type. The value is zero.
  • UnmonitoredAuto - The upgrade will proceed automatically without performing any health monitoring. The value is 1
  • UnmonitoredManual - The upgrade will stop after completing each upgrade domain, giving the opportunity to manually monitor health before proceeding. The value is 2
  • Monitored - The upgrade will stop after completing each upgrade domain and automatically monitor health before proceeding. The value is 3
  • UnmonitoredDeferred - Perform a node-by-node upgrade. No action is performed when upgrade starts; upgrade is applied on each node when it is deactivated with intent restart or higher. The value is 4

UpgradeReplicaSetCheckTimeoutInSeconds

Type: integer (int64)
Required: No

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


ForceRestart

Type: boolean
Required: No

If true, then processes are forcefully restarted during upgrade even when the code version has not changed (the upgrade only changes configuration or data).


SortOrder

Type: string (enum)
Required: No
Default: Default

Defines the order in which an upgrade proceeds through the cluster.

Possible values are:

  • Invalid - Indicates that this sort order is not valid. All Service Fabric enumerations have the invalid type. The value is 0.
  • Default - Indicates that the default sort order (as specified in cluster manifest) will be used. The value is 1.
  • Numeric - Indicates that forward numeric sort order (UD names sorted as numbers) will be used. The value is 2.
  • Lexicographical - Indicates that forward lexicographical sort order (UD names sorted as strings) will be used. The value is 3.
  • ReverseNumeric - Indicates that reverse numeric sort order (UD names sorted as numbers) will be used. The value is 4.
  • ReverseLexicographical - Indicates that reverse lexicographical sort order (UD names sorted as strings) will be used. The value is 5.

MonitoringPolicy

Type: MonitoringPolicyDescription
Required: No

Describes the parameters for monitoring an upgrade in Monitored mode.


ApplicationHealthPolicy

Type: ApplicationHealthPolicy
Required: No

Defines a health policy used to evaluate the health of an application or one of its children entities.


InstanceCloseDelayDurationInSeconds

Type: integer (int64)
Required: No

Duration in seconds, to wait before a stateless instance is closed, to allow the active requests to drain gracefully. This would be effective when the instance is closing during the application/cluster upgrade, only for those instances which have a non-zero delay duration configured in the service description. See InstanceCloseDelayDurationSeconds property in $ref: "#/definitions/StatelessServiceDescription.yaml" for details. Note, the default value of InstanceCloseDelayDurationInSeconds is 4294967295, which indicates that the behavior will entirely depend on the delay configured in the stateless service description.


ManagedApplicationIdentity

Type: ManagedApplicationIdentityDescription
Required: No

Managed application identity description.