# advant_edge_platform_controller_rest_api
AdvantEdgePlatformControllerRestApi - JavaScript client for advant_edge_platform_controller_rest_api
This API is the main Platform Controller API for scenario configuration & sandbox management
**Micro-service**
[meep-pfm-ctrl](https://github.com/InterDigitalInc/AdvantEDGE/tree/master/go-apps/meep-platform-ctrl)
**Type & Usage**
Platform main interface used by controller software to configure scenarios and manage sandboxes in the AdvantEDGE platform
**Details**
API details available at _your-AdvantEDGE-ip-address/api_
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.SandboxControlApi()
var config = new AdvantEdgePlatformControllerRestApi.SandboxConfig(); // {SandboxConfig} Sandbox configuration information
var callback = function(error, data, response) {
if (error) {
console.error(error);
} else {
console.log('API called successfully. Returned data: ' + data);
}
};
api.createSandbox(config, callback);
```
## Documentation for API Endpoints
All URIs are relative to *https://localhost/platform-ctrl/v1*
Class | Method | HTTP request | Description
------------ | ------------- | ------------- | -------------
*AdvantEdgePlatformControllerRestApi.SandboxControlApi* | [**createSandbox**](docs/SandboxControlApi.md#createSandbox) | **POST** /sandboxes | Create a new sandbox
*AdvantEdgePlatformControllerRestApi.SandboxControlApi* | [**createSandboxWithName**](docs/SandboxControlApi.md#createSandboxWithName) | **POST** /sandboxes/{name} | Create a new sandbox
*AdvantEdgePlatformControllerRestApi.SandboxControlApi* | [**deleteSandbox**](docs/SandboxControlApi.md#deleteSandbox) | **DELETE** /sandboxes/{name} | Delete a specific sandbox
*AdvantEdgePlatformControllerRestApi.SandboxControlApi* | [**deleteSandboxList**](docs/SandboxControlApi.md#deleteSandboxList) | **DELETE** /sandboxes | Delete all active sandboxes
*AdvantEdgePlatformControllerRestApi.SandboxControlApi* | [**getSandbox**](docs/SandboxControlApi.md#getSandbox) | **GET** /sandboxes/{name} | Get a specific sandbox
*AdvantEdgePlatformControllerRestApi.SandboxControlApi* | [**getSandboxList**](docs/SandboxControlApi.md#getSandboxList) | **GET** /sandboxes | Get all active sandboxes
*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.UserAuthenticationApi* | [**loginUser**](docs/UserAuthenticationApi.md#loginUser) | **POST** /login | Start a session
*AdvantEdgePlatformControllerRestApi.UserAuthenticationApi* | [**logoutUser**](docs/UserAuthenticationApi.md#logoutUser) | **GET** /logout | Terminate a session
*AdvantEdgePlatformControllerRestApi.UserAuthenticationApi* | [**refreshUser**](docs/UserAuthenticationApi.md#refreshUser) | **GET** /login | Get new session cookie
## Documentation for Models
- [AdvantEdgePlatformControllerRestApi.CellularDomainConfig](docs/CellularDomainConfig.md)
- [AdvantEdgePlatformControllerRestApi.CellularPoaConfig](docs/CellularPoaConfig.md)
- [AdvantEdgePlatformControllerRestApi.Deployment](docs/Deployment.md)
- [AdvantEdgePlatformControllerRestApi.Domain](docs/Domain.md)
- [AdvantEdgePlatformControllerRestApi.EgressService](docs/EgressService.md)
- [AdvantEdgePlatformControllerRestApi.ExternalConfig](docs/ExternalConfig.md)
- [AdvantEdgePlatformControllerRestApi.GeoData](docs/GeoData.md)
- [AdvantEdgePlatformControllerRestApi.GpuConfig](docs/GpuConfig.md)
- [AdvantEdgePlatformControllerRestApi.IngressService](docs/IngressService.md)
- [AdvantEdgePlatformControllerRestApi.LineString](docs/LineString.md)
- [AdvantEdgePlatformControllerRestApi.NetworkCharacteristics](docs/NetworkCharacteristics.md)
- [AdvantEdgePlatformControllerRestApi.NetworkLocation](docs/NetworkLocation.md)
- [AdvantEdgePlatformControllerRestApi.PhysicalLocation](docs/PhysicalLocation.md)
- [AdvantEdgePlatformControllerRestApi.Poa4GConfig](docs/Poa4GConfig.md)
- [AdvantEdgePlatformControllerRestApi.Poa5GConfig](docs/Poa5GConfig.md)
- [AdvantEdgePlatformControllerRestApi.PoaWifiConfig](docs/PoaWifiConfig.md)
- [AdvantEdgePlatformControllerRestApi.Point](docs/Point.md)
- [AdvantEdgePlatformControllerRestApi.Process](docs/Process.md)
- [AdvantEdgePlatformControllerRestApi.Sandbox](docs/Sandbox.md)
- [AdvantEdgePlatformControllerRestApi.SandboxConfig](docs/SandboxConfig.md)
- [AdvantEdgePlatformControllerRestApi.SandboxList](docs/SandboxList.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.