多くの方からのご要望にお応えして、LinodeAPI でのlibcloud のフルサポートを発表できることを光栄に思います。
libcloudは、クラウドプロバイダーのAPIの標準化に対処するために、Cloudkickの創設者によって行われた標準化の取り組みです。Alex Polviとlibcloudの貢献者と共にLinode APIをlibcloudに統合する作業を行えたことを光栄に思います。
libcloud (Python で書かれた) を使用すると、すべての Linode を再起動する簡単なレシピは次のようになります。
from libcloud.providers import linode
driver = linode.LinodeNodeDriver("api_key")
for node in driver.list_nodes():
node.reboot()
libcloud の機能セットの多くは非常に抽象的です。完全な Linode API により提供されるカスタマイズのごくわずかしか、それを使用して実装できません。コード上で多くの仮定が行われ、Linode API の多くは、libcloudの方に(その逆ではなく)適応されています — libcloud は完全なソリューションではなく、高レベルの抽象化レイヤーとして設計されているため非常に基本的な機能のみが提供されます。
ほとんどのプロジェクトでは、完全な Linode APIを考慮すべきでしょう。
libcloud の 6つの機能をLinode API コールの同等のものに大まかにマッピングします。
libcloud | Linode API |
list_nodes | linode .list |
reboot_node | linode .reboot |
destroy_node | linode .delete |
create_node | linode .create linode .disk.create fromdistribution linode .disk.create linode .config.create linode .boot |
list_sizes | avail.linodeplans |
list_images | avail.distributions |
libcloudは現在git経由でのみ利用可能です。詳しくはGitHubのプロジェクトページを見てほしい。私の個人的なlibcloudツリーもGitHubにあり、そこでLinodeの開発を行う予定です。
libcloudが多くの皆さんの生活を楽にしてくれることを願っています。私はすべての可能なシナリオをテストすることはできませんので、アクティブなテストとバグレポートをお勧めします。(必要としています!) お楽しみ ください!
コメント (4)
I’d probably still use Linode API, More choice is good though and I can see this being useful for some people.
Thanks!
Jed,
That is GREAT news.
Good work getting that in place.
-Dave
[…] may remember full libcloud support for Linode that we announced in September. It has been our privilege to work with the Cloudkick and libcloud teams to bring Linode support to […]
I know this is quite old – was wondering if you had considered any of the newer libraries (http://bit.ly/9pLiJs)