text: /*
   * Code generated by Microsoft (R) AutoRest Code Generator 0.16.0.0
   * Changes may cause incorrect behavior and will be lost if the code is
   * regenerated.
   */
  
  'use strict';
  
  var models = require('./index');
  
  /**
   * @class
   * Initializes a new instance of the Partition class.
   * @constructor
   * The partition
   * @member {string} [serviceKind] Possible values include: 'Invalid',
   * 'Stateless', 'Stateful'
   * 
   * @member {object} [partitionInformation]
   * 
   * @member {string} [partitionInformation.servicePartitionKind] Possible
   * values include: 'Invalid', 'Singleton', 'Int64Range', 'Named'
   * 
   * @member {string} [partitionInformation.id]
   * 
   * @member {array} [partitionInformation.name]
   * 
   * @member {string} [partitionInformation.lowKey]
   * 
   * @member {string} [partitionInformation.highKey]
   * 
   * @member {number} [instanceCount]
   * 
   * @member {number} [targetReplicaSetSize]
   * 
   * @member {number} [minReplicaSetSize]
   * 
   * @member {string} [healthState] Possible values include: 'Invalid', 'Ok',
   * 'Warning', 'Error', 'Unknown'
   * 
   * @member {string} [partitionStatus] Possible values include: 'Invalid',
   * 'Ready', 'NotReady', 'InQuorumLoss', 'Reconfiguring', 'Deleting'
   * 
   * @member {object} [currentConfigurationEpoch] The epoch of the current
   * configuration
   * 
   * @member {string} [currentConfigurationEpoch.configurationVersion]
   * 
   * @member {string} [currentConfigurationEpoch.dataLossVersion]
   * 
   */
  function Partition() {
  }
  
  /**
   * Defines the metadata of Partition
   *
   * @returns {object} metadata of Partition
   *
   */
  Partition.prototype.mapper = function () {
    return {
      required: false,
      serializedName: 'Partition',
      type: {
        name: 'Composite',
        className: 'Partition',
        modelProperties: {
          serviceKind: {
            required: false,
            serializedName: 'ServiceKind',
            type: {
              name: 'String'
            }
          },
          partitionInformation: {
            required: false,
            serializedName: 'PartitionInformation',
            type: {
              name: 'Composite',
              className: 'PartitionInformation'
            }
          },
          instanceCount: {
            required: false,
            serializedName: 'InstanceCount',
            type: {
              name: 'Number'
            }
          },
          targetReplicaSetSize: {
            required: false,
            serializedName: 'TargetReplicaSetSize',
            type: {
              name: 'Number'
            }
          },
          minReplicaSetSize: {
            required: false,
            serializedName: 'MinReplicaSetSize',
            type: {
              name: 'Number'
            }
          },
          healthState: {
            required: false,
            serializedName: 'HealthState',
            type: {
              name: 'String'
            }
          },
          partitionStatus: {
            required: false,
            serializedName: 'PartitionStatus',
            type: {
              name: 'String'
            }
          },
          currentConfigurationEpoch: {
            required: false,
            serializedName: 'CurrentConfigurationEpoch',
            type: {
              name: 'Composite',
              className: 'PartitionCurrentConfigurationEpoch'
            }
          }
        }
      }
    };
  };
  
  module.exports = Partition;
  