class Azure::ServiceFabric::Mgmt::V2017_07_01_preview::Models::StatefulServiceProperties

The properties of a stateful service resource.

Attributes

has_persisted_state[RW]

@return [Boolean] 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.

min_replica_set_size[RW]

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

quorum_loss_wait_duration[RW]

@return [DateTime] The maximum duration for which a partition is allowed to be in a state of quorum loss, represented in ISO 8601 format (hh:mm:ss.s).

replica_restart_wait_duration[RW]

@return [DateTime] The duration between when a replica goes down and when a new replica is created, represented in ISO 8601 format (hh:mm:ss.s).

serviceKind[RW]
stand_by_replica_keep_duration[RW]

@return [DateTime] The definition on how long StandBy replicas should be maintained before being removed, represented in ISO 8601 format (hh:mm:ss.s).

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 StatefulServiceProperties class as Ruby Hash. This will be used for serialization/deserialization.

# File lib/2017-07-01-preview/generated/azure_mgmt_service_fabric/models/stateful_service_properties.rb, line 53
def self.mapper()
  {
    client_side_validation: true,
    required: false,
    serialized_name: 'Stateful',
    type: {
      name: 'Composite',
      class_name: 'StatefulServiceProperties',
      model_properties: {
        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'
                }
            }
          }
        },
        service_load_metrics: {
          client_side_validation: true,
          required: false,
          serialized_name: 'serviceLoadMetrics',
          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'
          }
        },
        provisioning_state: {
          client_side_validation: true,
          required: false,
          read_only: true,
          serialized_name: 'provisioningState',
          type: {
            name: 'String'
          }
        },
        service_type_name: {
          client_side_validation: true,
          required: false,
          serialized_name: 'serviceTypeName',
          type: {
            name: 'String'
          }
        },
        partition_description: {
          client_side_validation: true,
          required: false,
          serialized_name: 'partitionDescription',
          type: {
            name: 'Composite',
            polymorphic_discriminator: 'PartitionScheme',
            uber_parent: 'PartitionSchemeDescription',
            class_name: 'PartitionSchemeDescription'
          }
        },
        serviceKind: {
          client_side_validation: true,
          required: true,
          serialized_name: 'serviceKind',
          type: {
            name: 'String'
          }
        },
        has_persisted_state: {
          client_side_validation: true,
          required: false,
          serialized_name: 'hasPersistedState',
          type: {
            name: 'Boolean'
          }
        },
        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: {
          client_side_validation: true,
          required: false,
          serialized_name: 'replicaRestartWaitDuration',
          type: {
            name: 'DateTime'
          }
        },
        quorum_loss_wait_duration: {
          client_side_validation: true,
          required: false,
          serialized_name: 'quorumLossWaitDuration',
          type: {
            name: 'DateTime'
          }
        },
        stand_by_replica_keep_duration: {
          client_side_validation: true,
          required: false,
          serialized_name: 'standByReplicaKeepDuration',
          type: {
            name: 'DateTime'
          }
        }
      }
    }
  }
end
new() click to toggle source
# File lib/2017-07-01-preview/generated/azure_mgmt_service_fabric/models/stateful_service_properties.rb, line 16
def initialize
  @serviceKind = "Stateful"
end