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';
  
  const models = require('./index');
  
  /**
   * Disable protection input properties.
   *
   */
  class DisableProtectionInputProperties {
    /**
     * Create a DisableProtectionInputProperties.
     * @member {string} [disableProtectionReason] Disable protection reason. It
     * can have values NotSpecified/MigrationComplete. Possible values include:
     * 'NotSpecified', 'MigrationComplete'
     * @member {object} [replicationProviderInput] Replication provider specific
     * input.
     * @member {string} [replicationProviderInput.instanceType] Polymorphic
     * Discriminator
     */
    constructor() {
    }
  
    /**
     * Defines the metadata of DisableProtectionInputProperties
     *
     * @returns {object} metadata of DisableProtectionInputProperties
     *
     */
    mapper() {
      return {
        required: false,
        serializedName: 'DisableProtectionInputProperties',
        type: {
          name: 'Composite',
          className: 'DisableProtectionInputProperties',
          modelProperties: {
            disableProtectionReason: {
              required: false,
              serializedName: 'disableProtectionReason',
              type: {
                name: 'Enum',
                allowedValues: [ 'NotSpecified', 'MigrationComplete' ]
              }
            },
            replicationProviderInput: {
              required: false,
              serializedName: 'replicationProviderInput',
              type: {
                name: 'Composite',
                polymorphicDiscriminator: {
                  serializedName: 'instanceType',
                  clientName: 'instanceType'
                },
                uberParent: 'DisableProtectionProviderSpecificInput',
                className: 'DisableProtectionProviderSpecificInput'
              }
            }
          }
        }
      };
    }
  }
  
  module.exports = DisableProtectionInputProperties;
  