npm package: @netsoc/webspaced
Description: API_for_managing_next_gen_webspaces_
Latest version: 1.2.0

# @netsoc/webspaced

@NetsocWebspaced - JavaScript client for @netsoc/webspaced
API for managing next-gen webspaces.

This SDK is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project:

- API version: 1.2.0
- Package version: 1.2.0
- Build package: org.openapitools.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 @netsoc/webspaced --save
```

Finally, you need to build the module:

```shell
npm run build
```

##### 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
```

To use the link you just defined in your project, switch to the directory you want to use your @netsoc/webspaced from, and run:

```shell
npm link /path/to/<JAVASCRIPT_CLIENT_DIR>
```

Finally, you need to build the module:

```shell
npm run build
```

#### 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):

```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 @NetsocWebspaced = require('@netsoc/webspaced');

var defaultClient = @NetsocWebspaced.ApiClient.instance;
// Configure Bearer (jwt) access token for authorization: jwt
var jwt = defaultClient.authentications['jwt'];
jwt.accessToken = "YOUR ACCESS TOKEN"
// Configure Bearer (jwt) access token for authorization: jwt_admin
var jwt_admin = defaultClient.authentications['jwt_admin'];
jwt_admin.accessToken = "YOUR ACCESS TOKEN"

var api = new @NetsocWebspaced.ConfigApi()
var username = root; // {String} User's username. Can be `self` to indicate the currently authenticated user. 
var callback = function(error, data, response) {
  if (error) {
    console.error(error);
  } else {
    console.log('API called successfully.');
  }
};
api.callDelete(username, callback);

```

## Documentation for API Endpoints

All URIs are relative to *https://webspaced.netsoc.ie/v1*

Class | Method | HTTP request | Description
------------ | ------------- | ------------- | -------------
*@NetsocWebspaced.ConfigApi* | [**callDelete**](docs/ConfigApi.md#callDelete) | **DELETE** /webspace/{username} | Destroy webspace
*@NetsocWebspaced.ConfigApi* | [**create**](docs/ConfigApi.md#create) | **POST** /webspace/{username} | Initialize webspace
*@NetsocWebspaced.ConfigApi* | [**get**](docs/ConfigApi.md#get) | **GET** /webspace/{username} | Retrieve all webspace information
*@NetsocWebspaced.ConfigApi* | [**getConfig**](docs/ConfigApi.md#getConfig) | **GET** /webspace/{username}/config | Retrieve webspace configuration
*@NetsocWebspaced.ConfigApi* | [**updateConfig**](docs/ConfigApi.md#updateConfig) | **PATCH** /webspace/{username}/config | Change webspace config options
*@NetsocWebspaced.ConsoleApi* | [**clearLog**](docs/ConsoleApi.md#clearLog) | **DELETE** /webspace/{username}/log | Clear webspace console log
*@NetsocWebspaced.ConsoleApi* | [**console**](docs/ConsoleApi.md#console) | **GET** /webspace/{username}/console | Attach to webspace console
*@NetsocWebspaced.ConsoleApi* | [**exec**](docs/ConsoleApi.md#exec) | **POST** /webspace/{username}/exec | Execute command non-interactively
*@NetsocWebspaced.ConsoleApi* | [**execInteractive**](docs/ConsoleApi.md#execInteractive) | **GET** /webspace/{username}/exec | Execute a command interactively
*@NetsocWebspaced.ConsoleApi* | [**getLog**](docs/ConsoleApi.md#getLog) | **GET** /webspace/{username}/log | Retrieve webspace console log
*@NetsocWebspaced.DomainsApi* | [**addDomain**](docs/DomainsApi.md#addDomain) | **POST** /webspace/{username}/domains/{domain} | Add custom domain
*@NetsocWebspaced.DomainsApi* | [**getDomains**](docs/DomainsApi.md#getDomains) | **GET** /webspace/{username}/domains | Retrieve webspace domains
*@NetsocWebspaced.DomainsApi* | [**removeDomain**](docs/DomainsApi.md#removeDomain) | **DELETE** /webspace/{username}/domains/{domain} | Delete custom domain
*@NetsocWebspaced.ImagesApi* | [**getImages**](docs/ImagesApi.md#getImages) | **GET** /images | List images
*@NetsocWebspaced.PortsApi* | [**addPort**](docs/PortsApi.md#addPort) | **POST** /webspace/{username}/ports/{ePort}/{iPort} | Add port forward
*@NetsocWebspaced.PortsApi* | [**addRandomPort**](docs/PortsApi.md#addRandomPort) | **POST** /webspace/{username}/ports/{iPort} | Add random port forward
*@NetsocWebspaced.PortsApi* | [**getPorts**](docs/PortsApi.md#getPorts) | **GET** /webspace/{username}/ports | Retrieve webspace port forwards
*@NetsocWebspaced.PortsApi* | [**removePort**](docs/PortsApi.md#removePort) | **DELETE** /webspace/{username}/ports/{ePort} | Delete port forward
*@NetsocWebspaced.StateApi* | [**getState**](docs/StateApi.md#getState) | **GET** /webspace/{username}/state | Retrieve webspace state
*@NetsocWebspaced.StateApi* | [**reboot**](docs/StateApi.md#reboot) | **PUT** /webspace/{username}/state | Reboot webspace container
*@NetsocWebspaced.StateApi* | [**shutdown**](docs/StateApi.md#shutdown) | **DELETE** /webspace/{username}/state | Shut down webspace container
*@NetsocWebspaced.StateApi* | [**start**](docs/StateApi.md#start) | **POST** /webspace/{username}/state | Start webspace container
*@NetsocWebspaced.StateApi* | [**sync**](docs/StateApi.md#sync) | **PATCH** /webspace/{username}/state | Re-generate webspace backend config


## Documentation for Models

 - [@NetsocWebspaced.AddRandomPortResponse](docs/AddRandomPortResponse.md)
 - [@NetsocWebspaced.Config](docs/Config.md)
 - [@NetsocWebspaced.Error](docs/Error.md)
 - [@NetsocWebspaced.ExecInteractiveControl](docs/ExecInteractiveControl.md)
 - [@NetsocWebspaced.ExecInteractiveRequest](docs/ExecInteractiveRequest.md)
 - [@NetsocWebspaced.ExecRequest](docs/ExecRequest.md)
 - [@NetsocWebspaced.ExecResponse](docs/ExecResponse.md)
 - [@NetsocWebspaced.Image](docs/Image.md)
 - [@NetsocWebspaced.ImageAlias](docs/ImageAlias.md)
 - [@NetsocWebspaced.InitRequest](docs/InitRequest.md)
 - [@NetsocWebspaced.InterfaceAddress](docs/InterfaceAddress.md)
 - [@NetsocWebspaced.InterfaceCounters](docs/InterfaceCounters.md)
 - [@NetsocWebspaced.NetworkInterface](docs/NetworkInterface.md)
 - [@NetsocWebspaced.ResizeRequest](docs/ResizeRequest.md)
 - [@NetsocWebspaced.State](docs/State.md)
 - [@NetsocWebspaced.Usage](docs/Usage.md)
 - [@NetsocWebspaced.Webspace](docs/Webspace.md)


## Documentation for Authorization



### jwt

- **Type**: Bearer authentication (jwt)



### jwt_admin

- **Type**: Bearer authentication (jwt)