Popularity
3.8
Declining
Activity
0.0
Stable
11
3
1
Programming language: Crystal
License: MIT License
Tags:
Third-party APIs
Latest version: v0.6.1
ocean_kit alternatives and similar shards
Based on the "Third-party APIs" category.
Alternatively, view ocean_kit alternatives based on common mentions on social networks and blogs.
-
discordcr
Minimalist Discord library for Crystal. (Still WIP, but usable) -
TelegramBot
(deprecated) see https://github.com/protoncr/tourmaline instead -
twitter-crystal
A library to access the Twitter API using Crystal -
crystal_slack
Parse Slack slash commands or send incoming web hooks from Crystal -
crystal-consul
Crystal client for Consul (http://www.consul.io/) -
mollie.cr
Mollie Payments API client for Crystal http://www.mollie.com -
GDAX
📈 GDAX REST and WebSocket API wrapper to trade blockchain cryptocurrencies like bitcoin, Litecoin and Ethereum. -
soundcloud-crystal
A library to access the SoundCloud API using Crystal -
bugsnag.cr
bugsnag exception notifier written in crystal. Supports sidekiq.cr, kemal, HTTP::Server. -
web_finger
A WebFinger (https://tools.ietf.org/html/rfc7033) client for Crystal. -
crystal-connpass
:anchor: A Crystal wrapper for the Connpass API -
fantasy_football_nerd_api
Crystal library for Fantasy Football Nerd API
Less time debugging, more time building
Scout APM allows you to find and fix performance issues with no hassle. Now with error monitoring and external services monitoring, Scout is a developer's best friend when it comes to application development.
Promo
scoutapm.com
Do you think we are missing an alternative of ocean_kit or a related project?
README
OceanKit
OceanKit is DigitalOcean V2 API client. It support almost everethyng the API can do.
Docs
Installation
Add this to your application's shard.yml
:
dependencies:
ocean_kit:
github: osfx/ocean_kit
Usage
This client based on official API client droplet_kit writen in Ruby. So this means almost all methods work the same.
require "ocean_kit"
ocean_kit = OceanKit::Client.new("API-KEY")
# Single droplet
droplet = {
"name": "example.com",
"region": "nyc3",
"size": "512mb",
"image": "ubuntu-14-04-x64",
"tags": [
"web"
]
}
ocean_kit.droplets.create(droplet)
# Multiple droplets
droplets = {
"names": [
"sub-01.example.com",
"sub-02.example.com"
],
"region": "nyc3",
"size": "512mb",
"image": "ubuntu-14-04-x64",
"ipv6": true,
"tags": [
"xxx"
]
}
ocean_kit.droplets.create(droplets)
Available methods
ocean_kit = OceanKit::Client.new("API-KEY")
Account
ocean_kit.account.info
Certificates
ocean_kit.certificates.all
ocean_kit.certificates.find(id)
ocean_kit.certificates.create(options)
ocean_kit.certificates.delete(id)
Domain Records
ocean_kit.domain_records.all(domain_name)
ocean_kit.domain_records.create(domain, name, ip)
ocean_kit.domain_records.find(name)
ocean_kit.domain_records.delete(name)
Domains
ocean_kit.domains.all
ocean_kit.domains.create(name, ip_address)
ocean_kit.domains.find(domain_name)
ocean_kit.domains.delete(name, id)
Droplet Actions
ocean_kit.droplet_actions.reboot(id)
ocean_kit.droplet_actions.power_cycle(id)
ocean_kit.droplet_actions.shutdown(id)
ocean_kit.droplet_actions.power_off
ocean_kit.droplet_actions.power_on
ocean_kit.droplet_actions.password_reset(id)
ocean_kit.droplet_actions.enable_ipv6
ocean_kit.droplet_actions.enable_backups(id)
ocean_kit.droplet_actions.disable_backups(id)
ocean_kit.droplet_actions.rebuild(id, name)
ocean_kit.droplet_actions.restore(id)
Droplets
ocean_kit.droplets.all
ocean_kit.droplets.all(tag)
ocean_kit.droplets.create(options)
ocean_kit.droplets.delete(id)
ocean_kit.droplets.delete_for_tag(tag)
ocean_kit.droplets.find(id)
ocean_kit.droplets.kernels(id)
ocean_kit.droplets.backups(id)
ocean_kit.droplets.snapshots(id)
ocean_kit.droplets.actions(id)
Floating Ip
ocean_kit.floating_ip_actions.attach(ip, droplet_id)
ocean_kit.floating_ip_actions.deattach(id)
ocean_kit.floating_ips.all
ocean_kit.floating_ips.cretate(droplet_id)
ocean_kit.floating_ips.find(floating_ip)
ocean_kit.floating_ips.delete(floating_ip)
Image Actions
ocean_kit.image_actions.all(id)
ocean_kit.image_actions.convert_to_snapshot(id)
ocean_kit.image_actions.transfer(id, region)
Images
ocean_kit.images.all
ocean_kit.images.find(id)
ocean_kit.images.delete(id)
ocean_kit.images.update(id, name)
ocean_kit.images.all_distribution
ocean_kit.images.all_application
ocean_kit.images.all_private
Load Balancer
ocean_kit.load_balancers.all
ocean_kit.load_balancers.find(id)
ocean_kit.load_balancers.create(options)
ocean_kit.load_balancers.create_with_tag(options)
ocean_kit.load_balancers.update(id, options)
ocean_kit.load_balancers.add_droplet(id, options)
ocean_kit.load_balancers.remove_droplet(id, options)
ocean_kit.load_balancers.add_rule(id, options)
ocean_kit.load_balancers.remove_rule(id, options)
Regions
ocean_kit.regions.all
Images
ocean_kit.sizes.all
Snapshots
ocean_kit.snapshots.all
ocean_kit.snapshots.find(id)
ocean_kit.snapshots.delete(id)
SSH Key
ocean_kit.ssh_keys.all
ocean_kit.ssh_keys.create(name, public_key)
ocean_kit.ssh_keys.find(id)
ocean_kit.ssh_keys.delete(id)
ocean_kit.ssh_keys.update(id)
Volume Action
ocean_kit.volume_actions.attach(volume_id, droplet_id)
ocean_kit.volume_actions.deattach(volume_id, droplet_id)
ocean_kit.volume_actions.resize(volume_id, size_gigabytes)
Volume
ocean_kit.volumes.all
ocean_kit.volumes.create
ocean_kit.volumes.find(volume_id)
ocean_kit.volumes.snapshots(volume_id)
ocean_kit.volumes.create_snapshot(volume_id, name)
* ocean_kit.volumes.delete(volume_id)
Contributing
- Fork it ( https://github.com/osfx/ocean_kit/fork )
- Create your feature branch (git checkout -b my-new-feature)
- Commit your changes (git commit -am 'Add some feature')
- Push to the branch (git push origin my-new-feature)
- Create a new Pull Request