Welcome to DigitalOcean's API Client written in Java. I have created a simple and meaningful wrapper methods for DigitalOcean's API. All of the RESTful that you find in DigitalOcean API's will be made available via simple java method(s).
Simple and Lightweight Library for Enterprise Application/Utilities Integration
- Maven Dependency
<dependency>
<groupId>com.myjeeva.digitalocean</groupId>
<artifactId>digitalocean-api-client</artifactId>
<version>1.4</version>
</dependency>
- Snapshot Maven Dependency (OSS - Sonatype Snapshot Repo)
<dependency>
<groupId>com.myjeeva.digitalocean</groupId>
<artifactId>digitalocean-api-client</artifactId>
<version>1.5-SNAPSHOT</version>
</dependency>
-
Download Binary digitalocean-api-client-x.x.jar
-
Clone/Download the repo [http://github.com/jeevatkm/digitalocean-api-java] and build it!
See JavaDocs - DigitalOcean API Client written in Java
Have a look on DigitalOceanTest.java, simple and easy to understand.
- To be released in v1.5
- Batch API's for Bulk operation
- Input Validation at API client level
- Released in v1.4 [2 enhancement & 1 bug]
- Released in v1.3
- Released in v1.2
- Gson Type Tokens optimized
- Corrected Typo error of
transerImage
method refactored totransferImage
SSH Key Methods '/ssh_keys/*'
- List<SshKey> getAvailableSshKeys()
- SshKey getSshKeyInfo(Integer sshKeyId)
- SshKey addSshKey(String sshKeyName, String sshPublicKey)
- SshKey editSshKey(Integer sshKeyId, String newSshPublicKey)
- Response deleteSshKey(Integer sshKeyId);
- Released in v1.1
- Optimized and smaller memory footprint
- Maven Group Id to be changed to
com.myjeeva.digitalocean
, for better understanding and grouping Domain Methods '/domains/*'
- List<Domain> getAvailableDomains()
- Domain createDomain(String domainName, String ipAddress)
- Domain getDomainInfo(Integer domainId)
- Response deleteDomain(Integer domainId)
- List<DomainRecord> getDomainRecords(Integer domainId)
- DomainRecord createDomainRecord(DomainRecord domainRecord)
- DomainRecord getDomainRecordInfo(Integer domainId, Integer recordId)
- DomainRecord editDomainRecord(DomainRecord domainRecord)
- Response deleteDomainRecord(Integer domainId, Integer recordId)
- Released in v1.0
Slug
Attribute supported in Image, Size and RegionDroplets Methods '/droplets/*'
- List<Droplet> getAvailableDroplets()
- Droplet createDroplet(Droplet droplet)
- Droplet createDroplet(Droplet droplet, String sshKeyIds)
- Droplet getDropletInfo(Integer dropletId)
- Response rebootDroplet(Integer dropletId)
- Response powerCyleDroplet(Integer dropletId)
- Response shutdownDroplet(Integer dropletId)
- Response powerOffDroplet(Integer dropletId)
- Response powerOnDroplet(Integer dropletId)
- Response resetDropletPassword(Integer dropletId)
- Response resizeDroplet(Integer dropletId, Integer sizeId)
- Response takeDropletSnapshot(Integer dropletId)
- Response takeDropletSnapshot(Integer dropletId, String snapshotName)
- Response restoreDroplet(Integer dropletId, Integer imageId)
- Response rebuildDroplet(Integer dropletId, Integer imageId)
- Response enableDropletBackups(Integer dropletId)
- Response disableDropletBackups(Integer dropletId)
- Response renameDroplet(Integer dropletId, String name)
- Response deleteDroplet(Integer dropletId)
Region Methods '/regions/*'
- List<Region> getAvailableRegions()
Images Methods '/images/*'
- List<DropletImage> getAvailableImages()
- DropletImage getImageInfo(Integer imageId)
- Response deleteImage(Integer imageId)
- Response transerImage(Integer imageId, Integer regionId)
Sizes Methods '/sizes/*'
- List<DropletSize> getAvailableSizes()
Please submit any bugs or annoyances on the Issues
Jeevanandam M. - [email protected] (myjeeva.com)
See LICENSE.txt