/Linode.API

This C# / .NET Core SDK simplifies using Linode Cloud API, managing servers, firewalls, SSH keys, and volumes. Ideal for web developers and .NET apps, it boosts cloud management for Linode Cloud resources.

Primary LanguageC#MIT LicenseMIT

Logo

Welcome to Linode.API

An awesome README template to jumpstart your projects!
Explore the docs ยป

View Demo ยท Report Bug ยท Request Feature

About The Project

This project is essentially your comprehensive guide to explore and use Linode APIs. Here, I compile everything you need to integrate your projects into one of the top cloud platforms, covering instances, firewalls, images, regions, SSH keys, StackScripts, and much more! ๐ŸŒ๐Ÿ”’๐Ÿš€

Key Features

  • Quick Start: Get going with simple examples to connect and utilize the API. ๐Ÿ–ฅ๏ธ
  • Detailed API Reference: Each endpoint is explained with code examples, making it easy even for beginners. ๐Ÿ“š
  • Use Cases: Explore how other developers are leveraging the API in real-world scenarios. ๐Ÿ’ก
  • Security and Best Practices: Learn how to use the API securely and efficiently. ๐Ÿ”
  • Support and Community: Join our community and get assistance when you need it. ๐Ÿ‘ฅ

Built With

C# VSCode

Installation

Before you can use Linode.API in your application, you must add the NuGet package. You can do this using your IDE or the command line:

PM> dotnet add package Linode.API

Usage

Ex; Create a server

LinodeClient linodeClient = new LinodeClient("apikey");

string label = "mySuperServerLinode";
string regionId = "eu-central";
string linodeTypeId = "g6-nanode-1";
string imageId = "linode/debian11";
string rootPassword = "krGNsg7oPxWTYS^q*KWL8HkHC2nJRUDjE*wT";

// Create
LinodeInstance linodeInstance = await linodeClient.LinodeInstance.Create(
    label,
    regionId,
    linodeTypeId,
    imageId,
    rootPassword
);

Ex; Get all server

LinodeClient linodeClient = new LinodeClient("apikey");

// Get all
List<LinodeInstance> list = await linodeClient.LinodeInstance.Get();

Ex; Get a server

LinodeClient linodeClient = new LinodeClient("apikey");

long instanceId = 52767381;

// Get One
LinodeInstance linodeInstance = await linodeClient.LinodeInstance.Get(instanceId);

License

Distributed under the MIT License. See LICENSE for more information.

Contact

Leonardo Chuello - @LJChuello - ljchuello@gmail.com

Project Link: github.com/ljchuello/Linode.API

Project Documentation: linode.ljchuello.com/

Nuget Package nuget.org/packages/Linode.API

Implemented functionality

โœ”๏ธ - Available on API, implemented
โŒ - Available on API, not implemented
โž– - Not available on API

Get all Get one Create Update Delete Actions
Domains (Zone DNS) โœ”๏ธ โœ”๏ธ โœ”๏ธ โœ”๏ธ โœ”๏ธ โž–
Domains (Record DNS) โœ”๏ธ โœ”๏ธ โœ”๏ธ โœ”๏ธ โœ”๏ธ โž–
Firewalls โœ”๏ธ โœ”๏ธ โœ”๏ธ โœ”๏ธ โœ”๏ธ โœ”๏ธ
Images โœ”๏ธ โœ”๏ธ โŒ โŒ โŒ โž–
Linode Instance โœ”๏ธ โœ”๏ธ โœ”๏ธ โœ”๏ธ โœ”๏ธ โž–
Linode Type โœ”๏ธ โœ”๏ธ โž– โž– โž– โž–
Regions โœ”๏ธ โœ”๏ธ โž– โž– โž– โž–
SSH Keys โœ”๏ธ โœ”๏ธ โœ”๏ธ โœ”๏ธ โœ”๏ธ โž–
StackScript โœ”๏ธ โœ”๏ธ โœ”๏ธ โœ”๏ธ โœ”๏ธ โž–
VLANs โž– โž– โž– โž– โž– โž–
Volumes โœ”๏ธ โœ”๏ธ โœ”๏ธ โœ”๏ธ โœ”๏ธ โœ”๏ธ

To have the complete list of the functionalities implemented in this library consult the Wiki