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を作成する:

  1. ウェブブラウザで以下の URL : https://app.apptio.com/cloudability#/settings/preferences.
  2. 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(レコードの開始位置)である。

次の例は、 sortlimit および 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と対話するために簡単に使うことができる。