Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/vmj/groovy-upcloud

Groovy UpCloud library
https://github.com/vmj/groovy-upcloud

api-client groovy java upcloud upcloud-api

Last synced: about 1 month ago
JSON representation

Groovy UpCloud library

Awesome Lists containing this project

README

        

image:https://travis-ci.org/vmj/groovy-upcloud.svg?branch=master["Build Status", link="https://travis-ci.org/vmj/groovy-upcloud"]
image:https://maven-badges.herokuapp.com/maven-central/fi.linuxbox.upcloud/groovy-upcloud-core/badge.svg["Release", link="http://search.maven.org/#search%7Cga%7C1%7Cg%3A%22fi.linuxbox.upcloud%22"]
image:https://www.javadoc.io/badge/fi.linuxbox.upcloud/groovy-upcloud-resource.svg["Javadoc", link="https://www.javadoc.io/doc/fi.linuxbox.upcloud/groovy-upcloud-resource"]

# Groovy UpCloud

Groovy UpCloud is an unofficial library that provides an asynchronous Groovy interface to the UpCloud API.

## Features

Groovy UpCloud library is fully asynchronous. When invoking the API, the HTTP transaction is performed in a pool
of background threads, and the results are passed to the application. The communication (currently) happens via
callbacks. By default, the IO thread pool has four workers, i.e. four HTTP transactions concurrently.

When used as a base for Groovy scripting, Groovy UpCloud provides a script base class that makes it easier to
deal with the concurrent nature: the top-level code and all the callbacks are executed in a dedicated thread, separate
from the IO thread pool.

Groovy UpCloud library has full support for UpCloud API version 1.2.8 (current as of Feb 2020).

## Requirements

Groovy UpCloud is built on Groovy 3.0. This library is available at
http://search.maven.org/#search%7Cga%7C1%7Cg%3A%22fi.linuxbox.upcloud%22[The Central Repository] and
https://bintray.com/search?sort=last_updated&query=fi.linuxbox.upcloud%3Agroovy-upcloud-*[jcenter]

## API Documentation

The main resources managed in UpCloud are
https://www.javadoc.io/page/fi.linuxbox.upcloud/groovy-upcloud-resource/latest/fi/linuxbox/upcloud/resource/Server.html[servers],
https://www.javadoc.io/page/fi.linuxbox.upcloud/groovy-upcloud-resource/latest/fi/linuxbox/upcloud/resource/IpAddress.html[IP addresses],
https://www.javadoc.io/page/fi.linuxbox.upcloud/groovy-upcloud-resource/latest/fi/linuxbox/upcloud/resource/Storage.html[storages],
https://www.javadoc.io/page/fi.linuxbox.upcloud/groovy-upcloud-resource/latest/fi/linuxbox/upcloud/resource/FirewallRule.html[firewall rules], and
https://www.javadoc.io/page/fi.linuxbox.upcloud/groovy-upcloud-resource/latest/fi/linuxbox/upcloud/resource/Tag.html[tags].
You might want to start with those.

Also, in order to understand how the library works, you might want to dive into
https://www.javadoc.io/page/fi.linuxbox.upcloud/groovy-upcloud-core/latest/fi/linuxbox/upcloud/core/Session.html[Session], and
https://www.javadoc.io/page/fi.linuxbox.upcloud/groovy-upcloud-core/latest/fi/linuxbox/upcloud/core/Resource.html[Resource].