text: /*
   * Code generated by Microsoft (R) AutoRest Code Generator.
   * Changes may cause incorrect behavior and will be lost if the code is
   * regenerated.
   */
  
  'use strict';
  
  const models = require('./index');
  
  /**
   * Represents metadata for a measure (or KPI).
   *
   * @extends models['MeasureMetadata']
   */
  class InstancesInstanceIdManageMeasuresPostRequest1 extends models['MeasureMetadata'] {
    /**
     * Create a InstancesInstanceIdManageMeasuresPostRequest1.
     */
    constructor() {
      super();
    }
  
    /**
     * Defines the metadata of InstancesInstanceIdManageMeasuresPostRequest1
     *
     * @returns {object} metadata of InstancesInstanceIdManageMeasuresPostRequest1
     *
     */
    mapper() {
      return {
        required: false,
        serializedName: 'Instances-instanceId-ManageMeasuresPostRequest-1',
        type: {
          name: 'Composite',
          className: 'InstancesInstanceIdManageMeasuresPostRequest1',
          modelProperties: {
            displayName: {
              required: false,
              serializedName: 'displayName',
              type: {
                name: 'String'
              }
            },
            name: {
              required: false,
              serializedName: 'name',
              type: {
                name: 'String'
              }
            },
            description: {
              required: false,
              serializedName: 'description',
              type: {
                name: 'String'
              }
            },
            definition: {
              required: false,
              serializedName: 'definition',
              type: {
                name: 'Composite',
                className: 'MeasureDefinition'
              }
            },
            latestEvaluation: {
              required: false,
              serializedName: 'latestEvaluation',
              type: {
                name: 'Composite',
                className: 'Evaluation'
              }
            },
            output: {
              required: false,
              serializedName: 'output',
              type: {
                name: 'Composite',
                className: 'ScalarOutput'
              }
            },
            evaluationStats: {
              required: false,
              serializedName: 'evaluationStats',
              type: {
                name: 'Composite',
                className: 'EvaluationStats'
              }
            },
            errorDescription: {
              required: false,
              serializedName: 'errorDescription',
              type: {
                name: 'Composite',
                className: 'StringInfo'
              }
            },
            sqlValidationStats: {
              required: false,
              serializedName: 'sqlValidationStats',
              type: {
                name: 'Composite',
                className: 'SqlValidationStats'
              }
            },
            evaluationHistory: {
              required: false,
              serializedName: 'evaluationHistory',
              type: {
                name: 'Sequence',
                element: {
                    required: false,
                    serializedName: 'EvaluationElementType',
                    type: {
                      name: 'Composite',
                      className: 'Evaluation'
                    }
                }
              }
            },
            outputHistory: {
              required: false,
              serializedName: 'outputHistory',
              type: {
                name: 'Sequence',
                element: {
                    required: false,
                    serializedName: 'ScalarOutputElementType',
                    type: {
                      name: 'Composite',
                      className: 'ScalarOutput'
                    }
                }
              }
            },
            isTemplate: {
              required: false,
              serializedName: 'isTemplate',
              type: {
                name: 'Boolean'
              }
            },
            templateId: {
              required: false,
              serializedName: 'templateId',
              type: {
                name: 'String'
              }
            },
            version: {
              required: false,
              serializedName: 'version',
              type: {
                name: 'Number'
              }
            },
            updatedBy: {
              required: false,
              serializedName: 'updatedBy',
              type: {
                name: 'String'
              }
            },
            updatedUtc: {
              required: false,
              serializedName: 'updatedUtc',
              type: {
                name: 'DateTime'
              }
            },
            createdBy: {
              required: false,
              serializedName: 'createdBy',
              type: {
                name: 'String'
              }
            },
            createdUtc: {
              required: false,
              serializedName: 'createdUtc',
              type: {
                name: 'DateTime'
              }
            },
            instanceId: {
              required: false,
              serializedName: 'instanceId',
              type: {
                name: 'String'
              }
            }
          }
        }
      };
    }
  }
  
  module.exports = InstancesInstanceIdManageMeasuresPostRequest1;
  