/**
 * MEEP Controller REST API
 * Copyright (c) 2019  InterDigital Communications, Inc Licensed under the Apache License, Version 2.0 (the \"License\"); you may not use this file except in compliance with the License. You may obtain a copy of the License at      http://www.apache.org/licenses/LICENSE-2.0  Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. 
 *
 * OpenAPI spec version: 1.0.0
 *
 * NOTE: This class is auto generated by the swagger code generator program.
 * https://github.com/swagger-api/swagger-codegen.git
 *
 * Swagger Codegen version: 2.3.1
 *
 * Do not edit the class manually.
 *
 */

(function(factory) {
  if (typeof define === 'function' && define.amd) {
    // AMD. Register as an anonymous module.
    define(['ApiClient', 'model/Deployment', 'model/Domain', 'model/EgressService', 'model/Event', 'model/EventList', 'model/EventNetworkCharacteristicsUpdate', 'model/EventOther', 'model/EventPoasInRange', 'model/EventUeMobility', 'model/ExternalConfig', 'model/GpuConfig', 'model/IngressService', 'model/NetworkLocation', 'model/NodeServiceMaps', 'model/PhysicalLocation', 'model/PodStatus', 'model/PodsStatus', 'model/Process', 'model/Scenario', 'model/ScenarioConfig', 'model/ScenarioList', 'model/ServiceConfig', 'model/ServicePort', 'model/Settings', 'model/Zone', 'api/MEEPSettingsApi', 'api/PodStatesApi', 'api/ScenarioConfigurationApi', 'api/ScenarioExecutionApi'], factory);
  } else if (typeof module === 'object' && module.exports) {
    // CommonJS-like environments that support module.exports, like Node.
    module.exports = factory(require('./ApiClient'), require('./model/Deployment'), require('./model/Domain'), require('./model/EgressService'), require('./model/Event'), require('./model/EventList'), require('./model/EventNetworkCharacteristicsUpdate'), require('./model/EventOther'), require('./model/EventPoasInRange'), require('./model/EventUeMobility'), require('./model/ExternalConfig'), require('./model/GpuConfig'), require('./model/IngressService'), require('./model/NetworkLocation'), require('./model/NodeServiceMaps'), require('./model/PhysicalLocation'), require('./model/PodStatus'), require('./model/PodsStatus'), require('./model/Process'), require('./model/Scenario'), require('./model/ScenarioConfig'), require('./model/ScenarioList'), require('./model/ServiceConfig'), require('./model/ServicePort'), require('./model/Settings'), require('./model/Zone'), require('./api/MEEPSettingsApi'), require('./api/PodStatesApi'), require('./api/ScenarioConfigurationApi'), require('./api/ScenarioExecutionApi'));
  }
}(function(ApiClient, Deployment, Domain, EgressService, Event, EventList, EventNetworkCharacteristicsUpdate, EventOther, EventPoasInRange, EventUeMobility, ExternalConfig, GpuConfig, IngressService, NetworkLocation, NodeServiceMaps, PhysicalLocation, PodStatus, PodsStatus, Process, Scenario, ScenarioConfig, ScenarioList, ServiceConfig, ServicePort, Settings, Zone, MEEPSettingsApi, PodStatesApi, ScenarioConfigurationApi, ScenarioExecutionApi) {
  'use strict';

  /**
   * Copyright__c_2019__InterDigital_Communications_IncLicensed_under_the_Apache_License_Version_2_0__the_License_you_may_not_use_this_file_except_in_compliance_with_the_License__You_may_obtain_a_copy_of_the_License_at____httpwww_apache_orglicensesLICENSE_2_0Unless_required_by_applicable_law_or_agreed_to_in_writing_software_distributed_under_the_License_is_distributed_on_an_AS_IS_BASIS_WITHOUT_WARRANTIES_OR_CONDITIONS_OF_ANY_KIND_either_express_or_implied__See_the_License_for_the_specific_language_governing_permissions_and_limitations_under_the_License_.<br>
   * The <code>index</code> module provides access to constructors for all the classes which comprise the public API.
   * <p>
   * An AMD (recommended!) or CommonJS application will generally do something equivalent to the following:
   * <pre>
   * var MeepControllerRestApi = require('index'); // See note below*.
   * var xxxSvc = new MeepControllerRestApi.XxxApi(); // Allocate the API class we're going to use.
   * var yyyModel = new MeepControllerRestApi.Yyy(); // Construct a model instance.
   * yyyModel.someProperty = 'someValue';
   * ...
   * var zzz = xxxSvc.doSomething(yyyModel); // Invoke the service.
   * ...
   * </pre>
   * <em>*NOTE: For a top-level AMD script, use require(['index'], function(){...})
   * and put the application logic within the callback function.</em>
   * </p>
   * <p>
   * A non-AMD browser application (discouraged) might do something like this:
   * <pre>
   * var xxxSvc = new MeepControllerRestApi.XxxApi(); // Allocate the API class we're going to use.
   * var yyy = new MeepControllerRestApi.Yyy(); // Construct a model instance.
   * yyyModel.someProperty = 'someValue';
   * ...
   * var zzz = xxxSvc.doSomething(yyyModel); // Invoke the service.
   * ...
   * </pre>
   * </p>
   * @module index
   * @version 1.0.0
   */
  var exports = {
    /**
     * The ApiClient constructor.
     * @property {module:ApiClient}
     */
    ApiClient: ApiClient,
    /**
     * The Deployment model constructor.
     * @property {module:model/Deployment}
     */
    Deployment: Deployment,
    /**
     * The Domain model constructor.
     * @property {module:model/Domain}
     */
    Domain: Domain,
    /**
     * The EgressService model constructor.
     * @property {module:model/EgressService}
     */
    EgressService: EgressService,
    /**
     * The Event model constructor.
     * @property {module:model/Event}
     */
    Event: Event,
    /**
     * The EventList model constructor.
     * @property {module:model/EventList}
     */
    EventList: EventList,
    /**
     * The EventNetworkCharacteristicsUpdate model constructor.
     * @property {module:model/EventNetworkCharacteristicsUpdate}
     */
    EventNetworkCharacteristicsUpdate: EventNetworkCharacteristicsUpdate,
    /**
     * The EventOther model constructor.
     * @property {module:model/EventOther}
     */
    EventOther: EventOther,
    /**
     * The EventPoasInRange model constructor.
     * @property {module:model/EventPoasInRange}
     */
    EventPoasInRange: EventPoasInRange,
    /**
     * The EventUeMobility model constructor.
     * @property {module:model/EventUeMobility}
     */
    EventUeMobility: EventUeMobility,
    /**
     * The ExternalConfig model constructor.
     * @property {module:model/ExternalConfig}
     */
    ExternalConfig: ExternalConfig,
    /**
     * The GpuConfig model constructor.
     * @property {module:model/GpuConfig}
     */
    GpuConfig: GpuConfig,
    /**
     * The IngressService model constructor.
     * @property {module:model/IngressService}
     */
    IngressService: IngressService,
    /**
     * The NetworkLocation model constructor.
     * @property {module:model/NetworkLocation}
     */
    NetworkLocation: NetworkLocation,
    /**
     * The NodeServiceMaps model constructor.
     * @property {module:model/NodeServiceMaps}
     */
    NodeServiceMaps: NodeServiceMaps,
    /**
     * The PhysicalLocation model constructor.
     * @property {module:model/PhysicalLocation}
     */
    PhysicalLocation: PhysicalLocation,
    /**
     * The PodStatus model constructor.
     * @property {module:model/PodStatus}
     */
    PodStatus: PodStatus,
    /**
     * The PodsStatus model constructor.
     * @property {module:model/PodsStatus}
     */
    PodsStatus: PodsStatus,
    /**
     * The Process model constructor.
     * @property {module:model/Process}
     */
    Process: Process,
    /**
     * The Scenario model constructor.
     * @property {module:model/Scenario}
     */
    Scenario: Scenario,
    /**
     * The ScenarioConfig model constructor.
     * @property {module:model/ScenarioConfig}
     */
    ScenarioConfig: ScenarioConfig,
    /**
     * The ScenarioList model constructor.
     * @property {module:model/ScenarioList}
     */
    ScenarioList: ScenarioList,
    /**
     * The ServiceConfig model constructor.
     * @property {module:model/ServiceConfig}
     */
    ServiceConfig: ServiceConfig,
    /**
     * The ServicePort model constructor.
     * @property {module:model/ServicePort}
     */
    ServicePort: ServicePort,
    /**
     * The Settings model constructor.
     * @property {module:model/Settings}
     */
    Settings: Settings,
    /**
     * The Zone model constructor.
     * @property {module:model/Zone}
     */
    Zone: Zone,
    /**
     * The MEEPSettingsApi service constructor.
     * @property {module:api/MEEPSettingsApi}
     */
    MEEPSettingsApi: MEEPSettingsApi,
    /**
     * The PodStatesApi service constructor.
     * @property {module:api/PodStatesApi}
     */
    PodStatesApi: PodStatesApi,
    /**
     * The ScenarioConfigurationApi service constructor.
     * @property {module:api/ScenarioConfigurationApi}
     */
    ScenarioConfigurationApi: ScenarioConfigurationApi,
    /**
     * The ScenarioExecutionApi service constructor.
     * @property {module:api/ScenarioExecutionApi}
     */
    ScenarioExecutionApi: ScenarioExecutionApi
  };

  return exports;
}));
