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 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.
  • ServicePlacementTimeLimit - Indicates the ServicePlacementTimeLimit property is set. The value is 2048.
  • MinInstanceCount - Indicates the MinInstanceCount property is set. The value is 4096.
  • MinInstancePercentage - Indicates the MinInstancePercentage property is set. The value is 8192.
  • InstanceCloseDelayDuration - Indicates the InstanceCloseDelayDuration property is set. The value is 16384.
  • InstanceRestartWaitDuration - Indicates the InstanceCloseDelayDuration property is set. The value is 32768.
  • DropSourceReplicaOnMove - Indicates the DropSourceReplicaOnMove property is set. The value is 65536.
  • ServiceDnsName - Indicates the ServiceDnsName property is set. The value is 131072.
  • TagsForPlacement - Indicates the TagsForPlacement property is set. The value is 1048576.
  • TagsForRunning - Indicates the TagsForRunning property is set. The value is 2097152.

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.