ライフサイクルプロファイルの修正

指定したライフサイクルプロファイルの設定を修正します。この操作には管理者権限が必要です。

必要な権限

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

HTTPリクエスト

PUT /api/sonar/lifecycle-profiles/:guid
cURL例
curl -H "Authorization: Bearer <API_KEY>" \
    -d name="default" \
    -d description="default lifecycle profile" \
    -d configs="{"hot": {"retention": 10}, "cold": {"base_path": "/cold", "retention": 375, "options": { "quota_per_node": 200, "quota_per_node_unit": "tb", "direct_copy": false}}}" \
    -X PUT "https://HOSTNAME/api/sonar/lifecycle-profiles/b76c3c81-c961-404f-a0eb-fae2f12f5bd8"
リクエストパラメータ
パスパラメータ
キー説明備考
guid文字列ライフサイクルプロファイルGUID36文字
リクエスト本文パラメータ
キー必須説明備考
nameO文字列ライフサイクルプロファイル表示名最小1文字、最大50文字
descriptionX文字列ライフサイクルプロファイルの説明最大2,000文字
configsX文字列キー/値ライフサイクルプロファイル設定情報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)。

正常応答

{}

エラー応答

必須パラメータが欠落している場合

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

{
  "error_code": "null-argument",
  "error_msg": "name should be not null"
}
パラメータ値の長さが不正な場合

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

{
  "error_code": "invalid-argument",
  "error_msg": "'name' must be less than or equal to 50 characters."
}
パラメータ型が不正な場合

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

{
  "error_code": "invalid-param-type",
  "error_msg": "guid should be guid type."
}
ライフサイクル設定値が不正な場合

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

{
  "error_code": "invalid-argument",
  "error_msg": "`quota_per_node_unit` must also be set, if `quota_per_node` is configured."
}
存在しないライフサイクルプロファイルguidの場合

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

{
  "error_code": "profile-not-found",
  "error_msg": null
}
変更しようとするname値が既に存在する場合

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

{
  "error_code": "illegal-state",
  "error_msg": "duplicated profile name: default"
}
configsのJSONパースエラーが発生した場合

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

{
  "error_code": "illegal-state",
  "error_msg": "invalid-configs"
}
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"
}