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 ApplicationGatewaySslCertificate class.
   * @constructor
   * SSL certificates of application gateway
   *
   * @member {string} [data] SSL Certificate data
   * 
   * @member {string} [password] SSL Certificate password
   * 
   * @member {string} [publicCertData] SSL Certificate public data
   * 
   * @member {string} [provisioningState] Provisioning state of the ssl
   * certificate resource Updating/Deleting/Failed
   * 
   * @member {string} [name] Name of the resource that is unique within a
   * resource group. This name can be used to access the resource
   * 
   * @member {string} [etag] A unique read-only string that changes whenever the
   * resource is updated
   * 
   */
  function ApplicationGatewaySslCertificate() {
    ApplicationGatewaySslCertificate['super_'].call(this);
  }
  
  util.inherits(ApplicationGatewaySslCertificate, models['SubResource']);
  
  /**
   * Defines the metadata of ApplicationGatewaySslCertificate
   *
   * @returns {object} metadata of ApplicationGatewaySslCertificate
   *
   */
  ApplicationGatewaySslCertificate.prototype.mapper = function () {
    return {
      required: false,
      serializedName: 'ApplicationGatewaySslCertificate',
      type: {
        name: 'Composite',
        className: 'ApplicationGatewaySslCertificate',
        modelProperties: {
          id: {
            required: false,
            serializedName: 'id',
            type: {
              name: 'String'
            }
          },
          data: {
            required: false,
            serializedName: 'properties.data',
            type: {
              name: 'String'
            }
          },
          password: {
            required: false,
            serializedName: 'properties.password',
            type: {
              name: 'String'
            }
          },
          publicCertData: {
            required: false,
            serializedName: 'properties.publicCertData',
            type: {
              name: 'String'
            }
          },
          provisioningState: {
            required: false,
            serializedName: 'properties.provisioningState',
            type: {
              name: 'String'
            }
          },
          name: {
            required: false,
            serializedName: 'name',
            type: {
              name: 'String'
            }
          },
          etag: {
            required: false,
            serializedName: 'etag',
            type: {
              name: 'String'
            }
          }
        }
      }
    };
  };
  
  module.exports = ApplicationGatewaySslCertificate;
  