/// <summary> /// Initializes a new instance of the StatelessServiceInfo class. /// </summary> /// <param name="id">The identity of the service. This is an encoded representation of the service name. This is used /// in the REST APIs to identify the service resource. /// Starting in version 6.0, hierarchical names are delimited with the "\~" character. For example, if the service name /// is "fabric:/myapp/app1/svc1", /// the service identity would be "myapp~app1\~svc1" in 6.0+ and "myapp/app1/svc1" in previous versions. /// </param> /// <param name="name">The full name of the service with 'fabric:' URI scheme.</param> /// <param name="typeName">Name of the service type as specified in the service manifest.</param> /// <param name="manifestVersion">The version of the service manifest.</param> /// <param name="healthState">The health state of a Service Fabric entity such as Cluster, Node, Application, Service, /// Partition, Replica etc. Possible values include: 'Invalid', 'Ok', 'Warning', 'Error', 'Unknown'</param> /// <param name="serviceStatus">The status of the application. Possible values include: 'Unknown', 'Active', /// 'Upgrading', 'Deleting', 'Creating', 'Failed'</param> /// <param name="isServiceGroup">Whether the service is in a service group.</param> public StatelessServiceInfo( string id = default(string), ServiceName name = default(ServiceName), string typeName = default(string), string manifestVersion = default(string), HealthState?healthState = default(HealthState?), ServiceStatus?serviceStatus = default(ServiceStatus?), bool?isServiceGroup = default(bool?)) : base( Common.ServiceKind.Stateless, id, name, typeName, manifestVersion, healthState, serviceStatus, isServiceGroup) { }
/// <summary> /// Initializes a new instance of the DeployedStatelessServiceInstanceDetailInfo class. /// </summary> /// <param name="serviceName">Full hierarchical name of the service in URI format starting with `fabric:`.</param> /// <param name="partitionId">An internal ID used by Service Fabric to uniquely identify a partition. This is a /// randomly generated GUID when the service was created. The partition ID is unique and does not change for the /// lifetime of the service. If the same service was deleted and recreated the IDs of its partitions would be /// different.</param> /// <param name="currentServiceOperation">Specifies the current active life-cycle operation on a stateful service /// replica or stateless service instance. Possible values include: 'Unknown', 'None', 'Open', 'ChangeRole', 'Close', /// 'Abort'</param> /// <param name="currentServiceOperationStartTimeUtc">The start time of the current service operation in UTC /// format.</param> /// <param name="reportedLoad">List of load reported by replica.</param> /// <param name="instanceId">Id of a stateless service instance. InstanceId is used by Service Fabric to uniquely /// identify an instance of a partition of a stateless service. It is unique within a partition and does not change for /// the lifetime of the instance. If the instance has failed over on the same or different node, it will get a /// different value for the InstanceId.</param> /// <param name="deployedServiceReplicaQueryResult">Information about a stateless service instance deployed on a /// node.</param> public DeployedStatelessServiceInstanceDetailInfo( ServiceName serviceName = default(ServiceName), PartitionId partitionId = default(PartitionId), ServiceOperationName?currentServiceOperation = default(ServiceOperationName?), DateTime?currentServiceOperationStartTimeUtc = default(DateTime?), IEnumerable <LoadMetricReportInfo> reportedLoad = default(IEnumerable <LoadMetricReportInfo>), ReplicaId instanceId = default(ReplicaId), DeployedStatelessServiceInstanceInfo deployedServiceReplicaQueryResult = default(DeployedStatelessServiceInstanceInfo)) : base( Common.ServiceKind.Stateless, serviceName, partitionId, currentServiceOperation, currentServiceOperationStartTimeUtc, reportedLoad) { this.InstanceId = instanceId; this.DeployedServiceReplicaQueryResult = deployedServiceReplicaQueryResult; }
/// <summary> /// Initializes a new instance of the ServiceInfo class. /// </summary> /// <param name="serviceKind">The kind of service (Stateless or Stateful).</param> /// <param name="id">The identity of the service. This is an encoded representation of the service name. This is used /// in the REST APIs to identify the service resource. /// Starting in version 6.0, hierarchical names are delimited with the "\~" character. For example, if the service name /// is "fabric:/myapp/app1/svc1", /// the service identity would be "myapp~app1\~svc1" in 6.0+ and "myapp/app1/svc1" in previous versions. /// </param> /// <param name="name">The full name of the service with 'fabric:' URI scheme.</param> /// <param name="typeName">Name of the service type as specified in the service manifest.</param> /// <param name="manifestVersion">The version of the service manifest.</param> /// <param name="healthState">The health state of a Service Fabric entity such as Cluster, Node, Application, Service, /// Partition, Replica etc. Possible values include: 'Invalid', 'Ok', 'Warning', 'Error', 'Unknown'</param> /// <param name="serviceStatus">The status of the application. Possible values include: 'Unknown', 'Active', /// 'Upgrading', 'Deleting', 'Creating', 'Failed'</param> /// <param name="isServiceGroup">Whether the service is in a service group.</param> protected ServiceInfo( ServiceKind?serviceKind, string id = default(string), ServiceName name = default(ServiceName), string typeName = default(string), string manifestVersion = default(string), HealthState?healthState = default(HealthState?), ServiceStatus?serviceStatus = default(ServiceStatus?), bool?isServiceGroup = default(bool?)) { serviceKind.ThrowIfNull(nameof(serviceKind)); this.ServiceKind = serviceKind; this.Id = id; this.Name = name; this.TypeName = typeName; this.ManifestVersion = manifestVersion; this.HealthState = healthState; this.ServiceStatus = serviceStatus; this.IsServiceGroup = isServiceGroup; }
/// <summary> /// Initializes a new instance of the ServiceDescription class. /// </summary> /// <param name="serviceName">The full name of the service with 'fabric:' URI scheme.</param> /// <param name="serviceTypeName">Name of the service type as specified in the service manifest.</param> /// <param name="partitionDescription">The partition description as an object.</param> /// <param name="serviceKind">The kind of service (Stateless or Stateful).</param> /// <param name="applicationName">The name of the application, including the 'fabric:' URI scheme.</param> /// <param name="initializationData">The initialization data as an array of bytes. Initialization data is passed to /// service instances or replicas when they are created.</param> /// <param name="placementConstraints">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)".</param> /// <param name="correlationScheme">The correlation scheme.</param> /// <param name="serviceLoadMetrics">The service load metrics.</param> /// <param name="servicePlacementPolicies">The service placement policies.</param> /// <param name="defaultMoveCost">The move cost for the service. Possible values include: 'Zero', 'Low', 'Medium', /// 'High', 'VeryHigh' /// /// Specifies the move cost for the service. /// </param> /// <param name="isDefaultMoveCostSpecified">Indicates if the DefaultMoveCost property is specified.</param> /// <param name="servicePackageActivationMode">The activation mode of service package to be used for a service. /// Possible values include: 'SharedProcess', 'ExclusiveProcess' /// /// The activation mode of service package to be used for a Service Fabric service. This is specified at the time of /// creating the Service. /// </param> /// <param name="serviceDnsName">The DNS name of the service. It requires the DNS system service to be enabled in /// Service Fabric cluster.</param> /// <param name="scalingPolicies">Scaling policies for this service.</param> /// <param name="tagsRequiredToPlace">Tags for placement of this service.</param> /// <param name="tagsRequiredToRun">Tags for running of this service.</param> protected ServiceDescription( ServiceName serviceName, string serviceTypeName, PartitionSchemeDescription partitionDescription, ServiceKind?serviceKind, ApplicationName applicationName = default(ApplicationName), byte[] initializationData = default(byte[]), string placementConstraints = default(string), IEnumerable <ServiceCorrelationDescription> correlationScheme = default(IEnumerable <ServiceCorrelationDescription>), IEnumerable <ServiceLoadMetricDescription> serviceLoadMetrics = default(IEnumerable <ServiceLoadMetricDescription>), IEnumerable <ServicePlacementPolicyDescription> servicePlacementPolicies = default(IEnumerable <ServicePlacementPolicyDescription>), MoveCost?defaultMoveCost = default(MoveCost?), bool?isDefaultMoveCostSpecified = default(bool?), ServicePackageActivationMode?servicePackageActivationMode = default(ServicePackageActivationMode?), string serviceDnsName = default(string), IEnumerable <ScalingPolicyDescription> scalingPolicies = default(IEnumerable <ScalingPolicyDescription>), NodeTagsDescription tagsRequiredToPlace = default(NodeTagsDescription), NodeTagsDescription tagsRequiredToRun = default(NodeTagsDescription)) { serviceName.ThrowIfNull(nameof(serviceName)); serviceTypeName.ThrowIfNull(nameof(serviceTypeName)); partitionDescription.ThrowIfNull(nameof(partitionDescription)); serviceKind.ThrowIfNull(nameof(serviceKind)); this.ServiceName = serviceName; this.ServiceTypeName = serviceTypeName; this.PartitionDescription = partitionDescription; this.ServiceKind = serviceKind; this.ApplicationName = applicationName; this.InitializationData = initializationData; this.PlacementConstraints = placementConstraints; this.CorrelationScheme = correlationScheme; this.ServiceLoadMetrics = serviceLoadMetrics; this.ServicePlacementPolicies = servicePlacementPolicies; this.DefaultMoveCost = defaultMoveCost; this.IsDefaultMoveCostSpecified = isDefaultMoveCostSpecified; this.ServicePackageActivationMode = servicePackageActivationMode; this.ServiceDnsName = serviceDnsName; this.ScalingPolicies = scalingPolicies; this.TagsRequiredToPlace = tagsRequiredToPlace; this.TagsRequiredToRun = tagsRequiredToRun; }
/// <summary> /// Initializes a new instance of the StatefulServiceInfo class. /// </summary> /// <param name="id">The identity of the service. This ID is an encoded representation of the service name. This is /// used in the REST APIs to identify the service resource. /// Starting in version 6.0, hierarchical names are delimited with the "\~" character. For example, if the service name /// is "fabric:/myapp/app1/svc1", /// the service identity would be "myapp~app1\~svc1" in 6.0+ and "myapp/app1/svc1" in previous versions. /// </param> /// <param name="name">The full name of the service with 'fabric:' URI scheme.</param> /// <param name="typeName">Name of the service type as specified in the service manifest.</param> /// <param name="manifestVersion">The version of the service manifest.</param> /// <param name="healthState">The health state of a Service Fabric entity such as Cluster, Node, Application, Service, /// Partition, Replica etc. Possible values include: 'Invalid', 'Ok', 'Warning', 'Error', 'Unknown'</param> /// <param name="serviceStatus">The status of the application. Possible values include: 'Unknown', 'Active', /// 'Upgrading', 'Deleting', 'Creating', 'Failed'</param> /// <param name="isServiceGroup">Whether the service is in a service group.</param> /// <param name="serviceMetadata">Metadata associated with a specific service.</param> /// <param name="hasPersistedState">Whether the service has persisted state.</param> public StatefulServiceInfo( string id = default(string), ServiceName name = default(ServiceName), string typeName = default(string), string manifestVersion = default(string), HealthState?healthState = default(HealthState?), ServiceStatus?serviceStatus = default(ServiceStatus?), bool?isServiceGroup = default(bool?), ServiceMetadata serviceMetadata = default(ServiceMetadata), bool?hasPersistedState = default(bool?)) : base( Common.ServiceKind.Stateful, id, name, typeName, manifestVersion, healthState, serviceStatus, isServiceGroup, serviceMetadata) { this.HasPersistedState = hasPersistedState; }
/// <summary> /// Initializes a new instance of the StatelessServiceDescription class. /// </summary> /// <param name="serviceName">The full name of the service with 'fabric:' URI scheme.</param> /// <param name="serviceTypeName">Name of the service type as specified in the service manifest.</param> /// <param name="partitionDescription">The partition description as an object.</param> /// <param name="instanceCount">The instance count.</param> /// <param name="applicationName">The name of the application, including the 'fabric:' URI scheme.</param> /// <param name="initializationData">The initialization data as an array of bytes. Initialization data is passed to /// service instances or replicas when they are created.</param> /// <param name="placementConstraints">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)".</param> /// <param name="correlationScheme">The correlation scheme.</param> /// <param name="serviceLoadMetrics">The service load metrics.</param> /// <param name="servicePlacementPolicies">The service placement policies.</param> /// <param name="defaultMoveCost">Specifies the move cost for the service. Possible values include: 'Zero', 'Low', /// 'Medium', 'High'</param> /// <param name="isDefaultMoveCostSpecified">Indicates if the DefaultMoveCost property is specified.</param> /// <param name="servicePackageActivationMode">The activation mode of service package to be used for a Service Fabric /// service. This is specified at the time of creating the Service. Possible values include: 'SharedProcess', /// 'ExclusiveProcess'</param> /// <param name="serviceDnsName">The DNS name of the service. It requires the DNS system service to be enabled in /// Service Fabric cluster.</param> /// <param name="scalingPolicies">Scaling policies for this service.</param> public StatelessServiceDescription( ServiceName serviceName, string serviceTypeName, PartitionSchemeDescription partitionDescription, int?instanceCount, ApplicationName applicationName = default(ApplicationName), byte[] initializationData = default(byte[]), string placementConstraints = default(string), IEnumerable <ServiceCorrelationDescription> correlationScheme = default(IEnumerable <ServiceCorrelationDescription>), IEnumerable <ServiceLoadMetricDescription> serviceLoadMetrics = default(IEnumerable <ServiceLoadMetricDescription>), IEnumerable <ServicePlacementPolicyDescription> servicePlacementPolicies = default(IEnumerable <ServicePlacementPolicyDescription>), MoveCost?defaultMoveCost = default(MoveCost?), bool?isDefaultMoveCostSpecified = default(bool?), ServicePackageActivationMode?servicePackageActivationMode = default(ServicePackageActivationMode?), string serviceDnsName = default(string), IEnumerable <ScalingPolicyDescription> scalingPolicies = default(IEnumerable <ScalingPolicyDescription>)) : base( serviceName, serviceTypeName, partitionDescription, Common.ServiceKind.Stateless, applicationName, initializationData, placementConstraints, correlationScheme, serviceLoadMetrics, servicePlacementPolicies, defaultMoveCost, isDefaultMoveCostSpecified, servicePackageActivationMode, serviceDnsName, scalingPolicies) { instanceCount.ThrowIfNull(nameof(instanceCount)); instanceCount?.ThrowIfLessThan("instanceCount", -1); this.InstanceCount = instanceCount; }
/// <summary> /// Initializes a new instance of the DeployedServiceReplicaInfo class. /// </summary> /// <param name="serviceKind">The kind of service (Stateless or Stateful).</param> /// <param name="serviceName">The full name of the service with 'fabric:' URI scheme.</param> /// <param name="serviceTypeName">Name of the service type as specified in the service manifest.</param> /// <param name="serviceManifestName">The name of the service manifest in which this service type is defined.</param> /// <param name="codePackageName">The name of the code package that hosts this replica.</param> /// <param name="partitionId">An internal ID used by Service Fabric to uniquely identify a partition. This is a /// randomly generated GUID when the service was created. The partition ID is unique and does not change for the /// lifetime of the service. If the same service was deleted and recreated the IDs of its partitions would be /// different.</param> /// <param name="replicaStatus">The status of a replica of a service. Possible values include: 'Invalid', 'InBuild', /// 'Standby', 'Ready', 'Down', 'Dropped'</param> /// <param name="address">The last address returned by the replica in Open or ChangeRole.</param> /// <param name="servicePackageActivationId">The ActivationId of a deployed service package. If /// ServicePackageActivationMode specified at the time of creating the service /// is 'SharedProcess' (or if it is not specified, in which case it defaults to 'SharedProcess'), then value of /// ServicePackageActivationId /// is always an empty string. /// </param> /// <param name="hostProcessId">Host process ID of the process that is hosting the replica. This will be zero if the /// replica is down. In hyper-v containers this host process ID will be from different kernel.</param> protected DeployedServiceReplicaInfo( ServiceKind?serviceKind, ServiceName serviceName = default(ServiceName), string serviceTypeName = default(string), string serviceManifestName = default(string), string codePackageName = default(string), PartitionId partitionId = default(PartitionId), ReplicaStatus?replicaStatus = default(ReplicaStatus?), string address = default(string), string servicePackageActivationId = default(string), string hostProcessId = default(string)) { serviceKind.ThrowIfNull(nameof(serviceKind)); this.ServiceKind = serviceKind; this.ServiceName = serviceName; this.ServiceTypeName = serviceTypeName; this.ServiceManifestName = serviceManifestName; this.CodePackageName = codePackageName; this.PartitionId = partitionId; this.ReplicaStatus = replicaStatus; this.Address = address; this.ServicePackageActivationId = servicePackageActivationId; this.HostProcessId = hostProcessId; }
/// <summary> /// Initializes a new instance of the StatefulServiceDescription class. /// </summary> /// <param name="serviceName">The full name of the service with 'fabric:' URI scheme.</param> /// <param name="serviceTypeName">Name of the service type as specified in the service manifest.</param> /// <param name="partitionDescription">The partition description as an object.</param> /// <param name="targetReplicaSetSize">The target replica set size as a number.</param> /// <param name="minReplicaSetSize">The minimum replica set size as a number.</param> /// <param name="hasPersistedState">A flag indicating whether this is a persistent service which stores states on the /// local disk. If it is then the value of this property is true, if not it is false.</param> /// <param name="applicationName">The name of the application, including the 'fabric:' URI scheme.</param> /// <param name="initializationData">The initialization data as an array of bytes. Initialization data is passed to /// service instances or replicas when they are created.</param> /// <param name="placementConstraints">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)".</param> /// <param name="correlationScheme">The correlation scheme.</param> /// <param name="serviceLoadMetrics">The service load metrics.</param> /// <param name="servicePlacementPolicies">The service placement policies.</param> /// <param name="defaultMoveCost">The move cost for the service. Possible values include: 'Zero', 'Low', 'Medium', /// 'High', 'VeryHigh' /// /// Specifies the move cost for the service. /// </param> /// <param name="isDefaultMoveCostSpecified">Indicates if the DefaultMoveCost property is specified.</param> /// <param name="servicePackageActivationMode">The activation mode of service package to be used for a service. /// Possible values include: 'SharedProcess', 'ExclusiveProcess' /// /// The activation mode of service package to be used for a Service Fabric service. This is specified at the time of /// creating the Service. /// </param> /// <param name="serviceDnsName">The DNS name of the service. It requires the DNS system service to be enabled in /// Service Fabric cluster.</param> /// <param name="scalingPolicies">Scaling policies for this service.</param> /// <param name="tagsRequiredToPlace">Tags for placement of this service.</param> /// <param name="tagsRequiredToRun">Tags for running of this service.</param> /// <param name="flags">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 QuorumLossWaitDuration (2) and /// StandByReplicaKeepDuration(4) are set. /// /// - None - Does not indicate any other properties are set. The value is zero. /// - ReplicaRestartWaitDuration - Indicates the ReplicaRestartWaitDuration property is set. The value is 1. /// - QuorumLossWaitDuration - Indicates the QuorumLossWaitDuration property is set. The value is 2. /// - StandByReplicaKeepDuration - Indicates the StandByReplicaKeepDuration property is set. The value is 4. /// - ServicePlacementTimeLimit - Indicates the ServicePlacementTimeLimit property is set. The value is 8. /// - DropSourceReplicaOnMove - Indicates the DropSourceReplicaOnMove property is set. The value is 16. /// </param> /// <param name="replicaRestartWaitDurationSeconds">The duration, in seconds, between when a replica goes down and when /// a new replica is created.</param> /// <param name="quorumLossWaitDurationSeconds">The maximum duration, in seconds, for which a partition is allowed to /// be in a state of quorum loss.</param> /// <param name="standByReplicaKeepDurationSeconds">The definition on how long StandBy replicas should be maintained /// before being removed.</param> /// <param name="servicePlacementTimeLimitSeconds">The duration for which replicas can stay InBuild before reporting /// that build is stuck.</param> /// <param name="dropSourceReplicaOnMove">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.</param> /// <param name="replicaLifecycleDescription">Defines how replicas of this service will behave during ther /// lifecycle.</param> /// <param name="auxiliaryReplicaCount">The auxiliary replica count as a number. To use Auxiliary replicas, the /// following must be true: AuxiliaryReplicaCount < (TargetReplicaSetSize+1)/2 and TargetReplicaSetSize >=3.</param> public StatefulServiceDescription( ServiceName serviceName, string serviceTypeName, PartitionSchemeDescription partitionDescription, int?targetReplicaSetSize, int?minReplicaSetSize, bool?hasPersistedState, ApplicationName applicationName = default(ApplicationName), byte[] initializationData = default(byte[]), string placementConstraints = default(string), IEnumerable <ServiceCorrelationDescription> correlationScheme = default(IEnumerable <ServiceCorrelationDescription>), IEnumerable <ServiceLoadMetricDescription> serviceLoadMetrics = default(IEnumerable <ServiceLoadMetricDescription>), IEnumerable <ServicePlacementPolicyDescription> servicePlacementPolicies = default(IEnumerable <ServicePlacementPolicyDescription>), MoveCost?defaultMoveCost = default(MoveCost?), bool?isDefaultMoveCostSpecified = default(bool?), ServicePackageActivationMode?servicePackageActivationMode = default(ServicePackageActivationMode?), string serviceDnsName = default(string), IEnumerable <ScalingPolicyDescription> scalingPolicies = default(IEnumerable <ScalingPolicyDescription>), NodeTagsDescription tagsRequiredToPlace = default(NodeTagsDescription), NodeTagsDescription tagsRequiredToRun = default(NodeTagsDescription), int?flags = default(int?), long?replicaRestartWaitDurationSeconds = default(long?), long?quorumLossWaitDurationSeconds = default(long?), long?standByReplicaKeepDurationSeconds = default(long?), long?servicePlacementTimeLimitSeconds = default(long?), bool?dropSourceReplicaOnMove = default(bool?), ReplicaLifecycleDescription replicaLifecycleDescription = default(ReplicaLifecycleDescription), int?auxiliaryReplicaCount = default(int?)) : base( serviceName, serviceTypeName, partitionDescription, Common.ServiceKind.Stateful, applicationName, initializationData, placementConstraints, correlationScheme, serviceLoadMetrics, servicePlacementPolicies, defaultMoveCost, isDefaultMoveCostSpecified, servicePackageActivationMode, serviceDnsName, scalingPolicies, tagsRequiredToPlace, tagsRequiredToRun) { targetReplicaSetSize.ThrowIfNull(nameof(targetReplicaSetSize)); minReplicaSetSize.ThrowIfNull(nameof(minReplicaSetSize)); hasPersistedState.ThrowIfNull(nameof(hasPersistedState)); targetReplicaSetSize?.ThrowIfLessThan("targetReplicaSetSize", 1); minReplicaSetSize?.ThrowIfLessThan("minReplicaSetSize", 1); replicaRestartWaitDurationSeconds?.ThrowIfOutOfInclusiveRange("replicaRestartWaitDurationSeconds", 0, 4294967295); quorumLossWaitDurationSeconds?.ThrowIfOutOfInclusiveRange("quorumLossWaitDurationSeconds", 0, 4294967295); standByReplicaKeepDurationSeconds?.ThrowIfOutOfInclusiveRange("standByReplicaKeepDurationSeconds", 0, 4294967295); servicePlacementTimeLimitSeconds?.ThrowIfOutOfInclusiveRange("servicePlacementTimeLimitSeconds", 0, 4294967295); auxiliaryReplicaCount?.ThrowIfLessThan("auxiliaryReplicaCount", 0); this.TargetReplicaSetSize = targetReplicaSetSize; this.MinReplicaSetSize = minReplicaSetSize; this.HasPersistedState = hasPersistedState; this.Flags = flags; this.ReplicaRestartWaitDurationSeconds = replicaRestartWaitDurationSeconds; this.QuorumLossWaitDurationSeconds = quorumLossWaitDurationSeconds; this.StandByReplicaKeepDurationSeconds = standByReplicaKeepDurationSeconds; this.ServicePlacementTimeLimitSeconds = servicePlacementTimeLimitSeconds; this.DropSourceReplicaOnMove = dropSourceReplicaOnMove; this.ReplicaLifecycleDescription = replicaLifecycleDescription; this.AuxiliaryReplicaCount = auxiliaryReplicaCount; }