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';
  
  /**
   * Maintenance Operation Status.
   *
   */
  class MaintenanceRedeployStatus {
    /**
     * Create a MaintenanceRedeployStatus.
     * @property {boolean} [isCustomerInitiatedMaintenanceAllowed] True, if
     * customer is allowed to perform Maintenance.
     * @property {date} [preMaintenanceWindowStartTime] Start Time for the Pre
     * Maintenance Window.
     * @property {date} [preMaintenanceWindowEndTime] End Time for the Pre
     * Maintenance Window.
     * @property {date} [maintenanceWindowStartTime] Start Time for the
     * Maintenance Window.
     * @property {date} [maintenanceWindowEndTime] End Time for the Maintenance
     * Window.
     * @property {string} [lastOperationResultCode] The Last Maintenance
     * Operation Result Code. Possible values include: 'None', 'RetryLater',
     * 'MaintenanceAborted', 'MaintenanceCompleted'
     * @property {string} [lastOperationMessage] Message returned for the last
     * Maintenance Operation.
     */
    constructor() {
    }
  
    /**
     * Defines the metadata of MaintenanceRedeployStatus
     *
     * @returns {object} metadata of MaintenanceRedeployStatus
     *
     */
    mapper() {
      return {
        required: false,
        serializedName: 'MaintenanceRedeployStatus',
        type: {
          name: 'Composite',
          className: 'MaintenanceRedeployStatus',
          modelProperties: {
            isCustomerInitiatedMaintenanceAllowed: {
              required: false,
              serializedName: 'isCustomerInitiatedMaintenanceAllowed',
              type: {
                name: 'Boolean'
              }
            },
            preMaintenanceWindowStartTime: {
              required: false,
              serializedName: 'preMaintenanceWindowStartTime',
              type: {
                name: 'DateTime'
              }
            },
            preMaintenanceWindowEndTime: {
              required: false,
              serializedName: 'preMaintenanceWindowEndTime',
              type: {
                name: 'DateTime'
              }
            },
            maintenanceWindowStartTime: {
              required: false,
              serializedName: 'maintenanceWindowStartTime',
              type: {
                name: 'DateTime'
              }
            },
            maintenanceWindowEndTime: {
              required: false,
              serializedName: 'maintenanceWindowEndTime',
              type: {
                name: 'DateTime'
              }
            },
            lastOperationResultCode: {
              required: false,
              serializedName: 'lastOperationResultCode',
              type: {
                name: 'Enum',
                allowedValues: [ 'None', 'RetryLater', 'MaintenanceAborted', 'MaintenanceCompleted' ]
              }
            },
            lastOperationMessage: {
              required: false,
              serializedName: 'lastOperationMessage',
              type: {
                name: 'String'
              }
            }
          }
        }
      };
    }
  }
  
  module.exports = MaintenanceRedeployStatus;
  