StatefulServiceUpdateDescription

Describes an update for a stateful service.

Properties

Name Type Required
Flags string No
PlacementConstraints string No
CorrelationScheme array of ServiceCorrelationDescription No
LoadMetrics array of ServiceLoadMetricDescription No
ServicePlacementPolicies array of ServicePlacementPolicyDescription No
DefaultMoveCost string (enum) No
ScalingPolicies array of ScalingPolicyDescription No
ServiceDnsName string No
TagsForPlacement NodeTagsDescription No
TagsForRunning NodeTagsDescription No
TargetReplicaSetSize integer No
MinReplicaSetSize integer No
ReplicaRestartWaitDurationSeconds string No
QuorumLossWaitDurationSeconds string No
StandByReplicaKeepDurationSeconds string No
ServicePlacementTimeLimitSeconds string No
DropSourceReplicaOnMove boolean No
ReplicaLifecycleDescription ReplicaLifecycleDescription No
AuxiliaryReplicaCount integer No

Flags

Type: string
Required: No

Flags indicating whether other properties are set. Each of the associated properties corresponds to a flag, specified below, which, if set, indicate that the property is specified. This property can be a combination of those flags obtained using bitwise 'OR' operator. For example, if the provided value is (6 -> 110) then the flags for ReplicaRestartWaitDuration (2 -> 010) and QuorumLossWaitDuration (4 -> 100) are set.

Flag Value
None 0x0000
TargetReplicaSetSize 0x0001
ReplicaRestartWaitDuration 0x0002
QuorumLossWaitDuration 0x0004
StandByReplicaKeepDuration 0x0008
MinReplicaSetSize 0x0010
PlacementConstraints 0x0020
PlacementPolicyList 0x0040
Correlation 0x0080
Metrics 0x0100
DefaultMoveCost 0x0200
ScalingPolicy 0x0400
ServicePlacementTimeLimit 0x0800
DropSourceReplicaOnMove 0x1000
ServiceDnsName 0x2000
IsSingletonReplicaMoveAllowedDuringUpgrade 0x4000
RestoreReplicaLocationAfterUpgrade 0x8000
TagsForPlacement 0x10000
TagsForRunning 0x20000
AuxiliaryReplicaCount 0x40000
ServiceSensitivity 0x80000

PlacementConstraints

Type: string
Required: No

The placement constraints as a string. Placement constraints are boolean expressions on node properties and allow for restricting a service to particular nodes based on the service requirements. For example, to place a service on nodes where NodeType is blue specify the following: "NodeColor == blue)".


CorrelationScheme

Type: array of ServiceCorrelationDescription
Required: No

The correlation scheme.


LoadMetrics

Type: array of ServiceLoadMetricDescription
Required: No

The service load metrics.


ServicePlacementPolicies

Type: array of ServicePlacementPolicyDescription
Required: No

The service placement policies.


DefaultMoveCost

Type: string (enum)
Required: No

The move cost for the service.

Specifies the move cost for the service.

Possible values are:

  • Zero - Zero move cost. This value is zero.
  • Low - Specifies the move cost of the service as Low. The value is 1.
  • Medium - Specifies the move cost of the service as Medium. The value is 2.
  • High - Specifies the move cost of the service as High. The value is 3.
  • VeryHigh - Specifies the move cost of the service as VeryHigh. The value is 4.

ScalingPolicies

Type: array of ScalingPolicyDescription
Required: No

Scaling policies for this service.


ServiceDnsName

Type: string
Required: No

The DNS name of the service.


TagsForPlacement

Type: NodeTagsDescription
Required: No

Tags for placement of this service.


TagsForRunning

Type: NodeTagsDescription
Required: No

Tags for running of this service.


TargetReplicaSetSize

Type: integer
Required: No
InclusiveMinimum: 1

The target replica set size as a number.


MinReplicaSetSize

Type: integer
Required: No
InclusiveMinimum: 1

The minimum replica set size as a number.


ReplicaRestartWaitDurationSeconds

Type: string
Required: No

The duration, in seconds, between when a replica goes down and when a new replica is created.


QuorumLossWaitDurationSeconds

Type: string
Required: No

The maximum duration, in seconds, for which a partition is allowed to be in a state of quorum loss.


StandByReplicaKeepDurationSeconds

Type: string
Required: No

The definition on how long StandBy replicas should be maintained before being removed.


ServicePlacementTimeLimitSeconds

Type: string
Required: No

The duration for which replicas can stay InBuild before reporting that build is stuck.


DropSourceReplicaOnMove

Type: boolean
Required: No

Indicates whether to drop source Secondary replica even if the target replica has not finished build. If desired behavior is to drop it as soon as possible the value of this property is true, if not it is false.


ReplicaLifecycleDescription

Type: ReplicaLifecycleDescription
Required: No

Defines how replicas of this service will behave during ther lifecycle.


AuxiliaryReplicaCount

Type: integer
Required: No
InclusiveMinimum: 0

The auxiliary replica count as a number. To use Auxiliary replicas, the following must be true: AuxiliaryReplicaCount < (TargetReplicaSetSize+1)/2 and TargetReplicaSetSize >=3.