StatefulServiceUpdateDescription

Describes an update for a stateful service.

Properties

Name Type Required
ServiceKind string Yes
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
TargetReplicaSetSize integer No
MinReplicaSetSize integer No
ReplicaRestartWaitDurationSeconds string No
QuorumLossWaitDurationSeconds string No
StandByReplicaKeepDurationSeconds string No

ServiceKind

Type: string
Required: Yes

A discriminator property. Its value must be 'Stateful' for objects of type 'StatefulServiceUpdateDescription'.


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 then the flags for ReplicaRestartWaitDuration (2) and QuorumLossWaitDuration (4) are set.

  • None - Does not indicate any other properties are set. The value is zero.
  • TargetReplicaSetSize/InstanceCount - Indicates whether the TargetReplicaSetSize property (for Stateful services) or the InstanceCount property (for Stateless services) is set. The value is 1.
  • ReplicaRestartWaitDuration - Indicates the ReplicaRestartWaitDuration property is set. The value is 2.
  • QuorumLossWaitDuration - Indicates the QuorumLossWaitDuration property is set. The value is 4.
  • StandByReplicaKeepDuration - Indicates the StandByReplicaKeepDuration property is set. The value is 8.
  • MinReplicaSetSize - Indicates the MinReplicaSetSize property is set. The value is 16.
  • PlacementConstraints - Indicates the PlacementConstraints property is set. The value is 32.
  • PlacementPolicyList - Indicates the ServicePlacementPolicies property is set. The value is 64.
  • Correlation - Indicates the CorrelationScheme property is set. The value is 128.
  • Metrics - Indicates the ServiceLoadMetrics property is set. The value is 256.
  • DefaultMoveCost - Indicates the DefaultMoveCost property is set. The value is 512.
  • ScalingPolicy - Indicates the ScalingPolicies property is set. The value is 1024.

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.

ScalingPolicies

Type: array of ScalingPolicyDescription
Required: No

Scaling policies for 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.