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 PnsCredentialsResource class.
   * @constructor
   * Description of a NotificationHub PNS Credentials.
   *
   * @member {object} [apnsCredential] The ApnsCredential of the created
   * NotificationHub
   * 
   * @member {string} [apnsCredential.apnsCertificate] The APNS certificate.
   * 
   * @member {string} [apnsCredential.certificateKey] The certificate key.
   * 
   * @member {string} [apnsCredential.endpoint] The endpoint of this credential.
   * 
   * @member {string} [apnsCredential.thumbprint] The Apns certificate Thumbprint
   * 
   * @member {object} [wnsCredential] The WnsCredential of the created
   * NotificationHub
   * 
   * @member {string} [wnsCredential.packageSid] The package ID for this
   * credential.
   * 
   * @member {string} [wnsCredential.secretKey] The secret key.
   * 
   * @member {string} [wnsCredential.windowsLiveEndpoint] The Windows Live
   * endpoint.
   * 
   * @member {object} [gcmCredential] The GcmCredential of the created
   * NotificationHub
   * 
   * @member {string} [gcmCredential.gcmEndpoint] The GCM endpoint.
   * 
   * @member {string} [gcmCredential.googleApiKey] The Google API key.
   * 
   * @member {object} [mpnsCredential] The MpnsCredential of the created
   * NotificationHub
   * 
   * @member {string} [mpnsCredential.mpnsCertificate] The MPNS certificate.
   * 
   * @member {string} [mpnsCredential.certificateKey] The certificate key for
   * this credential.
   * 
   * @member {string} [mpnsCredential.thumbprint] The Mpns certificate Thumbprint
   * 
   * @member {object} [admCredential] The AdmCredential of the created
   * NotificationHub
   * 
   * @member {string} [admCredential.clientId] The client identifier.
   * 
   * @member {string} [admCredential.clientSecret] The credential secret access
   * key.
   * 
   * @member {string} [admCredential.authTokenUrl] The URL of the authorization
   * token.
   * 
   * @member {object} [baiduCredential] The BaiduCredential of the created
   * NotificationHub
   * 
   * @member {string} [baiduCredential.baiduApiKey] Baidu Api Key.
   * 
   * @member {string} [baiduCredential.baiduEndPoint] Baidu Endpoint.
   * 
   * @member {string} [baiduCredential.baiduSecretKey] Baidu Secret Key
   * 
   */
  function PnsCredentialsResource() {
    PnsCredentialsResource['super_'].call(this);
  }
  
  util.inherits(PnsCredentialsResource, models['Resource']);
  
  /**
   * Defines the metadata of PnsCredentialsResource
   *
   * @returns {object} metadata of PnsCredentialsResource
   *
   */
  PnsCredentialsResource.prototype.mapper = function () {
    return {
      required: false,
      serializedName: 'PnsCredentialsResource',
      type: {
        name: 'Composite',
        className: 'PnsCredentialsResource',
        modelProperties: {
          id: {
            required: false,
            readOnly: true,
            serializedName: 'id',
            type: {
              name: 'String'
            }
          },
          name: {
            required: false,
            readOnly: true,
            serializedName: 'name',
            type: {
              name: 'String'
            }
          },
          type: {
            required: false,
            readOnly: true,
            serializedName: 'type',
            type: {
              name: 'String'
            }
          },
          location: {
            required: true,
            serializedName: 'location',
            type: {
              name: 'String'
            }
          },
          tags: {
            required: false,
            serializedName: 'tags',
            type: {
              name: 'Dictionary',
              value: {
                  required: false,
                  serializedName: 'StringElementType',
                  type: {
                    name: 'String'
                  }
              }
            }
          },
          sku: {
            required: false,
            serializedName: 'sku',
            type: {
              name: 'Composite',
              className: 'Sku'
            }
          },
          apnsCredential: {
            required: false,
            serializedName: 'properties.apnsCredential',
            type: {
              name: 'Composite',
              className: 'ApnsCredential'
            }
          },
          wnsCredential: {
            required: false,
            serializedName: 'properties.wnsCredential',
            type: {
              name: 'Composite',
              className: 'WnsCredential'
            }
          },
          gcmCredential: {
            required: false,
            serializedName: 'properties.gcmCredential',
            type: {
              name: 'Composite',
              className: 'GcmCredential'
            }
          },
          mpnsCredential: {
            required: false,
            serializedName: 'properties.mpnsCredential',
            type: {
              name: 'Composite',
              className: 'MpnsCredential'
            }
          },
          admCredential: {
            required: false,
            serializedName: 'properties.admCredential',
            type: {
              name: 'Composite',
              className: 'AdmCredential'
            }
          },
          baiduCredential: {
            required: false,
            serializedName: 'properties.baiduCredential',
            type: {
              name: 'Composite',
              className: 'BaiduCredential'
            }
          }
        }
      }
    };
  };
  
  module.exports = PnsCredentialsResource;
  