class Azure::ServiceFabric::V7_0_0_42::Models::StatefulServiceUpdateDescription

Describes an update for a stateful service.

Attributes

ServiceKind[RW]
min_replica_set_size[RW]

@return [Integer] The minimum replica set size as a number.

quorum_loss_wait_duration_seconds[RW]

@return [String] The maximum duration, in seconds, for which a partition is allowed to be in a state of quorum loss.

replica_restart_wait_duration_seconds[RW]

@return [String] The duration, in seconds, between when a replica goes down and when a new replica is created.

service_placement_time_limit_seconds[RW]

@return [String] The duration for which replicas can stay InBuild before reporting that build is stuck.

stand_by_replica_keep_duration_seconds[RW]

@return [String] The definition on how long StandBy replicas should be maintained before being removed.

target_replica_set_size[RW]

@return [Integer] The target replica set size as a number.

Private Class Methods

mapper() click to toggle source

Mapper for StatefulServiceUpdateDescription class as Ruby Hash. This will be used for serialization/deserialization.

# File lib/7.0.0.42/generated/azure_service_fabric/models/stateful_service_update_description.rb, line 49
def self.mapper()
  {
    client_side_validation: true,
    required: false,
    serialized_name: 'Stateful',
    type: {
      name: 'Composite',
      class_name: 'StatefulServiceUpdateDescription',
      model_properties: {
        flags: {
          client_side_validation: true,
          required: false,
          serialized_name: 'Flags',
          type: {
            name: 'String'
          }
        },
        placement_constraints: {
          client_side_validation: true,
          required: false,
          serialized_name: 'PlacementConstraints',
          type: {
            name: 'String'
          }
        },
        correlation_scheme: {
          client_side_validation: true,
          required: false,
          serialized_name: 'CorrelationScheme',
          type: {
            name: 'Sequence',
            element: {
                client_side_validation: true,
                required: false,
                serialized_name: 'ServiceCorrelationDescriptionElementType',
                type: {
                  name: 'Composite',
                  class_name: 'ServiceCorrelationDescription'
                }
            }
          }
        },
        load_metrics: {
          client_side_validation: true,
          required: false,
          serialized_name: 'LoadMetrics',
          type: {
            name: 'Sequence',
            element: {
                client_side_validation: true,
                required: false,
                serialized_name: 'ServiceLoadMetricDescriptionElementType',
                type: {
                  name: 'Composite',
                  class_name: 'ServiceLoadMetricDescription'
                }
            }
          }
        },
        service_placement_policies: {
          client_side_validation: true,
          required: false,
          serialized_name: 'ServicePlacementPolicies',
          type: {
            name: 'Sequence',
            element: {
                client_side_validation: true,
                required: false,
                serialized_name: 'ServicePlacementPolicyDescriptionElementType',
                type: {
                  name: 'Composite',
                  polymorphic_discriminator: 'Type',
                  uber_parent: 'ServicePlacementPolicyDescription',
                  class_name: 'ServicePlacementPolicyDescription'
                }
            }
          }
        },
        default_move_cost: {
          client_side_validation: true,
          required: false,
          serialized_name: 'DefaultMoveCost',
          type: {
            name: 'String'
          }
        },
        scaling_policies: {
          client_side_validation: true,
          required: false,
          serialized_name: 'ScalingPolicies',
          type: {
            name: 'Sequence',
            element: {
                client_side_validation: true,
                required: false,
                serialized_name: 'ScalingPolicyDescriptionElementType',
                type: {
                  name: 'Composite',
                  class_name: 'ScalingPolicyDescription'
                }
            }
          }
        },
        ServiceKind: {
          client_side_validation: true,
          required: true,
          serialized_name: 'ServiceKind',
          type: {
            name: 'String'
          }
        },
        target_replica_set_size: {
          client_side_validation: true,
          required: false,
          serialized_name: 'TargetReplicaSetSize',
          constraints: {
            InclusiveMinimum: 1
          },
          type: {
            name: 'Number'
          }
        },
        min_replica_set_size: {
          client_side_validation: true,
          required: false,
          serialized_name: 'MinReplicaSetSize',
          constraints: {
            InclusiveMinimum: 1
          },
          type: {
            name: 'Number'
          }
        },
        replica_restart_wait_duration_seconds: {
          client_side_validation: true,
          required: false,
          serialized_name: 'ReplicaRestartWaitDurationSeconds',
          type: {
            name: 'String'
          }
        },
        quorum_loss_wait_duration_seconds: {
          client_side_validation: true,
          required: false,
          serialized_name: 'QuorumLossWaitDurationSeconds',
          type: {
            name: 'String'
          }
        },
        stand_by_replica_keep_duration_seconds: {
          client_side_validation: true,
          required: false,
          serialized_name: 'StandByReplicaKeepDurationSeconds',
          type: {
            name: 'String'
          }
        },
        service_placement_time_limit_seconds: {
          client_side_validation: true,
          required: false,
          serialized_name: 'ServicePlacementTimeLimitSeconds',
          type: {
            name: 'String'
          }
        }
      }
    }
  }
end
new() click to toggle source
# File lib/7.0.0.42/generated/azure_service_fabric/models/stateful_service_update_description.rb, line 16
def initialize
  @ServiceKind = "Stateful"
end