Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
さくらのクラウドではいくつかの性質の異なるAPIが提供されている。
従来はIaas API(sacloud/libsacloud)としてこれらの一部のAPI向けのAPIライブラリを提供していた。
さくらのクラウドのサービス拡大と共に専用サーバPHYやオブジェクトストレージのAPIなどが公開されたが、
これらのAPIはOpenAPIによるAPI定義が提供されていたりHTTP レスポンスステータスコードの扱いが異なったりと
Iaas APIとはライブラリで処理すべき内容が異なっている。
このままIaaS API側で実装すると(違いを吸収するための)共通部分の実装の肥大化が予想されるため、APIライブラリを以下のように分ける。
以下のAPIも含む
各ライブラリは単体でも利用可能とするが、Usacloudに対するlibsacloudのhelper/serviceパッケージのように、各APIに対し統一的にCRUD+L操作が行えるようにしたい。
そこで、高レベルAPIライブラリとしてsacloud/sacloud-goを作成し、
libsacloudのhelper/serviceパッケージの移植やその他高レベル操作の実装/集約などを行いたい。