npm package: @saladtechnologies-oss/salad-cloud-imds-sdk
Description: The SaladCloud Instance Metadata Service (IMDS). Please refer to the [SaladCloud API Documentation](https://docs.salad.com/reference) for more details.
Author: SaladCloud Support
Latest version: 0.9.0-alpha.5

# SaladCloudImdsSdk TypeScript SDK 0.9.0-alpha.5

Welcome to the SaladCloudImdsSdk SDK documentation. This guide will help you get started with integrating and using the SaladCloudImdsSdk SDK in your project.

[![This SDK was generated by liblab](https://public-liblab-readme-assets.s3.us-east-1.amazonaws.com/built-by-liblab-icon.svg)](https://liblab.com/?utm_source=readme)

## Versions

- API version: `0.9.0-alpha.2`
- SDK version: `0.9.0-alpha.5`

## About the API

The SaladCloud Instance Metadata Service (IMDS). Please refer to the [SaladCloud API Documentation](https://docs.salad.com/reference) for more details.

## Table of Contents

- [Setup & Configuration](#setup--configuration)
  - [Supported Language Versions](#supported-language-versions)
  - [Installation](#installation)
- [Setting a Custom Timeout](#setting-a-custom-timeout)
- [Sample Usage](#sample-usage)
- [Services](#services)
- [Models](#models)
- [License](#license)

# Setup & Configuration

## Supported Language Versions

This SDK is compatible with the following versions: `TypeScript >= 4.8.4`

## Installation

To get started with the SDK, we recommend installing using `npm`:

```bash
npm install @saladtechnologies-oss/salad-cloud-imds-sdk
```

## Setting a Custom Timeout

You can set a custom timeout for the SDK's HTTP requests as follows:

```ts
const saladCloudImdsSdk = new SaladCloudImdsSdk({ timeout: 10000 });
```

# Sample Usage

Below is a comprehensive example demonstrating how to authenticate and call a simple endpoint:

```ts
import { SaladCloudImdsSdk } from '@saladtechnologies-oss/salad-cloud-imds-sdk';

(async () => {
  const saladCloudImdsSdk = new SaladCloudImdsSdk({});

  const { data } = await saladCloudImdsSdk.metadata.getDeletionCost();

  console.log(data);
})();
```

## Services

The SDK provides various services to interact with the API.

<details> 
<summary>Below is a list of all available services with links to their detailed documentation:</summary>

| Name                                                         |
| :----------------------------------------------------------- |
| [MetadataService](documentation/services/MetadataService.md) |

</details>

## Models

The SDK includes several models that represent the data structures used in API requests and responses. These models help in organizing and managing the data efficiently.

<details> 
<summary>Below is a list of all available models with links to their detailed documentation:</summary>

| Name                                                               | Description                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| :----------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| [DeletionCost](documentation/models/DeletionCost.md)               | The deletion cost of the current container instance.                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| [SaladCloudImdsError](documentation/models/SaladCloudImdsError.md) | An API error. The `code` and `type` uniquely identify the type of the error. The `code` is a short value that may be used for programmatic error handling. The `type` is an absolute URL that may be resolved for more detailed information. Refer to the [SaladCloud IMDS reference](https://leaf.salad.com/l/saladcloud-imds-errors) for a list of the expected `code` and `type` values. Also, note that all properties are optional. Clients should implement robust error handling to account for unexpected errors. |
| [ReallocatePrototype](documentation/models/ReallocatePrototype.md) | Represents a request to reallocate the current container instance to another SaladCloud node.                                                                                                                                                                                                                                                                                                                                                                                                                             |
| [Status](documentation/models/Status.md)                           | The health statuses of the current container instance.                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| [Token](documentation/models/Token.md)                             | The identity token of the current container instance.                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |

</details>

## License

This SDK is licensed under the MIT License.

See the [LICENSE](LICENSE) file for more details.