/*
 * 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';

/**
 * @class
 * Initializes a new instance of the ContainerServiceAgentPoolProfile class.
 * @constructor
 * Profile for container service agent pool
 * @member {string} name Unique name of the agent pool profile within the
 * context of the subscription and resource group
 * 
 * @member {number} [count] No. of agents (VMs) that will host docker
 * containers
 * 
 * @member {string} [vmSize] Size of agent VMs. Possible values include:
 * 'Standard_A0', 'Standard_A1', 'Standard_A2', 'Standard_A3', 'Standard_A4',
 * 'Standard_A5', 'Standard_A6', 'Standard_A7', 'Standard_A8', 'Standard_A9',
 * 'Standard_A10', 'Standard_A11', 'Standard_D1', 'Standard_D2',
 * 'Standard_D3', 'Standard_D4', 'Standard_D11', 'Standard_D12',
 * 'Standard_D13', 'Standard_D14', 'Standard_D1_v2', 'Standard_D2_v2',
 * 'Standard_D3_v2', 'Standard_D4_v2', 'Standard_D5_v2', 'Standard_D11_v2',
 * 'Standard_D12_v2', 'Standard_D13_v2', 'Standard_D14_v2', 'Standard_G1',
 * 'Standard_G2', 'Standard_G3', 'Standard_G4', 'Standard_G5',
 * 'Standard_DS1', 'Standard_DS2', 'Standard_DS3', 'Standard_DS4',
 * 'Standard_DS11', 'Standard_DS12', 'Standard_DS13', 'Standard_DS14',
 * 'Standard_GS1', 'Standard_GS2', 'Standard_GS3', 'Standard_GS4',
 * 'Standard_GS5'
 * 
 * @member {string} dnsPrefix DNS prefix to be used to create FQDN for this
 * agent pool
 * 
 * @member {string} [fqdn] FDQN for the agent pool
 * 
 */
function ContainerServiceAgentPoolProfile() {
}

/**
 * Defines the metadata of ContainerServiceAgentPoolProfile
 *
 * @returns {object} metadata of ContainerServiceAgentPoolProfile
 *
 */
ContainerServiceAgentPoolProfile.prototype.mapper = function () {
  return {
    required: false,
    serializedName: 'ContainerServiceAgentPoolProfile',
    type: {
      name: 'Composite',
      className: 'ContainerServiceAgentPoolProfile',
      modelProperties: {
        name: {
          required: true,
          serializedName: 'name',
          type: {
            name: 'String'
          }
        },
        count: {
          required: false,
          serializedName: 'count',
          constraints: {
            InclusiveMaximum: 100,
            InclusiveMinimum: 1
          },
          type: {
            name: 'Number'
          }
        },
        vmSize: {
          required: false,
          serializedName: 'vmSize',
          type: {
            name: 'String'
          }
        },
        dnsPrefix: {
          required: true,
          serializedName: 'dnsPrefix',
          type: {
            name: 'String'
          }
        },
        fqdn: {
          required: false,
          readOnly: true,
          serializedName: 'fqdn',
          type: {
            name: 'String'
          }
        }
      }
    }
  };
};

module.exports = ContainerServiceAgentPoolProfile;
