vmj / groovy-upcloud

Groovy UpCloud library
GNU General Public License v3.0
1 stars 0 forks source link
api-client groovy java upcloud upcloud-api

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].