Cloudability APIを使い始める V3
API認証
著者注: の認証 Cloudability コマーシャル、エッセンシャル、スタンダード、プレミアム
Cloudability APIリクエストの認証には、 Cloudability APIキーまたは Access Administration apptio-opentokenを使用できます。
APIインタラクションの作成、更新、読み取り、削除のパーミッションは、 Cloudability のユーザーパーミッションに対応しています。 たとえば、 Cloudability Adminだけがデータ収集のために新しいコンテナ・クラスターをプロビジョニングできるが、APIアクセス権を持つ Cloudability Userは既存のコンテナ・クラスターのリソース使用情報を取得できる。
Cloudability は現在、欧州、アジア太平洋、中東地域のユーザーが利用可能であるため、本書で api.cloudability.com を参照する場合、EU、APAC、中東地域でホストされている顧客は、それぞれ api-eu.cloudability.com または api-au.cloudability.com または api-me.cloudability.com と呼ぶべきである。
GovCloud 環境では、 Access Administration apptio-opentoken を使用して Cloudability API リクエストを認証する必要があります。 GovCloud 環境では、 Cloudability API キーを使用した認証はサポートされていません。
Cloudability APIキー
Cloudability API Keyを作成する:
- ウェブブラウザで以下の URL : https://app.apptio.com/cloudability#/settings/preferences.
- Cloudability API セクションで、 APIを有効にするを 選択します。 APIキーが生成され、テキストボックスに表示されます。
Access Administration アプティオペントケン
apptio-opentokenの取得方法については、以下を参照してください。 Access Administration API: API キーによる認証。
著者注: の認証 Cloudability 政府
API インタラクションCoudability APIキーを使用したAPIインタラクション
APIへのアクセスを有効にするには、apptio-opentokenを使用してください。 Enhanced Access Administration APIをご覧ください:APIキーによる認証 」をご覧ください。
Cloudability との API インタラクションは https で保護されています。 あなたのapptio-opentokenは、basic authヘッダーのusernameコンポーネントを形成する。 つまり、認証ヘッダーは次のようになる:
認可ベーシック
例
以下のAPIコールは、現在の全予算のリストを返す。
curl https://api.cloudability.com/v3/budgets -u 'Your_API_Key:'API相互作用
著者注: の認証 Cloudability コマーシャル、エッセンシャル、スタンダード、プレミアム
Coudability APIキーを使用したAPIインタラクション
Cloudability との API インタラクションは、 HTTPS 上で保護されている。 あなたのトークンは、Basic Authヘッダーのユーザー名コンポーネントを形成します。 基本認証の認可ヘッダーは、以下の形式になる:
認可ベーシック
例
以下のAPIコールは、現在の全予算のリストを返す。
curl https://api.cloudability.com/v3/budgets -u 'Your_API_Key:'
Frontdoor apptio-opentokenを使用したAPIインタラクション
この認証方法では、ヘッダーにapptio-opentokenとapptio-environmentidを渡す。
例
以下のAPIは、現在の全予算のリストを返す。
curl https://api.cloudability.com/v3/budgets -H "apptio-opentoken: [apptio opentoken]" -H "apptio-environmentid: [apptio Access Administration environment id]"
応答フォーマット
成功した回答はすべて以下のフォーマットで行われる:
{
result: {} or [],
meta: {},
}
resultには、呼び出しの結果またはペイロードが格納される。
付随情報(ページネーションの内訳など)は、関連性があれば meta 属性に存在する。
値が存在しない場合、プリミティブ値は NULLに なる(つまり、数値や文字列)。
オブジェクトや配列は、値が存在しない場合、空の状態( [] )を返します。
日付はISO 8601規格で表され、 YYYY-MM-DD 形式を使用します。
ヘッダー
POSTおよびPUTリクエスト
コンテントタイプ:application/json
GETリクエスト(すべてのエンドポイント)
Accept: application/json
GETリクエスト(一部のエンドポイントでサポートされている)
受諾: テキスト/csv
認証( Cloudability API キーを使用する場合)
認証ベーシック <cldy_token
ページネーション
すべてのエンドポイントがページネーションをサポートしているわけではありません。 ページ分割をサポートしていないエンドポイントは、常にすべてのレコードを返します。 ページ分割をサポートするエンド・ポイントは、デフォルトで最初の50件の一致するレコードを返します。
ページ分割を行う場合は、 limit パラメータと offset パラメータを併用する必要がある。 これらのパラメータを使用すると、結果セットはオフセット値から指定された制限値に制限される。
limitの デフォルト値は50(50レコードを返す)、 offsetは 0(レコードの開始位置)である。
例
次の例は、 sort で limit および offset パラメータを使用する方法を示しています。
/views?limit=5&offset=20
ソート
sort クエリパラメータを使用して結果を並べ替えます。 ソート順を指定するには、属性の前に -( 降順)または +( 昇順)を付けます。
例
ポートフォリオの エンドポイントの結果を、 end 属性で降順にソートする。
/portfolio/ec2?sort=-end
ポートフォリオ・ エンド・ポイントの結果を end 属性で昇順にソートする。
/portfolio/ec2?sort=%2bend
(記号を正しくエンコードしてください)
フィルタリング
filter クエリ・パラメータを使用する場合は、フィルタ処理するディメンジョンを指定し、その後にフィルタ式を指定 します。
フィルタリングされたクエリは、結果に含まれる行を制限します。 フィルター条件を満たす行のみが結果に含まれます。 クライアント・ライブラリは、フィルター演算子を自動的に URL。 しかし、プロトコルに直接リクエストする場合は、以下のフィルター演算子を明示的に URL。 また、ディメンジョンが集約される前にフィルタリングが行われるため、返されるメトリクスは関連するレコー ドのみの合計を表します。
フィルター構文:名前演算子式
name: フィルタの対象となるディメンジョンの名前。
演算子: 使用するフィルター・マッチのタイプを指定します。 以下の演算子が使える:
== イコール
!= (等しくない)
> より 大きい
< 未満
>= 以上
<= (以下)
=を 含む
!=@( 含まない)
表現: 結果に含まれる値を示す。
リクエストに複数のフィルタを適用するには、1つのフィルタパラメータをカンマで区切ります。
例
状態が アクティブかどうかをチェックする:
/portfolio/ec2?filter=state==active
引退 状態か どうかを確認する:
/portfolio/ec2?filter=state==retired
末尾が 1541803776000より小さいかチェックする:
/portfolio/ec2?filter=end<1541803776000
末尾が 1541803776000より大きいかチェックする:
/portfolio/ec2?filter=end>1541803776000
複数のフィルターを適用する:
/portfolio/ec2?filter=state==active,end>1541803776000
Cloudability エンドポイント例
各エンドポイントのドキュメントには、APIとの対話方法を示す多くの例が含まれている。 例では、 HTTP インタラクションには cURL、JSONのパースにはjqを使用する。 これらのCLIツールはどちらも広く使われており、RESTful APIと対話するために簡単に使うことができる。