java openstack_SDKs

Software Development Kits

SDKs are a vital part of the OpenStack ecosystem, they help developers write applications for OpenStack and other clouds. For a list of the official OpenStack Python client libraries, see OpenStackClients.

Definition

A set of language bindings that provide a language-level API for accessing OpenStack in a manner consistent with language standards.

A Getting Started document that shows how to use the API to access OpenStack powered clouds.

Detailed API reference documentation.

Tested sample code that you can use as a "starter kit" for your own OpenStack applications.

SDKs treat OpenStack as a blackbox and only interact with the REST/HTTP API.

License must be compatible with Apache License v2.

Additional Criteria

What criteria is used to determine whether or not an SDK can be considered an OpenStack SDK has not been formalized. This has been initially discussed at the OpenStack Grizzly Summit (etherpad). Naturally the SDK will need to meet the definition above. In addition we thought the OpenStack Foundation may want to consider a compatibility test suite that will validate whether or not an SDK supports OpenStack.

These are items that could be used as criteria to define an SDK but themselves require further definition w.r.t. SDKs.

Handle extensions in some way.

Backwards compatibility.

Compatibility with test suite.

Official OpenStack Clients

The OpenStackClients are the native Python bindings for the OpenStack APIs. They are used to implement the command-line interfaces (which ship with the library).

Known SDKs

What follows is a list of known SDKs that support OpenStack. This is not a list of official OpenStack SDKs. What constitutes an official OpenStack SDK has not been determined. This is an area the needs more work (see Criteria section).

To date, SDKs that support OpenStack fall into two categories. SDKs that support multiple clouds including OpenStack (aka multi-cloud toolkits) and SDKs that support OpenStack only. If you're aware of any other SDKs, please add them to the lists below.

Go

Gophercloud provides a Go binding to OpenStack cloud APIs.

Java

OpenStack4j A fluent Java OpenStack API.

OpenStack Java SDK is a Java binding for the OpenStack APIs.

Apache jclouds is a Multi-cloud SDK for Java with OpenStack support

JavaScript

pkgcloud is a Multi-cloud library for Node.js that supports OpenStack

jstack is a JavaScript client library for the OpenStack API.

js-openclient is a very opinionated core client which can be used in either Node.js or in the browser (browser support not yet complete) to communicate with a RESTful APIs, including but not limited to any OpenStack-compatible API. (last updated 2015)

node-openstack-wrapper is a convenience wrapper for many of Openstack's common features with a focus on projects/tenants.

.NET

OpenStack.NET is a .NET SDK for OpenStack.

PHP

php-opencloud/openstack is a PHP SDK for OpenStack. It is actively maintained and supports latest OpenStack identity api (Keystone v3).

SDK covers following api: BlockStorage v2, Compute v2, Identity Keystone v2 and v3, Images v2, Networking v2 including Layer3 extension and Security Groups extension, Object Storage v1, Gnocchi v1

Python

OpenStack Shade shade is a simple client library for operating OpenStack clouds that abstracts deployer differences

The SDK-Development/PythonOpenStackSDK project is a proposed solution to offering an SDK that provides a single point of entry for consumers, and a base from which other tools can be built upon, such as command-line interfaces.

The OpenStackClients are the native Python bindings for the OpenStack APIs. They are used to implement the command-line interfaces (which ship with the library).

Apache libcloud is a Python library that abstracts away differences among multiple cloud provider APIs.

Ruby

fog is a Multi-cloud Ruby library with support for OpenStack

Misty is a dedicated HTTP client for OpenStack APIs

Aviator An elegantly designed OpenStack SDK for Ruby (hasn't been updated since 2015)

Toolkits targetting Specific OpenStack Projects

C

Keystone and Swift libraries C library bindings to the OpenStack Keystone and Swift APIs.

c-keystoneclient c-keystoneclient is a C-based client library for OpenStack Keystone authentication.

C++

SWIFT_CPP_SDK is a C++ binding for accessing the Swift REST API.

go

swift implements Swift client on Go. Keystone v1,v2,v3 is supported

Java

Java OpenStack Storage aka JOSS is a dedicated Java binding for accessing the Swift REST API.

Perl

Net::OpenStack::Compute provides Perl bindings for the OpenStack Compute API. It also provides a command line tool oscompute for interacting with an OpenStack deployment. (last updated 2015)

Ruby

swift_client Small but powerful client to interact with OpenStack Swift

nightcrawler_swift Like the X-Men nightcrawler this gem teleports your assets to a OpenStack Swift bucket/container

swift-storage Simple Openstack Swift storage client.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值