# @openshift-migration-advisor/agent-sdk@0.12.0

A TypeScript SDK client for the raw.githubusercontent.com API.

## Usage

First, install the SDK from npm.

```bash
npm install @openshift-migration-advisor/agent-sdk --save
```

Next, try it out.


```ts
import {
  Configuration,
  DefaultApi,
} from '@openshift-migration-advisor/agent-sdk';
import type { AddVMToInspectionRequest } from '@openshift-migration-advisor/agent-sdk';

async function example() {
  console.log("🚀 Testing @openshift-migration-advisor/agent-sdk SDK...");
  const api = new DefaultApi();

  const body = {
    // string
    id: id_example,
  } satisfies AddVMToInspectionRequest;

  try {
    const data = await api.addVMToInspection(body);
    console.log(data);
  } catch (error) {
    console.error(error);
  }
}

// Run the test
example().catch(console.error);
```


## Documentation

### API Endpoints

All URIs are relative to *https://raw.githubusercontent.com/api/v1*

| Class | Method | HTTP request | Description
| ----- | ------ | ------------ | -------------
*DefaultApi* | [**addVMToInspection**](docs/DefaultApi.md#addvmtoinspection) | **POST** /vms/{id}/inspection | Add VirtualMachine to inspection queue
*DefaultApi* | [**createGroup**](docs/DefaultApi.md#creategroupoperation) | **POST** /groups | Create a new group
*DefaultApi* | [**deleteGroup**](docs/DefaultApi.md#deletegroup) | **DELETE** /groups/{id} | Delete group
*DefaultApi* | [**getAgentStatus**](docs/DefaultApi.md#getagentstatus) | **GET** /agent | Get agent status
*DefaultApi* | [**getCollectorStatus**](docs/DefaultApi.md#getcollectorstatus) | **GET** /collector | Get collector status
*DefaultApi* | [**getGroup**](docs/DefaultApi.md#getgroup) | **GET** /groups/{id} | Get group by ID with its VMs
*DefaultApi* | [**getInspectorStatus**](docs/DefaultApi.md#getinspectorstatus) | **GET** /inspector | Get inspector status
*DefaultApi* | [**getInspectorVddkStatus**](docs/DefaultApi.md#getinspectorvddkstatus) | **GET** /inspector/vddk | Get VDDK status
*DefaultApi* | [**getInventory**](docs/DefaultApi.md#getinventory) | **GET** /inventory | Get collected inventory
*DefaultApi* | [**getVM**](docs/DefaultApi.md#getvm) | **GET** /vms/{id} | Get details about a vm
*DefaultApi* | [**getVMs**](docs/DefaultApi.md#getvms) | **GET** /vms | Get list of VMs with filtering and pagination
*DefaultApi* | [**getVersion**](docs/DefaultApi.md#getversion) | **GET** /version | Get agent version information
*DefaultApi* | [**listGroups**](docs/DefaultApi.md#listgroups) | **GET** /groups | List all groups
*DefaultApi* | [**putInspectorCredentials**](docs/DefaultApi.md#putinspectorcredentials) | **PUT** /inspector/credentials | Set or replace inspector credentials
*DefaultApi* | [**putInspectorVddk**](docs/DefaultApi.md#putinspectorvddk) | **PUT** /inspector/vddk | Upload VDDK tarball
*DefaultApi* | [**removeVMFromInspection**](docs/DefaultApi.md#removevmfrominspection) | **DELETE** /vms/{id}/inspection | Remove VirtualMachine from inspection queue
*DefaultApi* | [**setAgentMode**](docs/DefaultApi.md#setagentmode) | **POST** /agent | Change agent mode
*DefaultApi* | [**startCollector**](docs/DefaultApi.md#startcollector) | **POST** /collector | Start inventory collection
*DefaultApi* | [**startInspection**](docs/DefaultApi.md#startinspectionoperation) | **POST** /inspector | Start inspection for VMs
*DefaultApi* | [**stopCollector**](docs/DefaultApi.md#stopcollector) | **DELETE** /collector | Stop collection
*DefaultApi* | [**stopInspection**](docs/DefaultApi.md#stopinspection) | **DELETE** /inspector | Stop inspector entirely
*DefaultApi* | [**updateGroup**](docs/DefaultApi.md#updategroupoperation) | **PATCH** /groups/{id} | Update group


### Models

- [AgentModeRequest](docs/AgentModeRequest.md)
- [AgentStatus](docs/AgentStatus.md)
- [CollectorStartRequest](docs/CollectorStartRequest.md)
- [CollectorStatus](docs/CollectorStatus.md)
- [CreateGroupRequest](docs/CreateGroupRequest.md)
- [Datastore](docs/Datastore.md)
- [DiskSizeTierSummary](docs/DiskSizeTierSummary.md)
- [DiskTypeSummary](docs/DiskTypeSummary.md)
- [GetInventory200Response](docs/GetInventory200Response.md)
- [Group](docs/Group.md)
- [GroupListResponse](docs/GroupListResponse.md)
- [GroupResponse](docs/GroupResponse.md)
- [GuestNetwork](docs/GuestNetwork.md)
- [Histogram](docs/Histogram.md)
- [Host](docs/Host.md)
- [Infra](docs/Infra.md)
- [InspectorStatus](docs/InspectorStatus.md)
- [Inventory](docs/Inventory.md)
- [InventoryData](docs/InventoryData.md)
- [MigrationIssue](docs/MigrationIssue.md)
- [Network](docs/Network.md)
- [OsInfo](docs/OsInfo.md)
- [StartInspectionRequest](docs/StartInspectionRequest.md)
- [UpdateGroupRequest](docs/UpdateGroupRequest.md)
- [UpdateInventory](docs/UpdateInventory.md)
- [VCenter](docs/VCenter.md)
- [VMDevice](docs/VMDevice.md)
- [VMDisk](docs/VMDisk.md)
- [VMIssue](docs/VMIssue.md)
- [VMNIC](docs/VMNIC.md)
- [VMResourceBreakdown](docs/VMResourceBreakdown.md)
- [VMs](docs/VMs.md)
- [VcenterCredentials](docs/VcenterCredentials.md)
- [VddkProperties](docs/VddkProperties.md)
- [VersionInfo](docs/VersionInfo.md)
- [VirtualMachine](docs/VirtualMachine.md)
- [VirtualMachineDetail](docs/VirtualMachineDetail.md)
- [VirtualMachineListResponse](docs/VirtualMachineListResponse.md)
- [VmInspectionConcern](docs/VmInspectionConcern.md)
- [VmInspectionResults](docs/VmInspectionResults.md)
- [VmInspectionStatus](docs/VmInspectionStatus.md)

### Authorization

Endpoints do not require authorization.


## About

This TypeScript SDK client supports the [Fetch API](https://fetch.spec.whatwg.org/)
and is automatically generated by the
[OpenAPI Generator](https://openapi-generator.tech) project:

- API version: `v1`
- Package version: `0.12.0`
- Generator version: `7.22.0-SNAPSHOT`
- Build package: `org.openapitools.codegen.languages.TypeScriptFetchClientCodegen`

The generated npm module supports the following:

- Environments
  * Node.js
  * Webpack
  * Browserify
- Language levels
  * ES5 - you must have a Promises/A+ library installed
  * ES6
- Module systems
  * CommonJS
  * ES6 module system


## Development

### Building

To build the TypeScript source code, you need to have Node.js and npm installed.
After cloning the repository, navigate to the project directory and run:

```bash
npm install
npm run build
```

### Publishing

Once you've built the package, you can publish it to npm:

```bash
npm publish
```

## License

[]()
