# advant_edge_platform_controller_rest_api
AdvantEdgePlatformControllerRestApi - JavaScript client for advant_edge_platform_controller_rest_api
This API is the main platform API and mainly used by the AdvantEDGE frontend to interact with scenarios
**Micro-service**
[meep-ctrl-engine](https://github.com/InterDigitalInc/AdvantEDGE/tree/master/go-apps/meep-ctrl-engine)
**Type & Usage**
Platform main interface used by controller software that want to interact with the AdvantEDGE platform
**Details**
API details available at _your-AdvantEDGE-ip-address:30000/api_
**Default Port**
`30000`
This SDK is automatically generated by the [Swagger Codegen](https://github.com/swagger-api/swagger-codegen) project:
- API version: 1.0.0
- Package version: 1.0.0
- Build package: io.swagger.codegen.languages.JavascriptClientCodegen
## Installation
### For [Node.js](https://nodejs.org/)
#### npm
To publish the library as a [npm](https://www.npmjs.com/),
please follow the procedure in ["Publishing npm packages"](https://docs.npmjs.com/getting-started/publishing-npm-packages).
Then install it via:
```shell
npm install advant_edge_platform_controller_rest_api --save
```
##### Local development
To use the library locally without publishing to a remote npm registry, first install the dependencies by changing
into the directory containing `package.json` (and this README). Let's call this `JAVASCRIPT_CLIENT_DIR`. Then run:
```shell
npm install
```
Next, [link](https://docs.npmjs.com/cli/link) it globally in npm with the following, also from `JAVASCRIPT_CLIENT_DIR`:
```shell
npm link
```
Finally, switch to the directory you want to use your advant_edge_platform_controller_rest_api from, and run:
```shell
npm link /path/to/
```
You should now be able to `require('advant_edge_platform_controller_rest_api')` in javascript files from the directory you ran the last
command above from.
#### git
#
If the library is hosted at a git repository, e.g.
https://github.com/GIT_USER_ID/GIT_REPO_ID
then install it via:
```shell
npm install GIT_USER_ID/GIT_REPO_ID --save
```
### For browser
The library also works in the browser environment via npm and [browserify](http://browserify.org/). After following
the above steps with Node.js and installing browserify with `npm install -g browserify`,
perform the following (assuming *main.js* is your entry file, that's to say your javascript file where you actually
use this library):
```shell
browserify main.js > bundle.js
```
Then include *bundle.js* in the HTML pages.
### Webpack Configuration
Using Webpack you may encounter the following error: "Module not found: Error:
Cannot resolve module", most certainly you should disable AMD loader. Add/merge
the following section to your webpack config:
```javascript
module: {
rules: [
{
parser: {
amd: false
}
}
]
}
```
## Getting Started
Please follow the [installation](#installation) instruction and execute the following JS code:
```javascript
var AdvantEdgePlatformControllerRestApi = require('advant_edge_platform_controller_rest_api');
var api = new AdvantEdgePlatformControllerRestApi.PodStatesApi()
var opts = {
'_long': "_long_example", // {String} Enables detailed stats if true
'type': "type_example" // {String} Pod type
};
var callback = function(error, data, response) {
if (error) {
console.error(error);
} else {
console.log('API called successfully. Returned data: ' + data);
}
};
api.getStates(opts, callback);
```
## Documentation for API Endpoints
All URIs are relative to *http://localhost/v1*
Class | Method | HTTP request | Description
------------ | ------------- | ------------- | -------------
*AdvantEdgePlatformControllerRestApi.PodStatesApi* | [**getStates**](docs/PodStatesApi.md#getStates) | **GET** /states | Get pods states
*AdvantEdgePlatformControllerRestApi.ScenarioConfigurationApi* | [**createScenario**](docs/ScenarioConfigurationApi.md#createScenario) | **POST** /scenarios/{name} | Add a scenario
*AdvantEdgePlatformControllerRestApi.ScenarioConfigurationApi* | [**deleteScenario**](docs/ScenarioConfigurationApi.md#deleteScenario) | **DELETE** /scenarios/{name} | Delete a scenario
*AdvantEdgePlatformControllerRestApi.ScenarioConfigurationApi* | [**deleteScenarioList**](docs/ScenarioConfigurationApi.md#deleteScenarioList) | **DELETE** /scenarios | Delete all scenarios
*AdvantEdgePlatformControllerRestApi.ScenarioConfigurationApi* | [**getScenario**](docs/ScenarioConfigurationApi.md#getScenario) | **GET** /scenarios/{name} | Get a specific scenario
*AdvantEdgePlatformControllerRestApi.ScenarioConfigurationApi* | [**getScenarioList**](docs/ScenarioConfigurationApi.md#getScenarioList) | **GET** /scenarios | Get all scenarios
*AdvantEdgePlatformControllerRestApi.ScenarioConfigurationApi* | [**setScenario**](docs/ScenarioConfigurationApi.md#setScenario) | **PUT** /scenarios/{name} | Update a scenario
*AdvantEdgePlatformControllerRestApi.ScenarioExecutionApi* | [**activateScenario**](docs/ScenarioExecutionApi.md#activateScenario) | **POST** /active/{name} | Deploy a scenario
*AdvantEdgePlatformControllerRestApi.ScenarioExecutionApi* | [**getActiveNodeServiceMaps**](docs/ScenarioExecutionApi.md#getActiveNodeServiceMaps) | **GET** /active/serviceMaps | Get deployed scenario's port mapping
*AdvantEdgePlatformControllerRestApi.ScenarioExecutionApi* | [**getActiveScenario**](docs/ScenarioExecutionApi.md#getActiveScenario) | **GET** /active | Get the deployed scenario
*AdvantEdgePlatformControllerRestApi.ScenarioExecutionApi* | [**sendEvent**](docs/ScenarioExecutionApi.md#sendEvent) | **POST** /events/{type} | Send events to the deployed scenario
*AdvantEdgePlatformControllerRestApi.ScenarioExecutionApi* | [**terminateScenario**](docs/ScenarioExecutionApi.md#terminateScenario) | **DELETE** /active | Terminate the deployed scenario
## Documentation for Models
- [AdvantEdgePlatformControllerRestApi.Deployment](docs/Deployment.md)
- [AdvantEdgePlatformControllerRestApi.Domain](docs/Domain.md)
- [AdvantEdgePlatformControllerRestApi.EgressService](docs/EgressService.md)
- [AdvantEdgePlatformControllerRestApi.Event](docs/Event.md)
- [AdvantEdgePlatformControllerRestApi.EventMobility](docs/EventMobility.md)
- [AdvantEdgePlatformControllerRestApi.EventNetworkCharacteristicsUpdate](docs/EventNetworkCharacteristicsUpdate.md)
- [AdvantEdgePlatformControllerRestApi.EventOther](docs/EventOther.md)
- [AdvantEdgePlatformControllerRestApi.EventPoasInRange](docs/EventPoasInRange.md)
- [AdvantEdgePlatformControllerRestApi.ExternalConfig](docs/ExternalConfig.md)
- [AdvantEdgePlatformControllerRestApi.GpuConfig](docs/GpuConfig.md)
- [AdvantEdgePlatformControllerRestApi.IngressService](docs/IngressService.md)
- [AdvantEdgePlatformControllerRestApi.NetworkCharacteristics](docs/NetworkCharacteristics.md)
- [AdvantEdgePlatformControllerRestApi.NetworkLocation](docs/NetworkLocation.md)
- [AdvantEdgePlatformControllerRestApi.NodeServiceMaps](docs/NodeServiceMaps.md)
- [AdvantEdgePlatformControllerRestApi.PhysicalLocation](docs/PhysicalLocation.md)
- [AdvantEdgePlatformControllerRestApi.PodStatus](docs/PodStatus.md)
- [AdvantEdgePlatformControllerRestApi.PodsStatus](docs/PodsStatus.md)
- [AdvantEdgePlatformControllerRestApi.Process](docs/Process.md)
- [AdvantEdgePlatformControllerRestApi.Scenario](docs/Scenario.md)
- [AdvantEdgePlatformControllerRestApi.ScenarioConfig](docs/ScenarioConfig.md)
- [AdvantEdgePlatformControllerRestApi.ScenarioList](docs/ScenarioList.md)
- [AdvantEdgePlatformControllerRestApi.ServiceConfig](docs/ServiceConfig.md)
- [AdvantEdgePlatformControllerRestApi.ServicePort](docs/ServicePort.md)
- [AdvantEdgePlatformControllerRestApi.Zone](docs/Zone.md)
## Documentation for Authorization
All endpoints do not require authorization.