ライフサイクルプロファイルの作成

新しいライフサイクルプロファイルを作成します。この操作には管理者権限が必要です。

必要な権限

ADMIN以上のロールが必要です。

HTTPリクエスト

POST /api/sonar/lifecycle-profiles
cURL例
curl -H "Authorization: Bearer <API_KEY>" \
    -d name="default" \
    -d description="default profile" \
    -d configs="{"hot": {"retention": 10}, "cold": {"base_path": "/cold", "retention": 375, "options": {"quota_per_node_unit": "tb", "quota_per_node": 200, "direct_copy": false}}}" \
    -X POST "https://HOSTNAME/api/sonar/lifecycle-profiles"
リクエストパラメータ
キー必須説明備考
guid×文字列ライフサイクルプロファイルGUID36文字。デフォルトはランダム生成
name文字列ライフサイクルプロファイル表示名最小1文字、最大50文字
description×文字列ライフサイクルプロファイルの説明最大2,000文字
configs×文字列キー/値設定値JSON形式文字列
Tip
現在、nameが "default" のプロファイルのみ使用できます。

configsはJSON形式の文字列であり、以下の属性を含みます:

  • hot/warm/cold(マップ):ストレージ階層(Hot、Warm、Cold)ごとの設定
    • base_path(文字列、必須):データ保存の基本パス。warm/cold階層でのみ指定可能で、hot階層では使用できません。
    • retention(32ビット整数、必須):日単位のデータ保持期間。作成日を基準に保持期間を過ぎると下位階層へ移動(1~9999日)
    • options(マップ、任意):ライフサイクルプロファイルの追加オプション
      • quota_per_node(32ビット整数、任意):ノード単位で割り当てるストレージ容量。設定時はquota_per_node_unitも必須です。
      • quota_per_node_unit(文字列、任意):quota_per_nodeの単位。mbgbtbのいずれかを指定してください。quota_per_node設定時は必須です。
      • direct_copy(ブーリアン、任意):ロールオーバー時に直接コピーするかどうか。デフォルト値は階層ごとに異なります(warm: false、cold: true)。
      • rollover_on_diskfull(ブーリアン、任意):ディスク容量不足時にロールオーバーを実行するか(デフォルト: false

正常応答

{}

エラー応答

guidパラメータの型が不正な場合

HTTPステータスコード 400 応答

{
  "error_code": "invalid-param-type",
  "error_msg": "guid should be guid type."
}
guidが重複している場合

HTTPステータスコード 500 応答

{
  "error_code": "illegal-state",
  "error_msg": "duplicated profile guid: 4ab572a7-f052-4f90-82db-320444e229a3"
}
nameパラメータ値の長さが不正な場合

HTTPステータスコード 400 応答

{
  "error_code": "invalid-argument",
  "error_msg": "'name' must be less than or equal to 50 characters."
}
nameが重複している場合

HTTPステータスコード 500 応答

{
  "error_code": "illegal-state",
  "error_msg": "duplicated profile name: default"
}
descriptionパラメータ値の長さが不正な場合

HTTPステータスコード 400 応答

{
  "error_code": "invalid-argument",
  "error_msg": "'description' must be less than or equal to 2000 characters."
}
configsのJSONパースエラーが発生した場合

HTTPステータスコード 500 応答

{
  "error_code": "illegal-state",
  "error_msg": "invalid-configs"
}
base_pathをHotストレージ階層に設定した場合

HTTPステータスコード 400 応答

{
  "error_code": "invalid-argument",
  "error_msg": "'base_path' cannot be set in the 'hot' tier."
}
retention値が負の場合

HTTPステータスコード 400 応答

{
  "error_code": "invalid-argument",
  "error_msg": "'retention' must be grater than 0: warm"
}
quota_per_node値が負の場合

HTTPステータスコード 400 応答

{
  "error_code": "invalid-argument",
  "error_msg": "'quota_per_node' must be grater than 0"
}
quota_per_node_unitが未設定の場合

HTTPステータスコード 500 応答

{
  "error_code": "illegal-state",
  "error_msg": "'quota_per_node_unit' must also be set, if 'quota_per_node' is configured."
}
サポートされていないquota_per_node_unitタイプの場合

HTTPステータスコード 400 応答

{
  "error_code": "invalid-argument",
  "error_msg": "unsupported 'quota_per_node_unit' type: invalid_unit"
}
ライフサイクルプロファイル作成権限がない場合

HTTPステータスコード 500 応答

{
  "error_code": "illegal-state",
  "error_msg": "no-permission"
}