text: /*
   * Copyright (c) Microsoft Corporation. All rights reserved.
   * Licensed under the MIT License. See License.txt in the project root for
   * license information.
   * 
   * Code generated by Microsoft (R) AutoRest Code Generator.
   * Changes may cause incorrect behavior and will be lost if the code is
   * regenerated.
   */
  
  'use strict';
  
  var models = require('./index');
  
  var util = require('util');
  
  /**
   * @class
   * Initializes a new instance of the WorkerPool class.
   * @constructor
   * Worker pool of a hostingEnvironment (App Service Environment)
   *
   * @member {number} [workerSizeId] Worker size id for referencing this worker
   * pool
   * 
   * @member {string} [computeMode] Shared or dedicated web app hosting.
   * Possible values include: 'Shared', 'Dedicated', 'Dynamic'
   * 
   * @member {string} [workerSize] VM size of the worker pool instances
   * 
   * @member {number} [workerCount] Number of instances in the worker pool
   * 
   * @member {array} [instanceNames] Names of all instances in the worker pool
   * (read only)
   * 
   * @member {object} [sku]
   * 
   * @member {string} [sku.name] Name of the resource sku
   * 
   * @member {string} [sku.tier] Service Tier of the resource sku
   * 
   * @member {string} [sku.size] Size specifier of the resource sku
   * 
   * @member {string} [sku.family] Family code of the resource sku
   * 
   * @member {number} [sku.capacity] Current number of instances assigned to the
   * resource
   * 
   */
  function WorkerPool() {
    WorkerPool['super_'].call(this);
  }
  
  util.inherits(WorkerPool, models['Resource']);
  
  /**
   * Defines the metadata of WorkerPool
   *
   * @returns {object} metadata of WorkerPool
   *
   */
  WorkerPool.prototype.mapper = function () {
    return {
      required: false,
      serializedName: 'WorkerPool',
      type: {
        name: 'Composite',
        className: 'WorkerPool',
        modelProperties: {
          id: {
            required: false,
            serializedName: 'id',
            type: {
              name: 'String'
            }
          },
          name: {
            required: false,
            serializedName: 'name',
            type: {
              name: 'String'
            }
          },
          kind: {
            required: false,
            serializedName: 'kind',
            type: {
              name: 'String'
            }
          },
          location: {
            required: true,
            serializedName: 'location',
            type: {
              name: 'String'
            }
          },
          type: {
            required: false,
            serializedName: 'type',
            type: {
              name: 'String'
            }
          },
          tags: {
            required: false,
            serializedName: 'tags',
            type: {
              name: 'Dictionary',
              value: {
                  required: false,
                  serializedName: 'StringElementType',
                  type: {
                    name: 'String'
                  }
              }
            }
          },
          workerSizeId: {
            required: false,
            serializedName: 'properties.workerSizeId',
            type: {
              name: 'Number'
            }
          },
          computeMode: {
            required: false,
            serializedName: 'properties.computeMode',
            type: {
              name: 'Enum',
              allowedValues: [ 'Shared', 'Dedicated', 'Dynamic' ]
            }
          },
          workerSize: {
            required: false,
            serializedName: 'properties.workerSize',
            type: {
              name: 'String'
            }
          },
          workerCount: {
            required: false,
            serializedName: 'properties.workerCount',
            type: {
              name: 'Number'
            }
          },
          instanceNames: {
            required: false,
            serializedName: 'properties.instanceNames',
            type: {
              name: 'Sequence',
              element: {
                  required: false,
                  serializedName: 'StringElementType',
                  type: {
                    name: 'String'
                  }
              }
            }
          },
          sku: {
            required: false,
            serializedName: 'sku',
            type: {
              name: 'Composite',
              className: 'SkuDescription'
            }
          }
        }
      }
    };
  };
  
  module.exports = WorkerPool;
  